linux/drivers/pinctrl/intel
Andy Shevchenko 6989ea4881 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>
2022-11-28 21:41:31 +01:00
..
Kconfig pinctrl: intel: Add Intel Meteor Lake pin controller support 2022-06-30 17:09:18 +03:00
Makefile pinctrl: intel: Add Intel Meteor Lake pin controller support 2022-06-30 17:09:18 +03:00
pinctrl-alderlake.c pinctrl: alderlake: Fix register offsets for ADL-N variant 2022-04-06 12:54:43 +03:00
pinctrl-baytrail.c pinctrl: baytrail: Switch to to embedded struct pingroup 2022-06-20 14:38:29 +03:00
pinctrl-broxton.c pinctrl: broxton: Add module alias for Intel Apollo Lake 2022-05-11 17:19:18 +03:00
pinctrl-cannonlake.c pinctrl: cannonlake: Modify COMMUNITY macros to be consistent 2020-09-30 11:43:56 +02:00
pinctrl-cedarfork.c pinctrl: cedarfork: Update pin names according to v1.13c 2019-04-03 14:49:47 +03:00
pinctrl-cherryview.c pinctrl: cherryview: Switch to to embedded struct pingroup 2022-06-20 14:38:29 +03:00
pinctrl-denverton.c pinctrl: denverton: Update pin names according to v1.08 2019-08-08 12:57:01 +03:00
pinctrl-elkhartlake.c pinctrl: intel: Add Intel Elkhart Lake pin controller support 2020-11-04 12:33:19 +02:00
pinctrl-emmitsburg.c pinctrl: intel: Add Intel Emmitsburg pin controller support 2020-07-21 11:44:21 +03:00
pinctrl-geminilake.c pinctrl: geminilake: Provide Interrupt Status register offset 2019-08-07 16:45:41 +03:00
pinctrl-icelake.c pinctrl: icelake: Add Ice Lake-N PCH pin controller support 2022-02-23 17:15:11 +02:00
pinctrl-intel.c pinctrl: intel: Save and restore pins in "direct IRQ" mode 2022-11-28 21:41:31 +01:00
pinctrl-intel.h pinctrl: intel: Drop no more used members of struct intel_pingroup 2022-06-20 14:38:30 +03:00
pinctrl-jasperlake.c pinctrl: jasperlake: Fix HOSTSW_OWN offset 2020-11-16 12:07:57 +02:00
pinctrl-lakefield.c pinctrl: intel: Add Intel Lakefield pin controller support 2020-11-02 22:32:13 +02:00
pinctrl-lewisburg.c pinctrl: lewisburg: Update number of pins in community 2021-04-13 14:09:48 +03:00
pinctrl-lynxpoint.c pinctrl: lynxpoint: Switch to to embedded struct pingroup 2022-06-20 14:38:29 +03:00
pinctrl-merrifield.c pinctrl: merrifield: Switch to to embedded struct pingroup 2022-06-20 14:38:29 +03:00
pinctrl-meteorlake.c pinctrl: intel: Add Intel Meteor Lake pin controller support 2022-06-30 17:09:18 +03:00
pinctrl-sunrisepoint.c pinctrl: sunrisepoint: Modify COMMUNITY macros to be consistent 2020-09-30 11:43:56 +02:00
pinctrl-tigerlake.c pinctrl: tigerlake: Revert "Add Alder Lake-M ACPI ID" 2022-02-23 17:15:11 +02:00