|
@@ -435,14 +435,19 @@ static void radeon_init_pipes(struct drm_device *dev)
|
|
|
if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R420) {
|
|
|
gb_pipe_sel = RADEON_READ(R400_GB_PIPE_SELECT);
|
|
|
dev_priv->num_gb_pipes = ((gb_pipe_sel >> 12) & 0x3) + 1;
|
|
|
+ /* SE cards have 1 pipe */
|
|
|
+ if ((dev->pdev->device == 0x5e4c) ||
|
|
|
+ (dev->pdev->device == 0x5e4f))
|
|
|
+ dev_priv->num_gb_pipes = 1;
|
|
|
} else {
|
|
|
/* R3xx */
|
|
|
if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R300 &&
|
|
|
dev->pdev->device != 0x4144) ||
|
|
|
- ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R350)) {
|
|
|
+ ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R350 &&
|
|
|
+ dev->pdev->device != 0x4148)) {
|
|
|
dev_priv->num_gb_pipes = 2;
|
|
|
} else {
|
|
|
- /* RV3xx/R300 AD */
|
|
|
+ /* RV3xx/R300 AD/R350 AH */
|
|
|
dev_priv->num_gb_pipes = 1;
|
|
|
}
|
|
|
}
|