https://bugzilla.kernel.org/show_bug.cgi?id=217714
Bug ID: 217714 Summary: ACPI Error: No handler for SystemCMOS Operation Region for acpi-tad driver Product: ACPI Version: 2.5 Hardware: All OS: Linux Status: NEW Severity: normal Priority: P3 Component: Other Assignee: acpi_ot...@kernel-bugs.osdl.org Reporter: ivan...@canonical.com Regression: No Get ACPI error mesages below, [Wed May 31 14:34:07 2023] ACPI Error: No handler for Region [RTCM] (000000007ecf70cd) [SystemCMOS] (20220331/evregion-130) [Wed May 31 14:34:07 2023] ACPI Error: Region SystemCMOS (ID=5) has no handler (20220331/exfldio-261) [Wed May 31 14:34:07 2023] Initialized Local Variables for Method [_GRT]: [Wed May 31 14:34:07 2023] Local1: 00000000d3a30199 <Obj> Integer 0000000000000000 [Wed May 31 14:34:07 2023] No Arguments are initialized for method [_GRT] [Wed May 31 14:34:07 2023] ACPI Error: Aborting method \_SB.AWAC._GRT due to previous error (AE_NOT_EXIST) (20220331/psparse-529) The issue comes from the Bios implement ACPI AWAC(time and alarm device, "ACPI000E") by using the SystemCMOS, and the kernel acpi-tad driver has no handler for dealing with it. When it call _GRT: Get Real Time or _SRT: Set Real Time, so it will get the "No handler for Region SystemCMOS" and AE_NOT_EXIST issue. Device (AWAC) { Name (_HID, "ACPI000E" /* Time and Alarm Device */) Name (WAST, Zero) Name (WTTR, Zero) .... Method (_GCP, 0, NotSerialized) // _GCP: Get Capabilities { Return (0xB7) } OperationRegion (RTCM, SystemCMOS, Zero, 0x3F) Field (RTCM, ByteAcc, Lock, Preserve) { SEC, 8, Offset (0x02), MIN, 8, Offset (0x04), HOR, 8, Offset (0x07), DAY, 8, MON, 8, YEAR, 8, REGA, 8, Offset (0x32), CNTY, 8 } Method (_GRT, 0, Serialized) // _GRT: Get Real Time { Name (BUFF, Buffer (0x10) {}) CreateWordField (BUFF, Zero, Y) CreateByteField (BUFF, 0x02, M) CreateByteField (BUFF, 0x03, D) CreateByteField (BUFF, 0x04, H) CreateByteField (BUFF, 0x05, MIN1) CreateByteField (BUFF, 0x06, S) CreateByteField (BUFF, 0x07, V) CreateWordField (BUFF, 0x0A, TZ) CreateByteField (BUFF, 0x0C, DL) Acquire (RTCL, 0xFFFF) Local1 = Zero Name (TOUT, 0x000186A0) TOUT /= 0x0A While (((REGA & 0x80) && (Local1 < TOUT))) { Stall (0x0A) Local1 += 0x0A } If ((Local1 >= TOUT)) { ADBG ("_GRT timeout fail") } FromBCD (YEAR, Local5) FromBCD (CNTY, Local6) Y = ((Local6 * 0x64) + Local5) FromBCD (MON, M) /* \_SB_.AWAC._GRT.M___ */ FromBCD (DAY, D) /* \_SB_.AWAC._GRT.D___ */ FromBCD (HOR, H) /* \_SB_.AWAC._GRT.H___ */ FromBCD (MIN, MIN1) /* \_SB_.AWAC._GRT.MIN1 */ FromBCD (SEC, S) /* \_SB_.AWAC._GRT.S___ */ Release (RTCL) TZ = 0x07FF DL = Zero V = One Return (BUFF) /* \_SB_.AWAC._GRT.BUFF */ } Method (_SRT, 1, NotSerialized) // _SRT: Set Real Time { CreateWordField (Arg0, Zero, Y) CreateByteField (Arg0, 0x02, M) CreateByteField (Arg0, 0x03, D) CreateByteField (Arg0, 0x04, H) CreateByteField (Arg0, 0x05, MIN1) CreateByteField (Arg0, 0x06, S) Acquire (RTCL, 0xFFFF) Local1 = Zero Name (TOUT, 0x000186A0) TOUT /= 0x0A While (((REGA & 0x80) && (Local1 < TOUT))) { Stall (0x0A) Local1 += 0x0A } If ((Local1 >= TOUT)) { ADBG ("_SRT timeout fail") Release (RTCL) Return (0xFFFFFFFF) } Divide (Y, 0x64, Local5, Local4) ToBCD (Local4, CNTY) /* \_SB_.AWAC.CNTY */ ToBCD (Local5, YEAR) /* \_SB_.AWAC.YEAR */ ToBCD (M, MON) /* \_SB_.AWAC.MON_ */ ToBCD (D, DAY) /* \_SB_.AWAC.DAY_ */ ToBCD (H, HOR) /* \_SB_.AWAC.HOR_ */ ToBCD (MIN1, MIN) /* \_SB_.AWAC.MIN_ */ ToBCD (S, SEC) /* \_SB_.AWAC.SEC_ */ Release (RTCL) Return (Zero) } ... -- You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug. _______________________________________________ acpi-bugzilla mailing list acpi-bugzilla@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla