These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / gpu / drm / nouveau / nvkm / subdev / fb / sddr2.c
index afab42d..b9f1ffd 100644 (file)
@@ -65,7 +65,7 @@ nvkm_sddr2_calc(struct nvkm_ram *ram)
        case 0x10:
                CL  = ram->next->bios.timing_10_CL;
                WR  = ram->next->bios.timing_10_WR;
-               DLL = !ram->next->bios.ramcfg_10_DLLoff;
+               DLL = !ram->next->bios.ramcfg_DLLoff;
                ODT = ram->next->bios.timing_10_ODT & 3;
                break;
        case 0x20:
@@ -76,6 +76,12 @@ nvkm_sddr2_calc(struct nvkm_ram *ram)
                return -ENOSYS;
        }
 
+       if (ram->next->bios.timing_ver == 0x20 ||
+           ram->next->bios.ramcfg_timing == 0xff) {
+               ODT =  (ram->mr[1] & 0x004) >> 2 |
+                      (ram->mr[1] & 0x040) >> 5;
+       }
+
        CL  = ramxlat(ramddr2_cl, CL);
        WR  = ramxlat(ramddr2_wr, WR);
        if (CL < 0 || WR < 0)