Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+44 -5
+11 -2
sound/pci/hda/patch_realtek.c
··· 7450 7450 struct snd_pcm_substream *substream, 7451 7451 int action) 7452 7452 { 7453 - alc_write_coef_idx(codec, 0x10, 0x8806); /* Change MLK to GPIO3 */ 7454 7453 switch (action) { 7455 7454 case HDA_GEN_PCM_ACT_OPEN: 7456 7455 alc_write_coefex_idx(codec, 0x5a, 0x00, 0x954f); /* write gpio3 to high */ ··· 7463 7464 static void alc287_s4_power_gpio3_default(struct hda_codec *codec) 7464 7465 { 7465 7466 if (is_s4_suspend(codec)) { 7466 - alc_write_coef_idx(codec, 0x10, 0x8806); /* Change MLK to GPIO3 */ 7467 7467 alc_write_coefex_idx(codec, 0x5a, 0x00, 0x554f); /* write gpio3 as default value */ 7468 7468 } 7469 7469 } ··· 7471 7473 const struct hda_fixup *fix, int action) 7472 7474 { 7473 7475 struct alc_spec *spec = codec->spec; 7476 + static const struct coef_fw coefs[] = { 7477 + WRITE_COEF(0x24, 0x0013), WRITE_COEF(0x25, 0x0000), WRITE_COEF(0x26, 0xC300), 7478 + WRITE_COEF(0x28, 0x0001), WRITE_COEF(0x29, 0xb023), 7479 + WRITE_COEF(0x24, 0x0013), WRITE_COEF(0x25, 0x0000), WRITE_COEF(0x26, 0xC301), 7480 + WRITE_COEF(0x28, 0x0001), WRITE_COEF(0x29, 0xb023), 7481 + }; 7474 7482 7475 7483 if (action != HDA_FIXUP_ACT_PRE_PROBE) 7476 7484 return; 7485 + alc_update_coef_idx(codec, 0x10, 1<<11, 1<<11); 7486 + alc_process_coef_fw(codec, coefs); 7477 7487 spec->power_hook = alc287_s4_power_gpio3_default; 7478 7488 spec->gen.pcm_playback_hook = alc287_alc1318_playback_pcm_hook; 7479 7489 } ··· 10502 10496 SND_PCI_QUIRK(0x103c, 0x8b59, "HP Elite mt645 G7 Mobile Thin Client U89", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), 10503 10497 SND_PCI_QUIRK(0x103c, 0x8b5d, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), 10504 10498 SND_PCI_QUIRK(0x103c, 0x8b5e, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), 10499 + SND_PCI_QUIRK(0x103c, 0x8b5f, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), 10505 10500 SND_PCI_QUIRK(0x103c, 0x8b63, "HP Elite Dragonfly 13.5 inch G4", ALC245_FIXUP_CS35L41_SPI_4_HP_GPIO_LED), 10506 10501 SND_PCI_QUIRK(0x103c, 0x8b65, "HP ProBook 455 15.6 inch G10 Notebook PC", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), 10507 10502 SND_PCI_QUIRK(0x103c, 0x8b66, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), ··· 11679 11672 {0x19, 0x40000000}, 11680 11673 {0x1a, 0x40000000}), 11681 11674 SND_HDA_PIN_QUIRK(0x10ec0256, 0x1043, "ASUS", ALC2XX_FIXUP_HEADSET_MIC, 11675 + {0x19, 0x40000000}), 11676 + SND_HDA_PIN_QUIRK(0x10ec0255, 0x1558, "Clevo", ALC2XX_FIXUP_HEADSET_MIC, 11682 11677 {0x19, 0x40000000}), 11683 11678 {} 11684 11679 };
+9 -2
sound/soc/codecs/max9768.c
··· 54 54 { 55 55 struct snd_soc_component *c = snd_soc_kcontrol_component(kcontrol); 56 56 struct max9768 *max9768 = snd_soc_component_get_drvdata(c); 57 + bool val = !ucontrol->value.integer.value[0]; 58 + int ret; 57 59 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; 59 64 60 - return 0; 65 + gpiod_set_value_cansleep(max9768->mute, val); 66 + 67 + return ret; 61 68 } 62 69 63 70 static const DECLARE_TLV_DB_RANGE(volume_tlv,
+3
sound/soc/generic/audio-graph-card2.c
··· 270 270 271 271 if (of_node_name_eq(np, GRAPH_NODENAME_MULTI)) { 272 272 ret = GRAPH_MULTI; 273 + fw_devlink_purge_absent_suppliers(&np->fwnode); 273 274 goto out_put; 274 275 } 275 276 276 277 if (of_node_name_eq(np, GRAPH_NODENAME_DPCM)) { 277 278 ret = GRAPH_DPCM; 279 + fw_devlink_purge_absent_suppliers(&np->fwnode); 278 280 goto out_put; 279 281 } 280 282 281 283 if (of_node_name_eq(np, GRAPH_NODENAME_C2C)) { 282 284 ret = GRAPH_C2C; 285 + fw_devlink_purge_absent_suppliers(&np->fwnode); 283 286 goto out_put; 284 287 } 285 288
+8
sound/soc/intel/boards/sof_sdw.c
··· 594 594 .callback = sof_sdw_quirk_cb, 595 595 .matches = { 596 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 + }, 601 + { 602 + .callback = sof_sdw_quirk_cb, 603 + .matches = { 604 + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"), 597 605 DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0CF7") 598 606 }, 599 607 .driver_data = (void *)(SOC_SDW_CODEC_SPKR),
+13 -1
sound/usb/quirks-table.h
··· 324 324 YAMAHA_DEVICE(0x105b, NULL), 325 325 YAMAHA_DEVICE(0x105c, NULL), 326 326 YAMAHA_DEVICE(0x105d, NULL), 327 - YAMAHA_DEVICE(0x1718, "P-125"), 328 327 { 329 328 USB_DEVICE(0x0499, 0x1503), 330 329 QUIRK_DRIVER_INFO { ··· 382 383 QUIRK_DRIVER_INFO { 383 384 /* .vendor_name = "Yamaha", */ 384 385 /* .product_name = "THR10C", */ 386 + QUIRK_DATA_COMPOSITE { 387 + { QUIRK_DATA_STANDARD_AUDIO(1) }, 388 + { QUIRK_DATA_STANDARD_AUDIO(2) }, 389 + { QUIRK_DATA_MIDI_YAMAHA(3) }, 390 + QUIRK_COMPOSITE_END 391 + } 392 + } 393 + }, 394 + { 395 + USB_DEVICE(0x0499, 0x1718), 396 + QUIRK_DRIVER_INFO { 397 + /* .vendor_name = "Yamaha", */ 398 + /* .product_name = "P-125", */ 385 399 QUIRK_DATA_COMPOSITE { 386 400 { QUIRK_DATA_STANDARD_AUDIO(1) }, 387 401 { QUIRK_DATA_STANDARD_AUDIO(2) },