mbox series

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

Message ID 20230823083542.388502-1-kai.heng.feng@canonical.com
Headers show
Series Fix ACPI TAD on some Intel based systems | expand

Message

Kai-Heng Feng Aug. 23, 2023, 8:35 a.m. UTC
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(-)

Comments

Andrea Righi Aug. 23, 2023, 9:51 a.m. UTC | #1
On Wed, Aug 23, 2023 at 04:35:41PM +0800, Kai-Heng Feng wrote:
> 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.

Applied to mantic/linux.

Thanks,
-Andrea
Tim Gardner Aug. 23, 2023, 12:17 p.m. UTC | #2
On 8/23/23 2:35 AM, Kai-Heng Feng wrote:
> 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(-)
> 
Acked-by: Tim Gardner <tim.gardner@canonical.com>
Roxana Nicolescu Aug. 24, 2023, 11:12 a.m. UTC | #3
On 23/08/2023 10:35, Kai-Heng Feng wrote:
> 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(-)
>
Acked-by: Roxana Nicolescu <roxana.nicolescu@canonical.com>
Roxana Nicolescu Sept. 1, 2023, 9:32 a.m. UTC | #4
On 23/08/2023 10:35, Kai-Heng Feng wrote:
> 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(-)
>
Applied to lunar:master-next. Thanks!

Roxana