Re: [REGRESSION] "ALSA: HDA: Early Forbid of runtime PM" broke my laptop's internal audio

From: Greg KH
Date: Mon Feb 01 2021 - 08:59:24 EST


On Mon, Feb 01, 2021 at 04:24:51AM +0000, Erich Ritz wrote:
> On Friday, January 29, 2021 9:17 AM, Takashi Iwai <tiwai@xxxxxxx> wrote:
>
> > On Fri, 29 Jan 2021 17:12:08 +0100,
> > Michael Catanzaro wrote:
> >
> > > On Fri, Jan 29, 2021 at 9:30 am, Michael Catanzaro
> > > mcatanzaro@xxxxxxxxxx wrote:
> > >
> > > > OK, I found "ALSA: hda/via: Apply the workaround generically for
> > > > Clevo machines" which was just merged yesterday. So I will test
> > > > again to find out.
> > >
> > > Hi Takashi, hi Harsha,
> > > I can confirm that the problem is fixed by this commit:
> > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4961167bf7482944ca09a6f71263b9e47f949851
> >
> > Thanks, good to hear.
> >
> > Then I think we can drop the entry from power_save_denylist in
> > hda_intel.c. Could you try that it still works with the patch below?
> >
> > thanks,
> >
> > Takashi
> >
> > --- a/sound/pci/hda/hda_intel.c
> > +++ b/sound/pci/hda/hda_intel.c
> > @@ -2217,8 +2217,6 @@ static const struct snd_pci_quirk power_save_denylist[] = {
> > /* https://bugzilla.redhat.com/show_bug.cgi?id=1525104 /
> > SND_PCI_QUIRK(0x1043, 0x8733, "Asus Prime X370-Pro", 0),
> > / https://bugzilla.redhat.com/show_bug.cgi?id=1525104 */
> >
> > - SND_PCI_QUIRK(0x1558, 0x6504, "Clevo W65_67SB", 0),
> > - /* https://bugzilla.redhat.com/show_bug.cgi?id=1525104 /
> > SND_PCI_QUIRK(0x1028, 0x0497, "Dell Precision T3600", 0),
> > / https://bugzilla.redhat.com/show_bug.cgi?id=1525104 /
> > / Note the P55A-UD3 and Z87-D3HP share the subsys id for the HDA dev */
>
> For me applying patch 4961167bf7482944ca09a6f71263b9e47f949851 on top of 5.10.12 fixes audio, but the above quoted patch applied to 5.10.12 does NOT fix audio. What I mean by fixes:
> Audio works normally on 5.4.94, and on 5.10.12 with patch 4961167 applied.
> I hear no audio from the laptop speakers on 5.10.12 and 5.10.12 with the above quoted patch applied. Opening pavucontrol shows a graphical response in the meter, but no audio is heard from the speakers. I did not test plugging in headphones and did not test audio over HDMI.
>
> I have a System76 Gazelle Pro 7 (gazp7).
>
> # lspci -s "00:1b" -vv
> 00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
> Subsystem: CLEVO/KAPOK Computer 7 Series/C210 Series Chipset Family High Definition Audio Controller
> Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 0, Cache Line Size: 64 bytes
> Interrupt: pin A routed to IRQ 36
> Region 0: Memory at f7e10000 (64-bit, non-prefetchable) [size=16K]
> Capabilities: [50] Power Management version 2
> Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
> Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
> Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
> Address: 00000000fee003b8 Data: 0000
> Capabilities: [70] Express (v1) Root Complex Integrated Endpoint, MSI 00
> DevCap: MaxPayload 128 bytes, PhantFunc 0
> ExtTag- RBE-
> DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
> RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
> MaxPayload 128 bytes, MaxReadReq 128 bytes
> DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
> Capabilities: [100 v1] Virtual Channel
> Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
> Arb: Fixed- WRR32- WRR64- WRR128-
> Ctrl: ArbSelect=Fixed
> Status: InProgress-
> VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
> Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
> Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=01
> Status: NegoPending- InProgress-
> VC1: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
> Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
> Ctrl: Enable+ ID=1 ArbSelect=Fixed TC/VC=22
> Status: NegoPending- InProgress-
> Capabilities: [130 v1] Root Complex Link
> Desc: PortNumber=0f ComponentID=00 EltType=Config
> Link0: Desc: TargetPort=00 TargetComponent=00 AssocRCRB- LinkType=MemMapped LinkValid+
> Addr: 00000000fed1c000
> Kernel driver in use: snd_hda_intel
> Kernel modules: snd_hda_intel
>
> And on kernel 5.4.94:
> # dmesg | grep hda
> [ 21.307684] snd_hda_intel 0000:00:1b.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
> [ 21.493303] snd_hda_codec_via hdaudioC0D0: autoconfig for VT1802: line_outs=1 (0x24/0x0/0x0/0x0/0x0) type:speaker
> [ 21.493306] snd_hda_codec_via hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
> [ 21.493309] snd_hda_codec_via hdaudioC0D0: hp_outs=1 (0x25/0x0/0x0/0x0/0x0)
> [ 21.493310] snd_hda_codec_via hdaudioC0D0: mono: mono_out=0x0
> [ 21.493312] snd_hda_codec_via hdaudioC0D0: inputs:
> [ 21.493315] snd_hda_codec_via hdaudioC0D0: Mic=0x2b
> [ 21.493317] snd_hda_codec_via hdaudioC0D0: Internal Mic=0x29
>
>
> Apologies if this is noise. I haven't been able to find if 4961167bf7482944ca09a6f71263b9e47f949851 is queued up for the next stable release of 5.10.

It will be in the next 5.10.y release.

thanks,

greg k-h