R300: add quadpipe overrides

RV410 SE chips only have 1 quadpipe.
Also, handle other R300 chip with quadpipe override.
This commit is contained in:
Alex Deucher 2009-04-28 12:50:38 -04:00
parent 5ca4f3c5da
commit 55db6ce537

View file

@ -476,11 +476,7 @@ static int radeon_set_screen_flags(radeonScreenPtr screen, int device_id)
screen->chip_family = CHIP_FAMILY_RS300;
break;
/* 9500 with 1 pipe verified by: Reid Linnemann <lreid@cs.okstate.edu> */
case PCI_CHIP_R300_AD:
screen->chip_family = CHIP_FAMILY_RV350;
screen->chip_flags = RADEON_CHIPSET_TCL;
break;
case PCI_CHIP_R300_AE:
case PCI_CHIP_R300_AF:
case PCI_CHIP_R300_AG:
@ -942,6 +938,17 @@ radeonCreateScreen( __DRIscreenPrivate *sPriv )
} else {
screen->num_gb_pipes = temp;
}
/* pipe overrides */
switch (dri_priv->deviceID) {
case PCI_CHIP_R300_AD: /* 9500 with 1 quadpipe verified by: Reid Linnemann <lreid@cs.okstate.edu> */
case PCI_CHIP_RV410_5E4C: /* RV410 SE only have 1 quadpipe */
case PCI_CHIP_RV410_5E4F: /* RV410 SE only have 1 quadpipe */
screen->num_gb_pipes = 1;
break;
default:
break;
}
}
if ( sPriv->drm_version.minor >= 10 ) {
@ -1106,6 +1113,18 @@ radeonCreateScreen2(__DRIscreenPrivate *sPriv)
} else {
screen->num_gb_pipes = temp;
}
/* pipe overrides */
switch (device_id) {
case PCI_CHIP_R300_AD: /* 9500 with 1 quadpipe verified by: Reid Linnemann <lreid@cs.okstate.edu> */
case PCI_CHIP_RV410_5E4C: /* RV410 SE only have 1 quadpipe */
case PCI_CHIP_RV410_5E4F: /* RV410 SE only have 1 quadpipe */
screen->num_gb_pipes = 1;
break;
default:
break;
}
}
if (screen->chip_family <= CHIP_FAMILY_RS200)