Skip to content

Commit e251c42

Browse files
committed
Merge tag 'sound-6.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai: "A collection of small fixes. At this time, quite a few fixes for the old PCI drivers are found. Although they are not regression fixes, I took these as they are materials for stable kernels. In addition, a couple of regression fixes and another couple of HD-audio quirks are included" * tag 'sound-6.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda/hdmi: disable KAE for Intel DG2 ALSA: hda/realtek: Add quirks for Lenovo Z13/Z16 Gen2 ALSA: hda: patch_realtek: add quirk for Asus N7601ZM ALSA: firewire-tascam: add missing unwind goto in snd_tscm_stream_start_duplex() ALSA: emu10k1: don't create old pass-through playback device on Audigy ALSA: emu10k1: fix capture interrupt handler unlinking ALSA: hda/sigmatel: fix S/PDIF out on Intel D*45* motherboards ALSA: hda/sigmatel: add pin overrides for Intel DP45SG motherboard ALSA: i2c/cs8427: fix iec958 mixer control deactivation
2 parents aee3c14 + 6ab6f98 commit e251c42

7 files changed

Lines changed: 56 additions & 10 deletions

File tree

Documentation/sound/hd-audio/models.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -704,7 +704,7 @@ ref
704704
no-jd
705705
BIOS setup but without jack-detection
706706
intel
707-
Intel DG45* mobos
707+
Intel D*45* mobos
708708
dell-m6-amic
709709
Dell desktops/laptops with analog mics
710710
dell-m6-dmic

sound/firewire/tascam/tascam-stream.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,7 @@ int snd_tscm_stream_start_duplex(struct snd_tscm *tscm, unsigned int rate)
490490
// packet is important for media clock recovery.
491491
err = amdtp_domain_start(&tscm->domain, tx_init_skip_cycles, true, true);
492492
if (err < 0)
493-
return err;
493+
goto error;
494494

495495
if (!amdtp_domain_wait_ready(&tscm->domain, READY_TIMEOUT_MS)) {
496496
err = -ETIMEDOUT;

sound/i2c/cs8427.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -561,10 +561,13 @@ int snd_cs8427_iec958_active(struct snd_i2c_device *cs8427, int active)
561561
if (snd_BUG_ON(!cs8427))
562562
return -ENXIO;
563563
chip = cs8427->private_data;
564-
if (active)
564+
if (active) {
565565
memcpy(chip->playback.pcm_status,
566566
chip->playback.def_status, 24);
567-
chip->playback.pcm_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE;
567+
chip->playback.pcm_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE;
568+
} else {
569+
chip->playback.pcm_ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE;
570+
}
568571
snd_ctl_notify(cs8427->bus->card,
569572
SNDRV_CTL_EVENT_MASK_VALUE | SNDRV_CTL_EVENT_MASK_INFO,
570573
&chip->playback.pcm_ctl->id);

sound/pci/emu10k1/emupcm.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1236,7 +1236,7 @@ static int snd_emu10k1_capture_mic_close(struct snd_pcm_substream *substream)
12361236
{
12371237
struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
12381238

1239-
emu->capture_interrupt = NULL;
1239+
emu->capture_mic_interrupt = NULL;
12401240
emu->pcm_capture_mic_substream = NULL;
12411241
return 0;
12421242
}
@@ -1344,7 +1344,7 @@ static int snd_emu10k1_capture_efx_close(struct snd_pcm_substream *substream)
13441344
{
13451345
struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
13461346

1347-
emu->capture_interrupt = NULL;
1347+
emu->capture_efx_interrupt = NULL;
13481348
emu->pcm_capture_efx_substream = NULL;
13491349
return 0;
13501350
}
@@ -1781,17 +1781,21 @@ int snd_emu10k1_pcm_efx(struct snd_emu10k1 *emu, int device)
17811781
struct snd_kcontrol *kctl;
17821782
int err;
17831783

1784-
err = snd_pcm_new(emu->card, "emu10k1 efx", device, 8, 1, &pcm);
1784+
err = snd_pcm_new(emu->card, "emu10k1 efx", device, emu->audigy ? 0 : 8, 1, &pcm);
17851785
if (err < 0)
17861786
return err;
17871787

17881788
pcm->private_data = emu;
17891789

1790-
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_emu10k1_fx8010_playback_ops);
1790+
if (!emu->audigy)
1791+
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_emu10k1_fx8010_playback_ops);
17911792
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_emu10k1_capture_efx_ops);
17921793

