|
@@ -115,6 +115,52 @@ static int nocursor = 0;
|
|
module_param(nocursor, int, 0644);
|
|
module_param(nocursor, int, 0644);
|
|
MODULE_PARM_DESC(nocursor, "cursor enable/disable");
|
|
MODULE_PARM_DESC(nocursor, "cursor enable/disable");
|
|
|
|
|
|
|
|
+/* fb_blank
|
|
|
|
+ * Blank the screen. Depending on the mode, the screen will be
|
|
|
|
+ * activated with the backlight color, or desactivated
|
|
|
|
+ */
|
|
|
|
+static int au1100fb_fb_blank(int blank_mode, struct fb_info *fbi)
|
|
|
|
+{
|
|
|
|
+ struct au1100fb_device *fbdev = to_au1100fb_device(fbi);
|
|
|
|
+
|
|
|
|
+ print_dbg("fb_blank %d %p", blank_mode, fbi);
|
|
|
|
+
|
|
|
|
+ switch (blank_mode) {
|
|
|
|
+
|
|
|
|
+ case VESA_NO_BLANKING:
|
|
|
|
+ /* Turn on panel */
|
|
|
|
+ fbdev->regs->lcd_control |= LCD_CONTROL_GO;
|
|
|
|
+#ifdef CONFIG_MIPS_PB1100
|
|
|
|
+ if (drv_info.panel_idx == 1) {
|
|
|
|
+ au_writew(au_readw(PB1100_G_CONTROL)
|
|
|
|
+ | (PB1100_G_CONTROL_BL | PB1100_G_CONTROL_VDD),
|
|
|
|
+ PB1100_G_CONTROL);
|
|
|
|
+ }
|
|
|
|
+#endif
|
|
|
|
+ au_sync();
|
|
|
|
+ break;
|
|
|
|
+
|
|
|
|
+ case VESA_VSYNC_SUSPEND:
|
|
|
|
+ case VESA_HSYNC_SUSPEND:
|
|
|
|
+ case VESA_POWERDOWN:
|
|
|
|
+ /* Turn off panel */
|
|
|
|
+ fbdev->regs->lcd_control &= ~LCD_CONTROL_GO;
|
|
|
|
+#ifdef CONFIG_MIPS_PB1100
|
|
|
|
+ if (drv_info.panel_idx == 1) {
|
|
|
|
+ au_writew(au_readw(PB1100_G_CONTROL)
|
|
|
|
+ & ~(PB1100_G_CONTROL_BL | PB1100_G_CONTROL_VDD),
|
|
|
|
+ PB1100_G_CONTROL);
|
|
|
|
+ }
|
|
|
|
+#endif
|
|
|
|
+ au_sync();
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ break;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ return 0;
|
|
|
|
+}
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* Set hardware with var settings. This will enable the controller with a specific
|
|
* Set hardware with var settings. This will enable the controller with a specific
|
|
* mode, normally validated with the fb_check_var method
|
|
* mode, normally validated with the fb_check_var method
|
|
@@ -272,52 +318,6 @@ int au1100fb_fb_setcolreg(unsigned regno, unsigned red, unsigned green, unsigned
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-/* fb_blank
|
|
|
|
- * Blank the screen. Depending on the mode, the screen will be
|
|
|
|
- * activated with the backlight color, or desactivated
|
|
|
|
- */
|
|
|
|
-int au1100fb_fb_blank(int blank_mode, struct fb_info *fbi)
|
|
|
|
-{
|
|
|
|
- struct au1100fb_device *fbdev = to_au1100fb_device(fbi);
|
|
|
|
-
|
|
|
|
- print_dbg("fb_blank %d %p", blank_mode, fbi);
|
|
|
|
-
|
|
|
|
- switch (blank_mode) {
|
|
|
|
-
|
|
|
|
- case VESA_NO_BLANKING:
|
|
|
|
- /* Turn on panel */
|
|
|
|
- fbdev->regs->lcd_control |= LCD_CONTROL_GO;
|
|
|
|
-#ifdef CONFIG_MIPS_PB1100
|
|
|
|
- if (drv_info.panel_idx == 1) {
|
|
|
|
- au_writew(au_readw(PB1100_G_CONTROL)
|
|
|
|
- | (PB1100_G_CONTROL_BL | PB1100_G_CONTROL_VDD),
|
|
|
|
- PB1100_G_CONTROL);
|
|
|
|
- }
|
|
|
|
-#endif
|
|
|
|
- au_sync();
|
|
|
|
- break;
|
|
|
|
-
|
|
|
|
- case VESA_VSYNC_SUSPEND:
|
|
|
|
- case VESA_HSYNC_SUSPEND:
|
|
|
|
- case VESA_POWERDOWN:
|
|
|
|
- /* Turn off panel */
|
|
|
|
- fbdev->regs->lcd_control &= ~LCD_CONTROL_GO;
|
|
|
|
-#ifdef CONFIG_MIPS_PB1100
|
|
|
|
- if (drv_info.panel_idx == 1) {
|
|
|
|
- au_writew(au_readw(PB1100_G_CONTROL)
|
|
|
|
- & ~(PB1100_G_CONTROL_BL | PB1100_G_CONTROL_VDD),
|
|
|
|
- PB1100_G_CONTROL);
|
|
|
|
- }
|
|
|
|
-#endif
|
|
|
|
- au_sync();
|
|
|
|
- break;
|
|
|
|
- default:
|
|
|
|
- break;
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- return 0;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
/* fb_pan_display
|
|
/* fb_pan_display
|
|
* Pan display in x and/or y as specified
|
|
* Pan display in x and/or y as specified
|
|
*/
|
|
*/
|