aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/via/lcd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/via/lcd.c')
-rw-r--r--drivers/video/via/lcd.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/video/via/lcd.c b/drivers/video/via/lcd.c
index c7de16430867..e99f933faf19 100644
--- a/drivers/video/via/lcd.c
+++ b/drivers/video/via/lcd.c
@@ -833,8 +833,36 @@ void viafb_lcd_disable(void)
833 833
834} 834}
835 835
836static void set_lcd_output_path(int set_iga, int output_interface)
837{
838 switch (output_interface) {
839 case INTERFACE_DFP:
840 if ((UNICHROME_K8M890 == viaparinfo->chip_info->gfx_chip_name)
841 || (UNICHROME_P4M890 ==
842 viaparinfo->chip_info->gfx_chip_name))
843 viafb_write_reg_mask(CR97, VIACR, 0x84,
844 BIT7 + BIT2 + BIT1 + BIT0);
845 case INTERFACE_DVP0:
846 case INTERFACE_DVP1:
847 case INTERFACE_DFP_HIGH:
848 case INTERFACE_DFP_LOW:
849 if (set_iga == IGA2)
850 viafb_write_reg(CR91, VIACR, 0x00);
851 break;
852 }
853}
854
836void viafb_lcd_enable(void) 855void viafb_lcd_enable(void)
837{ 856{
857 viafb_write_reg_mask(CR6B, VIACR, 0x00, BIT3);
858 viafb_write_reg_mask(CR6A, VIACR, 0x08, BIT3);
859 set_lcd_output_path(viaparinfo->lvds_setting_info->iga_path,
860 viaparinfo->chip_info->lvds_chip_info.output_interface);
861 if (viafb_LCD2_ON)
862 set_lcd_output_path(viaparinfo->lvds_setting_info2->iga_path,
863 viaparinfo->chip_info->
864 lvds_chip_info2.output_interface);
865
838 if (viaparinfo->chip_info->gfx_chip_name == UNICHROME_CLE266) { 866 if (viaparinfo->chip_info->gfx_chip_name == UNICHROME_CLE266) {
839 /* DI1 pad on */ 867 /* DI1 pad on */
840 viafb_write_reg_mask(SR1E, VIASR, 0x30, 0x30); 868 viafb_write_reg_mask(SR1E, VIASR, 0x30, 0x30);