All of lore.kernel.org
 help / color / mirror / Atom feed
* [RESEND] PCI: NVIDIA GeForce MX230 (10de:1d11) falls off the bus right after "Enabling HDA controller" quirk on Acer Aspire A515-53G
@ 2026-10-11  3:03 Krittikun Wongnin
  2026-10-11  5:53 ` Lukas Wunner
  0 siblings, 1 reply; 4+ messages in thread
From: Krittikun Wongnin @ 2026-10-11  3:03 UTC (permalink / raw)
  To: linux-pci; +Cc: bhelgaas, lukas

Hello again..,

On an Acer Aspire A515-53G (Intel Whiskey Lake + NVIDIA GeForce MX230,
Optimus), the discrete GPU becomes inaccessible within ~15 ms of being
enumerated at boot, immediately after quirk_nvidia_hda() logs
"Enabling HDA controller". From then on, config space reads return all
ones and no driver can use the device. The same GPU works under Windows
10 on the same machine, and under an older kernel (4.15) that predates
the NVIDIA HDA quirk.

The MX230 (GP108M, class 0x0302 3D controller) has no display outputs
in this laptop design, so its audio function should not be needed. I
suspect that setting bit 25 of config register
0x488 on this device/board breaks the link.


Hardware
--------
  System:   Acer Aspire A515-53G (board "Pikachu_WL")
  BIOS:     Insyde Corp. V1.08, 10/17/2019 (latest available from Acer)
  iGPU:     00:02.0 Intel UHD Graphics 620 [8086:3ea0]
  Root port:00:1c.4 Intel Cannon Point-LP PCIe Root Port #5 [8086:9dbc]
            (ACPI \_SB.PCI0.RP05)
  dGPU:     02:00.0 NVIDIA GP108M [GeForce MX230] [10de:1d11] (rev a1)
            class 0x0302, ACPI \_SB.PCI0.RP05.PXSX


Kernels tested
--------------
  7.1.13-2-MANJARO  (Manjaro linux71)   - GPU falls off the bus
  6.12.108-1-MANJARO (Manjaro linux612) - GPU falls off the bus
  4.15.0 (Ubuntu 18.04.1 live USB)      - GPU works (see below)
  Windows 10                            - GPU works, no errors in
                                          Device Manager


Failing boot (7.1.13, relevant lines)
-------------------------------------
[    6.110437] pci 0000:02:00.0: [10de:1d11] type 00 class 0x030200
PCIe Endpoint
[    6.110695] pci 0000:02:00.0: BAR 0 [mem 0xa3000000-0xa3ffffff]
[    6.110932] pci 0000:02:00.0: BAR 1 [mem 0x90000000-0x9fffffff 64bit pref]
[    6.111178] pci 0000:02:00.0: BAR 3 [mem 0xa0000000-0xa1ffffff 64bit pref]
[    6.111411] pci 0000:02:00.0: BAR 5 [io  0x4000-0x407f]
[    6.111650] pci 0000:02:00.0: ROM [mem 0xfff80000-0xffffffff pref]
[    6.111903] pci 0000:02:00.0: Enabling HDA controller
[    6.119454] pci 0000:02:00.0: ROM [mem 0xfff80000-0xffffffff pref]:
can't claim; no compatible bridge window
[    6.121240] pci 0000:02:00.0: ROM [mem size 0x00080000 pref]: can't
assign; no space
[    6.121367] pci 0000:02:00.0: ROM [mem size 0x00080000 pref]:
failed to assign
[    6.125725] pci 0000:02:00.0: CLS mismatch (64 != 1020), using 64 bytes
[    6.881073] nvidia 0000:02:00.0: Unable to change power state from
D3cold to D0, device inaccessible
[    6.881299] NVRM: The NVIDIA GPU 0000:02:00.0
               NVRM: (PCI ID: 10de:1d11) installed in this system has
               NVRM: fallen off the bus and is not responding to commands.
[    6.881320] nvidia 0000:02:00.0: probe with driver nvidia failed
with error -1

The "CLS mismatch (64 != 1020)" line shows that by ~6.125 s the
device's Cache Line Size register already reads back as 0xff, i.e. the
device stopped responding between enumeration (6.110 s, IDs read fine)
and the final fixups. The only operation on the device logged in that
window is the HDA quirk.

Afterwards, lspci shows:

  02:00.0 3D controller: NVIDIA Corporation GP108M [GeForce MX230] (rev a1)
          Subsystem: Acer Incorporated [ALI] Device 130f
          !!! Unknown header type 7f

The "D3cold" in the nvidia message is presumably just the
all-ones PMCSR read being interpreted as D3cold.

The behavior is identical on 6.12.108.


Working boot (Ubuntu 18.04.1 live, kernel 4.15.0)
-------------------------------------------------
No "Enabling HDA controller" line is printed. lspci shows a normal
config space:

  02:00.0 3D controller: NVIDIA Corporation Device 1d11 (rev a1)
          Subsystem: Acer Incorporated [ALI] Device 130f
          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-

and nouveau initializes the device:

  pci 0000:02:00.0: optimus capabilities: enabled, status dynamic
power, hda bios codec supported
  nouveau: detected PR support, will not use DSM
  nouveau 0000:02:00.0: enabling device (0106 -> 0107)
  nouveau 0000:02:00.0: NVIDIA GP108 (138000a1)
  nouveau 0000:02:00.0: bios: version 86.08.2d.00.8b
  nouveau 0000:02:00.0: fb: 2048 MiB GDDR5

(nouveau later logs PMU reset timeouts, which I believe are the known
GP108 nouveau limitation on 4.15 and unrelated; the device also
survived a runtime suspend/resume cycle at ~127 s.)


Things already ruled out on the failing kernels
-----------------------------------------------
- pcie_port_pm=off: no change.
- pcie_aspm=off: no change. The FADT already declares ASPM unsupported
  ("ACPI FADT declares the system doesn't support PCIe ASPM"), so the
  kernel does not touch ASPM anyway.
- acpi_osi=! acpi_osi="Windows 2015": no change.
- Keeping the GPU and root port out of runtime PM / D3cold via udev
  (d3cold_allowed=0, power/control=on) and disabling
  NVreg_DynamicPowerManagement: no change (the device is already dead
  before userspace starts).
- Removing 02:00.0 via sysfs and rescanning: the device is not found
  again at all.
- Full power-off and EC reset: no change.
- Windows Fast Startup is disabled.


Possibly related firmware errors
--------------------------------
The firmware defines the root port's power methods twice:

  ACPI BIOS Error (bug): Failure creating named object
[\_SB.PCI0.RP05._PR0], AE_ALREADY_EXISTS
  ACPI BIOS Error (bug): Failure creating named object
[\_SB.PCI0.RP05._PR2], AE_ALREADY_EXISTS
  ACPI BIOS Error (bug): Failure creating named object
[\_SB.PCI0.RP05._PR3], AE_ALREADY_EXISTS
  ACPI BIOS Error (bug): Failure creating named object
[\_SB.PCI0.RP05._S0W], AE_ALREADY_EXISTS

I mention these for completeness; they appear on the failing kernels,
but the timing above points to the HDA quirk rather than ACPI power
management.


Open questions / what I have not done yet
-----------------------------------------
- I have not yet built a kernel with quirk_nvidia_hda() disabled to
  prove the quirk is the trigger. I plan to do this and will report
  the result. The 4.15 test differs from 7.1 in many ways besides the
  quirk.
- The failing kernels are Manjaro distribution kernels, not vanilla
  mainline. I can test a vanilla kernel if needed.

If the quirk is the cause, would a DMI- or subsystem-ID-based exclusion
(Acer 1025:130f), or skipping the quirk for class 0x0302 devices that
report no HDA codec, be acceptable? I am happy to test patches and
provide full dmesg, lspci -vvv (as root), and acpidump output.

Thanks,
Krittikun Wongnin

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-10-11 15:27 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-11  3:03 [RESEND] PCI: NVIDIA GeForce MX230 (10de:1d11) falls off the bus right after "Enabling HDA controller" quirk on Acer Aspire A515-53G Krittikun Wongnin
2026-10-11  5:53 ` Lukas Wunner
2026-10-11 11:10   ` Krittikun Wongnin
2026-10-11 15:27     ` Lukas Wunner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.