[PATCH 2/2] ASoC: qcom: Fix broken support to MI2S TERTIARY and QUATERNARY

Stephan Gerhold stephan at gerhold.net
Tue Jan 19 11:55:56 CET 2021


Hi Srinivas,

Thanks a lot for the patch!

On Mon, Jan 18, 2021 at 04:45:09PM +0000, Srinivas Kandagatla wrote:
> lpass hdmi support patch totally removed support for MI2S TERTIARY
> and QUATERNARY.
> 
> One of the major issue was spotted with the design of having
> separate SoC specific header files for the common lpass driver.
> This design is prone to break as an when new SoC header is added
> as the common DAI ids of other SoCs will be overwritten by the
> new ones.
> 
> Having a common header qcom,lpass.h should fix the issue and any new
> DAI ids should be added to the common header.
> 
> With this change lpass also needs a new of_xlate function to resolve
> dai name.
> 
> Fixes: 7cb37b7bd0d3 ("ASoC: qcom: Add support for lpass hdmi driver")
> Reported-by: Jun Nie <jun.nie at linaro.org>
> Reported-by: Stephan Gerhold <stephan at gerhold.net>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>

For some reason this does not seem to apply to asoc/for-next or
asoc/for-linus:

Applying: ASoC: qcom: Fix broken support to MI2S TERTIARY and QUATERNARY
error: patch failed: sound/soc/qcom/lpass-platform.c:519
error: sound/soc/qcom/lpass-platform.c: patch does not apply
Patch failed at 0001 ASoC: qcom: Fix broken support to MI2S TERTIARY and QUATERNARY

Can you check if you need to rebase this patch?
Also small comment below in case you re-send:

> ---
>  sound/soc/qcom/lpass-cpu.c      | 22 ++++++++++++++++++++++
>  sound/soc/qcom/lpass-platform.c | 12 ++++++++++++
>  sound/soc/qcom/lpass-sc7180.c   |  6 +++---
>  sound/soc/qcom/lpass.h          |  2 +-
>  4 files changed, 38 insertions(+), 4 deletions(-)
> 
> [...]
> diff --git a/sound/soc/qcom/lpass-sc7180.c b/sound/soc/qcom/lpass-sc7180.c
> index 85db650c2169..eff5de918e3a 100644
> --- a/sound/soc/qcom/lpass-sc7180.c
> +++ b/sound/soc/qcom/lpass-sc7180.c
> @@ -20,7 +20,7 @@
>  #include "lpass.h"
>  
>  static struct snd_soc_dai_driver sc7180_lpass_cpu_dai_driver[] = {
> -	[MI2S_PRIMARY] = {
> +	[0] = {
>  		.id = MI2S_PRIMARY,
>  		.name = "Primary MI2S",
>  		.playback = {
> @@ -46,7 +46,7 @@ static struct snd_soc_dai_driver sc7180_lpass_cpu_dai_driver[] = {
>  		.ops    = &asoc_qcom_lpass_cpu_dai_ops,
>  	},
>  
> -	[MI2S_SECONDARY] = {
> +	[1] = {
>  		.id = MI2S_SECONDARY,
>  		.name = "Secondary MI2S",
>  		.playback = {
> @@ -61,7 +61,7 @@ static struct snd_soc_dai_driver sc7180_lpass_cpu_dai_driver[] = {
>  		.probe	= &asoc_qcom_lpass_cpu_dai_probe,
>  		.ops    = &asoc_qcom_lpass_cpu_dai_ops,
>  	},
> -	[LPASS_DP_RX] = {
> +	[2] = {
>  		.id = LPASS_DP_RX,
>  		.name = "Hdmi",
>  		.playback = {

Specifying the indexes here explicitly seems pointless now,
perhaps change this to just

	{
		.id = MI2S_PRIMARY,
		/* ... */
	},
	{
		.id = MI2S_SECONDARY,
		/* ... */
	}

Thanks,
Stephan


More information about the Alsa-devel mailing list