diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2013-12-02 23:45:03 -0500 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2014-01-22 22:39:05 -0500 |
commit | b13d0e4a9323939c4051eda9e7d1623298bb2102 (patch) | |
tree | 4109eae5c681ca60848d31427b21800a1ed6326f | |
parent | c814a60dbe320a41a0f4fa082815931fac986e93 (diff) |
drm/nve0/fb/gddr5: yet another random 10f200 bit
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r-- | drivers/gpu/drm/nouveau/core/include/subdev/bios/ramcfg.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/core/subdev/bios/rammap.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c | 8 |
3 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/ramcfg.h b/drivers/gpu/drm/nouveau/core/include/subdev/bios/ramcfg.h index c364392a51d0..c5e6d1e6ac1d 100644 --- a/drivers/gpu/drm/nouveau/core/include/subdev/bios/ramcfg.h +++ b/drivers/gpu/drm/nouveau/core/include/subdev/bios/ramcfg.h | |||
@@ -40,6 +40,7 @@ struct nvbios_ramcfg { | |||
40 | unsigned ramcfg_11_08_04:1; | 40 | unsigned ramcfg_11_08_04:1; |
41 | unsigned ramcfg_11_08_08:1; | 41 | unsigned ramcfg_11_08_08:1; |
42 | unsigned ramcfg_11_08_10:1; | 42 | unsigned ramcfg_11_08_10:1; |
43 | unsigned ramcfg_11_08_20:1; | ||
43 | unsigned ramcfg_11_09:8; | 44 | unsigned ramcfg_11_09:8; |
44 | 45 | ||
45 | unsigned timing[11]; | 46 | unsigned timing[11]; |
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/rammap.c b/drivers/gpu/drm/nouveau/core/subdev/bios/rammap.c index f13aeead52ac..1811b2cb0472 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/bios/rammap.c +++ b/drivers/gpu/drm/nouveau/core/subdev/bios/rammap.c | |||
@@ -162,6 +162,7 @@ nvbios_rammapSp(struct nouveau_bios *bios, u32 data, | |||
162 | p->ramcfg_11_08_04 = (nv_ro08(bios, data + 0x08) & 0x04) >> 2; | 162 | p->ramcfg_11_08_04 = (nv_ro08(bios, data + 0x08) & 0x04) >> 2; |
163 | p->ramcfg_11_08_08 = (nv_ro08(bios, data + 0x08) & 0x08) >> 3; | 163 | p->ramcfg_11_08_08 = (nv_ro08(bios, data + 0x08) & 0x08) >> 3; |
164 | p->ramcfg_11_08_10 = (nv_ro08(bios, data + 0x08) & 0x10) >> 4; | 164 | p->ramcfg_11_08_10 = (nv_ro08(bios, data + 0x08) & 0x10) >> 4; |
165 | p->ramcfg_11_08_20 = (nv_ro08(bios, data + 0x08) & 0x20) >> 5; | ||
165 | p->ramcfg_11_09 = (nv_ro08(bios, data + 0x09) & 0xff) >> 0; | 166 | p->ramcfg_11_09 = (nv_ro08(bios, data + 0x09) & 0xff) >> 0; |
166 | break; | 167 | break; |
167 | default: | 168 | default: |
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c b/drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c index 9a79da908d72..91d9fe68ed6a 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c +++ b/drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c | |||
@@ -477,6 +477,14 @@ nve0_ram_calc_gddr5(struct nouveau_fb *pfb, u32 freq) | |||
477 | ram_mask(fuc, 0x10f2e8, 0xffffffff, next->bios.timing[9]); | 477 | ram_mask(fuc, 0x10f2e8, 0xffffffff, next->bios.timing[9]); |
478 | 478 | ||
479 | data = mask = 0x00000000; | 479 | data = mask = 0x00000000; |
480 | if (NOTE00(ramcfg_08_20)) { | ||
481 | if (next->bios.ramcfg_11_08_20) | ||
482 | data |= 0x01000000; | ||
483 | mask |= 0x01000000; | ||
484 | } | ||
485 | ram_mask(fuc, 0x10f200, mask, data); | ||
486 | |||
487 | data = mask = 0x00000000; | ||
480 | if (NOTE00(ramcfg_02_03 != 0)) { | 488 | if (NOTE00(ramcfg_02_03 != 0)) { |
481 | data |= (next->bios.ramcfg_11_02_03) << 8; | 489 | data |= (next->bios.ramcfg_11_02_03) << 8; |
482 | mask |= 0x00000300; | 490 | mask |= 0x00000300; |