platform/x86: apple-gmux: use first bit to check switch state
authorOrlando Chamberlain <orlandoch.dev@gmail.com>
Fri, 3 Mar 2023 11:28:40 +0000 (22:28 +1100)
committerHans de Goede <hdegoede@redhat.com>
Thu, 16 Mar 2023 10:02:00 +0000 (11:02 +0100)
commit90caf1dfe9efb727874bcafd30fefb0807cb7670
treec9aca0c95e77949fcab124a62d0d5c7320b1f79a
parentfe15c26ee26efa11741a7b632e9f23b01aca4cc6
platform/x86: apple-gmux: use first bit to check switch state

On T2 Macs with MMIO gmux, when GMUX_PORT_SWITCH_DISPLAY is read, it can
have values of 2, 3, 4, and 5. Odd values correspond to the discrete gpu,
and even values correspond to the integrated gpu. The current logic is
that only 2 corresponds to IGD, but this doesn't work for T2 Macs.
Instead, check the first bit to determine the connected gpu.

As T2 Macs with gmux only can switch the internal display, it is
untested if this change (or a similar change) would be applicable
to GMUX_PORT_SWITCH_DDC and GMUX_PORT_SWITCH_EXTERNAL.

Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Orlando Chamberlain <orlandoch.dev@gmail.com>
Link: https://lore.kernel.org/r/20230303112842.3094-2-orlandoch.dev@gmail.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/x86/apple-gmux.c