summaryrefslogtreecommitdiff
path: root/nvkm/subdev/bios/base.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2014-02-24 12:30:06 +1000
committerBen Skeggs <bskeggs@redhat.com>2014-03-26 11:14:16 +1000
commitb2e7ea86eb8cf854a1a382a3ae4fcb3c56c0b888 (patch)
treece680ed14871c5f3062c4e766b3fbf5c82ccec36 /nvkm/subdev/bios/base.c
parent70c1ca3a64ba2e69576a24cc5a0c7c5923509509 (diff)
downloadnouveau-b2e7ea86eb8cf854a1a382a3ae4fcb3c56c0b888.tar.gz
bios/gm100: hw disable register has moved
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'nvkm/subdev/bios/base.c')
-rw-r--r--nvkm/subdev/bios/base.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/nvkm/subdev/bios/base.c b/nvkm/subdev/bios/base.c
index ef0c9c4a8..13bb829f9 100644
--- a/nvkm/subdev/bios/base.c
+++ b/nvkm/subdev/bios/base.c
@@ -90,10 +90,16 @@ nouveau_bios_shadow_pramin(struct nouveau_bios *bios)
int i;
if (device->card_type >= NV_50) {
- if ( device->card_type < NV_C0 ||
- !(nv_rd32(bios, 0x022500) & 0x00000001))
- addr = (u64)(nv_rd32(bios, 0x619f04) & 0xffffff00) << 8;
+ if (device->card_type >= NV_C0 && device->card_type < GM100) {
+ if (nv_rd32(bios, 0x022500) & 0x00000001)
+ return;
+ } else
+ if (device->card_type >= GM100) {
+ if (nv_rd32(bios, 0x021c04) & 0x00000001)
+ return;
+ }
+ addr = (u64)(nv_rd32(bios, 0x619f04) & 0xffffff00) << 8;
if (!addr) {
addr = (u64)nv_rd32(bios, 0x001700) << 16;
addr += 0xf0000;