aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2013-12-02 23:45:03 -0500
committerBen Skeggs <bskeggs@redhat.com>2014-01-22 22:39:05 -0500
commitb13d0e4a9323939c4051eda9e7d1623298bb2102 (patch)
tree4109eae5c681ca60848d31427b21800a1ed6326f
parentc814a60dbe320a41a0f4fa082815931fac986e93 (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.h1
-rw-r--r--drivers/gpu/drm/nouveau/core/subdev/bios/rammap.c1
-rw-r--r--drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c8
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;