case M_PIXEL_PLL_B:
case M_PIXEL_PLL_C:
{
- u_int8_t tmp, xpwrctrl;
+ u_int8_t tmp;
unsigned long flags;
matroxfb_DAC_lock_irqsave(flags);
-
- xpwrctrl = matroxfb_DAC_in(PMINFO M1064_XPWRCTRL);
- matroxfb_DAC_out(PMINFO M1064_XPWRCTRL, xpwrctrl & ~M1064_XPWRCTRL_PANELPDN);
- mga_outb(M_SEQ_INDEX, M_SEQ1);
- mga_outb(M_SEQ_DATA, mga_inb(M_SEQ_DATA) | M_SEQ1_SCROFF);
tmp = matroxfb_DAC_in(PMINFO M1064_XPIXCLKCTRL);
- tmp |= M1064_XPIXCLKCTRL_DIS;
if (!(tmp & M1064_XPIXCLKCTRL_PLL_UP)) {
- tmp |= M1064_XPIXCLKCTRL_PLL_UP;
+ matroxfb_DAC_out(PMINFO M1064_XPIXCLKCTRL, tmp | M1064_XPIXCLKCTRL_PLL_UP);
}
- matroxfb_DAC_out(PMINFO M1064_XPIXCLKCTRL, tmp);
- matroxfb_DAC_out(PMINFO M1064_XDVICLKCTRL, 0);
- matroxfb_DAC_out(PMINFO M1064_XPWRCTRL, xpwrctrl);
-
matroxfb_DAC_unlock_irqrestore(flags);
}
{
frequency to higher - with <= lowest wins, while
with < highest one wins */
if (delta <= deltaarray[idx-1]) {
- /* all else being equal except VCO,
- * choose VCO not near (within 1/16th or so) VCOmin
- * (freqs near VCOmin aren't as stable)
- */
- if (delta == deltaarray[idx-1]
- && vco != g450_mnp2vco(PMINFO mnparray[idx-1])
- && vco < (pi->vcomin * 17 / 16)) {
- break;
- }
mnparray[idx] = mnparray[idx-1];
deltaarray[idx] = deltaarray[idx-1];
} else {