aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/core/subdev/fb/nv44.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2012-10-10 11:09:48 +1000
committerBen Skeggs <bskeggs@redhat.com>2012-11-29 09:56:29 +1000
commit6d338081a6008b3638ca45e0020c5a0cebe362fd (patch)
tree31dbce173142500d9bb74fbeb4d8876c7c61ea7d /drivers/gpu/drm/nouveau/core/subdev/fb/nv44.c
parentdrm/nv40/fb: start bashing zcomp registers on relevant chipsets (diff)
downloadlinux-dev-6d338081a6008b3638ca45e0020c5a0cebe362fd.tar.xz
linux-dev-6d338081a6008b3638ca45e0020c5a0cebe362fd.zip
drm/nouveau/fb: read TILE_BASE after writing it to avoid a hardware race
Apparently needed for turbocache nv4x chips at least, we'll just do it everywhere... Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/core/subdev/fb/nv44.c')
-rw-r--r--drivers/gpu/drm/nouveau/core/subdev/fb/nv44.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv44.c b/drivers/gpu/drm/nouveau/core/subdev/fb/nv44.c
index c62a07781fe9..538b0de8152b 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/fb/nv44.c
+++ b/drivers/gpu/drm/nouveau/core/subdev/fb/nv44.c
@@ -46,6 +46,7 @@ nv44_fb_tile_prog(struct nouveau_fb *pfb, int i, struct nouveau_fb_tile *tile)
nv_wr32(pfb, 0x100604 + (i * 0x10), tile->limit);
nv_wr32(pfb, 0x100608 + (i * 0x10), tile->pitch);
nv_wr32(pfb, 0x100600 + (i * 0x10), tile->addr);
+ nv_rd32(pfb, 0x100600 + (i * 0x10));
}
int