[PATCH] ASoC: qcom: SC7280: Update machine driver startup, shutdown callbacks
Update machine driver startup, shutdown callback functions to support codec DMA paths. Without this change, platforms with WCD codec is failing to register sound card.
Signed-off-by: Srinivasa Rao Mandadapu quic_srivasam@quicinc.com Co-developed-by: Venkata Prasad Potturu quic_potturu@quicinc.com Signed-off-by: Venkata Prasad Potturu quic_potturu@quicinc.com --- sound/soc/qcom/sc7280.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/sound/soc/qcom/sc7280.c b/sound/soc/qcom/sc7280.c index 4ef4034..d64df11 100644 --- a/sound/soc/qcom/sc7280.c +++ b/sound/soc/qcom/sc7280.c @@ -295,6 +295,10 @@ static void sc7280_snd_shutdown(struct snd_pcm_substream *substream) break; case LPASS_DP_RX: break; + case LPASS_CDC_DMA_RX0 ... LPASS_CDC_DMA_RX9: + case LPASS_CDC_DMA_TX0 ... LPASS_CDC_DMA_TX8: + case LPASS_CDC_DMA_VA_TX0 ... LPASS_CDC_DMA_VA_TX8: + break; default: dev_err(rtd->dev, "%s: invalid dai id 0x%x\n", __func__, cpu_dai->id); @@ -316,6 +320,10 @@ static int sc7280_snd_startup(struct snd_pcm_substream *substream) break; case LPASS_DP_RX: break; + case LPASS_CDC_DMA_RX0 ... LPASS_CDC_DMA_RX9: + case LPASS_CDC_DMA_TX0 ... LPASS_CDC_DMA_TX8: + case LPASS_CDC_DMA_VA_TX0 ... LPASS_CDC_DMA_VA_TX8: + break; default: dev_err(rtd->dev, "%s: invalid dai id 0x%x\n", __func__, cpu_dai->id);
On 19/04/2022 08:16, Srinivasa Rao Mandadapu wrote:
Update machine driver startup, shutdown callback functions to support codec DMA paths. Without this change, platforms with WCD codec is failing to register sound card.
Signed-off-by: Srinivasa Rao Mandadapu quic_srivasam@quicinc.com Co-developed-by: Venkata Prasad Potturu quic_potturu@quicinc.com Signed-off-by: Venkata Prasad Potturu quic_potturu@quicinc.com
sound/soc/qcom/sc7280.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/sound/soc/qcom/sc7280.c b/sound/soc/qcom/sc7280.c index 4ef4034..d64df11 100644 --- a/sound/soc/qcom/sc7280.c +++ b/sound/soc/qcom/sc7280.c @@ -295,6 +295,10 @@ static void sc7280_snd_shutdown(struct snd_pcm_substream *substream) break; case LPASS_DP_RX: break;
- case LPASS_CDC_DMA_RX0 ... LPASS_CDC_DMA_RX9:
- case LPASS_CDC_DMA_TX0 ... LPASS_CDC_DMA_TX8:
- case LPASS_CDC_DMA_VA_TX0 ... LPASS_CDC_DMA_VA_TX8:
default: dev_err(rtd->dev, "%s: invalid dai id 0x%x\n", __func__, cpu_dai->id);break;
Why not just make sc7280_snd_startup code like this:
static int sc7280_snd_startup(struct snd_pcm_substream *substream) { struct snd_soc_pcm_runtime *rtd = substream->private_data; struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); int ret = 0;
switch (cpu_dai->id) { case MI2S_PRIMARY: ret = sc7280_rt5682_init(rtd); break; default: break; } return ret; }
and sc7280_snd_shutdown with something similar
--srini
@@ -316,6 +320,10 @@ static int sc7280_snd_startup(struct snd_pcm_substream *substream) break; case LPASS_DP_RX: break;
- case LPASS_CDC_DMA_RX0 ... LPASS_CDC_DMA_RX9:
- case LPASS_CDC_DMA_TX0 ... LPASS_CDC_DMA_TX8:
- case LPASS_CDC_DMA_VA_TX0 ... LPASS_CDC_DMA_VA_TX8:
default: dev_err(rtd->dev, "%s: invalid dai id 0x%x\n", __func__, cpu_dai->id);break;
On 4/19/2022 2:49 PM, Srinivas Kandagatla wrote: Thanks for your time Srini!!
On 19/04/2022 08:16, Srinivasa Rao Mandadapu wrote:
Update machine driver startup, shutdown callback functions to support codec DMA paths. Without this change, platforms with WCD codec is failing to register sound card.
Signed-off-by: Srinivasa Rao Mandadapu quic_srivasam@quicinc.com Co-developed-by: Venkata Prasad Potturu quic_potturu@quicinc.com Signed-off-by: Venkata Prasad Potturu quic_potturu@quicinc.com
sound/soc/qcom/sc7280.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/sound/soc/qcom/sc7280.c b/sound/soc/qcom/sc7280.c index 4ef4034..d64df11 100644 --- a/sound/soc/qcom/sc7280.c +++ b/sound/soc/qcom/sc7280.c @@ -295,6 +295,10 @@ static void sc7280_snd_shutdown(struct snd_pcm_substream *substream) break; case LPASS_DP_RX: break; + case LPASS_CDC_DMA_RX0 ... LPASS_CDC_DMA_RX9: + case LPASS_CDC_DMA_TX0 ... LPASS_CDC_DMA_TX8: + case LPASS_CDC_DMA_VA_TX0 ... LPASS_CDC_DMA_VA_TX8: + break; default: dev_err(rtd->dev, "%s: invalid dai id 0x%x\n", __func__, cpu_dai->id);
Why not just make sc7280_snd_startup code like this:
static int sc7280_snd_startup(struct snd_pcm_substream *substream) { struct snd_soc_pcm_runtime *rtd = substream->private_data; struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); int ret = 0;
switch (cpu_dai->id) { case MI2S_PRIMARY: ret = sc7280_rt5682_init(rtd); break; default: break; } return ret; }
and sc7280_snd_shutdown with something similar
Yes. we can do as you suggested. Then Shall I do it as fix to a commit?
i.e. c5198db ASoC: qcom: Add driver support for ALC5682I-VS
--srini
@@ -316,6 +320,10 @@ static int sc7280_snd_startup(struct snd_pcm_substream *substream) break; case LPASS_DP_RX: break; + case LPASS_CDC_DMA_RX0 ... LPASS_CDC_DMA_RX9: + case LPASS_CDC_DMA_TX0 ... LPASS_CDC_DMA_TX8: + case LPASS_CDC_DMA_VA_TX0 ... LPASS_CDC_DMA_VA_TX8: + break; default: dev_err(rtd->dev, "%s: invalid dai id 0x%x\n", __func__, cpu_dai->id);
participants (2)
-
Srinivas Kandagatla
-
Srinivasa Rao Mandadapu