1. 02 Jul, 2024 1 commit
    • Jaroslav Kysela's avatar
      ALSA: pcm: reinvent the stream synchronization ID API · f05c1ffc
      Jaroslav Kysela authored
      Until the commit e11f0f90 ("ALSA: pcm: remove SNDRV_PCM_IOCTL1_INFO
      internal command"), there was a possibility to pass information
      about the synchronized streams to the user space. The mentioned
      commit removed blindly the appropriate code with an irrelevant comment.
      
      The revert may be appropriate, but since this API was lost for several
      years without any complains, it's time to improve it. The hardware
      parameters may change the used stream clock source (e.g. USB hardware)
      so move this synchronization ID to hw_params as read-only field.
      
      It seems that pipewire can benefit from this API (disable adaptive
      resampling for perfectly synchronized PCM streams) now.
      
      Note that the contents of ID is not supposed to be used for direct
      comparison with a specific byte sequence. The "empty" case is when
      all bytes are zero (driver does not offer this information)
      and all other cases must be only used for equal comparison among
      PCM streams (including different sound cards) if they are using
      identical hardware clock.
      
      Cc: Takashi Sakamoto <takaswie@kernel.org>
      Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      Link: https://patch.msgid.link/20240625172836.589380-2-perex@perex.cz
      f05c1ffc
  2. 27 Jun, 2024 1 commit
  3. 26 Jun, 2024 7 commits
  4. 25 Jun, 2024 6 commits
  5. 24 Jun, 2024 1 commit
    • Chen-Yu Tsai's avatar
      ASoC: mediatek: mt8195: Add platform entry for ETDM1_OUT_BE dai link · 282a4482
      Chen-Yu Tsai authored
      Commit e70b8dd2 ("ASoC: mediatek: mt8195: Remove afe-dai component
      and rework codec link") removed the codec entry for the ETDM1_OUT_BE
      dai link entirely instead of replacing it with COMP_EMPTY(). This worked
      by accident as the remaining COMP_EMPTY() platform entry became the codec
      entry, and the platform entry became completely empty, effectively the
      same as COMP_DUMMY() since snd_soc_fill_dummy_dai() doesn't do anything
      for platform entries.
      
      This causes a KASAN out-of-bounds warning in mtk_soundcard_common_probe()
      in sound/soc/mediatek/common/mtk-soundcard-driver.c:
      
      	for_each_card_prelinks(card, i, dai_link) {
      		if (adsp_node && !strncmp(dai_link->name, "AFE_SOF", strlen("AFE_SOF")))
      			dai_link->platforms->of_node = adsp_node;
      		else if (!dai_link->platforms->name && !dai_link->platforms->of_node)
      			dai_link->platforms->of_node = platform_node;
      	}
      
      where the code expects the platforms array to have space for at least one entry.
      
      Add an COMP_EMPTY() entry so that dai_link->platforms has space.
      
      Fixes: e70b8dd2 ("ASoC: mediatek: mt8195: Remove afe-dai component and rework codec link")
      Signed-off-by: default avatarChen-Yu Tsai <wenst@chromium.org>
      Reviewed-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
      Link: https://patch.msgid.link/20240624061257.3115467-1-wenst@chromium.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      282a4482
  6. 21 Jun, 2024 2 commits
  7. 20 Jun, 2024 2 commits
  8. 19 Jun, 2024 3 commits
  9. 18 Jun, 2024 17 commits