pinctrl: amd: Disable and mask interrupts on resume
authorKornel Dulęba <korneld@chromium.org>
Mon, 20 Mar 2023 09:32:59 +0000 (09:32 +0000)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 28 Mar 2023 13:20:18 +0000 (15:20 +0200)
commitb26cd9325be4c1fcd331b77f10acb627c560d4d7
treeff044841390c68400689eb29cfb124228bf4d7cd
parent913a956c4363c3b5fd13d3a00836fad4c46646a7
pinctrl: amd: Disable and mask interrupts on resume

This fixes a similar problem to the one observed in:
commit 4e5a04be88fe ("pinctrl: amd: disable and mask interrupts on probe").

On some systems, during suspend/resume cycle firmware leaves
an interrupt enabled on a pin that is not used by the kernel.
This confuses the AMD pinctrl driver and causes spurious interrupts.

The driver already has logic to detect if a pin is used by the kernel.
Leverage it to re-initialize interrupt fields of a pin only if it's not
used by us.

Cc: stable@vger.kernel.org
Fixes: dbad75dd1f25 ("pinctrl: add AMD GPIO driver support.")
Signed-off-by: Kornel Dulęba <korneld@chromium.org>
Link: https://lore.kernel.org/r/20230320093259.845178-1-korneld@chromium.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-amd.c