17931794
pcm->info_flags = 0;
1794-
strcpy(pcm->name, "Multichannel Capture/PT Playback");
1795+
if (emu->audigy)
1796+
strcpy(pcm->name, "Multichannel Capture");
1797+
else
1798+
strcpy(pcm->name, "Multichannel Capture/PT Playback");
17951799
emu->pcm_efx = pcm;
17961800

17971801
/* EFX capture - record the "FXBUS2" channels, by default we connect the EXTINs

sound/pci/hda/patch_hdmi.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4604,7 +4604,7 @@ HDA_CODEC_ENTRY(0x80862814, "DG1 HDMI", patch_i915_tgl_hdmi),
46044604
HDA_CODEC_ENTRY(0x80862815, "Alderlake HDMI", patch_i915_tgl_hdmi),
46054605
HDA_CODEC_ENTRY(0x80862816, "Rocketlake HDMI", patch_i915_tgl_hdmi),
46064606
HDA_CODEC_ENTRY(0x80862818, "Raptorlake HDMI", patch_i915_tgl_hdmi),
4607-
HDA_CODEC_ENTRY(0x80862819, "DG2 HDMI", patch_i915_adlp_hdmi),
4607+
HDA_CODEC_ENTRY(0x80862819, "DG2 HDMI", patch_i915_tgl_hdmi),
46084608
HDA_CODEC_ENTRY(0x8086281a, "Jasperlake HDMI", patch_i915_icl_hdmi),
46094609
HDA_CODEC_ENTRY(0x8086281b, "Elkhartlake HDMI", patch_i915_icl_hdmi),
46104610
HDA_CODEC_ENTRY(0x8086281c, "Alderlake-P HDMI", patch_i915_adlp_hdmi),

sound/pci/hda/patch_realtek.c

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6960,6 +6960,8 @@ enum {
69606960
ALC269_FIXUP_DELL_M101Z,
69616961
ALC269_FIXUP_SKU_IGNORE,
69626962
ALC269_FIXUP_ASUS_G73JW,
6963+
ALC269_FIXUP_ASUS_N7601ZM_PINS,
6964+
ALC269_FIXUP_ASUS_N7601ZM,
69636965
ALC269_FIXUP_LENOVO_EAPD,
69646966
ALC275_FIXUP_SONY_HWEQ,
69656967
ALC275_FIXUP_SONY_DISABLE_AAMIX,
@@ -7256,6 +7258,29 @@ static const struct hda_fixup alc269_fixups[] = {
72567258
{ }
72577259
}
72587260
},
7261+
[ALC269_FIXUP_ASUS_N7601ZM_PINS] = {
7262+
.type = HDA_FIXUP_PINS,
7263+
.v.pins = (const struct hda_pintbl[]) {
7264+
{ 0x19, 0x03A11050 },
7265+
{ 0x1a, 0x03A11C30 },
7266+
{ 0x21, 0x03211420 },
7267+
{ }
7268+
}
7269+
},
7270+
[ALC269_FIXUP_ASUS_N7601ZM] = {
7271+
.type = HDA_FIXUP_VERBS,
7272+
.v.verbs = (const struct hda_verb[]) {
7273+
{0x20, AC_VERB_SET_COEF_INDEX, 0x62},
7274+
{0x20, AC_VERB_SET_PROC_COEF, 0xa007},
7275+
{0x20, AC_VERB_SET_COEF_INDEX, 0x10},
7276+
{0x20, AC_VERB_SET_PROC_COEF, 0x8420},
7277+
{0x20, AC_VERB_SET_COEF_INDEX, 0x0f},
7278+
{0x20, AC_VERB_SET_PROC_COEF, 0x7774},
7279+
{ }
7280+
},
7281+
.chained = true,
7282+
.chain_id = ALC269_FIXUP_ASUS_N7601ZM_PINS,
7283+
},
72597284
[ALC269_FIXUP_LENOVO_EAPD] = {
72607285
.type = HDA_FIXUP_VERBS,
72617286
.v.verbs = (const struct hda_verb[]) {
@@ -9466,6 +9491,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
94669491
SND_PCI_QUIRK(0x1043, 0x1271, "ASUS X430UN", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE),
94679492
SND_PCI_QUIRK(0x1043, 0x1290, "ASUS X441SA", ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE),
94689493
SND_PCI_QUIRK(0x1043, 0x12a0, "ASUS X441UV", ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE),
9494+
SND_PCI_QUIRK(0x1043, 0x12a3, "Asus N7691ZM", ALC269_FIXUP_ASUS_N7601ZM),
94699495
SND_PCI_QUIRK(0x1043, 0x12af, "ASUS UX582ZS", ALC245_FIXUP_CS35L41_SPI_2),
94709496
SND_PCI_QUIRK(0x1043, 0x12e0, "ASUS X541SA", ALC256_FIXUP_ASUS_MIC),
94719497
SND_PCI_QUIRK(0x1043, 0x12f0, "ASUS X541UV", ALC256_FIXUP_ASUS_MIC),
@@ -9663,6 +9689,9 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
96639689
SND_PCI_QUIRK(0x17aa, 0x22f1, "Thinkpad", ALC287_FIXUP_CS35L41_I2C_2),
96649690
SND_PCI_QUIRK(0x17aa, 0x22f2, "Thinkpad", ALC287_FIXUP_CS35L41_I2C_2),
96659691
SND_PCI_QUIRK(0x17aa, 0x22f3, "Thinkpad", ALC287_FIXUP_CS35L41_I2C_2),
9692+
SND_PCI_QUIRK(0x17aa, 0x2318, "Thinkpad Z13 Gen2", ALC287_FIXUP_CS35L41_I2C_2),
9693+
SND_PCI_QUIRK(0x17aa, 0x2319, "Thinkpad Z16 Gen2", ALC287_FIXUP_CS35L41_I2C_2),
9694+
SND_PCI_QUIRK(0x17aa, 0x231a, "Thinkpad Z16 Gen2", ALC287_FIXUP_CS35L41_I2C_2),
96669695
SND_PCI_QUIRK(0x17aa, 0x30bb, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
96679696
SND_PCI_QUIRK(0x17aa, 0x30e2, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
96689697
SND_PCI_QUIRK(0x17aa, 0x310c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION),

sound/pci/hda/patch_sigmatel.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1707,6 +1707,7 @@ static const struct snd_pci_quirk stac925x_fixup_tbl[] = {
17071707
};
17081708

17091709
static const struct hda_pintbl ref92hd73xx_pin_configs[] = {
1710+
// Port A-H
17101711
{ 0x0a, 0x02214030 },
17111712
{ 0x0b, 0x02a19040 },
17121713
{ 0x0c, 0x01a19020 },
@@ -1715,9 +1716,12 @@ static const struct hda_pintbl ref92hd73xx_pin_configs[] = {
17151716
{ 0x0f, 0x01014010 },
17161717
{ 0x10, 0x01014020 },
17171718
{ 0x11, 0x01014030 },
1719+
// CD in
17181720
{ 0x12, 0x02319040 },
1721+
// Digial Mic ins
17191722
{ 0x13, 0x90a000f0 },
17201723
{ 0x14, 0x90a000f0 },
1724+
// Digital outs
17211725
{ 0x22, 0x01452050 },
17221726
{ 0x23, 0x01452050 },
17231727
{}
@@ -1758,13 +1762,17 @@ static const struct hda_pintbl alienware_m17x_pin_configs[] = {
17581762
};
17591763

17601764
static const struct hda_pintbl intel_dg45id_pin_configs[] = {
1765+
// Analog outputs
17611766
{ 0x0a, 0x02214230 },
17621767
{ 0x0b, 0x02A19240 },
17631768
{ 0x0c, 0x01013214 },
17641769
{ 0x0d, 0x01014210 },
17651770
{ 0x0e, 0x01A19250 },
17661771
{ 0x0f, 0x01011212 },
17671772
{ 0x10, 0x01016211 },
1773+
// Digital output
1774+
{ 0x22, 0x01451380 },
1775+
{ 0x23, 0x40f000f0 },
17681776
{}
17691777
};
17701778

@@ -1955,6 +1963,8 @@ static const struct snd_pci_quirk stac92hd73xx_fixup_tbl[] = {
19551963
"DFI LanParty", STAC_92HD73XX_REF),
19561964
SND_PCI_QUIRK(PCI_VENDOR_ID_DFI, 0x3101,
19571965
"DFI LanParty", STAC_92HD73XX_REF),
1966+
SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x5001,
1967+
"Intel DP45SG", STAC_92HD73XX_INTEL),
19581968
SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x5002,
19591969
"Intel DG45ID", STAC_92HD73XX_INTEL),
19601970
SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x5003,

0 commit comments

Comments
 (0)