summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcin Koƛcielnicki <koriakin@0x04.net>2010-02-08 01:20:17 +0100
committerBen Skeggs <bskeggs@redhat.com>2010-02-09 03:50:27 +0100
commit9967b9481d2387af4dbe5ceda7a209466ba004a0 (patch)
tree89a771eedfc71c760aab4ddcce41898b31e7cb35
parentdrm/nouveau: Fix fbcon on mixed pre-NV50 + NV50 multicard. (diff)
downloadlinux-9967b9481d2387af4dbe5ceda7a209466ba004a0.tar.xz
linux-9967b9481d2387af4dbe5ceda7a209466ba004a0.zip
drm/nouveau: Add proper vgaarb support.
Signed-off-by: Marcin Koƛcielnicki <koriakin@0x04.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_state.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c b/drivers/gpu/drm/nouveau/nouveau_state.c
index fcd7610817a1..a4851af5b05e 100644
--- a/drivers/gpu/drm/nouveau/nouveau_state.c
+++ b/drivers/gpu/drm/nouveau/nouveau_state.c
@@ -310,6 +310,14 @@ static int nouveau_init_engine_ptrs(struct drm_device *dev)
static unsigned int
nouveau_vga_set_decode(void *priv, bool state)
{
+ struct drm_device *dev = priv;
+ struct drm_nouveau_private *dev_priv = dev->dev_private;
+
+ if (dev_priv->chipset >= 0x40)
+ nv_wr32(dev, 0x88054, state);
+ else
+ nv_wr32(dev, 0x1854, state);
+
if (state)
return VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM |
VGA_RSRC_NORMAL_IO | VGA_RSRC_NORMAL_MEM;