]> git.baikalelectronics.ru Git - kernel.git/commit
apple-gmux: lock iGP IO to protect from vgaarb changes
authorBruno Prémont <bonbons@linux-vserver.org>
Wed, 11 Mar 2015 21:34:45 +0000 (22:34 +0100)
committerDarren Hart <dvhart@linux.intel.com>
Thu, 19 Mar 2015 03:44:44 +0000 (20:44 -0700)
commitc1a515dd2dd4faab263c1fe5f4088bbc8a7f2375
treea2c2b9a03f8a38596b3362022e1a804de96c71e9
parenta54afc80579b583a9e508a93b8215bff8d41a0b1
apple-gmux: lock iGP IO to protect from vgaarb changes

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: ce027dac592c0ada241ce0f95ae65856828ac450 # 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>
drivers/platform/x86/apple-gmux.c