linux-stable/drivers/platform
Gwendal Grignou 96e08fb285 platform/x86: intel-vbtn: Update tablet mode switch at end of probe
[ Upstream commit 434e5781d8 ]

ACER Vivobook Flip (TP401NAS) virtual intel switch is implemented as
follow:

   Device (VGBI)
   {
       Name (_HID, EisaId ("INT33D6") ...
       Name (VBDS, Zero)
       Method (_STA, 0, Serialized)  // _STA: Status ...
       Method (VBDL, 0, Serialized)
       {
           PB1E |= 0x20
           VBDS |= 0x40
       }
       Method (VGBS, 0, Serialized)
       {
           Return (VBDS) /* \_SB_.PCI0.SBRG.EC0_.VGBI.VBDS */
       }
       ...
    }

By default VBDS is set to 0. At boot it is set to clamshell (bit 6 set)
only after method VBDL is executed.

Since VBDL is now evaluated in the probe routine later, after the device
is registered, the retrieved value of VBDS was still 0 ("tablet mode")
when setting up the virtual switch.

Make sure to evaluate VGBS after VBDL, to ensure the
convertible boots in clamshell mode, the expected default.

Fixes: 26173179fa ("platform/x86: intel-vbtn: Eval VBDL after registering our notifier")
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20240329143206.2977734-3-gwendal@chromium.org
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 13:10:12 +02:00
..
chrome TTY/Serial changes for 6.8-rc1 2024-01-18 11:37:24 -08:00
goldfish platform/goldfish: goldfish_pipe: Convert to platform remove callback returning void 2023-11-28 19:03:24 +00:00
loongarch
mellanox platform/mellanox: mlxbf-pmc: Fix offset calculation for crspace events 2024-01-22 12:22:27 +01:00
mips mips: rs870e: stop exporting local functions 2023-12-10 17:21:39 -08:00
olpc platform/olpc: olpc-xo175-ec: Use SPI device ID data to bind device 2023-03-20 14:43:35 +01:00
surface TTY/Serial changes for 6.8-rc1 2024-01-18 11:37:24 -08:00
x86 platform/x86: intel-vbtn: Update tablet mode switch at end of probe 2024-04-13 13:10:12 +02:00
Kconfig platform/mips: Adjust Kconfig to keep consistency 2022-12-08 11:51:52 +01:00
Makefile