diff options
author | Alex Deucher <alex@t41p.hsd1.va.comcast.net> | 2007-05-20 17:26:26 -0400 |
---|---|---|
committer | Alex Deucher <alex@t41p.hsd1.va.comcast.net> | 2007-05-20 17:26:26 -0400 |
commit | 764cb73e8dec4040cdd418d249fc504399fca3ee (patch) | |
tree | 14998fac59c5caf61e9b1308d64c55cf986fa5b7 /src/radeon_display.c | |
parent | a3ee42207aab77d93655a82fdcb32be38268b85f (diff) |
Fix regular/"xinerama"/zaphod dualhead mode
- logic in RADEONUnblank() was wrong
- Calling RADEONSetupConnectors() on second instance screwed up the port info
- still seem to be HW cursor issues with zaphod mode
Diffstat (limited to 'src/radeon_display.c')
-rw-r--r-- | src/radeon_display.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/radeon_display.c b/src/radeon_display.c index f3b86e6..fb345a9 100644 --- a/src/radeon_display.c +++ b/src/radeon_display.c @@ -2135,7 +2135,9 @@ void RADEONUnblank(ScrnInfoPtr pScrn) RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn); RADEONConnector *pPort; - if (!pRADEONEnt->HasSecondary || (info->IsSwitching && !info->IsSecondary)) { + if (!pRADEONEnt->HasSecondary || + (pRADEONEnt->HasSecondary && !info->IsSwitching) || + (info->IsSwitching && (!info->IsSecondary))) { pPort = RADEONGetCrtcConnector(pScrn, 1); if (pPort) RADEONUnblankSet(pScrn, pPort); @@ -2158,7 +2160,8 @@ void RADEONUnblank(ScrnInfoPtr pScrn) } } - if (info->IsSwitching && info->IsSecondary) { + if ((pRADEONEnt->HasSecondary && !info->IsSwitching) || + (info->IsSwitching && info->IsSecondary)) { pPort = RADEONGetCrtcConnector(pScrn, 2); if (pPort) RADEONUnblankSet(pScrn, pPort); |