diff --git a/local/recipes/system/redbear-quirks/source/quirks.d/50-system.toml b/local/recipes/system/redbear-quirks/source/quirks.d/50-system.toml index 2b3a2ba5cf..831c0905c6 100644 --- a/local/recipes/system/redbear-quirks/source/quirks.d/50-system.toml +++ b/local/recipes/system/redbear-quirks/source/quirks.d/50-system.toml @@ -51,16 +51,55 @@ match.board_name = "X570 AORUS MASTER" # match.product_name = "Example Model" # LG Gram 16 (2025) / Intel Arrow Lake-H. Modern Standby (S0ix) is -# preferred over S3. Disable legacy ACPI S5 reset path that conflicts -# with the LG firmware's Modern Standby implementation. +# preferred over S3 (the firmware does not advertise \_S3 at all on +# this model; all sleep goes through s2idle). Disable the legacy +# ACPI S5 reset path that conflicts with the LG firmware's Modern +# Standby implementation. +# +# Flags here are ported from the Linux 7.1 reference tree: +# force_s2idle — Linux acpi/sleep.c has no LG entry +# (s2idle is the default on all LG Gram +# models; the flag is explicit for +# documentation + future-proofing if a +# BIOS update adds S3) +# acpi_irq1_skip_override — Linux drivers/acpi/resource.c +# irq1_level_low_skip_override[] +# (lines 522-534). Without this the ACPI +# core rewrites the DSDT's ActiveLow to +# ActiveHigh and the i8042 keyboard IRQ +# stops firing. +# kbd_deactivate_fixup — Linux drivers/input/keyboard/atkbd.c +# line 1913-1917. Prevents spurious +# keyboard ACK / dropped keys on LG. +# no_legacy_pm1b — Single-PM1a hardware (LG firmware does +# not implement PM1b_CNT). Tells acpid +# to skip the SLP_TYPb write path. [[dmi_system_quirk]] -flags = ["force_s2idle"] +flags = ["force_s2idle", "acpi_irq1_skip_override", "kbd_deactivate_fixup", "no_legacy_pm1b"] match.sys_vendor = "LG Electronics" match.product_name = "16Z90TR" # LG Gram 16T90SP (2026 Panther Lake). Same modern-standby -# preference; same S0ix SLP hint handling. +# preference; same keyboard/ACPI quirk set as the 16Z90TR. +# The 16T90SP is already in Linux's +# irq1_level_low_skip_override[] (commit 53f1a90, Oct 2024). [[dmi_system_quirk]] -flags = ["force_s2idle"] +flags = ["force_s2idle", "acpi_irq1_skip_override", "kbd_deactivate_fixup", "no_legacy_pm1b"] match.sys_vendor = "LG Electronics" match.product_name = "16T90SP" + +# LG Gram 17U70P (17 inch, 2020 Comet Lake). Also in Linux's +# irq1_level_low_skip_override[] (resource.c:522-527). No +# force_s2idle (older LG Gram still has working S3). +[[dmi_system_quirk]] +flags = ["acpi_irq1_skip_override", "kbd_deactivate_fixup"] +match.sys_vendor = "LG Electronics" +match.product_name = "17U70P" + +# All LG Electronics: keyboard deactivate fixup (Linux atkbd.c +# matches on sys_vendor only, no product_name filter). This is +# the catch-all for older LG laptops that don't have specific +# model entries above. +[[dmi_system_quirk]] +flags = ["kbd_deactivate_fixup"] +match.sys_vendor = "LG Electronics" diff --git a/local/sources/kernel b/local/sources/kernel index 24fd0a083d..7a38664253 160000 --- a/local/sources/kernel +++ b/local/sources/kernel @@ -1 +1 @@ -Subproject commit 24fd0a083d9ddf4ffa5800943a2bcf54fa0fd3e0 +Subproject commit 7a38664253df61d2121945e959ff590f6bd862b7