[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