summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/core/subdev/fb/nv10.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2012-10-10 01:09:48 (GMT)
committerBen Skeggs <bskeggs@redhat.com>2012-11-28 23:56:29 (GMT)
commit6d338081a6008b3638ca45e0020c5a0cebe362fd (patch)
tree31dbce173142500d9bb74fbeb4d8876c7c61ea7d /drivers/gpu/drm/nouveau/core/subdev/fb/nv10.c
parent5f8e256704e86df795037b18395fdf102b75199e (diff)
downloadlinux-fsl-qoriq-6d338081a6008b3638ca45e0020c5a0cebe362fd.tar.xz
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/nv10.c')
-rw-r--r--drivers/gpu/drm/nouveau/core/subdev/fb/nv10.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv10.c b/drivers/gpu/drm/nouveau/core/subdev/fb/nv10.c
index f037a42..1ecd703 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/fb/nv10.c
+++ b/drivers/gpu/drm/nouveau/core/subdev/fb/nv10.c
@@ -54,6 +54,7 @@ nv10_fb_tile_prog(struct nouveau_fb *pfb, int i, struct nouveau_fb_tile *tile)
nv_wr32(pfb, 0x100244 + (i * 0x10), tile->limit);
nv_wr32(pfb, 0x100248 + (i * 0x10), tile->pitch);
nv_wr32(pfb, 0x100240 + (i * 0x10), tile->addr);
+ nv_rd32(pfb, 0x100240 + (i * 0x10));
}
static int