|
@@ -115,7 +115,7 @@ static void aty_st_pll_ct(int offset, u8 val, const struct atyfb_par *par)
|
|
|
*/
|
|
|
|
|
|
#define Maximum_DSP_PRECISION 7
|
|
|
-static u8 postdividers[] = {1,2,4,8,3};
|
|
|
+const u8 aty_postdividers[8] = {1,2,4,8,3,5,6,12};
|
|
|
|
|
|
static int aty_dsp_gt(const struct fb_info *info, u32 bpp, struct pll_ct *pll)
|
|
|
{
|
|
@@ -222,7 +222,7 @@ static int aty_valid_pll_ct(const struct fb_info *info, u32 vclk_per, struct pll
|
|
|
pll->vclk_post_div += (q < 64*8);
|
|
|
pll->vclk_post_div += (q < 32*8);
|
|
|
}
|
|
|
- pll->vclk_post_div_real = postdividers[pll->vclk_post_div];
|
|
|
+ pll->vclk_post_div_real = aty_postdividers[pll->vclk_post_div];
|
|
|
// pll->vclk_post_div <<= 6;
|
|
|
pll->vclk_fb_div = q * pll->vclk_post_div_real / 8;
|
|
|
pllvclk = (1000000 * 2 * pll->vclk_fb_div) /
|
|
@@ -513,7 +513,7 @@ static int aty_init_pll_ct(const struct fb_info *info, union aty_pll *pll)
|
|
|
u8 mclk_fb_div, pll_ext_cntl;
|
|
|
pll->ct.pll_ref_div = aty_ld_pll_ct(PLL_REF_DIV, par);
|
|
|
pll_ext_cntl = aty_ld_pll_ct(PLL_EXT_CNTL, par);
|
|
|
- pll->ct.xclk_post_div_real = postdividers[pll_ext_cntl & 0x07];
|
|
|
+ pll->ct.xclk_post_div_real = aty_postdividers[pll_ext_cntl & 0x07];
|
|
|
mclk_fb_div = aty_ld_pll_ct(MCLK_FB_DIV, par);
|
|
|
if (pll_ext_cntl & PLL_MFB_TIMES_4_2B)
|
|
|
mclk_fb_div <<= 1;
|
|
@@ -535,7 +535,7 @@ static int aty_init_pll_ct(const struct fb_info *info, union aty_pll *pll)
|
|
|
xpost_div += (q < 64*8);
|
|
|
xpost_div += (q < 32*8);
|
|
|
}
|
|
|
- pll->ct.xclk_post_div_real = postdividers[xpost_div];
|
|
|
+ pll->ct.xclk_post_div_real = aty_postdividers[xpost_div];
|
|
|
pll->ct.mclk_fb_div = q * pll->ct.xclk_post_div_real / 8;
|
|
|
|
|
|
#ifdef CONFIG_PPC
|
|
@@ -584,7 +584,7 @@ static int aty_init_pll_ct(const struct fb_info *info, union aty_pll *pll)
|
|
|
mpost_div += (q < 64*8);
|
|
|
mpost_div += (q < 32*8);
|
|
|
}
|
|
|
- sclk_post_div_real = postdividers[mpost_div];
|
|
|
+ sclk_post_div_real = aty_postdividers[mpost_div];
|
|
|
pll->ct.sclk_fb_div = q * sclk_post_div_real / 8;
|
|
|
pll->ct.spll_cntl2 = mpost_div << 4;
|
|
|
#ifdef DEBUG
|