question about r128_driver.c

Case Jones <[email protected]>
Newsgroups gmane.comp.xfree86.expert
Message-ID <[email protected]>
Hello,

In the initialization, why are pll->min_pll_freq and pll->max_pll_freq 
taken from R128_BIOS32, when pll->reference_freq, pll->reference_div,
and pll->xclk are taken from R128_BIOS16?

Relevant code section:

    if (!info->VBIOS) {
        xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
                   "Video BIOS not detected, using default PLL 
parameters!\n");
                                /* These probably aren't going to work for
                                   the card you are using.  Specifically,
                                   reference freq can be 29.50MHz,
                                   28.63MHz, or 14.32MHz.  YMMV. */
        pll->reference_freq = 2950;
        pll->reference_div  = 65;
        pll->min_pll_freq   = 12500;
        pll->max_pll_freq   = 25000;
        pll->xclk           = 10300;
    } else {
        CARD16 bios_header    = R128_BIOS16(0x48);
        CARD16 pll_info_block = R128_BIOS16(bios_header + 0x30);
        R128TRACE(("Header at 0x%04x; PLL Information at 0x%04x\n",
                   bios_header, pll_info_block));

        pll->reference_freq = R128_BIOS16(pll_info_block + 0x0e);
        pll->reference_div  = R128_BIOS16(pll_info_block + 0x10);
        pll->min_pll_freq   = R128_BIOS32(pll_info_block + 0x12);
        pll->max_pll_freq   = R128_BIOS32(pll_info_block + 0x16);
        pll->xclk           = R128_BIOS16(pll_info_block + 0x08);
    }



Case
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.