Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5ff55717 authored by Dave Airlie's avatar Dave Airlie
Browse files

drm/radeon/kms: fix r300 vram width calculations



This was incorrect according to the docs and the UMS driver does
it like this.

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent a17538f9
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -506,11 +506,14 @@ void r300_vram_info(struct radeon_device *rdev)

	/* DDR for all card after R300 & IGP */
	rdev->mc.vram_is_ddr = true;

	tmp = RREG32(RADEON_MEM_CNTL);
	if (tmp & R300_MEM_NUM_CHANNELS_MASK) {
		rdev->mc.vram_width = 128;
	} else {
		rdev->mc.vram_width = 64;
	tmp &= R300_MEM_NUM_CHANNELS_MASK;
	switch (tmp) {
	case 0: rdev->mc.vram_width = 64; break;
	case 1: rdev->mc.vram_width = 128; break;
	case 2: rdev->mc.vram_width = 256; break;
	default:  rdev->mc.vram_width = 128; break;
	}

	r100_vram_init_sizes(rdev);