mbox series

[v16,0/9] Add support for audio on SC7280 based targets

Message ID 1645716828-15305-1-git-send-email-quic_srivasam@quicinc.com (mailing list archive)
Headers show
Series Add support for audio on SC7280 based targets | expand

Message

Srinivasa Rao Mandadapu Feb. 24, 2022, 3:33 p.m. UTC
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

Comments

Mark Brown Feb. 24, 2022, 10:59 p.m. UTC | #1
On Thu, 24 Feb 2022 21:03:39 +0530, Srinivasa Rao Mandadapu wrote:
> 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
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/9] ASoC: qcom: Move lpass_pcm_data structure to lpass header
      commit: 74190d7cd3e8ab5123206d383dbfe125a4b7bb19
[2/9] ASoC: qcom: lpass: Add dma fields for codec dma lpass interface
      commit: ddd60045caa59d4b3d4b2a4b48fefd4974198587
[3/9] ASoC: qcom: Add helper function to get dma control and lpaif handle
      commit: 16413d5c5a2ed81d8fece1c5fe0b85752ecdbdf2
[4/9] ASoC: qcom: Add register definition for codec rddma and wrdma
      commit: dc8d9766bc03efee4d1b6dd912659858fdf981de
[5/9] ASoC: qcom: Add regmap config support for codec dma driver
      commit: b138706225c9ce9fac7a4955df31d8f68bb1d409
[6/9] ASoC: qcom: Add support for codec dma driver
      commit: 7d7209557b6712e8aa72ac1ce67a3fe209f5f889
[7/9] ASoC: qcom: Add lpass CPU driver for codec dma control
      commit: b81af585ea54ee9f749391e594ee9cbd44061eae
[8/9] ASoC: dt-bindings: Add SC7280 lpass cpu bindings
      commit: f3fc4fbfa2d2a09cb279af4e290d0a6dbbc93c7e
[9/9] ASoC: qcom: lpass-sc7280: Add platform driver for lpass audio
      commit: b62c4e5fba2f910bc9f23ae152d11627e4c2f00f

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark