|
@@ -505,16 +505,24 @@ ngleSetupAttrPlanes(struct stifb_info *fb, int BufferNumber)
|
|
|
static void
|
|
|
rattlerSetupPlanes(struct stifb_info *fb)
|
|
|
{
|
|
|
+ int saved_id, y;
|
|
|
+
|
|
|
+ /* Write RAMDAC pixel read mask register so all overlay
|
|
|
+ * planes are display-enabled. (CRX24 uses Bt462 pixel
|
|
|
+ * read mask register for overlay planes, not image planes).
|
|
|
+ */
|
|
|
CRX24_SETUP_RAMDAC(fb);
|
|
|
|
|
|
- /* replacement for: SETUP_FB(fb, CRX24_OVERLAY_PLANES); */
|
|
|
- WRITE_WORD(0x83000300, fb, REG_14);
|
|
|
- SETUP_HW(fb);
|
|
|
- WRITE_BYTE(1, fb, REG_16b1);
|
|
|
+ /* change fb->id temporarily to fool SETUP_FB() */
|
|
|
+ saved_id = fb->id;
|
|
|
+ fb->id = CRX24_OVERLAY_PLANES;
|
|
|
+ SETUP_FB(fb);
|
|
|
+ fb->id = saved_id;
|
|
|
+
|
|
|
+ for (y = 0; y < fb->info.var.yres; ++y)
|
|
|
+ memset(fb->info.screen_base + y * fb->info.fix.line_length,
|
|
|
+ 0xff, fb->info.var.xres * fb->info.var.bits_per_pixel/8);
|
|
|
|
|
|
- fb_memset((void*)fb->info.fix.smem_start, 0xff,
|
|
|
- fb->info.var.yres*fb->info.fix.line_length);
|
|
|
-
|
|
|
CRX24_SET_OVLY_MASK(fb);
|
|
|
SETUP_FB(fb);
|
|
|
}
|