aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/nouveau/core/subdev/fb/ramnva3.c32
1 files changed, 17 insertions, 15 deletions
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnva3.c b/drivers/gpu/drm/nouveau/core/subdev/fb/ramnva3.c
index 503e09b14e1b..6eb97f16fbda 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnva3.c
+++ b/drivers/gpu/drm/nouveau/core/subdev/fb/ramnva3.c
@@ -335,21 +335,23 @@ nva3_ram_init(struct nouveau_object *object)
335 /* prepare for ddr link training, and load training patterns */ 335 /* prepare for ddr link training, and load training patterns */
336 switch (ram->base.type) { 336 switch (ram->base.type) {
337 case NV_MEM_TYPE_DDR3: { 337 case NV_MEM_TYPE_DDR3: {
338 static const u32 pattern[16] = { 338 if (nv_device(pfb)->chipset == 0xa8) {
339 0xaaaaaaaa, 0xcccccccc, 0xdddddddd, 0xeeeeeeee, 339 static const u32 pattern[16] = {
340 0x00000000, 0x11111111, 0x44444444, 0xdddddddd, 340 0xaaaaaaaa, 0xcccccccc, 0xdddddddd, 0xeeeeeeee,
341 0x33333333, 0x55555555, 0x77777777, 0x66666666, 341 0x00000000, 0x11111111, 0x44444444, 0xdddddddd,
342 0x99999999, 0x88888888, 0xeeeeeeee, 0xbbbbbbbb, 342 0x33333333, 0x55555555, 0x77777777, 0x66666666,
343 }; 343 0x99999999, 0x88888888, 0xeeeeeeee, 0xbbbbbbbb,
344 344 };
345 nv_wr32(pfb, 0x100538, 0x10001ff6); /*XXX*/ 345
346 nv_wr32(pfb, 0x1005a8, 0x0000ffff); 346 nv_wr32(pfb, 0x100538, 0x10001ff6); /*XXX*/
347 nv_mask(pfb, 0x10f800, 0x00000001, 0x00000001); 347 nv_wr32(pfb, 0x1005a8, 0x0000ffff);
348 for (i = 0; i < 0x30; i++) { 348 nv_mask(pfb, 0x10f800, 0x00000001, 0x00000001);
349 nv_wr32(pfb, 0x10f8c0, (i << 8) | i); 349 for (i = 0; i < 0x30; i++) {
350 nv_wr32(pfb, 0x10f8e0, (i << 8) | i); 350 nv_wr32(pfb, 0x10f8c0, (i << 8) | i);
351 nv_wr32(pfb, 0x10f900, pattern[i % 16]); 351 nv_wr32(pfb, 0x10f8e0, (i << 8) | i);
352 nv_wr32(pfb, 0x10f920, pattern[i % 16]); 352 nv_wr32(pfb, 0x10f900, pattern[i % 16]);
353 nv_wr32(pfb, 0x10f920, pattern[i % 16]);
354 }
353 } 355 }
354 } 356 }
355 break; 357 break;