On Mon, Jul 18, 2022 at 5:39 PM Limonciello, Mario <mario.limonciello@xxxxxxx> wrote: > > On 7/14/2022 13:35, Rafael J. Wysocki wrote: > > On Tue, Jul 12, 2022 at 4:01 AM Chuanhong Guo <gch981213@xxxxxxxxx> wrote: > >> > >> IRQ override isn't needed on modern AMD Zen systems. > >> There's an active low keyboard IRQ on AMD Ryzen 6000 and it will stay > >> this way on newer platforms. This IRQ override breaks keyboards for > >> almost all Ryzen 6000 laptops currently on the market. > >> > >> Skip this IRQ override for all AMD Zen platforms because this IRQ > >> override is supposed to be a workaround for buggy ACPI DSDT and we can't > >> have a long list of all future AMD CPUs/Laptops in the kernel code. > >> If a device with buggy ACPI DSDT shows up, a separated list containing > >> just them should be created. > >> > >> Suggested-by: Mario Limonciello <mario.limonciello@xxxxxxx> > >> Signed-off-by: Chuanhong Guo <gch981213@xxxxxxxxx> > > > > I need an ACK from Mario here. > > Sure. As he mentioned this polarity change is needed going forward. > So if we end up with a similar regression as the Baytrail attempt to > make this generic and need to revert we'll need to find a different > heuristic to make it generic on RMB and later. > > Acked-by: Mario Limonciello <mario.limonciello@xxxxxxx> > > Here's some other tags to pick up too in the commit message. > > Tested-by: XiaoYan Li <lxy.lixiaoyan@xxxxxxxxx> > Link: https://bugzilla.kernel.org/show_bug.cgi?id=216118 Applied as 5.20 material with the above tags added, thanks! > >> --- > >> Change sice v5: reworked > >> > >> drivers/acpi/resource.c | 10 ++++++++++ > >> 1 file changed, 10 insertions(+) > >> > >> diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c > >> index c2d494784425..510cdec375c4 100644 > >> --- a/drivers/acpi/resource.c > >> +++ b/drivers/acpi/resource.c > >> @@ -416,6 +416,16 @@ static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity, > >> { > >> int i; > >> > >> +#ifdef CONFIG_X86 > >> + /* > >> + * IRQ override isn't needed on modern AMD Zen systems and > >> + * this override breaks active low IRQs on AMD Ryzen 6000 and > >> + * newer systems. Skip it. > >> + */ > >> + if (boot_cpu_has(X86_FEATURE_ZEN)) > >> + return false; > >> +#endif > >> + > >> for (i = 0; i < ARRAY_SIZE(skip_override_table); i++) { > >> const struct irq_override_cmp *entry = &skip_override_table[i]; > >> > >> -- > >> 2.36.1 > >> >