[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230623173500.GA180070@bhelgaas>
Date: Fri, 23 Jun 2023 12:35:00 -0500
From: Bjorn Helgaas <helgaas@...nel.org>
To: "Limonciello, Mario" <mario.limonciello@....com>
Cc: "Rafael J . Wysocki" <rafael@...nel.org>,
linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org,
Len Brown <lenb@...nel.org>, linux-acpi@...r.kernel.org
Subject: Re: [PATCH v4] PCI: Call _REG when transitioning D-states
On Wed, Jun 21, 2023 at 05:52:52PM -0500, Limonciello, Mario wrote:
> On 6/21/2023 5:28 PM, Bjorn Helgaas wrote:
> > On Tue, Jun 20, 2023 at 09:04:51AM -0500, Mario Limonciello wrote:
> > > Section 6.5.4 of the ACPI 6.4 spec describes how AML is unable to access
> > > an OperationRegion unless `_REG` has been called.
> > > ...
> > > It is reported that ASMedia PCIe GPIO controllers fail
> > > functional tests after the system has returning from suspend (S3
> > > or s2idle). This is because the BIOS checks whether the OSPM has
> > > called the `_REG` method to determine whether it can interact
> > > with the OperationRegion assigned to the device as part of the
> > > other AML called for the device.
> I double checked a BIOS debug log which shows ACPI calls
> to confirm and didn't see a single _REG call for any device
> before this patch across a boot/suspend/resume cycle.
Sorry to follow up on this again.
The commit log says these GPIO controllers fail functional tests after
returning from suspend. Do those functional tests pass *before*
suspend? If so, why?
Without this patch, we *never* call _REG, so the fact that calling
_REG when we return the device to D0 while resuming fixes something
suggests that it might have been broken even before the suspend.
Bjorn
Powered by blists - more mailing lists