[SRU] [L/M] [PATCH 0/1] Fix ACPI TAD on some Intel based systems

Kai-Heng Feng kai.heng.feng at canonical.com
Wed Aug 23 08:35:41 UTC 2023


BugLink: https://bugs.launchpad.net/bugs/2032767

[Impact]
ACPI TAD doesn't really work on several systems. When accessing TAD
interface via sysfs, like setting/getting realtime, it also causes
errors:
[  478.255453] ACPI Error: No handler for Region [RTCM] (00000000a8d2dd39) [SystemCMOS] (20230331/evregion-130)
[  478.255458] ACPI Error: Region SystemCMOS (ID=5) has no handler (20230331/exfldio-261)
[  478.255461] Initialized Local Variables for Method [_GRT]:
[  478.255461]   Local1: 00000000f182542c <Obj>           Integer 0000000000000000
[  478.255464] No Arguments are initialized for method [_GRT]
[  478.255465] ACPI Error: Aborting method \_SB.AWAC._GRT due to previous error (AE_NOT_EXIST) (20230331/psparse-529)

[Fix]
Let the driver to install a handler for its SystemCMOS region.
The spec on whether certain devices can use SystemCMOS or not is quite
vague, so follow the de facto implementation, Windows :)

[Test]
Once the patch is applied, setting and getting realtime through TAD
sysfs work, and there's no more error in dmesg.

[Where problems could occur]
Now ACPI TAD driver also depends on ACPI RTC driver, so the memory usage
will go up slightly.

Zhang Rui (1):
  ACPI: TAD: Install SystemCMOS address space handler for ACPI000E

 drivers/acpi/acpi_cmos_rtc.c | 25 ++++++++++++++++++-------
 drivers/acpi/acpi_tad.c      | 27 ++++++++++++++++++++++-----
 include/acpi/acpi_bus.h      |  9 +++++++++
 3 files changed, 49 insertions(+), 12 deletions(-)

-- 
2.34.1




More information about the kernel-team mailing list