https://bugs.freedesktop.org/show_bug.cgi?id=75985

--- Comment #68 from Lukas Wunner <lu...@wunner.de> ---
Created attachment 137989
  --> https://bugs.freedesktop.org/attachment.cgi?id=137989&action=edit
Patch to simulate hidden HDA on systems which normally expose it

This is a quick & dirty hack to hide the HDA controller in the EFI stub. It can
be used to simulate a hidden HDA controller on systems which normally expose
it. Register 0x488 is written for any PCI device that has a ROM. On my machine
that happens to only be the case for the Nvidia GPU.

If I boot my system with this patch applied, the HDA controller is not
enumerated and invoking lspci on the GPU shows that the multifunction bit is
cleared, as is bit 25 at offset 0x488.

Applying the three other patches I've attached to this bugzilla on top results
in the HDA controller being enumerated again. So the patches seem to work as
intended.

One interesting behavior I've noticed though: If I hide the HDA in the EFI stub
and do not expose it with a PCI quirk, putting the GPU into D3cold and back
into D0 causes the multifunction bit to be set, same for bit 25 at offset
0x488, even though the bits were cleared before the GPU went into D3cold. I
don't see anything in the ACPI tables that bit 25 is written, I'm rather under
the impression that the GPU has some non-volatile memory where the vendor
preconfigures bits that are restored when the device comes out of power-on
reset. But because the PCI quirk is also executed on resume of the GPU, we
should have that covered.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to