diff options
author | Sameer Pujar <spujar@nvidia.com> | 2020-11-02 18:10:13 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2020-11-10 20:28:22 +0300 |
commit | d09c774f2f9ff25817866b70f1fb9603e5196971 (patch) | |
tree | 748f4af129cf0de4045d852755e60f7ba5948bf3 /include/sound/simple_card_utils.h | |
parent | 930dd47d74023e7c94a7c256279e12924c14475d (diff) | |
download | linux-d09c774f2f9ff25817866b70f1fb9603e5196971.tar.xz |
ASoC: audio-graph: Expose new members for asoc_simple_priv
Add new members in struct 'asoc_simple_priv'. Idea is to leverage
simple or graph card driver as much as possible and vendor can
maintain a thin driver to control the behavior by populating these
newly exposed members.
Following are the members added in 'asoc_simple_priv':
- 'ops' struct: In some cases SoC vendor drivers may want to
implement 'snd_soc_ops' callbacks differently. In such cases
custom callbacks would be used.
- 'force_dpcm' flag: Right now simple or graph card drivers
detect DAI links as DPCM links if:
* The dpcm_selectable is set AND
* Codec is connected to multiple CPU endpoints or aconvert
property is used for rate/channels.
So there is no way to directly specify usage of DPCM alone. So a
flag is exposed to mark all links as DPCM. Vendor driver can
set this if required.
- 'dpcm_selectable': Currently simple or audio graph drivers
provide a way to enable this for specific compatibles. However
vendor driver may want to define some additional info. Thus
expose this variable where vendor drivers can set this if
required.
Audio graph driver is updated to consider above flags or callbacks.
Subsequent patches in the series illustrate usage for above.
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/1604329814-24779-7-git-send-email-spujar@nvidia.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'include/sound/simple_card_utils.h')
-rw-r--r-- | include/sound/simple_card_utils.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/sound/simple_card_utils.h b/include/sound/simple_card_utils.h index 86a1e956991e..ba4a3e1897b9 100644 --- a/include/sound/simple_card_utils.h +++ b/include/sound/simple_card_utils.h @@ -56,6 +56,9 @@ struct asoc_simple_priv { struct asoc_simple_dai *dais; struct snd_soc_codec_conf *codec_conf; struct gpio_desc *pa_gpio; + const struct snd_soc_ops *ops; + unsigned int dpcm_selectable:1; + unsigned int force_dpcm:1; }; #define simple_priv_to_card(priv) (&(priv)->snd_card) #define simple_priv_to_props(priv, i) ((priv)->dai_props + (i)) |