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@xxxxxxxxxx> > Reported-by: Stephan Gerhold <stephan@xxxxxxxxxxx> > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> 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