1. 28 Feb, 2022 15 commits
  2. 25 Feb, 2022 21 commits
  3. 24 Feb, 2022 4 commits
    • Mark Brown's avatar
      Add support for audio on SC7280 based targets · 6e1dda5f
      Mark Brown authored
      Merge series from Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>:
      
      This patch set is to add support for Audio over wcd codec,
      digital mics, through digital codecs and without ADSP.
      
      Changes Since V15:
          -- Bisect patches to avoid build failure in other architectures.
          -- Remove redundant variables lpass variant structure.
      Changes Since V14:
          -- Split common wrapper function to separate wrapper for each handle in platform driver.
          -- Update cdc dma buffer handling with memremap with ioremap.
          -- Remove redundant error prints.
          -- Update irq flag.
      Changes Since V13:
          -- Change bulk cdc clock voting to individual clock voting.
          -- Remove redundant code, conditional check and prints.
          -- Fix typo errors.
      Changes Since V12:
          -- Fix arguments type mismatch.
      Changes Since V11:
          -- Fix kernel robot issue on arguments type mismatch.
      Changes Since V10:
          -- Split bulk clock voting to individual clock voting as per use case in cdc-dma driver.
          -- Add missing codec dma clocks.
          -- Update rxtx lpm buffer size.
      Changes Since V9:
          -- Change individual clock voting to bulk clock voting of lpass-sc7280 platform driver.
          -- Remove redundant clocks in lpass variant structure.
          -- Add mclk for MI2S based headset path.
          -- Remove unused lpass variant structure members in lpass header.
      Changes Since V8:
          -- Fix errors in sc7280 lpass cpu dt-bindings.
          -- Move to quicinc domain email id's.
      Changes Since V7:
          -- Fix indentation errors.
          -- Bisect patches to avoid interdependency.
      Changes Since V6:
          -- Split cdc dma regmap config macros.
          -- Add write dma reg fields for i2s path.
          -- Add helper function to distinguish rxtx and va dma ports.
          -- Optimizing clock and reg name in cpu dt-bindings.
          -- Update buffer management for cdc dma path.
          -- Remove Kconfig fields of machine driver.
      Changes Since V5:
          -- Include MI2S primary node to snd_soc_dai_driver in lpass-sc7280 platform driver.
          -- Move dependency patch list to corresponding patch.
          -- Add support for missing cdc-dma ports.
          -- Change if/else conditional statements to switch cases.
          -- Add missing error handlings.
          -- Typo errors fix.
      Changes Since V4:
          -- Remove unused variable in lpass-sc7280 platform driver.
      Changes Since V3:
          -- Remove redundant power domain controls. As power domains can be configured from dtsi.
      Changes Since V2:
          -- Split lpass sc7280 cpu driver patch and create regmap config patch.
          -- Create patches based on latest kernel tip.
          -- Add helper function to get dma control and lpaif handle.
          -- Remove unused variables.
      Changes Since V1:
          -- Typo errors fix
          -- CPU driver readable/writable apis optimization.
          -- Add Missing config patch
          -- Add Common api for repeated dmactl initialization.
      Srinivasa Rao Mandadapu (9):
        ASoC: qcom: Move lpass_pcm_data structure to lpass header
        ASoC: qcom: lpass: Add dma fields for codec dma lpass interface
        ASoC: qcom: Add helper function to get dma control and lpaif handle
        ASoC: qcom: Add register definition for codec rddma and wrdma
        ASoC: qcom: Add regmap config support for codec dma driver
        ASoC: qcom: Add support for codec dma driver
        ASoC: qcom: Add lpass CPU driver for codec dma control
        ASoC: dt-bindings: Add SC7280 lpass cpu bindings
        ASoC: qcom: lpass-sc7280: Add platform driver for lpass audio
      
       .../devicetree/bindings/sound/qcom,lpass-cpu.yaml  |  75 ++-
       sound/soc/qcom/Kconfig                             |  11 +
       sound/soc/qcom/Makefile                            |   4 +
       sound/soc/qcom/lpass-cdc-dma.c                     | 301 ++++++++++
       sound/soc/qcom/lpass-cpu.c                         | 253 ++++++++-
       sound/soc/qcom/lpass-lpaif-reg.h                   | 127 ++++-
       sound/soc/qcom/lpass-platform.c                    | 628 ++++++++++++++++++---
       sound/soc/qcom/lpass-sc7280.c                      | 438 ++++++++++++++
       sound/soc/qcom/lpass.h                             | 141 +++++
       9 files changed, 1890 insertions(+), 88 deletions(-)
       create mode 100644 sound/soc/qcom/lpass-cdc-dma.c
       create mode 100644 sound/soc/qcom/lpass-sc7280.c
      
      --
      2.7.4
      6e1dda5f
    • Peter Ujfalusi's avatar
      ASoC: SOF: Declare sof_compress_ops in sof-priv.h · 29990588
      Peter Ujfalusi authored
      Fix the following sparse error:
      sound/soc/sof/compress.c:310:25: error: symbol 'sof_compressed_ops' was not declared. Should it be static?
      
      Do not enable set the pd->compress_ops yet as it is not a valid assumption
      that real compress support really works when CONFIG_SND_SOC_SOF_COMPRESS
      is set as the HDA Probes support also selects it, but compressed audio
      is not supported (yet) on Intel platforms.
      
      Fixes: 6324cf90 ("ASoC: SOF: compr: Add compress ops implementation")
      Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
      Link: https://lore.kernel.org/r/20220224172324.17976-1-peter.ujfalusi@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      29990588
    • Srinivasa Rao Mandadapu's avatar
      ASoC: qcom: lpass-sc7280: Add platform driver for lpass audio · b62c4e5f
      Srinivasa Rao Mandadapu authored
      Add platform driver for configuring sc7280 lpass core I2S and
      DMA configuration to support playback & capture to external codecs
      connected over secondary MI2S interface and soundwire interface.
      Signed-off-by: default avatarSrinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
      Co-developed-by: default avatarVenkata Prasad Potturu <quic_potturu@quicinc.com>
      Signed-off-by: default avatarVenkata Prasad Potturu <quic_potturu@quicinc.com>
      Reviewed-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
      Link: https://lore.kernel.org/r/1645716828-15305-10-git-send-email-quic_srivasam@quicinc.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      b62c4e5f
    • Srinivasa Rao Mandadapu's avatar
      ASoC: dt-bindings: Add SC7280 lpass cpu bindings · f3fc4fbf
      Srinivasa Rao Mandadapu authored
      Add bindings for sc7280 lpass cpu driver which supports
      audio over i2s based speaker, soundwire based headset, msm dmics
      and HDMI Port.
      Signed-off-by: default avatarSrinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
      Co-developed-by: default avatarVenkata Prasad Potturu <quic_potturu@quicinc.com>
      Signed-off-by: default avatarVenkata Prasad Potturu <quic_potturu@quicinc.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Link: https://lore.kernel.org/r/1645716828-15305-9-git-send-email-quic_srivasam@quicinc.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      f3fc4fbf