Skip to content

Commit

Permalink
drm/nouveau: fix fetching vbios from above 4GiB vram addresses
Browse files Browse the repository at this point in the history
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
  • Loading branch information
Ben Skeggs committed Jun 26, 2011
1 parent 9a11dd6 commit 9617757
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions drivers/gpu/drm/nouveau/nouveau_bios.c
Original file line number Diff line number Diff line change
Expand Up @@ -135,13 +135,14 @@ static void load_vbios_pramin(struct drm_device *dev, uint8_t *data)
int i;

if (dev_priv->card_type >= NV_50) {
uint32_t vbios_vram = (nv_rd32(dev, 0x619f04) & ~0xff) << 8;

if (!vbios_vram)
vbios_vram = (nv_rd32(dev, 0x1700) << 16) + 0xf0000;
u64 addr = (u64)(nv_rd32(dev, 0x619f04) & 0xffffff00) << 8;
if (!addr) {
addr = (u64)nv_rd32(dev, 0x1700) << 16;
addr += 0xf0000;
}

old_bar0_pramin = nv_rd32(dev, 0x1700);
nv_wr32(dev, 0x1700, vbios_vram >> 16);
nv_wr32(dev, 0x1700, addr >> 16);
}

/* bail if no rom signature */
Expand Down

0 comments on commit 9617757

Please sign in to comment.