1. 08 May, 2024 31 commits
  2. 02 May, 2024 1 commit
  3. 01 May, 2024 1 commit
    • Takashi Iwai's avatar
      Merge tag 'asoc-fix-v6.9-rc6' of... · a30a7a29
      Takashi Iwai authored
      Merge tag 'asoc-fix-v6.9-rc6' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
      
      ASoC: Fixes for v6.9
      
      This is much larger than is ideal, partly due to your holiday but also
      due to several vendors having come in with relatively large fixes at
      similar times.  It's all driver specific stuff.
      
      The meson fixes from Jerome fix some rare timing issues with blocking
      operations happening in triggers, plus the continuous clock support
      which fixes clocking for some platforms.  The SOF series from Peter
      builds to the fix to avoid spurious resets of ChainDMA which triggered
      errors in cleanup paths with both PulseAudio and PipeWire, and there's
      also some simple new debugfs files from Pierre which make support a lot
      eaiser.
      a30a7a29
  4. 30 Apr, 2024 3 commits
    • Takashi Iwai's avatar
      ALSA: hda/realtek: Fix conflicting PCI SSID 17aa:386f for Lenovo Legion models · 39815cdf
      Takashi Iwai authored
      Unfortunately both Lenovo Legion Pro 7 16ARX8H and Legion 7i 16IAX7
      got the very same PCI SSID while the hardware implementations are
      completely different (the former is with TI TAS2781 codec while the
      latter is with Cirrus CS35L41 codec).  The former model got broken by
      the recent fix for the latter model.
      
      For addressing the regression, check the codec SSID and apply the
      proper quirk for each model now.
      
      Fixes: 24b6332c ("ALSA: hda: Add Lenovo Legion 7i gen7 sound quirk")
      Cc: <stable@vger.kernel.org>
      Link: https://bugzilla.suse.com/show_bug.cgi?id=1223462
      Message-ID: <20240430163206.5200-1-tiwai@suse.de>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      39815cdf
    • Kailang Yang's avatar
      ALSA: hda/realtek - Set GPIO3 to default at S4 state for Thinkpad with ALC1318 · 1e707769
      Kailang Yang authored
      There is a chance of damaging the IC when S4 resume.
      Add safe mode for no stream to disable GPIO3.
      Thinkpad with ALC1318 platform need to add this workaround.
      Signed-off-by: default avatarKailang Yang <kailang@realtek.com>
      Link: https://lore.kernel.org/r/a853dc4f0a4e412381d5f60565181247@realtek.comSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      1e707769
    • Mark Brown's avatar
      ASoC: meson: tdm fixes · c5782bb5
      Mark Brown authored
      Merge series from Jerome Brunet <jbrunet@baylibre.com>:
      
      This patchset fixes 2 problems on TDM which both find a solution
      by properly implementing the .trigger() callback for the TDM backend.
      
      ATM, enabling the TDM formatters is done by the .prepare() callback
      because handling the formatter is slow due to necessary calls to CCF.
      
      The first problem affects the TDMIN. Because .prepare() is called on DPCM
      backend first, the formatter are started before the FIFOs and this may
      cause a random channel shifts if the TDMIN use multiple lanes with more
      than 2 slots per lanes. Using trigger() allows to set the FE/BE order,
      solving the problem.
      
      There has already been an attempt to fix this 3y ago [1] and reverted [2]
      It triggered a 'sleep in irq' error on the period IRQ. The solution is
      to just use the bottom half of threaded IRQ. This is patch #1. Patch #2
      and #3 remain mostly the same as 3y ago.
      
      For TDMOUT, the problem is on pause. ATM pause only stops the FIFO and
      the TDMOUT just starves. When it does, it will actually repeat the last
      sample continuously. Depending on the platform, if there is no high-pass
      filter on the analog path, this may translate to a constant position of
      the speaker membrane. There is no audible glitch but it may damage the
      speaker coil.
      
      Properly stopping the TDMOUT in pause solves the problem. There is
      behaviour change associated with that fix. Clocks used to be continuous
      on pause because of the problem above. They will now be gated on pause by
      default, as they should. The last change introduce the proper support for
      continuous clocks, if needed.
      
      [1]: https://lore.kernel.org/linux-amlogic/20211020114217.133153-1-jbrunet@baylibre.com
      [2]: https://lore.kernel.org/linux-amlogic/20220421155725.2589089-1-narmstrong@baylibre.com
      c5782bb5
  5. 29 Apr, 2024 4 commits