]> git.baikalelectronics.ru Git - kernel.git/commit
pinctrl: intel: Save and restore pins in "direct IRQ" mode
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 24 Nov 2022 22:29:26 +0000 (00:29 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 28 Nov 2022 20:41:31 +0000 (21:41 +0100)
commit2bf77a3e54e27ad0f7d00f061fa9ad51c542b809
treee447273b3767f6ac11a901fd53f2bf00dcec9ba4
parent33ca8249fd2e2541174b174a9abea39180e38922
pinctrl: intel: Save and restore pins in "direct IRQ" mode

The firmware on some systems may configure GPIO pins to be
an interrupt source in so called "direct IRQ" mode. In such
cases the GPIO controller driver has no idea if those pins
are being used or not. At the same time, there is a known bug
in the firmwares that don't restore the pin settings correctly
after suspend, i.e. by an unknown reason the Rx value becomes
inverted.

Hence, let's save and restore the pins that are configured
as GPIOs in the input mode with GPIROUTIOXAPIC bit set.

Cc: stable@vger.kernel.org
Reported-and-tested-by: Dale Smith <dalepsmith@gmail.com>
Reported-and-tested-by: John Harris <jmharris@gmail.com>
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=214749
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Link: https://lore.kernel.org/r/20221124222926.72326-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/intel/pinctrl-intel.c