Commit 6537cfb3 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sound fixes from Takashi Iwai:
 "A slightly large collection of fixes, spread over various drivers.

  Almost all are small and device-specific fixes and quirks in ASoC SOF
  Intel and AMD, Renesas, Cirrus, HD-audio, in addition to a small fix
  for MIDI 2.0"

* tag 'sound-6.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (41 commits)
  ALSA: seq: Drop UMP events when no UMP-conversion is set
  ALSA: hda/conexant: Add quirk for HP ProBook 450 G4 mute LED
  ALSA: hda/cirrus: Reduce codec resume time
  ALSA: hda/cirrus: Correct the full scale volume set logic
  virtio_snd.h: clarify that `controls` depends on VIRTIO_SND_F_CTLS
  ALSA: hda: Add error check for snd_ctl_rename_id() in snd_hda_create_dig_out_ctls()
  ALSA: hda/tas2781: Fix index issue in tas2781 hda SPI driver
  ASoC: imx-audmix: remove cpu_mclk which is from cpu dai device
  ALSA: hda/realtek: Fixup ALC225 depop procedure
  ALSA: hda/tas2781: Update tas2781 hda SPI driver
  ASoC: cs35l41: Fix acpi_device_hid() not found
  ASoC: SOF: amd: Add branch prediction hint in ACP IRQ handler
  ASoC: SOF: amd: Handle IPC replies before FW_BOOT_COMPLETE
  ASoC: SOF: amd: Drop unused includes from Vangogh driver
  ASoC: SOF: amd: Add post_fw_run_delay ACP quirk
  ASoC: Intel: soc-acpi-intel-ptl-match: revise typo of rt713_vb_l2_rt1320_l13
  ASoC: Intel: soc-acpi-intel-ptl-match: revise typo of rt712_vb + rt1320 support
  ALSA: Switch to use hrtimer_setup()
  ALSA: hda: hda-intel: add Panther Lake-H support
  ASoC: SOF: Intel: pci-ptl: Add support for PTL-H
  ...
parents 2408a807 e77aa4b2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -3134,6 +3134,7 @@
#define PCI_DEVICE_ID_INTEL_HDA_LNL_P	0xa828
#define PCI_DEVICE_ID_INTEL_S21152BB	0xb152
#define PCI_DEVICE_ID_INTEL_HDA_BMG	0xe2f7
#define PCI_DEVICE_ID_INTEL_HDA_PTL_H	0xe328
#define PCI_DEVICE_ID_INTEL_HDA_PTL	0xe428
#define PCI_DEVICE_ID_INTEL_HDA_CML_R	0xf0c8
#define PCI_DEVICE_ID_INTEL_HDA_RKL_S	0xf1c8
+1 −1
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ struct virtio_snd_config {
	__le32 streams;
	/* # of available channel maps */
	__le32 chmaps;
	/* # of available control elements */
	/* # of available control elements (if VIRTIO_SND_F_CTLS) */
	__le32 controls;
};

+1 −2
Original line number Diff line number Diff line
@@ -66,9 +66,8 @@ static int snd_hrtimer_open(struct snd_timer *t)
	stime = kzalloc(sizeof(*stime), GFP_KERNEL);
	if (!stime)
		return -ENOMEM;
	hrtimer_init(&stime->hrt, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
	stime->timer = t;
	stime->hrt.function = snd_hrtimer_callback;
	hrtimer_setup(&stime->hrt, snd_hrtimer_callback, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
	t->private_data = stime;
	return 0;
}
+9 −3
Original line number Diff line number Diff line
@@ -678,12 +678,18 @@ static int snd_seq_deliver_single_event(struct snd_seq_client *client,
					  dest_port->time_real);

#if IS_ENABLED(CONFIG_SND_SEQ_UMP)
	if (!(dest->filter & SNDRV_SEQ_FILTER_NO_CONVERT)) {
	if (snd_seq_ev_is_ump(event)) {
		if (!(dest->filter & SNDRV_SEQ_FILTER_NO_CONVERT)) {
			result = snd_seq_deliver_from_ump(client, dest, dest_port,
							  event, atomic, hop);
			goto __skip;
		} else if (dest->type == USER_CLIENT &&
			   !snd_seq_client_is_ump(dest)) {
			result = 0; // drop the event
			goto __skip;
		}
	} else if (snd_seq_client_is_ump(dest)) {
		if (!(dest->filter & SNDRV_SEQ_FILTER_NO_CONVERT)) {
			result = snd_seq_deliver_to_ump(client, dest, dest_port,
							event, atomic, hop);
			goto __skip;
+1 −2
Original line number Diff line number Diff line
@@ -457,8 +457,7 @@ static int dummy_hrtimer_create(struct snd_pcm_substream *substream)
	if (!dpcm)
		return -ENOMEM;
	substream->runtime->private_data = dpcm;
	hrtimer_init(&dpcm->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT);
	dpcm->timer.function = dummy_hrtimer_callback;
	hrtimer_setup(&dpcm->timer, dummy_hrtimer_callback, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT);
	dpcm->substream = substream;
	atomic_set(&dpcm->running, 0);
	return 0;
Loading