diff options
Diffstat (limited to 'src/radeon_kms.c')
-rw-r--r-- | src/radeon_kms.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/radeon_kms.c b/src/radeon_kms.c index 00cea421..b4e17594 100644 --- a/src/radeon_kms.c +++ b/src/radeon_kms.c @@ -427,14 +427,20 @@ Bool RADEONPreInit_KMS(ScrnInfoPtr pScrn, int flags) if (!radeon_alloc_dri(pScrn)) return FALSE; - zaphod_mask = 0xf; - if (info->IsPrimary) - zaphod_mask = 0xd; - if (info->IsSecondary) - zaphod_mask = 0x2; - if ((s = xf86GetOptValString(info->Options, OPTION_ZAPHOD_HEADS))) - zaphod_mask = 0xf; - + /* crtc low bits - output high bits */ + zaphod_mask = 0xff; + if (info->IsPrimary) { + if ((s = xf86GetOptValString(info->Options, OPTION_ZAPHOD_HEADS))) + zaphod_mask = 0xfd; + else + zaphod_mask = 0xdd; + } + if (info->IsSecondary) { + if ((s = xf86GetOptValString(info->Options, OPTION_ZAPHOD_HEADS))) + zaphod_mask = 0xf2; + else + zaphod_mask = 0x22; + } info->allowColorTiling = xf86ReturnOptValBool(info->Options, OPTION_COLOR_TILING, FALSE); if (info->ChipFamily >= CHIP_FAMILY_R600) { |