1. 23 Oct, 2021 3 commits
    • Mark Brown's avatar
      Merge series "Add Yellow Carp platform ASoC driver" from Vijendar Mukunda... · d96e75bb
      Mark Brown authored
      Merge series "Add Yellow Carp platform ASoC driver" from Vijendar Mukunda <Vijendar.Mukunda@amd.com>:
      
      Yellow Carp platform is new APU series based on acp6.x design.
      This patch set adds an ASoC driver for the ACP (Audio CoProcessor)
      block on AMD Yellow Carp APU with DMIC endpoint support.
      
      changes since v1:
        - fixed SPDX commenting style in acp6x pci driver.
        - fixed Copyright commenting style in acp6x pci driver,
          pdm dma driver and machine driver files.
        - fixed local variable check logic in acp6x_power_on() function.
        - fixed Kconfig indentation issue
        - removed irq_flag local variable in irq handler.
        - add dmi info check in machine driver probe
      
      Vijendar Mukunda (13):
        ASoC: amd: add Yellow Carp ACP6x IP register header
        ASoC: amd: add Yellow Carp ACP PCI driver
        ASoC: amd: add acp6x init/de-init functions
        ASoC: amd: add platform devices for acp6x pdm driver and dmic driver
        ASoC: amd: add acp6x pdm platform driver
        ASoC: amd: add acp6x irq handler
        ASoC: amd: add acp6x pdm driver dma ops
        ASoC: amd: add acp6x pci driver pm ops
        ASoC: amd: add acp6x pdm driver pm ops
        ASoC: amd: enable Yellow carp acp6x drivers build
        ASoC: amd: create platform device for acp6x machine driver
        ASoC: amd: add YC machine driver using dmic
        ASoC: amd: enable Yellow Carp platform machine driver build
      
       sound/soc/amd/Kconfig                     |  21 +
       sound/soc/amd/Makefile                    |   1 +
       sound/soc/amd/yc/Makefile                 |   9 +
       sound/soc/amd/yc/acp6x-mach.c             | 194 ++++++++++
       sound/soc/amd/yc/acp6x-pdm-dma.c          | 448 ++++++++++++++++++++++
       sound/soc/amd/yc/acp6x.h                  | 107 ++++++
       sound/soc/amd/yc/acp6x_chip_offset_byte.h | 444 +++++++++++++++++++++
       sound/soc/amd/yc/pci-acp6x.c              | 338 ++++++++++++++++
       8 files changed, 1562 insertions(+)
       create mode 100644 sound/soc/amd/yc/Makefile
       create mode 100644 sound/soc/amd/yc/acp6x-mach.c
       create mode 100644 sound/soc/amd/yc/acp6x-pdm-dma.c
       create mode 100644 sound/soc/amd/yc/acp6x.h
       create mode 100644 sound/soc/amd/yc/acp6x_chip_offset_byte.h
       create mode 100644 sound/soc/amd/yc/pci-acp6x.c
      
      --
      2.25.1
      d96e75bb
    • Mark Brown's avatar
      Merge series "ASoC: meson: axg: fix TDM channel order sync" from Jerome Brunet... · 866d7444
      Mark Brown authored
      Merge series "ASoC: meson: axg: fix TDM channel order sync" from Jerome Brunet <jbrunet@baylibre.com>:
      
      On the Amlogic AXG series, the TODDR FIFO may get out of sync with the TDM
      decoder if the decoder is started before the FIFO. The channel appears
      shifted in memory in an unpredictable way.
      
      To fix this, the trick is to start the FIFO before the TDM decoder. This
      way the FIFO is already waiting when the 1st channel is produced and it is
      correctly placed in memory.
      
      Jerome Brunet (2):
        ASoC: meson: axg-card: make links nonatomic
        ASoC: meson: axg-tdm-interface: manage formatters in trigger
      
       sound/soc/meson/axg-card.c          |  1 +
       sound/soc/meson/axg-tdm-interface.c | 26 +++++++++++++++++++++-----
       2 files changed, 22 insertions(+), 5 deletions(-)
      
      --
      2.33.0
      866d7444
    • Derek Fang's avatar
      ASoC: rt5682s: Downsizing the DAC volume scale · e7ee1ac4
      Derek Fang authored
      Use 0.75db/step of DAC volume instead of 1.5 to get
      a more smooth volume curve.
      Signed-off-by: default avatarDerek Fang <derek.fang@realtek.com>
      Link: https://lore.kernel.org/r/20211021120303.4601-1-derek.fang@realtek.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      e7ee1ac4
  2. 22 Oct, 2021 4 commits
  3. 21 Oct, 2021 1 commit
  4. 20 Oct, 2021 2 commits
    • Mark Brown's avatar
      Merge series "ASoC: qcom: sm8250: add support for TX and RX Macro dais" from... · 43041505
      Mark Brown authored
      Merge series "ASoC: qcom: sm8250: add support for TX and RX Macro dais" from Srinivas Kandagatla <srinivas.kandagatla@linaro.org>:
      
      This patchset adds support for testing WCD938X connected via TX and RX Macros
      on SM8250 MTP.
      
      Srinivas Kandagatla (2):
        ASoC: qcom: sm8250: add support for TX and RX Macro dais
        ASoC: qcom: sm8250: Add Jack support
      
       sound/soc/qcom/sm8250.c | 79 +++++++++++++++++++++++++++++++++++++++++
       1 file changed, 79 insertions(+)
      
      --
      2.21.0
      43041505
    • Sugar Zhang's avatar
      ASoC: rockchip: Use generic dmaengine code · 5ba8ecf2
      Sugar Zhang authored
      This reverts commit 75b31192.
      
      The original purpose of customized pcm was to config prealloc buffer size
      flexibly. but, we can do the same thing by soc-generic-dmaengine-pcm.
      
      And the generic one can generated the better config by querying DMA
      capabilities from dmaengine driver rather than the Hard-Coded one.
      
      e.g.
      
      the customized one:
      
        static const struct snd_pcm_hardware snd_rockchip_hardware = {
               .info                   = SNDRV_PCM_INFO_MMAP |
                                         SNDRV_PCM_INFO_MMAP_VALID |
                                         SNDRV_PCM_INFO_PAUSE |
                                         SNDRV_PCM_INFO_RESUME |
                                         SNDRV_PCM_INFO_INTERLEAVED,
        ...
      
      the generic one:
      
        ret = dma_get_slave_caps(chan, &dma_caps);
        if (ret == 0) {
                if (dma_caps.cmd_pause && dma_caps.cmd_resume)
                        hw.info |= SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME;
                if (dma_caps.residue_granularity <= DMA_RESIDUE_GRANULARITY_SEGMENT)
                        hw.info |= SNDRV_PCM_INFO_BATCH;
        ...
      
      So, let's revert back to use the generic dmaengine pcm.
      Signed-off-by: default avatarSugar Zhang <sugar.zhang@rock-chips.com>
      Reviewed-by: default avatarJohn Keeping <john@metanate.com>
      Link: https://lore.kernel.org/r/1632792957-80428-1-git-send-email-sugar.zhang@rock-chips.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      5ba8ecf2
  5. 18 Oct, 2021 30 commits