Asus UM325UAZ has GPIO 18 programmed as both an interrupt and a wake
source, but confirmed with internal team on this design this pin is
floating and shouldn't have been programmed. This causes lots of
spurious IRQs on the system and horrendous battery life.
Add a quirk to ignore attempts to program this pin on this system.
Reported-and-tested-by: Pavel Krc <[email protected]>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=216208
Signed-off-by: Mario Limonciello <[email protected]>
---
drivers/gpio/gpiolib-acpi.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
index 375942d92d6f..2149713ea8f1 100644
--- a/drivers/gpio/gpiolib-acpi.c
+++ b/drivers/gpio/gpiolib-acpi.c
@@ -1586,6 +1586,20 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] __initconst = {
.ignore_wake = "INT33FF:01@0",
},
},
+ {
+ /*
+ * Interrupt storm caused from edge triggered floating pin
+ * Found in BIOS UX325UAZ.300
+ * https://bugzilla.kernel.org/show_bug.cgi?id=216208
+ */
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX325UAZ_UM325UAZ"),
+ },
+ .driver_data = &(struct acpi_gpiolib_dmi_quirk) {
+ .ignore_interrupt = "AMDI0030:00@18",
+ },
+ },
{} /* Terminating entry */
};
--
2.34.1
On 7/20/2022 08:57, Andy Shevchenko wrote:
> I am on vacation (Mika also iirc), but I believe that Hans can review
> it, so resend with cc’ing him and add above as a comment to the change,
> or better cover letter.
Thanks, I redirected the original messages to Hans. Enjoy your vacation.
>
> On Tuesday, July 19, 2022, Mario Limonciello <[email protected]
> <mailto:[email protected]>> wrote:
>
> Asus UM325UAZ has GPIO 18 programmed as both an interrupt and a wake
> source, but confirmed with internal team on this design this pin is
> floating and shouldn't have been programmed. This causes lots of
> spurious IRQs on the system and horrendous battery life.
>
> Add a quirk to ignore attempts to program this pin on this system.
>
> Reported-and-tested-by: Pavel Krc <[email protected]
> <mailto:[email protected]>>
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=216208
> <https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugzilla.kernel.org%2Fshow_bug.cgi%3Fid%3D216208&data=05%7C01%7Cmario.limonciello%40amd.com%7C2c67d6b468d44e177dbb08da6a57d2fd%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637939222681842692%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=INWMYURdKmQeTaFw1PT%2BEohTJGJSRRONYJCTw9klXu4%3D&reserved=0>
> Signed-off-by: Mario Limonciello <[email protected]
> <mailto:[email protected]>>
> ---
> drivers/gpio/gpiolib-acpi.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
> index 375942d92d6f..2149713ea8f1 100644
> --- a/drivers/gpio/gpiolib-acpi.c
> +++ b/drivers/gpio/gpiolib-acpi.c
> @@ -1586,6 +1586,20 @@ static const struct dmi_system_id
> gpiolib_acpi_quirks[] __initconst = {
> .ignore_wake = "INT33FF:01@0",
> },
> },
> + {
> + /*
> + * Interrupt storm caused from edge triggered
> floating pin
> + * Found in BIOS UX325UAZ.300
> + *
> https://bugzilla.kernel.org/show_bug.cgi?id=216208
> <https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugzilla.kernel.org%2Fshow_bug.cgi%3Fid%3D216208&data=05%7C01%7Cmario.limonciello%40amd.com%7C2c67d6b468d44e177dbb08da6a57d2fd%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637939222681842692%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=INWMYURdKmQeTaFw1PT%2BEohTJGJSRRONYJCTw9klXu4%3D&reserved=0>
> + */
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER
> INC."),
> + DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook
> UX325UAZ_UM325UAZ"),
> + },
> + .driver_data = &(struct acpi_gpiolib_dmi_quirk) {
> + .ignore_interrupt = "AMDI0030:00@18",
> + },
> + },
> {} /* Terminating entry */
> };
>
> --
> 2.34.1
>
>
>
> --
> With Best Regards,
> Andy Shevchenko
>
>
Hi,
On 7/19/22 16:21, Mario Limonciello wrote:
> Asus UM325UAZ has GPIO 18 programmed as both an interrupt and a wake
> source, but confirmed with internal team on this design this pin is
> floating and shouldn't have been programmed. This causes lots of
> spurious IRQs on the system and horrendous battery life.
>
> Add a quirk to ignore attempts to program this pin on this system.
>
> Reported-and-tested-by: Pavel Krc <[email protected]>
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=216208
> Signed-off-by: Mario Limonciello <[email protected]>
Thanks, patch looks good to me:
Reviewed-by: Hans de Goede <[email protected]>
Regards,
Hans
> ---
> drivers/gpio/gpiolib-acpi.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
> index 375942d92d6f..2149713ea8f1 100644
> --- a/drivers/gpio/gpiolib-acpi.c
> +++ b/drivers/gpio/gpiolib-acpi.c
> @@ -1586,6 +1586,20 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] __initconst = {
> .ignore_wake = "INT33FF:01@0",
> },
> },
> + {
> + /*
> + * Interrupt storm caused from edge triggered floating pin
> + * Found in BIOS UX325UAZ.300
> + * https://bugzilla.kernel.org/show_bug.cgi?id=216208
> + */
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
> + DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX325UAZ_UM325UAZ"),
> + },
> + .driver_data = &(struct acpi_gpiolib_dmi_quirk) {
> + .ignore_interrupt = "AMDI0030:00@18",
> + },
> + },
> {} /* Terminating entry */
> };
>