linux/drivers/platform/x86
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
..
amd platform/x86/amd/pmc: adjust getting DRAM size behavior 2023-11-17 12:04:01 +02:00
dell Merge remote-tracking branch 'pdx86/fixes' into pdx86/for-next 2023-08-23 17:30:50 +02:00
hp platform/x86: hp-bioscfg: Remove unused obj in hp_add_other_attributes() 2023-11-15 14:45:41 +02:00
intel platform/x86: intel_telemetry: Fix kernel doc descriptions 2023-11-21 10:09:04 +02:00
siemens platform/x86/siemens: simatic-ipc-batt-f7188x: Convert to platform remove callback returning void 2023-09-28 13:27:06 +03:00
x86-android-tablets platform/x86: x86-android-tablets: Fix Lenovo Yoga Tablet 2 830F/L vs 1050F/L detection 2023-09-21 18:31:18 +02:00
acer-wireless.c
acer-wmi.c platform/x86: acer-wmi: Remove void function return 2023-10-17 10:14:35 +03:00
acerhdf.c Thermal control updates for 6.4-rc1 2023-04-25 18:32:43 -07:00
adv_swbutton.c
amilo-rfkill.c
apple-gmux.c apple-gmux: Hard Code max brightness for MMIO gmux 2023-10-18 15:33:24 +02:00
asus-laptop.c
asus-nb-wmi.c platform/x86: asus-wmi: Filter Volume key presses if also reported via atkbd 2023-11-23 14:24:19 +02:00
asus-tf103c-dock.c platform/x86: asus-tf103c-dock: Switch back to use struct i2c_driver's .probe() 2023-06-13 12:32:45 +02:00
asus-wireless.c platform/x86: asus-wireless: Replace open coded acpi_match_acpi_device() 2023-10-12 16:34:09 +03:00
asus-wmi.c platform/x86: asus-wmi: disable USB0 hub on ROG Ally before suspend 2023-11-28 15:19:53 +02:00
asus-wmi.h platform/x86: asus-wmi: Change q500a_i8042_filter() into a generic i8042-filter 2023-11-23 14:24:17 +02:00
barco-p50-gpio.c
classmate-laptop.c platform/x86: classmate: mark SPI related data as maybe unused 2023-03-16 16:10:54 +01:00
compal-laptop.c
dual_accel_detect.h
eeepc-laptop.c Fix nomenclature for USB and PCI wireless devices 2023-08-25 12:56:49 +03:00
eeepc-wmi.c
firmware_attributes_class.c
firmware_attributes_class.h
fujitsu-laptop.c
fujitsu-tablet.c
gigabyte-wmi.c platform/x86: gigabyte: constify pointers to hwmon_channel_info 2023-05-16 10:36:56 +02:00
gpd-pocket-fan.c
hdaps.c
huawei-wmi.c platform/x86: huawei-wmi: Silence ambient light sensor 2023-07-25 16:38:03 +02:00
ibm_rtl.c platform/x86: ibm_rtl: move to use bus_get_dev_root() 2023-03-17 15:29:06 +01:00
ideapad-laptop.c platform/x86: ideapad-laptop: Set max_brightness before using it 2023-11-15 14:30:51 +02:00
ideapad-laptop.h platform/x86: Add driver for Yoga Tablet Mode switch 2023-04-06 12:33:34 +02:00
inspur_platform_profile.c platform/x86: inspur-platform-profile: Add platform profile support 2023-10-27 16:14:47 +03:00
intel_ips.c
intel_ips.h
intel_scu_ipc.c platform/x86: intel_scu_ipc: Fail IPC send if still busy 2023-09-18 15:15:15 +02:00
intel_scu_ipcutil.c
intel_scu_pcidrv.c platform/x86: intel_scu_pcidrv: Add back PCI ID for Medfield 2023-05-08 17:35:08 +02:00
intel_scu_pltdrv.c
intel_scu_wdt.c
Kconfig platform/x86: asus-wmi: Move i8042 filter install to shared asus-wmi code 2023-11-23 14:24:13 +02:00
lenovo-ymc.c platform/x86: lenovo-ymc: Add Lenovo Yoga 7 14ACN6 to ec_trigger_quirk_dmi_table 2023-08-21 13:08:32 +02:00
lenovo-yogabook.c platform/x86: lenovo-yogabook: Rename lenovo-yogabook-wmi to lenovo-yogabook 2023-05-09 12:36:09 +02:00
lg-laptop.c
Makefile platform/x86: inspur-platform-profile: Add platform profile support 2023-10-27 16:14:47 +03:00
meraki-mx100.c
mlx-platform.c Merge branch 'pdx86/platform-drivers-x86-mellanox-init' into review-ilpo 2023-10-06 17:51:21 +03:00
msi-ec.c platform-drivers-x86 for v6.7-1 2023-10-31 17:53:00 -10:00
msi-ec.h platform/x86: msi-ec: rename fn_super_swap 2023-10-09 14:30:11 +03:00
msi-laptop.c platform/x86: msi-laptop: Fix rfkill out-of-sync on MSI Wind U100 2023-07-25 16:35:58 +02:00
msi-wmi.c
mxm-wmi.c
nvidia-wmi-ec-backlight.c
p2sb.c
panasonic-laptop.c
pcengines-apuv2.c platform/x86: pcengines-apuv2: Drop platform:pcengines-apuv2 module-alias 2023-03-16 16:14:52 +01:00
pmc_atom.c
samsung-laptop.c
samsung-q10.c
sel3350-platform.c platform/x86: sel3350-platform: Convert to platform remove callback returning void 2023-09-28 13:26:58 +03:00
serial-multi-instantiate.c ACPI: scan: Create platform device for CS35L56 2023-07-31 16:03:39 +02:00
sony-laptop.c x86: convert to new timestamp accessors 2023-10-18 13:26:16 +02:00
system76_acpi.c platform/x86: system76: Handle new KBLED ACPI methods 2023-07-26 11:00:07 +02:00
think-lmi.c platform-drivers-x86 for v6.7-1 2023-10-31 17:53:00 -10:00
think-lmi.h platform/x86: think-lmi: Add bulk save feature 2023-09-21 18:29:29 +02:00
thinkpad_acpi.c platform-drivers-x86 for v6.7-1 2023-10-31 17:53:00 -10:00
topstar-laptop.c
toshiba_acpi.c platform/x86: toshiba: constify pointers to hwmon_channel_info 2023-05-16 10:36:56 +02:00
toshiba_bluetooth.c
toshiba_haps.c
toshiba-wmi.c
touchscreen_dmi.c platform/x86: touchscreen_dmi: Add info for the Positivo C4128B 2023-10-05 21:07:59 +02:00
uv_sysfs.c
winmate-fm07-keys.c
wireless-hotkey.c
wmi-bmof.c platform/x86: wmi-bmof: Simplify read_bmof() 2023-07-31 16:07:41 +02:00
wmi.c platform/x86: wmi: Decouple WMI device removal from wmi_block_list 2023-10-25 12:46:42 +03:00
xiaomi-wmi.c
xo1-rfkill.c
xo15-ebook.c platform/x86: xo15-ebook: Replace open coded acpi_match_acpi_device() 2023-10-12 16:33:49 +03:00