On 19/01/2021 10:55, Stephan Gerhold wrote:
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:
Sure, let me rebase this on asoc/for-next and resend!
---
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,
/* ... */
}
I agree, will do that in next spin!
--srini
Thanks,
Stephan