[Fw_Os_Forum] ACPI EC SMBus controller query handling

Mielicki, Lukasz lukasz.mielicki at intel.com
Sat Feb 18 07:16:35 EST 2023

Hello Armin,
It's been a long time I was looking into this, but you might be right the platform behavior could be non-compliant.

Per Dispatching to an ACPI-Aware Device Driver (ACPI 6.1):

"If there is no device driver to handle specific queries, OEM AML code can perform OEMspecific functions that are customized to each event on the particular platform by including specific control methods in the namespace to handle these events.
Similarly, for an SMBus driver, if no driver registers for SMBus alarms, the SMBus driver will queue control methods to handle these. Methods must be placed under the SMBus device..."

So, I would say _Qxx on SMBus device should only be invoked if no OS device driver registered for the event.

Note, since both OS software and ACPI Code (AML) may need to access SMBus devices, the interop originally devised is for the OS driver to implement SMBus type OperationRegion which gives AML access to SMBus slave (See 13.2.3 Declaring SMBus Operation Regions).


-----Original Message-----
From: fw_os_forum-bounces at mailman.uefi.org <fw_os_forum-bounces at mailman.uefi.org> On Behalf Of Armin Wolf
Sent: Saturday, February 18, 2023 01:32
To: fw_os_forum at mailman.uefi.org
Subject: [Fw_Os_Forum] ACPI EC SMBus controller query handling


while writing a driver for the ACPI EC SMBus controller (ACPI0001/ACPI0005), i stumbled upon a issue for which i found no solution in the current ACPI specification.

When the ACPI EC issues the query associated with the ACPI EC SMBus controller, should either:
- only the custom handler be executed
- both the custom handler and the corresponding _Qxx method be executed (which one first?)

On my machine containing the aforementioned ACPI0001 device, the _Qxx method associated with the ACPI EC SMBus basically resets all SMBus alert events, which AFAIK is not normal behavior.
What would be the standard-compliant behaviour in such a case?

Armin Wolf

Fw_os_forum mailing list
Fw_os_forum at mailman.uefi.org
Intel Technology Poland sp. z o.o.
ul. Slowackiego 173 | 80-298 Gdansk | Sad Rejonowy Gdansk Polnoc | VII Wydzial Gospodarczy Krajowego Rejestru Sadowego - KRS 101882 | NIP 957-07-52-316 | Kapital zakladowy 200.000 PLN.
Spolka oswiadcza, ze posiada status duzego przedsiebiorcy w rozumieniu ustawy z dnia 8 marca 2013 r. o przeciwdzialaniu nadmiernym opoznieniom w transakcjach handlowych.

Ta wiadomosc wraz z zalacznikami jest przeznaczona dla okreslonego adresata i moze zawierac informacje poufne. W razie przypadkowego otrzymania tej wiadomosci, prosimy o powiadomienie nadawcy oraz trwale jej usuniecie; jakiekolwiek przegladanie lub rozpowszechnianie jest zabronione.
This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). If you are not the intended recipient, please contact the sender and delete all copies; any review or distribution by others is strictly prohibited.

More information about the Fw_os_forum mailing list