summaryrefslogtreecommitdiff
path: root/src/nv_setup.c
diff options
context:
space:
mode:
authorStuart Bennett <stuart@freedesktop.org>2009-04-01 03:12:30 +0100
committerStuart Bennett <stuart@freedesktop.org>2009-04-02 19:41:42 +0100
commit72eced5eeeef438979dff06b6c1cbaa120738cfe (patch)
tree5f063282b48736f528312fe8701eefed1bbabb58 /src/nv_setup.c
parent37c6916d3eac54cc13812276fca99662162c4bbc (diff)
randr12: fix/improve a load of version/feature tests
Main improvement is introduction of flag for nv17+ display architecture Other version fixes include: * allow access of fp control regs on all cards (defined since nv4) * only read crtc_850 and gpio_ext on nv40+, since only written on nv40+ * set dither state on all versions (only written out on relevant cards) * PRAMDAC_DACCLK is only defined/usable on nv17+ * no point saving the lvds/tmds head for restore if there's only one head * fix a bunch of places the nforce (0x1a) case had been missed
Diffstat (limited to 'src/nv_setup.c')
-rw-r--r--src/nv_setup.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/nv_setup.c b/src/nv_setup.c
index 574bc44..6d53139 100644
--- a/src/nv_setup.c
+++ b/src/nv_setup.c
@@ -335,7 +335,7 @@ static void nv10GetConfig(ScrnInfoPtr pScrn)
pNv->RamAmountKBytes = 256*1024;
pNv->CrystalFreqKHz = (nvReadEXTDEV(pNv, NV_PEXTDEV_BOOT_0) & (1 << 6)) ? 14318 : 13500;
- if (pNv->twoHeads && implementation != CHIPSET_NV11)
+ if (pNv->gf4_disp_arch)
if (nvReadEXTDEV(pNv, NV_PEXTDEV_BOOT_0) & (1 << 22))
pNv->CrystalFreqKHz = 27000;
@@ -414,7 +414,9 @@ NVCommonSetup(ScrnInfoPtr pScrn)
(implementation != CHIPSET_NFORCE) &&
(implementation != CHIPSET_NV20);
- pNv->fpScaler = (pNv->FpScale && pNv->twoHeads && implementation != CHIPSET_NV11);
+ pNv->gf4_disp_arch = pNv->twoHeads && implementation != CHIPSET_NV11;
+
+ pNv->fpScaler = pNv->FpScale && pNv->gf4_disp_arch;
/* nv30 and nv35 have two stage PLLs, but use only one register; they are dealt with separately */
pNv->two_reg_pll = (implementation == CHIPSET_NV31) ||