Browse Source

drm/radeon/kms: don't read attempt to read bios from VRAM on unposted GPU.

Since the VGA switcheroo, we'd attempt to read the BIOS from VRAM on startup
but on some unposted cards this can cause hangs/crashes.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=28592

(further problem pointed out by agd5f on IGP systems)

Reported-by: Reilithion on #radeon
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie 15 years ago
parent
commit
8b5d8dec7c
1 changed files with 4 additions and 0 deletions
  1. 4 0
      drivers/gpu/drm/radeon/radeon_bios.c

+ 4 - 0
drivers/gpu/drm/radeon/radeon_bios.c

@@ -48,6 +48,10 @@ static bool igp_read_bios_from_vram(struct radeon_device *rdev)
 	resource_size_t vram_base;
 	resource_size_t vram_base;
 	resource_size_t size = 256 * 1024; /* ??? */
 	resource_size_t size = 256 * 1024; /* ??? */
 
 
+	if (!(rdev->flags & RADEON_IS_IGP))
+		if (!radeon_card_posted(rdev))
+			return false;
+
 	rdev->bios = NULL;
 	rdev->bios = NULL;
 	vram_base = drm_get_resource_start(rdev->ddev, 0);
 	vram_base = drm_get_resource_start(rdev->ddev, 0);
 	bios = ioremap(vram_base, size);
 	bios = ioremap(vram_base, size);