summaryrefslogtreecommitdiffstats
path: root/drivers/video/via
diff options
context:
space:
mode:
authorFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2011-08-07 01:35:25 +0200
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2011-08-07 03:41:24 +0200
commit42edcb162d67e8a88c7b873941c19eab689db272 (patch)
tree3332e99f497c97228a67faf7a2a2eda95f1e1904 /drivers/video/via
parentviafb: add new funcions to select a single mode (diff)
downloadlinux-42edcb162d67e8a88c7b873941c19eab689db272.tar.xz
linux-42edcb162d67e8a88c7b873941c19eab689db272.zip
viafb: eliminate viafb_get_pixclock
As there is only one user we can just insert the formula where needed. Avoids one lookup in the modetable and viafb_fill_var_timing_info does no longer depend on the modetable. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Diffstat (limited to 'drivers/video/via')
-rw-r--r--drivers/video/via/hw.c16
-rw-r--r--drivers/video/via/hw.h1
-rw-r--r--drivers/video/via/share.h4
3 files changed, 2 insertions, 19 deletions
diff --git a/drivers/video/via/hw.c b/drivers/video/via/hw.c
index 5e69c203163c..d7b9a9f32dee 100644
--- a/drivers/video/via/hw.c
+++ b/drivers/video/via/hw.c
@@ -2033,18 +2033,6 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp,
return 1;
}
-int viafb_get_pixclock(int hres, int vres, int vmode_refresh)
-{
- struct crt_mode_table *best;
-
- best = viafb_get_best_mode(hres, vres, vmode_refresh);
- if (!best)
- return RES_640X480_60HZ_PIXCLOCK;
-
- return 1000000000 / (best->crtc.hor_total * best->crtc.ver_total)
- * 1000 / best->refresh_rate;
-}
-
int viafb_get_refresh(int hres, int vres, u32 long_refresh)
{
struct crt_mode_table *best;
@@ -2160,8 +2148,8 @@ void viafb_fill_var_timing_info(struct fb_var_screeninfo *var,
struct display_timing crt_reg;
crt_reg = mode->crtc;
- var->pixclock = viafb_get_pixclock(var->xres, var->yres,
- mode->refresh_rate);
+ var->pixclock = 1000000000 / (crt_reg.hor_total * crt_reg.ver_total)
+ * 1000 / mode->refresh_rate;
var->left_margin =
crt_reg.hor_total - (crt_reg.hor_sync_start + crt_reg.hor_sync_end);
var->right_margin = crt_reg.hor_sync_start - crt_reg.hor_addr;
diff --git a/drivers/video/via/hw.h b/drivers/video/via/hw.h
index 3b7e1496657b..5516b025926b 100644
--- a/drivers/video/via/hw.h
+++ b/drivers/video/via/hw.h
@@ -665,7 +665,6 @@ void viafb_fill_var_timing_info(struct fb_var_screeninfo *var,
struct crt_mode_table *mode);
void __devinit viafb_init_chip_info(int chip_type);
void __devinit viafb_init_dac(int set_iga);
-int viafb_get_pixclock(int hres, int vres, int vmode_refresh);
int viafb_get_refresh(int hres, int vres, u32 float_refresh);
void viafb_update_device_setting(int hres, int vres, int bpp, int flag);
diff --git a/drivers/video/via/share.h b/drivers/video/via/share.h
index 2906b2d23434..69d882cbe709 100644
--- a/drivers/video/via/share.h
+++ b/drivers/video/via/share.h
@@ -636,10 +636,6 @@
#define V_SYNC_SATRT_SHADOW_INDEX 18
#define V_SYNC_END_SHADOW_INDEX 19
-/* Definition Video Mode Pixel Clock (picoseconds)
-*/
-#define RES_640X480_60HZ_PIXCLOCK 39722
-
/* LCD display method
*/
#define LCD_EXPANDSION 0x00