diff options
author | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2010-08-08 02:14:59 +0000 |
---|---|---|
committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2010-09-24 02:14:36 +0000 |
commit | 414d3ce1b34384dd42e31536075583b9edb3cab6 (patch) | |
tree | db999b3da587eeb55cf15a27068d0a58b3f4293c /drivers/video/via | |
parent | 646aafa649abb5362e55176cc5ee9c14c3c463a1 (diff) | |
download | linux-414d3ce1b34384dd42e31536075583b9edb3cab6.tar.gz linux-414d3ce1b34384dd42e31536075583b9edb3cab6.tar.bz2 linux-414d3ce1b34384dd42e31536075583b9edb3cab6.zip |
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: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Joseph Chan <JosephChan@via.com.tw>
Diffstat (limited to 'drivers/video/via')
-rw-r--r-- | drivers/video/via/dvi.c | 2 | ||||
-rw-r--r-- | drivers/video/via/hw.c | 19 | ||||
-rw-r--r-- | drivers/video/via/lcd.c | 3 |
3 files changed, 17 insertions, 7 deletions
diff --git a/drivers/video/via/dvi.c b/drivers/video/via/dvi.c index 39b040bb3817..92a2027593d3 100644 --- a/drivers/video/via/dvi.c +++ b/drivers/video/via/dvi.c @@ -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_set_output_path(DEVICE_DVI, set_iga, - viaparinfo->chip_info->tmds_chip_info.output_interface); } /* Sense DVI Connector */ diff --git a/drivers/video/via/hw.c b/drivers/video/via/hw.c index 63b672260479..a3db80417593 100644 --- a/drivers/video/via/hw.c +++ b/drivers/video/via/hw.c @@ -2377,8 +2377,6 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp, 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 to 8 alignment (1368),there is several pixels (2 pixels) on right side of screen. */ @@ -2388,6 +2386,9 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp, viafb_read_reg(VIACR, CR02) - 1); viafb_lock_crt(); } + + viafb_set_output_path(DEVICE_CRT, + viaparinfo->crt_setting_info->iga_path, 0); } if (viafb_DVI_ON) { @@ -2407,6 +2408,10 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp, video_bpp, viaparinfo-> 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) { @@ -2427,6 +2432,11 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp, lvds_setting_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_SAMM_ON && @@ -2446,6 +2456,11 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp, lvds_setting_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) diff --git a/drivers/video/via/lcd.c b/drivers/video/via/lcd.c index bda124682dab..e48117e40102 100644 --- a/drivers/video/via/lcd.c +++ b/drivers/video/via/lcd.c @@ -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); DEBUG_MSG(KERN_INFO "PLL=0x%x", pll_D_N); 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); /* If K8M800, enable LCD Prefetch Mode. */ |