https://bugzilla.kernel.org/show_bug.cgi?id=116851

Daniel Drake ([email protected]) changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #24 from Daniel Drake ([email protected]) ---
This issue has struck again in bug #201069 where we are finally going to work
around it in Linux.

Some notes from reading the history above:

1. Comment #18 suggests that rewriting reg 0x20 (PCI_MEMORY_BASE) solves the
problem (which is not true in my case). But then comment #23 focuses on the
need to rewrite register range 0x24-0x2c instead and also mentions that just
the "upper bits" registers are the ones that really need to be rewritten (which
agrees with my observations).

2. It was observed above that the PCI config space contents are the same before
suspend and after resume. But it's not clear above if the value-restoring upon
resume was done by the hardware, the BIOS, or pci_restore_config_space() being
called during early resume and restoring some of the values (it reads the
values first and only writes the ones that have changed).

3. Comment #23 suggests that Intel published BIOS changes to save and restore
these registers. Asus BIOS engineers told us that their BIOS does do this, and
pointed to this bug report as reference. However testing on Asus X542UQ here, I
can see that (before pci_restore_config_space() is called) the words at 0x24
and 0x26 do not have their pre-suspend values. So it seems like Intel's BIOS
solution is somehow ineffective or has not been correctly propagated to vendors
(we also see this on a HP laptop).

-- 
You are receiving this mail because:
You are watching the assignee of the bug.

_______________________________________________
acpi-bugzilla mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to