viafb: unify output path configuration

Move all output path routing directly in the viafb_setmode. This
gives a better overview and allows to factor similar parts out.
Signed-off-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Joseph Chan <JosephChan@via.com.tw>
parent 646aafa6
...@@ -208,8 +208,6 @@ void viafb_dvi_set_mode(struct VideoModeTable *mode, int mode_bpp, ...@@ -208,8 +208,6 @@ void viafb_dvi_set_mode(struct VideoModeTable *mode, int mode_bpp,
} }
} }
viafb_fill_crtc_timing(pDviTiming, mode, mode_bpp / 8, set_iga); viafb_fill_crtc_timing(pDviTiming, mode, mode_bpp / 8, set_iga);
viafb_set_output_path(DEVICE_DVI, set_iga,
viaparinfo->chip_info->tmds_chip_info.output_interface);
} }
/* Sense DVI Connector */ /* Sense DVI Connector */
......
...@@ -2377,8 +2377,6 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp, ...@@ -2377,8 +2377,6 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp,
viaparinfo->crt_setting_info->iga_path); viaparinfo->crt_setting_info->iga_path);
} }
set_crt_output_path(viaparinfo->crt_setting_info->iga_path);
/* Patch if set_hres is not 8 alignment (1366) to viafb_setmode /* Patch if set_hres is not 8 alignment (1366) to viafb_setmode
to 8 alignment (1368),there is several pixels (2 pixels) to 8 alignment (1368),there is several pixels (2 pixels)
on right side of screen. */ on right side of screen. */
...@@ -2388,6 +2386,9 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp, ...@@ -2388,6 +2386,9 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp,
viafb_read_reg(VIACR, CR02) - 1); viafb_read_reg(VIACR, CR02) - 1);
viafb_lock_crt(); viafb_lock_crt();
} }
viafb_set_output_path(DEVICE_CRT,
viaparinfo->crt_setting_info->iga_path, 0);
} }
if (viafb_DVI_ON) { if (viafb_DVI_ON) {
...@@ -2407,6 +2408,10 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp, ...@@ -2407,6 +2408,10 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp,
video_bpp, viaparinfo-> video_bpp, viaparinfo->
tmds_setting_info->iga_path); tmds_setting_info->iga_path);
} }
viafb_set_output_path(DEVICE_DVI,
viaparinfo->tmds_setting_info->iga_path,
viaparinfo->chip_info->tmds_chip_info.output_interface);
} }
if (viafb_LCD_ON) { if (viafb_LCD_ON) {
...@@ -2427,6 +2432,11 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp, ...@@ -2427,6 +2432,11 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp,
lvds_setting_info, lvds_setting_info,
&viaparinfo->chip_info->lvds_chip_info); &viaparinfo->chip_info->lvds_chip_info);
} }
viafb_set_output_path(DEVICE_LCD,
viaparinfo->lvds_setting_info->iga_path,
viaparinfo->chip_info->
lvds_chip_info.output_interface);
} }
if (viafb_LCD2_ON) { if (viafb_LCD2_ON) {
if (viafb_SAMM_ON && if (viafb_SAMM_ON &&
...@@ -2446,6 +2456,11 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp, ...@@ -2446,6 +2456,11 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp,
lvds_setting_info2, lvds_setting_info2,
&viaparinfo->chip_info->lvds_chip_info2); &viaparinfo->chip_info->lvds_chip_info2);
} }
viafb_set_output_path(DEVICE_LCD,
viaparinfo->lvds_setting_info2->iga_path,
viaparinfo->chip_info->
lvds_chip_info2.output_interface);
} }
if ((viaparinfo->chip_info->gfx_chip_name == UNICHROME_CX700) if ((viaparinfo->chip_info->gfx_chip_name == UNICHROME_CX700)
......
...@@ -661,9 +661,6 @@ void viafb_lcd_set_mode(struct crt_mode_table *mode_crt_table, ...@@ -661,9 +661,6 @@ void viafb_lcd_set_mode(struct crt_mode_table *mode_crt_table,
pll_D_N = viafb_get_clk_value(panel_crt_table[0].clk); pll_D_N = viafb_get_clk_value(panel_crt_table[0].clk);
DEBUG_MSG(KERN_INFO "PLL=0x%x", pll_D_N); DEBUG_MSG(KERN_INFO "PLL=0x%x", pll_D_N);
viafb_set_vclock(pll_D_N, set_iga); viafb_set_vclock(pll_D_N, set_iga);
viafb_set_output_path(DEVICE_LCD, set_iga,
plvds_chip_info->output_interface);
lcd_patch_skew(plvds_setting_info, plvds_chip_info); lcd_patch_skew(plvds_setting_info, plvds_chip_info);
/* If K8M800, enable LCD Prefetch Mode. */ /* If K8M800, enable LCD Prefetch Mode. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment