Skip to content

Commit eeae5ef

Browse files
committed
Merge tag 'sound-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai: "A few last-minute fixes. All changes are device-specific small fixes that should be pretty safe to apply" * tag 'sound-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda/realtek - update set GPIO3 to default for Thinkpad with ALC1318 ALSA: hda/realtek: fix mute/micmute LEDs for a HP EliteBook 645 G10 ALSA: hda/realtek - Fixed Clevo platform headset Mic issue ALSA: usb-audio: Fix Yamaha P-125 Quirk Entry ASoC: max9768: Fix event generation for playback mute ASoC: intel: sof_sdw: add quirk for Dell SKU ASoC: audio-graph-card2: Purge absent supplies for device tree nodes
2 parents 842c7e5 + 5ec23a1 commit eeae5ef

File tree

5 files changed

+44
-5
lines changed

5 files changed

+44
-5
lines changed

sound/pci/hda/patch_realtek.c

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7450,7 +7450,6 @@ static void alc287_alc1318_playback_pcm_hook(struct hda_pcm_stream *hinfo,
74507450
struct snd_pcm_substream *substream,
74517451
int action)
74527452
{
7453-
alc_write_coef_idx(codec, 0x10, 0x8806); /* Change MLK to GPIO3 */
74547453
switch (action) {
74557454
case HDA_GEN_PCM_ACT_OPEN:
74567455
alc_write_coefex_idx(codec, 0x5a, 0x00, 0x954f); /* write gpio3 to high */
@@ -7464,7 +7463,6 @@ static void alc287_alc1318_playback_pcm_hook(struct hda_pcm_stream *hinfo,
74647463
static void alc287_s4_power_gpio3_default(struct hda_codec *codec)
74657464
{
74667465
if (is_s4_suspend(codec)) {
7467-
alc_write_coef_idx(codec, 0x10, 0x8806); /* Change MLK to GPIO3 */
74687466
alc_write_coefex_idx(codec, 0x5a, 0x00, 0x554f); /* write gpio3 as default value */
74697467
}
74707468
}
@@ -7473,9 +7471,17 @@ static void alc287_fixup_lenovo_thinkpad_with_alc1318(struct hda_codec *codec,
74737471
const struct hda_fixup *fix, int action)
74747472
{
74757473
struct alc_spec *spec = codec->spec;
7474+
static const struct coef_fw coefs[] = {
7475+
WRITE_COEF(0x24, 0x0013), WRITE_COEF(0x25, 0x0000), WRITE_COEF(0x26, 0xC300),
7476+
WRITE_COEF(0x28, 0x0001), WRITE_COEF(0x29, 0xb023),
7477+
WRITE_COEF(0x24, 0x0013), WRITE_COEF(0x25, 0x0000), WRITE_COEF(0x26, 0xC301),
7478+
WRITE_COEF(0x28, 0x0001), WRITE_COEF(0x29, 0xb023),
7479+
};
74767480

74777481
if (action != HDA_FIXUP_ACT_PRE_PROBE)
74787482
return;
7483+
alc_update_coef_idx(codec, 0x10, 1<<11, 1<<11);
7484+
alc_process_coef_fw(codec, coefs);
74797485
spec->power_hook = alc287_s4_power_gpio3_default;
74807486
spec->gen.pcm_playback_hook = alc287_alc1318_playback_pcm_hook;
74817487
}
@@ -10496,6 +10502,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
1049610502
SND_PCI_QUIRK(0x103c, 0x8b59, "HP Elite mt645 G7 Mobile Thin Client U89", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
1049710503
SND_PCI_QUIRK(0x103c, 0x8b5d, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
1049810504
SND_PCI_QUIRK(0x103c, 0x8b5e, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
10505+
SND_PCI_QUIRK(0x103c, 0x8b5f, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
1049910506
SND_PCI_QUIRK(0x103c, 0x8b63, "HP Elite Dragonfly 13.5 inch G4", ALC245_FIXUP_CS35L41_SPI_4_HP_GPIO_LED),
1050010507
SND_PCI_QUIRK(0x103c, 0x8b65, "HP ProBook 455 15.6 inch G10 Notebook PC", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
1050110508
SND_PCI_QUIRK(0x103c, 0x8b66, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
@@ -11673,6 +11680,8 @@ static const struct snd_hda_pin_quirk alc269_fallback_pin_fixup_tbl[] = {
1167311680
{0x1a, 0x40000000}),
1167411681
SND_HDA_PIN_QUIRK(0x10ec0256, 0x1043, "ASUS", ALC2XX_FIXUP_HEADSET_MIC,
1167511682
{0x19, 0x40000000}),
11683+
SND_HDA_PIN_QUIRK(0x10ec0255, 0x1558, "Clevo", ALC2XX_FIXUP_HEADSET_MIC,
11684+
{0x19, 0x40000000}),
1167611685
{}
1167711686
};
1167811687

sound/soc/codecs/max9768.c

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,17 @@ static int max9768_set_gpio(struct snd_kcontrol *kcontrol,
5454
{
5555
struct snd_soc_component *c = snd_soc_kcontrol_component(kcontrol);
5656
struct max9768 *max9768 = snd_soc_component_get_drvdata(c);
57+
bool val = !ucontrol->value.integer.value[0];
58+
int ret;
5759

58-
gpiod_set_value_cansleep(max9768->mute, !ucontrol->value.integer.value[0]);
60+
if (val != gpiod_get_value_cansleep(max9768->mute))
61+
ret = 1;
62+
else
63+
ret = 0;
5964

60-
return 0;
65+
gpiod_set_value_cansleep(max9768->mute, val);
66+
67+
return ret;
6168
}
6269

6370
static const DECLARE_TLV_DB_RANGE(volume_tlv,

sound/soc/generic/audio-graph-card2.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,16 +270,19 @@ static enum graph_type __graph_get_type(struct device_node *lnk)
270270

271271
if (of_node_name_eq(np, GRAPH_NODENAME_MULTI)) {
272272
ret = GRAPH_MULTI;
273+
fw_devlink_purge_absent_suppliers(&np->fwnode);
273274
goto out_put;
274275
}
275276

276277
if (of_node_name_eq(np, GRAPH_NODENAME_DPCM)) {
277278
ret = GRAPH_DPCM;
279+
fw_devlink_purge_absent_suppliers(&np->fwnode);
278280
goto out_put;
279281
}
280282

281283
if (of_node_name_eq(np, GRAPH_NODENAME_C2C)) {
282284
ret = GRAPH_C2C;
285+
fw_devlink_purge_absent_suppliers(&np->fwnode);
283286
goto out_put;
284287
}
285288

sound/soc/intel/boards/sof_sdw.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -590,6 +590,14 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
590590
},
591591
.driver_data = (void *)(SOC_SDW_CODEC_SPKR),
592592
},
593+
{
594+
.callback = sof_sdw_quirk_cb,
595+
.matches = {
596+
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
597+
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0CF1")
598+
},
599+
.driver_data = (void *)(SOC_SDW_CODEC_SPKR),
600+
},
593601
{
594602
.callback = sof_sdw_quirk_cb,
595603
.matches = {

sound/usb/quirks-table.h

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,6 @@ YAMAHA_DEVICE(0x105a, NULL),
324324
YAMAHA_DEVICE(0x105b, NULL),
325325
YAMAHA_DEVICE(0x105c, NULL),
326326
YAMAHA_DEVICE(0x105d, NULL),
327-
YAMAHA_DEVICE(0x1718, "P-125"),
328327
{
329328
USB_DEVICE(0x0499, 0x1503),
330329
QUIRK_DRIVER_INFO {
@@ -391,6 +390,19 @@ YAMAHA_DEVICE(0x1718, "P-125"),
391390
}
392391
}
393392
},
393+
{
394+
USB_DEVICE(0x0499, 0x1718),
395+
QUIRK_DRIVER_INFO {
396+
/* .vendor_name = "Yamaha", */
397+
/* .product_name = "P-125", */
398+
QUIRK_DATA_COMPOSITE {
399+
{ QUIRK_DATA_STANDARD_AUDIO(1) },
400+
{ QUIRK_DATA_STANDARD_AUDIO(2) },
401+
{ QUIRK_DATA_MIDI_YAMAHA(3) },
402+
QUIRK_COMPOSITE_END
403+
}
404+
}
405+
},
394406
YAMAHA_DEVICE(0x2000, "DGP-7"),
395407
YAMAHA_DEVICE(0x2001, "DGP-5"),
396408
YAMAHA_DEVICE(0x2002, NULL),

0 commit comments

Comments
 (0)