[Fw_Os_Forum] ACPI EC SMBus controller query handling

Armin Wolf W_Armin at gmx.de
Sat Feb 18 08:48:11 EST 2023

Am 18.02.23 um 13:16 schrieb Mielicki, Lukasz:

> 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).


i know of SMBus OperationRegions, unfortunately the system i am working with (Travelmate 4002WLMI) is from ~2004
and thus contains no such regions. The support for SMBus OperationRegions when using the EC SMBus controller seems
to be nonexistent on Linux anyway, since the corresponding driver does not register with the i2c subsystem.
I am currently trying to fix this and some other issues with the Linux sbshc/sbs driver.

Armin Wolf

> Regards,
> Lukasz
> -----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
> Hello,
> 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?
> Thanks,
> Armin Wolf
> _______________________________________________
> Fw_os_forum mailing list
> Fw_os_forum at mailman.uefi.org
> http://lists.mailman.uefi.org/mailman/listinfo/fw_os_forum
> ---------------------------------------------------------------------
> 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mailman.uefi.org/pipermail/fw_os_forum/attachments/20230218/82113aa3/attachment.html>

More information about the Fw_os_forum mailing list