aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_drv.h
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2011-12-12 08:03:14 -0500
committerBen Skeggs <bskeggs@redhat.com>2012-03-13 03:05:35 -0400
commitff92a6cda74c0a51cb723f5e224124cf74e62f25 (patch)
treeb5973d168c9b2dfcbacfaf9e8bbbc124c7c6d8c5 /drivers/gpu/drm/nouveau/nouveau_drv.h
parentd81c19e312a22bdcebef1370f3af30a146670787 (diff)
drm/nv20-nv40: add memory type detection
NV20/NV30 is partially educated guesswork at this point, based on any information around about available memory types and a horribly unspeakable amount of vbios image scouring. I'm not entirely certain the GDDR3 define is correct, I have not spotted a single vbios with that value yet (though it is mentioned in some 1218-using nv4x vbios), but there are reports that some nv3x did use it.. NV40(100914) confirmed by switching an NV49 to DDR1/DDR2 values and making sure that the binary driver behaviour showed it had detected DDR1/DDR2 instead of GDDR3 before dying horribly. NV40(100474) confirmed by doing much the same task as above on an NV44, except this was *much* easier as changing the values didn't seem to have any noticable effect on the memory controller aside from changing the binary driver's behaviour. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_drv.h')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_drv.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h
index 576b0f67a8ba..59031d308fcc 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drv.h
+++ b/drivers/gpu/drm/nouveau/nouveau_drv.h
@@ -1173,6 +1173,7 @@ extern void nv30_fb_init_tile_region(struct drm_device *dev, int i,
1173extern void nv30_fb_free_tile_region(struct drm_device *dev, int i); 1173extern void nv30_fb_free_tile_region(struct drm_device *dev, int i);
1174 1174
1175/* nv40_fb.c */ 1175/* nv40_fb.c */
1176extern int nv40_fb_vram_init(struct drm_device *dev);
1176extern int nv40_fb_init(struct drm_device *); 1177extern int nv40_fb_init(struct drm_device *);
1177extern void nv40_fb_takedown(struct drm_device *); 1178extern void nv40_fb_takedown(struct drm_device *);
1178extern void nv40_fb_set_tile_region(struct drm_device *dev, int i); 1179extern void nv40_fb_set_tile_region(struct drm_device *dev, int i);