summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nv_driver.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/nv_driver.c b/src/nv_driver.c
index dd1eb42..b02d7fc 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -1585,14 +1585,24 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
}
NVCommonSetup(pScrn);
- NVI2CInit(pScrn);
- num_crtc = pNv->twoHeads ? 2 : 1;
- for (i = 0; i < num_crtc; i++) {
- nv_crtc_init(pScrn, i);
+ if (pNv->Architecture < NV_ARCH_50) {
+ NVI2CInit(pScrn);
+
+ num_crtc = pNv->twoHeads ? 2 : 1;
+ for (i = 0; i < num_crtc; i++) {
+ nv_crtc_init(pScrn, i);
+ }
+
+ NvSetupOutputs(pScrn);
+ } else {
+ if (!NV50DispPreInit(pScrn))
+ return FALSE;
+ if (!NV50CreateOutputs(pScrn))
+ return FALSE;
+ NV50DispCreateCrtcs(pScrn);
}
- NvSetupOutputs(pScrn);
#if 0
/* Do an initial detection of the outputs while none are configured on yet.