1. 22 Oct, 2021 1 commit
    • Julian Braha's avatar
      ASoC: fix unmet dependency on GPIOLIB · 6cace797
      Julian Braha authored
      When SND_SOC_SC7180 or SND_SOC_STORM is selected,
      and GPIOLIB is not selected, Kbuild gives the following
      warning:
      
      WARNING: unmet direct dependencies detected for SND_SOC_MAX98357A
        Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && GPIOLIB [=n]
        Selected by [y]:
        - SND_SOC_STORM [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_QCOM [=y]
        - SND_SOC_SC7180 [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_QCOM [=y] && I2C [=y]
      
      This is because SND_SOC_MAX98357A is selected
      by SND_SOC_STORM and SND_SOC_SC7180, but
      these config options do not select or depend on
      GPIOLIB, despite SND_SOC_MAX98357A depending on
      GPIOLIB.
      
      These unmet dependency bugs were detected by Kismet,
      a static analysis tool for Kconfig. Please advise if this
      is not the appropriate solution.
      Signed-off-by: default avatarJulian Braha <julianbraha@gmail.com>
      Link: https://lore.kernel.org/r/20211010215627.17869-1-julianbraha@gmail.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      6cace797
  2. 21 Oct, 2021 1 commit
  3. 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
  4. 18 Oct, 2021 31 commits
  5. 17 Oct, 2021 3 commits
  6. 16 Oct, 2021 2 commits
    • Nicolas Frattaroli's avatar
      ASoC: dt-bindings: rockchip: i2s-tdm: Drop rockchip,cru property · 4e52cb9e
      Nicolas Frattaroli authored
      This property was only needed for a driver hack, which we can
      remove. Since the bindings were not in any kernel release yet, we
      are able to just drop the property instead of silently accepting
      and ignoring it.
      Signed-off-by: default avatarNicolas Frattaroli <frattaroli.nicolas@gmail.com>
      Reviewed-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Message-Id: <20211016105354.116513-3-frattaroli.nicolas@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      4e52cb9e
    • Nicolas Frattaroli's avatar
      ASoC: rockchip: i2s-tdm: Strip out direct CRU use · d6365d0f
      Nicolas Frattaroli authored
      In cases where both rx and tx lrck are synced to the same source,
      the resets for rx and tx need to be triggered simultaneously,
      according to the downstream driver.
      
      As there is no reset API to atomically bulk (de)assert two resets
      at once, what the driver did was implement half a reset controller
      specific to Rockchip, which tried to write the registers for the
      resets within one write ideally or several writes within an irqsave
      section.
      
      This of course violates abstractions quite badly. The driver should
      not write to the CRU's registers directly.
      
      In practice, for the cases I tested the driver with, which is audio
      playback, replacing the synchronised asserts with just individual
      ones does not seem to make any difference.
      
      If it turns out that this breaks something in the future, it should
      be fixed through the specification and implementation of an atomic
      bulk reset API, not with a CRU hack.
      Signed-off-by: default avatarNicolas Frattaroli <frattaroli.nicolas@gmail.com>
      Reviewed-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Message-Id: <20211016105354.116513-2-frattaroli.nicolas@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      d6365d0f