diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2011-12-12 08:03:14 -0500 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2012-03-13 03:05:35 -0400 |
commit | ff92a6cda74c0a51cb723f5e224124cf74e62f25 (patch) | |
tree | b5973d168c9b2dfcbacfaf9e8bbbc124c7c6d8c5 /drivers/gpu/drm/nouveau/nouveau_drv.h | |
parent | d81c19e312a22bdcebef1370f3af30a146670787 (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.h | 1 |
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, | |||
1173 | extern void nv30_fb_free_tile_region(struct drm_device *dev, int i); | 1173 | extern void nv30_fb_free_tile_region(struct drm_device *dev, int i); |
1174 | 1174 | ||
1175 | /* nv40_fb.c */ | 1175 | /* nv40_fb.c */ |
1176 | extern int nv40_fb_vram_init(struct drm_device *dev); | ||
1176 | extern int nv40_fb_init(struct drm_device *); | 1177 | extern int nv40_fb_init(struct drm_device *); |
1177 | extern void nv40_fb_takedown(struct drm_device *); | 1178 | extern void nv40_fb_takedown(struct drm_device *); |
1178 | extern void nv40_fb_set_tile_region(struct drm_device *dev, int i); | 1179 | extern void nv40_fb_set_tile_region(struct drm_device *dev, int i); |