summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_bios.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2010-05-26 10:41:45 +1000
committerBen Skeggs <bskeggs@redhat.com>2010-05-28 16:06:36 +1000
commit73db4bedc5dde97adf59b5b5a07c6cf0ee56e668 (patch)
treee15f58bb72651a2017b2a0df67a068f09338b183 /drivers/gpu/drm/nouveau/nouveau_bios.c
parentf50c0b91e7718e7deda46475cfd0ea1413daed04 (diff)
downloadtalos-op-linux-73db4bedc5dde97adf59b5b5a07c6cf0ee56e668.tar.gz
talos-op-linux-73db4bedc5dde97adf59b5b5a07c6cf0ee56e668.zip
drm/nouveau: don't execute INIT_GPIO unless we're really running the table
This resulted in accidently switching off the eDP panel on certain laptops since the default state in the GPIO table was off. Fixes rh#582621 Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_bios.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_bios.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c
index 620cbd9767cc..b3c7a87e47d9 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bios.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
@@ -2807,7 +2807,10 @@ init_gpio(struct nvbios *bios, uint16_t offset, struct init_exec *iexec)
BIOSLOG(bios, "0x%04X: Entry: 0x%08X\n", offset, gpio->entry);
- nv50_gpio_set(bios->dev, gpio->tag, gpio->state_default);
+ BIOSLOG(bios, "0x%04X: set gpio 0x%02x, state %d\n",
+ offset, gpio->tag, gpio->state_default);
+ if (bios->execute)
+ nv50_gpio_set(bios->dev, gpio->tag, gpio->state_default);
/* The NVIDIA binary driver doesn't appear to actually do
* any of this, my VBIOS does however.
OpenPOWER on IntegriCloud