linux/drivers/platform
Bruno Prémont 126c7689c5 apple-gmux: lock iGP IO to protect from vgaarb changes
commit 4eebd5a4e7 upstream.

As GMUX depends on IO for iGP to be enabled and active, lock the IO at
vgaarb level. This should prevent GPU driver for dGPU to disable IO for
iGP while it tries to own legacy VGA IO.

This fixes usage of backlight control combined with closed nvidia
driver on some Apple dual-GPU (intel/nvidia) systems.

On those systems loading nvidia driver disables intel IO decoding,
disabling the gmux backlight controls as a side effect.
Prior to commits moving boot_vga from (optional) efifb to less optional
vgaarb this mis-behavior could be avoided by using right kernel config
(efifb enabled but vgaarb disabled).

This patch explicitly does not try to trigger vgaarb changes in order
to avoid confusing already running graphics drivers. If IO has been
mis-configured by vgaarb gmux will thus fail to probe.
It is expected to load/probe gmux prior to graphics drivers.

Fixes: ce027dac59 # nvidia interaction
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=86121
Reported-by: Petri Hodju <petrihodju@yahoo.com>
Tested-by: Petri Hodju <petrihodju@yahoo.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Matthew Garrett <matthew.garrett@nebula.com>
Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
History 2015-05-06 11:33:00 +01:00
..
chrome platform/chrome: Add support for the acer c720p touchscreen. 2015-01-15 10:44:57 +00:00
goldfish goldfish: pipe: fix warnings for 32bit builds 2014-05-16 11:32:51 -07:00
olpc drivers/platform/olpc/olpc-ec.c: initialise earlier 2013-08-23 09:51:22 -07:00
x86 apple-gmux: lock iGP IO to protect from vgaarb changes 2015-05-06 11:33:00 +01:00
Kconfig platform: add chrome platform directory 2013-11-20 18:51:03 -05:00
Makefile platform: add chrome platform directory 2013-11-20 18:51:03 -05:00