Re: [PATCH] ASoC: qcom: SC7280: Update machine driver startup, shutdown callbacks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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@xxxxxxxxxxx>
Co-developed-by: Venkata Prasad Potturu <quic_potturu@xxxxxxxxxxx>
Signed-off-by: Venkata Prasad Potturu <quic_potturu@xxxxxxxxxxx>
---
  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);



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux