diff options
author | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2011-03-24 10:25:51 -0400 |
---|---|---|
committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2011-03-24 17:17:52 -0400 |
commit | b692a63af8b63a7a7e84702a713d0072e336b326 (patch) | |
tree | ca4edaf57a416a33c8129f682880b10850e32d32 /drivers/video/via/hw.c | |
parent | 2c536f84c19c73ab1e3411bf1596ff85c4a23783 (diff) |
viafb: add VIA slapping capability
This patch introduces dummy functions to execute when we don't know
what we should do (due to missing documentation). They do nothing
but print a nice message in the log explaining the situation.
To trigger this message initial power management support is
activated which might save a bit energy by disabling PLL and clock
if no device is configured to use them.
Note: The message is only shown for the oldest IGPs CLE266 and K400
as for the other platforms there are reasonable assumptions
how it does (hopefully) work.
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Diffstat (limited to 'drivers/video/via/hw.c')
-rw-r--r-- | drivers/video/via/hw.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/video/via/hw.c b/drivers/video/via/hw.c index f1eff0b4831f..df84251b8f93 100644 --- a/drivers/video/via/hw.c +++ b/drivers/video/via/hw.c | |||
@@ -2289,6 +2289,25 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp, | |||
2289 | get_sync(viafbinfo1)); | 2289 | get_sync(viafbinfo1)); |
2290 | } | 2290 | } |
2291 | 2291 | ||
2292 | clock.set_primary_clock_source(VIA_CLKSRC_X1, true); | ||
2293 | clock.set_secondary_clock_source(VIA_CLKSRC_X1, true); | ||
2294 | |||
2295 | if (viaparinfo->shared->iga1_devices) { | ||
2296 | clock.set_primary_pll_state(VIA_STATE_ON); | ||
2297 | clock.set_primary_clock_state(VIA_STATE_ON); | ||
2298 | } else { | ||
2299 | clock.set_primary_pll_state(VIA_STATE_OFF); | ||
2300 | clock.set_primary_clock_state(VIA_STATE_OFF); | ||
2301 | } | ||
2302 | |||
2303 | if (viaparinfo->shared->iga2_devices) { | ||
2304 | clock.set_secondary_pll_state(VIA_STATE_ON); | ||
2305 | clock.set_secondary_clock_state(VIA_STATE_ON); | ||
2306 | } else { | ||
2307 | clock.set_secondary_pll_state(VIA_STATE_OFF); | ||
2308 | clock.set_secondary_clock_state(VIA_STATE_OFF); | ||
2309 | } | ||
2310 | |||
2292 | via_set_state(devices, VIA_STATE_ON); | 2311 | via_set_state(devices, VIA_STATE_ON); |
2293 | device_screen_on(); | 2312 | device_screen_on(); |
2294 | return 1; | 2313 | return 1; |