Re: [PATCH v2 1/4] ACPICA: Fix PCC OperationRegion command offsets
Sudeep Holla <[email protected]> Thu, 13 Aug 2026 04:00:41 +0100
| Newsgroups | gmane.linux.acpi.devel,gmane.linux.kernel |
|---|---|
| Message-ID | <20260813-demonic-athletic-manul-e1d7bb@sudeepholla> |
On Wed, Aug 05, 2026 at 06:46:15PM +0200, Rafael J. Wysocki (Intel) wrote: > On Wed, Jul 22, 2026 at 3:16 PM Sudeep Holla <[email protected]> wrote: > > > > ACPI 6.3, section 5.5.2.4.7.3, states that the PCC Operation > > Region is associated with the region of shared memory that follows the > > PCC signature. > > > > The generic and extended PCC shared memory layouts include the 4-byte > > signature at offset 0, so their raw shared memory COMMAND fields are at > > offsets 4 and 12 respectively. Since AML field offsets for the PCC > > OperationRegion are relative to the region after that signature, ACPICA > > must look for those COMMAND fields at OperationRegion offsets 0 and 8. > > > > Adjust the generic and master subspace command checks to use those > > OperationRegion-relative offsets. Otherwise writes to the COMMAND field > > can fail to invoke the PCC address space handler at the offset described > > by the PCC OperationRegion definition. > > > > Fixes: aa6ec56b574d ("ACPICA: ACPI 6.3: add PCC operation region support for AML interpreter") > > Signed-off-by: Sudeep Holla <[email protected]> > > --- > > drivers/acpi/acpica/exfield.c | 11 ++++++----- > > 1 file changed, 6 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/acpi/acpica/exfield.c b/drivers/acpi/acpica/exfield.c > > index 9a55524ed8f4..a7fac63938b3 100644 > > --- a/drivers/acpi/acpica/exfield.c > > +++ b/drivers/acpi/acpica/exfield.c > > @@ -45,12 +45,13 @@ static const u8 acpi_protocol_lengths[] = { > > > > /* > > * The following macros determine a given offset is a COMD field. > > - * According to the specification, generic subspaces (types 0-2) contains a > > - * 2-byte COMD field at offset 4 and master subspaces (type 3) contains a 4-byte > > - * COMD field starting at offset 12. > > + * According to the specification, the PCC OperationRegion begins after > > + * the PCC signature. The raw shared memory COMD offsets of 4 for generic > > + * subspaces (types 0-2) and 12 for master subspaces (type 3) therefore > > + * appear at OperationRegion offsets 0 and 8. > > */ > > -#define GENERIC_SUBSPACE_COMMAND(a) (4 == a || a == 5) > > -#define MASTER_SUBSPACE_COMMAND(a) (12 <= a && a <= 15) > > +#define GENERIC_SUBSPACE_COMMAND(a) ((a) < 2) > > +#define MASTER_SUBSPACE_COMMAND(a) (((a) - 8) < 4) > > > > /******************************************************************************* > > * > > -- > > Can you please see the corresponding upstream ACPICA pull request? > There are concerns regarding it. > Sorry for the delay in response, currently I am on vacation and don't have all the setup to validate anything. I will follow up once I am back. It is OK to miss v7.3 -- Regards, Sudeep