[PATCH 2/2] ASoC: simple-card-utils: Increase maximum number of links to 128
Jon Hunter
jonathanh at nvidia.com
Fri Apr 16 16:50:14 CEST 2021
On 16/04/2021 08:11, Thierry Reding wrote:
> From: Thierry Reding <treding at nvidia.com>
>
> On Tegra186 and later, the number of links can go up to 72, so bump the
> maximum number of links to the next power of two (128).
>
> Fixes: f2138aed231c ("ASoC: simple-card-utils: enable flexible CPU/Codec/Platform")
> Signed-off-by: Thierry Reding <treding at nvidia.com>
> ---
> include/sound/simple_card_utils.h | 4 +++-
> sound/soc/generic/audio-graph-card.c | 4 ++--
> sound/soc/generic/simple-card.c | 4 ++--
> 3 files changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/include/sound/simple_card_utils.h b/include/sound/simple_card_utils.h
> index fac3b832d982..e318a2d4ac44 100644
> --- a/include/sound/simple_card_utils.h
> +++ b/include/sound/simple_card_utils.h
> @@ -115,10 +115,12 @@ struct asoc_simple_priv {
> ((codec) = simple_props_to_dai_codec(props, i)); \
> (i)++)
>
> +#define SNDRV_MAX_LINKS 128
> +
> struct link_info {
> int link; /* number of link */
> int cpu; /* turn for CPU / Codec */
> - struct prop_nums num[SNDRV_MINOR_DEVICES];
> + struct prop_nums num[SNDRV_MAX_LINKS];
> };
>
> int asoc_simple_parse_daifmt(struct device *dev,
> diff --git a/sound/soc/generic/audio-graph-card.c b/sound/soc/generic/audio-graph-card.c
> index 2401212281c2..d6d90285967c 100644
> --- a/sound/soc/generic/audio-graph-card.c
> +++ b/sound/soc/generic/audio-graph-card.c
> @@ -616,7 +616,7 @@ static int graph_count_noml(struct asoc_simple_priv *priv,
> {
> struct device *dev = simple_priv_to_dev(priv);
>
> - if (li->link >= SNDRV_MINOR_DEVICES) {
> + if (li->link >= SNDRV_MAX_LINKS) {
> dev_err(dev, "too many links\n");
> return -EINVAL;
> }
> @@ -639,7 +639,7 @@ static int graph_count_dpcm(struct asoc_simple_priv *priv,
> {
> struct device *dev = simple_priv_to_dev(priv);
>
> - if (li->link >= SNDRV_MINOR_DEVICES) {
> + if (li->link >= SNDRV_MAX_LINKS) {
> dev_err(dev, "too many links\n");
> return -EINVAL;
> }
> diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c
> index 1d1c4309b582..59b41019c65f 100644
> --- a/sound/soc/generic/simple-card.c
> +++ b/sound/soc/generic/simple-card.c
> @@ -484,7 +484,7 @@ static int simple_count_noml(struct asoc_simple_priv *priv,
> struct device_node *codec,
> struct link_info *li, bool is_top)
> {
> - if (li->link >= SNDRV_MINOR_DEVICES) {
> + if (li->link >= SNDRV_MAX_LINKS) {
> struct device *dev = simple_priv_to_dev(priv);
>
> dev_err(dev, "too many links\n");
> @@ -505,7 +505,7 @@ static int simple_count_dpcm(struct asoc_simple_priv *priv,
> struct device_node *codec,
> struct link_info *li, bool is_top)
> {
> - if (li->link >= SNDRV_MINOR_DEVICES) {
> + if (li->link >= SNDRV_MAX_LINKS) {
> struct device *dev = simple_priv_to_dev(priv);
>
> dev_err(dev, "too many links\n");
>
Reviewed-by: Jon Hunter <jonathanh at nvidia.com>
Tested-by: Jon Hunter <jonathanh at nvidia.com>
Thanks!
Jon
--
nvpublic
More information about the Alsa-devel
mailing list