summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2011-10-28 10:59:45 +1000
committerBen Skeggs <bskeggs@redhat.com>2011-11-10 09:01:53 +1000
commit4c5df493eb30089ff0b8d03a50a86293f758a786 (patch)
tree6e82e388d4bd1dbc3c49bb7a46b4564e621b1fd6
parentaf6d9fe5368aadd8f0f3647b38405ffcd3ed5f81 (diff)
downloadlinux-4c5df493eb30089ff0b8d03a50a86293f758a786.tar.bz2
drm/nvc1: hacky workaround to fix accel issues
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 2afd5b13dc46..9a5ab6121b8e 100644
--- a/drivers/gpu/drm/nouveau/nouveau_state.c
+++ b/drivers/gpu/drm/nouveau/nouveau_state.c
@@ -579,6 +579,14 @@ nouveau_card_init(struct drm_device *dev)
if (ret)
goto out_display_early;
+ /* workaround an odd issue on nvc1 by disabling the device's
+ * nosnoop capability. hopefully won't cause issues until a
+ * better fix is found - assuming there is one...
+ */
+ if (dev_priv->chipset == 0xc1) {
+ nv_mask(dev, 0x00088080, 0x00000800, 0x00000000);
+ }
+
nouveau_pm_init(dev);
ret = engine->vram.init(dev);