diff options
Diffstat (limited to 'drivers/video/aty/atyfb_base.c')
-rw-r--r-- | drivers/video/aty/atyfb_base.c | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/drivers/video/aty/atyfb_base.c b/drivers/video/aty/atyfb_base.c index a92e02aa8d18..b61ab3b4c922 100644 --- a/drivers/video/aty/atyfb_base.c +++ b/drivers/video/aty/atyfb_base.c | |||
@@ -2297,20 +2297,6 @@ static int __devinit aty_init(struct fb_info *info) | |||
2297 | par->pll_limits.xclk = 53; | 2297 | par->pll_limits.xclk = 53; |
2298 | } | 2298 | } |
2299 | #endif | 2299 | #endif |
2300 | if (pll) | ||
2301 | par->pll_limits.pll_max = pll; | ||
2302 | if (mclk) | ||
2303 | par->pll_limits.mclk = mclk; | ||
2304 | if (xclk) | ||
2305 | par->pll_limits.xclk = xclk; | ||
2306 | |||
2307 | aty_calc_mem_refresh(par, par->pll_limits.xclk); | ||
2308 | par->pll_per = 1000000/par->pll_limits.pll_max; | ||
2309 | par->mclk_per = 1000000/par->pll_limits.mclk; | ||
2310 | par->xclk_per = 1000000/par->pll_limits.xclk; | ||
2311 | |||
2312 | par->ref_clk_per = 1000000000000ULL / 14318180; | ||
2313 | xtal = "14.31818"; | ||
2314 | 2300 | ||
2315 | #ifdef CONFIG_FB_ATY_GX | 2301 | #ifdef CONFIG_FB_ATY_GX |
2316 | if (!M64_HAS(INTEGRATED)) { | 2302 | if (!M64_HAS(INTEGRATED)) { |
@@ -2392,7 +2378,25 @@ static int __devinit aty_init(struct fb_info *info) | |||
2392 | if (par->pll_limits.mclk == 67 && par->ram_type < SDRAM) | 2378 | if (par->pll_limits.mclk == 67 && par->ram_type < SDRAM) |
2393 | par->pll_limits.mclk = 63; | 2379 | par->pll_limits.mclk = 63; |
2394 | } | 2380 | } |
2381 | #endif | ||
2395 | 2382 | ||
2383 | /* Allow command line to override clocks. */ | ||
2384 | if (pll) | ||
2385 | par->pll_limits.pll_max = pll; | ||
2386 | if (mclk) | ||
2387 | par->pll_limits.mclk = mclk; | ||
2388 | if (xclk) | ||
2389 | par->pll_limits.xclk = xclk; | ||
2390 | |||
2391 | aty_calc_mem_refresh(par, par->pll_limits.xclk); | ||
2392 | par->pll_per = 1000000/par->pll_limits.pll_max; | ||
2393 | par->mclk_per = 1000000/par->pll_limits.mclk; | ||
2394 | par->xclk_per = 1000000/par->pll_limits.xclk; | ||
2395 | |||
2396 | par->ref_clk_per = 1000000000000ULL / 14318180; | ||
2397 | xtal = "14.31818"; | ||
2398 | |||
2399 | #ifdef CONFIG_FB_ATY_CT | ||
2396 | if (M64_HAS(GTB_DSP)) { | 2400 | if (M64_HAS(GTB_DSP)) { |
2397 | u8 pll_ref_div = aty_ld_pll_ct(PLL_REF_DIV, par); | 2401 | u8 pll_ref_div = aty_ld_pll_ct(PLL_REF_DIV, par); |
2398 | 2402 | ||