3
0
Fork 0
forked from mirrors/linux
kernel/include/linux/platform_data
Luke D. Jones e0894ff038
platform/x86: asus-wmi: disable USB0 hub on ROG Ally before suspend
ASUS have worked around an issue in XInput where it doesn't support USB
selective suspend, which causes suspend issues in Windows. They worked
around this by adjusting the MCU firmware to disable the USB0 hub when
the screen is switched off during the Microsoft DSM suspend path in ACPI.

The issue we have with this however is one of timing - the call the tells
the MCU to this isn't able to complete before suspend is done so we call
this in a prepare() and add a small msleep() to ensure it is done. This
must be done before the screen is switched off to prevent a variety of
possible races.

Further to this the MCU powersave option must also be disabled as it can
cause a number of issues such as:
- unreliable resume connection of N-Key
- complete loss of N-Key if the power is plugged in while suspended
Disabling the powersave option prevents this.

Without this the MCU is unable to initialise itself correctly on resume.

Signed-off-by: "Luke D. Jones" <luke@ljones.dev>
Tested-by: Philip Mueller <philm@manjaro.org>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20231126230521.125708-2-luke@ljones.dev
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2023-11-28 15:19:53 +02:00
..
gpio
media ARM: s3c: simplify platform code 2023-01-16 09:26:05 +01:00
txx9
x86 platform/x86: asus-wmi: disable USB0 hub on ROG Ally before suspend 2023-11-28 15:19:53 +02:00
ad5449.h
ad5761.h
ad7266.h
ad7791.h
ad7793.h
ad7887.h
adau17x1.h
adp8860.h
adp8870.h
ads7828.h
amd_xdma.h dmaengine: xilinx: xdma: Add xilinx xdma driver 2023-02-10 11:32:26 +05:30
ams-delta-fiq.h
apds990x.h
arm-ux500-pm.h
asoc-imx-ssi.h
asoc-kirkwood.h
asoc-pxa.h ARM: pxa: fix missing-prototypes warnings 2023-05-26 13:33:05 +02:00
asoc-s3c.h
asoc-ti-mcbsp.h
ata-pxa.h
atmel.h
b53.h
bcm7038_wdt.h
bcmgenet.h
bd6107.h backlight/bd6107: Rename struct bd6107_platform_data.fbdev to 'dev' 2023-06-27 09:58:48 +02:00
bh1770glc.h
brcmfmac.h
brcmnand.h
clk-da8xx-cfgchip.h
clk-davinci-pll.h
clk-fch.h
cpuidle-exynos.h
cros_ec_chardev.h
cros_ec_commands.h media: cros-ec-cec: Get number of CEC ports from EC 2023-09-27 09:39:55 +02:00
cros_ec_proto.h platform/chrome: cros_ec_proto: Mark outdata as const 2023-10-04 11:40:54 +08:00
cros_ec_sensorhub.h
cros_usbpd_notify.h
crypto-ux500.h
cyttsp4.h
davinci-cpufreq.h ARM: davinci: fix davinci_cpufreq_init() declaration 2023-05-26 13:31:31 +02:00
davinci_asp.h
dma-dw.h
dma-ep93xx.h
dma-hsu.h
dma-iop32x.h
dma-mcf-edma.h
dma-mv_xor.h
dmtimer-omap.h
ds620.h
dsa.h
edma.h
elm.h
emc2305.h
emif_plat.h
eth-ep93xx.h
g762.h
gpio-ath79.h
gpio-davinci.h
gpio-htc-egpio.h
gpio-omap.h OMAP/gpio: drop MPUIO static base 2023-10-04 11:37:25 +02:00
gpio_backlight.h backlight/gpio_backlight: Rename field 'fbdev' to 'dev' 2023-06-27 09:58:48 +02:00
gpmc-omap.h
gsc_hwmon.h hwmon: Annotate struct gsc_hwmon_platform_data with __counted_by 2023-10-08 22:46:04 -07:00
hirschmann-hellcreek.h net: dsa: use capital "OR" for multiple licenses in SPDX 2023-08-24 12:02:53 -07:00
hsmmc-omap.h
hwmon-s3c.h
i2c-davinci.h
i2c-gpio.h i2c: gpio: support write-only sda/scl w/o pull-up 2023-01-23 23:18:54 +01:00
i2c-imx.h
i2c-mux-gpio.h
i2c-mux-reg.h
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h
i2c-pxa.h
i2c-s3c2410.h
i2c-xiic.h
ina2xx.h
intel-mid_wdt.h
invensense_mpu6050.h
iommu-omap.h
isl9305.h
itco_wdt.h
keyboard-spear.h
keypad-ep93xx.h
keypad-nomadik-ske.h
keypad-omap.h
keypad-pxa27x.h
keyscan-davinci.h
lcd-mipid.h Input: ads7846 - Convert to use software nodes 2023-05-24 15:01:30 +02:00
leds-lm355x.h
leds-lm3642.h
leds-lp55xx.h leds: lp55xx: Configure internal charge pump 2023-05-25 12:16:05 +01:00
lm3630a_bl.h
lm3639_bl.h
lm8323.h
lp855x.h
lp8727.h
lp8755.h
ltc4245.h
lv5207lp.h backlight/lv5207lp: Rename struct lv5207lp_platform_data.fbdev to 'dev' 2023-06-27 09:58:48 +02:00
max197.h
max732x.h
max3421-hcd.h
max6639.h
max6697.h
mcs.h
mdio-bcm-unimac.h
mdio-gpio.h
mfd-mcp-sa11x0.h
microchip-ksz.h
mlxcpld.h
mlxreg.h platform_data/mlxreg: Add field with mapped resource address 2023-02-13 12:07:50 +01:00
mmc-davinci.h
mmc-esdhc-mcf.h
mmc-mxcmmc.h
mmc-omap.h ARM/mmc: Convert old mmci-omap to GPIO descriptors 2023-05-24 15:01:36 +02:00
mmc-pxamci.h
mmc-sdhci-s3c.h
mmp_dma.h
mtd-davinci-aemif.h
mtd-davinci.h
mtd-nand-omap2.h
mtd-nand-pxa3xx.h
mtd-nand-s3c2410.h
mtd-orion_nand.h
mv88e6xxx.h
mv_usb.h
net-cw1200.h
omap-twl4030.h ASoC: ti: Convert TWL4030 to use GPIO descriptors 2023-10-02 14:06:20 +01:00
omap-wd-timer.h
omap1_bl.h
omapdss.h
pca953x.h gpio: pca953x: Drop unused fields in struct pca953x_platform_data 2023-09-11 08:59:57 +02:00
phy-da8xx-usb.h
pinctrl-single.h
pm33xx.h
pxa2xx_udc.h ARM: pxa: fix missing-prototypes warnings 2023-05-26 13:33:05 +02:00
pxa_sdhci.h
regulator-haptic.h
s3c-hsotg.h
sa11x0-serial.h
sc18is602.h
sdhci-pic32.h
serial-omap.h
serial-sccnxp.h
sgi-w1.h
sh_mmcif.h
shmob_drm.h drm: renesas: shmobile: Use media bus formats in platform data 2023-10-16 11:47:46 +02:00
shtc1.h
si5351.h
simplefb.h drm/simpledrm: Support the XB24/AB24 format 2023-01-23 16:06:06 +01:00
spi-davinci.h
spi-ep93xx.h
spi-mt65xx.h
spi-omap2-mcspi.h
spi-s3c64xx.h spi: s3c64xx: change polling mode to optional 2023-05-08 09:10:50 +09:00
st_sensors_pdata.h iio: Comment that the LSM303D also has the Magnetometer DRDY 2023-05-13 17:56:04 +01:00
syscon.h
tda9950.h
ti-aemif.h
ti-prm.h
ti-sysc.h
touchscreen-s3c2410.h
tps68470.h
tsc2007.h
tsl2772.h
uio_dmem_genirq.h
uio_pruss.h
usb-davinci.h
usb-ehci-orion.h
usb-musb-ux500.h
usb-ohci-pxa27x.h
usb-ohci-s3c2410.h
usb-omap.h
usb-omap1.h
usb3503.h usb: misc: usb3503: support usb3803 and bypass mode 2023-03-16 12:18:03 +01:00
video-ep93xx.h
video-pxafb.h
video_s3c.h
voltage-omap.h
wilco-ec.h
wiznet.h
wkup_m3.h
xilinx-ll-temac.h
xtalk-bridge.h
zforce_ts.h