Skip to content

Commit 6537cfb

Browse files
committed
Merge tag 'sound-6.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
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 ...
2 parents 2408a80 + e77aa4b commit 6537cfb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+319
-186
lines changed

include/linux/pci_ids.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3134,6 +3134,7 @@
31343134
#define PCI_DEVICE_ID_INTEL_HDA_LNL_P 0xa828
31353135
#define PCI_DEVICE_ID_INTEL_S21152BB 0xb152
31363136
#define PCI_DEVICE_ID_INTEL_HDA_BMG 0xe2f7
3137+
#define PCI_DEVICE_ID_INTEL_HDA_PTL_H 0xe328
31373138
#define PCI_DEVICE_ID_INTEL_HDA_PTL 0xe428
31383139
#define PCI_DEVICE_ID_INTEL_HDA_CML_R 0xf0c8
31393140
#define PCI_DEVICE_ID_INTEL_HDA_RKL_S 0xf1c8

include/uapi/linux/virtio_snd.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ struct virtio_snd_config {
2525
__le32 streams;
2626
/* # of available channel maps */
2727
__le32 chmaps;
28-
/* # of available control elements */
28+
/* # of available control elements (if VIRTIO_SND_F_CTLS) */
2929
__le32 controls;
3030
};
3131

sound/core/hrtimer.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,8 @@ static int snd_hrtimer_open(struct snd_timer *t)
6666
stime = kzalloc(sizeof(*stime), GFP_KERNEL);
6767
if (!stime)
6868
return -ENOMEM;
69-
hrtimer_init(&stime->hrt, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
7069
stime->timer = t;
71-
stime->hrt.function = snd_hrtimer_callback;
70+
hrtimer_setup(&stime->hrt, snd_hrtimer_callback, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
7271
t->private_data = stime;
7372
return 0;
7473
}

sound/core/seq/seq_clientmgr.c

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -678,12 +678,18 @@ static int snd_seq_deliver_single_event(struct snd_seq_client *client,
678678
dest_port->time_real);
679679

680680
#if IS_ENABLED(CONFIG_SND_SEQ_UMP)
681-
if (!(dest->filter & SNDRV_SEQ_FILTER_NO_CONVERT)) {
682-
if (snd_seq_ev_is_ump(event)) {
681+
if (snd_seq_ev_is_ump(event)) {
682+
if (!(dest->filter & SNDRV_SEQ_FILTER_NO_CONVERT)) {
683683
result = snd_seq_deliver_from_ump(client, dest, dest_port,
684684
event, atomic, hop);
685685
goto __skip;
686-
} else if (snd_seq_client_is_ump(dest)) {
686+
} else if (dest->type == USER_CLIENT &&
687+
!snd_seq_client_is_ump(dest)) {
688+
result = 0; // drop the event
689+
goto __skip;
690+
}
691+
} else if (snd_seq_client_is_ump(dest)) {
692+
if (!(dest->filter & SNDRV_SEQ_FILTER_NO_CONVERT)) {
687693
result = snd_seq_deliver_to_ump(client, dest, dest_port,
688694
event, atomic, hop);
689695
goto __skip;

sound/drivers/dummy.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -457,8 +457,7 @@ static int dummy_hrtimer_create(struct snd_pcm_substream *substream)
457457
if (!dpcm)
458458
return -ENOMEM;
459459
substream->runtime->private_data = dpcm;
460-
hrtimer_init(&dpcm->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT);
461-
dpcm->timer.function = dummy_hrtimer_callback;
460+
hrtimer_setup(&dpcm->timer, dummy_hrtimer_callback, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT);
462461
dpcm->substream = substream;
463462
atomic_set(&dpcm->running, 0);
464463
return 0;

sound/drivers/pcsp/pcsp.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,7 @@ static int snd_card_pcsp_probe(int devnum, struct device *dev)
103103
if (devnum != 0)
104104
return -EINVAL;
105105

106-
hrtimer_init(&pcsp_chip.timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
107-
pcsp_chip.timer.function = pcsp_do_timer;
106+
hrtimer_setup(&pcsp_chip.timer, pcsp_do_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
108107

109108
err = snd_devm_card_new(dev, index, id, THIS_MODULE, 0, &card);
110109
if (err < 0)

sound/hda/intel-dsp-config.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -539,6 +539,11 @@ static const struct config_entry config_table[] = {
539539
.flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE,
540540
.device = PCI_DEVICE_ID_INTEL_HDA_PTL,
541541
},
542+
{
543+
.flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE,
544+
.device = PCI_DEVICE_ID_INTEL_HDA_PTL_H,
545+
},
546+
542547
#endif
543548

544549
};

sound/pci/hda/hda_codec.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2470,7 +2470,9 @@ int snd_hda_create_dig_out_ctls(struct hda_codec *codec,
24702470
break;
24712471
id = kctl->id;
24722472
id.index = spdif_index;
2473-
snd_ctl_rename_id(codec->card, &kctl->id, &id);
2473+
err = snd_ctl_rename_id(codec->card, &kctl->id, &id);
2474+
if (err < 0)
2475+
return err;
24742476
}
24752477
bus->primary_dig_out_type = HDA_PCM_TYPE_HDMI;
24762478
}

sound/pci/hda/hda_intel.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2496,6 +2496,8 @@ static const struct pci_device_id azx_ids[] = {
24962496
{ PCI_DEVICE_DATA(INTEL, HDA_ARL, AZX_DRIVER_SKL | AZX_DCAPS_INTEL_SKYLAKE) },
24972497
/* Panther Lake */
24982498
{ PCI_DEVICE_DATA(INTEL, HDA_PTL, AZX_DRIVER_SKL | AZX_DCAPS_INTEL_LNL) },
2499+
/* Panther Lake-H */
2500+
{ PCI_DEVICE_DATA(INTEL, HDA_PTL_H, AZX_DRIVER_SKL | AZX_DCAPS_INTEL_LNL) },
24992501
/* Apollolake (Broxton-P) */
25002502
{ PCI_DEVICE_DATA(INTEL, HDA_APL, AZX_DRIVER_SKL | AZX_DCAPS_INTEL_BROXTON) },
25012503
/* Gemini-Lake */

sound/pci/hda/patch_conexant.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1090,6 +1090,7 @@ static const struct hda_quirk cxt5066_fixups[] = {
10901090
SND_PCI_QUIRK(0x103c, 0x814f, "HP ZBook 15u G3", CXT_FIXUP_MUTE_LED_GPIO),
10911091
SND_PCI_QUIRK(0x103c, 0x8174, "HP Spectre x360", CXT_FIXUP_HP_SPECTRE),
10921092
SND_PCI_QUIRK(0x103c, 0x822e, "HP ProBook 440 G4", CXT_FIXUP_MUTE_LED_GPIO),
1093+
SND_PCI_QUIRK(0x103c, 0x8231, "HP ProBook 450 G4", CXT_FIXUP_MUTE_LED_GPIO),
10931094
SND_PCI_QUIRK(0x103c, 0x828c, "HP EliteBook 840 G4", CXT_FIXUP_HP_DOCK),
10941095
SND_PCI_QUIRK(0x103c, 0x8299, "HP 800 G3 SFF", CXT_FIXUP_HP_MIC_NO_PRESENCE),
10951096
SND_PCI_QUIRK(0x103c, 0x829a, "HP 800 G3 DM", CXT_FIXUP_HP_MIC_NO_PRESENCE),

0 commit comments

Comments
 (0)