1. 15 May, 2023 4 commits
    • Pierre-Louis Bossart's avatar
      ASoC: SOF: Intel: fix DAI number mismatch · 45f3c2f8
      Pierre-Louis Bossart authored
      The number of DAIs was based on a Kconfig option and the declaration
      on another. Fix before changing the dependencies.
      
      Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com
      Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com
      Reviewed-by: Rander Wang <rander.wang@intel.com
      Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com
      Link: https://lore.kernel.org/r/20230512181702.117483-4-pierre-louis.bossart@linux.intel.com
      Signed-off-by: Mark Brown <broonie@kernel.org
      45f3c2f8
    • Pierre-Louis Bossart's avatar
      ASoC: SOF: Intel: hda-dai: remove use of cpu_dai->component drvdata · de8e2d5d
      Pierre-Louis Bossart authored
      The existing code relies on conversions from cpu_dai to the sdev
      structure pointer based on the cpu_dai component. This works fine for
      HDaudio but will not work for SoundWire DAIs which are registered by a
      different component. That's a problem preventing reuse of the HDaudio
      DMA stream allocation for SoundWire DAIs starting with the LunarLake
      platform.
      
      This patch introduces a set of helpers to perform the conversion, and
      an indirect way of retrieving the sdev pointer based on the
      swidget->comp intermediate pointer.
      
      Suggested-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com
      Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com
      Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com
      Reviewed-by: Rander Wang <rander.wang@intel.com
      Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com
      Link: https://lore.kernel.org/r/20230512181702.117483-3-pierre-louis.bossart@linux.intel.com
      Signed-off-by: Mark Brown <broonie@kernel.org
      de8e2d5d
    • Pierre-Louis Bossart's avatar
      ASoC: SOF: Intel: hda-dai: simplify .prepare callback · 3886518f
      Pierre-Louis Bossart authored
      The code has been cleaned-up multiple times, but while adding the new
      abstractions for DMIC/SSP/SoundWire it appears that we don't really
      need a specific sequence for .prepare, and we can reuse what
      .hw_params already does.
      
      Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com
      Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com
      Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com
      Reviewed-by: Rander Wang <rander.wang@intel.com
      Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com
      Link: https://lore.kernel.org/r/20230512181702.117483-2-pierre-louis.bossart@linux.intel.com
      Signed-off-by: Mark Brown <broonie@kernel.org
      3886518f
    • Mark Brown's avatar
      ASoC: Merge up fixes for CI · 1946dda4
      Mark Brown authored
      Avoid tripping over fixed issues in CI.
      1946dda4
  2. 12 May, 2023 6 commits
    • Mark Brown's avatar
      ASoC SSM3515 codec driver · 7590c6a8
      Mark Brown authored
      Merge series from Martin Povišer <povik+lin@cutebit.org>:
      
      Analog Devices SSM3515 is a simple speaker amp that Apple is
      using in their 2021 iMacs, possibly elsewhere.
      7590c6a8
    • Rsplwe's avatar
      ASoC: amd: yc: Add MECHREVO Jiaolong Series MRID6 into DMI table · deeb7855
      Rsplwe authored
      This model requires an additional detection quirk to enable the internal microphone.
      
      Signed-off-by: Rsplwe <i@rsplwe.com
      Link: https://lore.kernel.org/r/tencent_3C6819728B6704C39A864762FB0BB77DF509@qq.com
      Signed-off-by: Mark Brown <broonie@kernel.org
      deeb7855
    • David Lin's avatar
      ASoC: dt-bindings: nau8825: Convert to dtschema · 35bccf46
      David Lin authored
      Convert the NAU8825 audio CODEC bindings to DT schema.
      
      Signed-off-by: David Lin <CTLIN0@nuvoton.com
      Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org
      Link: https://lore.kernel.org/r/20230511113607.595184-1-CTLIN0@nuvoton.com
      Signed-off-by: Mark Brown <broonie@kernel.org
      35bccf46
    • Martin Povišer's avatar
      ASoC: ssm3515: Add new amp driver · 4ac690bb
      Martin Povišer authored
      The Analog Devices' SSM3515 is a mono audio amplifier with digital
      input, equipped on Apple's 2021 iMacs. Add an ASoC driver for it, and
      register both the driver code and schema in MAINTAINERS.
      
      Signed-off-by: Martin Povišer <povik+lin@cutebit.org
      Link: https://lore.kernel.org/r/20230511150546.8499-3-povik+lin@cutebit.org
      Signed-off-by: Mark Brown <broonie@kernel.org
      4ac690bb
    • Martin Povišer's avatar
      ASoC: dt-bindings: Add adi,ssm3515 amp schema · 51208a4d
      Martin Povišer authored
      Add a DT schema for the SSM3515 amp by Analog Devices. It's a simple
      mono amplifier with digital input.
      
      Signed-off-by: Martin Povišer <povik+lin@cutebit.org
      Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org
      Link: https://lore.kernel.org/r/20230511150546.8499-2-povik+lin@cutebit.org
      Signed-off-by: Mark Brown <broonie@kernel.org
      51208a4d
    • Paweł Anikiel's avatar
      ASoC: ssm2602: Add workaround for playback distortions · f63550e2
      Paweł Anikiel authored
      Apply a workaround for what appears to be a hardware quirk.
      
      The problem seems to happen when enabling "whole chip power" (bit D7
      register R6) for the very first time after the chip receives power. If
      either "output" (D4) or "DAC" (D3) aren't powered on at that time,
      playback becomes very distorted later on.
      
      This happens on the Google Chameleon v3, as well as on a ZYBO Z7-10:
      https://ez.analog.com/audio/f/q-a/543726/solved-ssm2603-right-output-offset-issue/480229
      I suspect this happens only when using an external MCLK signal (which
      is the case for both of these boards).
      
      Here are some experiments run on a Google Chameleon v3. These were run
      in userspace using a wrapper around the i2cset utility:
      ssmset() {
              i2cset -y 0 0x1a $(($1*2)) $2
      }
      
      For each of the following sequences, we apply power to the ssm2603
      chip, set the configuration registers R0-R5 and R7-R8, run the selected
      sequence, and check for distortions on playback.
      
        ssmset 0x09 0x01 # core
        ssmset 0x06 0x07 # chip, out, dac
        OK
      
        ssmset 0x09 0x01 # core
        ssmset 0x06 0x87 # out, dac
        ssmset 0x06 0x07 # chip
        OK
      
        (disable MCLK)
        ssmset 0x09 0x01 # core
        ssmset 0x06 0x1f # chip
        ssmset 0x06 0x07 # out, dac
        (enable MCLK)
        OK
      
        ssmset 0x09 0x01 # core
        ssmset 0x06 0x1f # chip
        ssmset 0x06 0x07 # out, dac
        NOT OK
      
        ssmset 0x06 0x1f # chip
        ssmset 0x09 0x01 # core
        ssmset 0x06 0x07 # out, dac
        NOT OK
      
        ssmset 0x09 0x01 # core
        ssmset 0x06 0x0f # chip, out
        ssmset 0x06 0x07 # dac
        NOT OK
      
        ssmset 0x09 0x01 # core
        ssmset 0x06 0x17 # chip, dac
        ssmset 0x06 0x07 # out
        NOT OK
      
      For each of the following sequences, we apply power to the ssm2603
      chip, run the selected sequence, issue a reset with R15, configure
      R0-R5 and R7-R8, run one of the NOT OK sequences from above, and check
      for distortions.
      
        ssmset 0x09 0x01 # core
        ssmset 0x06 0x07 # chip, out, dac
        OK
      
        (disable MCLK)
        ssmset 0x09 0x01 # core
        ssmset 0x06 0x07 # chip, out, dac
        (enable MCLK after reset)
        NOT OK
      
        ssmset 0x09 0x01 # core
        ssmset 0x06 0x17 # chip, dac
        NOT OK
      
        ssmset 0x09 0x01 # core
        ssmset 0x06 0x0f # chip, out
        NOT OK
      
        ssmset 0x06 0x07 # chip, out, dac
        NOT OK
      
      Signed-off-by: Paweł Anikiel <pan@semihalf.com
      Link: https://lore.kernel.org/r/20230508113037.137627-8-pan@semihalf.com
      Signed-off-by: Mark Brown <broonie@kernel.org
      f63550e2
  3. 11 May, 2023 9 commits
  4. 09 May, 2023 4 commits
  5. 08 May, 2023 3 commits
  6. 07 May, 2023 14 commits