diff options
Diffstat (limited to 'drivers/video/imsttfb.c')
-rw-r--r-- | drivers/video/imsttfb.c | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/drivers/video/imsttfb.c b/drivers/video/imsttfb.c index 859ba7edfb42..f73c642b50c2 100644 --- a/drivers/video/imsttfb.c +++ b/drivers/video/imsttfb.c | |||
@@ -1372,18 +1372,24 @@ init_imstt(struct fb_info *info) | |||
1372 | write_reg_le32(par->dc_regs, STGCTL, tmp & ~0x1); | 1372 | write_reg_le32(par->dc_regs, STGCTL, tmp & ~0x1); |
1373 | write_reg_le32(par->dc_regs, SSR, 0); | 1373 | write_reg_le32(par->dc_regs, SSR, 0); |
1374 | 1374 | ||
1375 | /* set default values for DAC registers */ | 1375 | /* set default values for DAC registers */ |
1376 | if (par->ramdac == IBM) { | 1376 | if (par->ramdac == IBM) { |
1377 | par->cmap_regs[PPMASK] = 0xff; eieio(); | 1377 | par->cmap_regs[PPMASK] = 0xff; |
1378 | par->cmap_regs[PIDXHI] = 0; eieio(); | 1378 | eieio(); |
1379 | for (i = 0; i < sizeof(ibm_initregs) / sizeof(*ibm_initregs); i++) { | 1379 | par->cmap_regs[PIDXHI] = 0; |
1380 | par->cmap_regs[PIDXLO] = ibm_initregs[i].addr; eieio(); | 1380 | eieio(); |
1381 | par->cmap_regs[PIDXDATA] = ibm_initregs[i].value; eieio(); | 1381 | for (i = 0; i < ARRAY_SIZE(ibm_initregs); i++) { |
1382 | par->cmap_regs[PIDXLO] = ibm_initregs[i].addr; | ||
1383 | eieio(); | ||
1384 | par->cmap_regs[PIDXDATA] = ibm_initregs[i].value; | ||
1385 | eieio(); | ||
1382 | } | 1386 | } |
1383 | } else { | 1387 | } else { |
1384 | for (i = 0; i < sizeof(tvp_initregs) / sizeof(*tvp_initregs); i++) { | 1388 | for (i = 0; i < ARRAY_SIZE(tvp_initregs); i++) { |
1385 | par->cmap_regs[TVPADDRW] = tvp_initregs[i].addr; eieio(); | 1389 | par->cmap_regs[TVPADDRW] = tvp_initregs[i].addr; |
1386 | par->cmap_regs[TVPIDATA] = tvp_initregs[i].value; eieio(); | 1390 | eieio(); |
1391 | par->cmap_regs[TVPIDATA] = tvp_initregs[i].value; | ||
1392 | eieio(); | ||
1387 | } | 1393 | } |
1388 | } | 1394 | } |
1389 | 1395 | ||