aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2013-12-03 00:40:18 -0500
committerBen Skeggs <bskeggs@redhat.com>2014-01-22 22:39:06 -0500
commitcb54dd2f8e88d39842c338ad0041d9d528dfd6ee (patch)
treeef501bc3771430b4d0d700ca2ab2e2c76b7be50c
parentb13d0e4a9323939c4051eda9e7d1623298bb2102 (diff)
drm/nve0/fb/gddr5: merge a fix from ddr3 for one of the timing settings
Titan. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c b/drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c
index 91d9fe68ed6a..025c291514db 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c
+++ b/drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c
@@ -569,7 +569,10 @@ nve0_ram_calc_gddr5(struct nouveau_fb *pfb, u32 freq)
569 ram_mask(fuc, 0x100778, 0x00000700, data); 569 ram_mask(fuc, 0x100778, 0x00000700, data);
570 570
571 ram_mask(fuc, 0x10f250, 0x000003f0, next->bios.timing_20_2c_003f << 4); 571 ram_mask(fuc, 0x10f250, 0x000003f0, next->bios.timing_20_2c_003f << 4);
572 ram_mask(fuc, 0x10f24c, 0x7f000000, next->bios.timing_20_2c_1fc0 << 24); 572 data = (next->bios.timing[10] & 0x7f000000) >> 24;
573 if (data < next->bios.timing_20_2c_1fc0)
574 data = next->bios.timing_20_2c_1fc0;
575 ram_mask(fuc, 0x10f24c, 0x7f000000, data << 24);
573 ram_mask(fuc, 0x10f224, 0x001f0000, next->bios.timing_20_30_f8 << 16); 576 ram_mask(fuc, 0x10f224, 0x001f0000, next->bios.timing_20_30_f8 << 16);
574 577
575 ram_mask(fuc, 0x10fec4, 0x041e0f07, next->bios.timing_20_31_0800 << 26 | 578 ram_mask(fuc, 0x10fec4, 0x041e0f07, next->bios.timing_20_31_0800 << 26 |
@@ -869,7 +872,7 @@ nve0_ram_calc_sddr3(struct nouveau_fb *pfb, u32 freq)
869 ram_mask(fuc, 0x10f250, 0x000003f0, next->bios.timing_20_2c_003f << 4); 872 ram_mask(fuc, 0x10f250, 0x000003f0, next->bios.timing_20_2c_003f << 4);
870 873
871 data = (next->bios.timing[10] & 0x7f000000) >> 24; 874 data = (next->bios.timing[10] & 0x7f000000) >> 24;
872 if ( next->bios.timing_20_2c_1fc0 > data) 875 if (data < next->bios.timing_20_2c_1fc0)
873 data = next->bios.timing_20_2c_1fc0; 876 data = next->bios.timing_20_2c_1fc0;
874 ram_mask(fuc, 0x10f24c, 0x7f000000, data << 24); 877 ram_mask(fuc, 0x10f24c, 0x7f000000, data << 24);
875 878