xf86-video-ati: Branch 'randr-1.2' - 3 commits
Alex Deucher
agd5f at kemper.freedesktop.org
Fri May 11 05:44:01 PDT 2007
src/radeon_display.c | 69 ++++++++++++++++++++++++---------------------------
1 files changed, 33 insertions(+), 36 deletions(-)
New commits:
diff-tree 94eb0681de0641e490f06486468617a727fefe86 (from 673ede5578d5d9caf2adf0445fe1e684b034eea5)
Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
Date: Fri May 11 14:39:48 2007 +0200
RADEON: switch output dpms to use RADEONEnableDisplay()
diff --git a/src/radeon_display.c b/src/radeon_display.c
index 66cc307..cebb2e6 100644
--- a/src/radeon_display.c
+++ b/src/radeon_display.c
@@ -1714,7 +1714,6 @@ void RADEONEnableDisplay(ScrnInfoPtr pSc
}
}
}
- ErrorF("finished output enable\n");
}
/* Calculate display buffer watermark to prevent buffer underflow */
@@ -2217,10 +2216,6 @@ radeon_crtc_dpms(xf86CrtcPtr crtc, int m
mask = radeon_crtc->crtc_id ? (RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_VSYNC_DIS | RADEON_CRTC2_HSYNC_DIS) : (RADEON_CRTC_DISPLAY_DIS | RADEON_CRTC_HSYNC_DIS | RADEON_CRTC_VSYNC_DIS);
- if (radeon_crtc->crtc_id)
- ErrorF("crtc2 mode: %d", mode);
- else
- ErrorF("crtc1 mode: %d", mode);
switch(mode) {
case DPMSModeOn:
@@ -2334,34 +2329,21 @@ radeon_crtc_mode_set(xf86CrtcPtr crtc, D
RADEONDoAdjustFrame(pScrn, x, y, FALSE);
ErrorF("restore crtc1\n");
RADEONRestoreCrtcRegisters(pScrn, &info->ModeReg);
- /* ErrorF("restore FP1\n");
- RADEONRestoreFPRegisters(pScrn, &info->ModeReg);
- ErrorF("restore dac\n");
- RADEONRestoreDACRegisters(pScrn, &info->ModeReg);
- ErrorF("restore pll1\n");*/
+ ErrorF("restore pll1\n");
RADEONRestorePLLRegisters(pScrn, &info->ModeReg);
- /* ErrorF("enable 1\n");
- RADEONEnableOutputs(pScrn, 1);*/
break;
case 1:
ErrorF("adjustframe 2\n");
RADEONDoAdjustFrame(pScrn, x, y, TRUE);
ErrorF("restore crtc2\n");
RADEONRestoreCrtc2Registers(pScrn, &info->ModeReg);
- /* ErrorF("restore fp2\n");
- RADEONRestoreFPRegisters(pScrn, &info->ModeReg);
- ErrorF("restore dac2\n");
- RADEONRestoreDACRegisters(pScrn, &info->ModeReg);*/
ErrorF("restore pll2\n");
RADEONRestorePLL2Registers(pScrn, &info->ModeReg);
- /* ErrorF("enable 2\n");
- RADEONEnableOutputs(pScrn, 2);*/
break;
}
if (info->DispPriority)
RADEONInitDispBandwidth(pScrn);
- ErrorF("bandwidth set\n");
}
@@ -2463,15 +2445,19 @@ static const xf86CrtcFuncsRec radeon_crt
static void
radeon_dpms(xf86OutputPtr output, int mode)
{
+ ScrnInfoPtr pScrn = output->scrn;
+
switch(mode) {
case DPMSModeOn:
- RADEONDPMSSetOn(output);
- break;
+ RADEONEnableDisplay(pScrn, output, TRUE);
+ /* RADEONDPMSSetOn(output);*/
+ break;
case DPMSModeOff:
case DPMSModeSuspend:
case DPMSModeStandby:
- RADEONDPMSSetOff(output);
- break;
+ RADEONEnableDisplay(pScrn, output, FALSE);
+ /*RADEONDPMSSetOff(output);*/
+ break;
}
}
diff-tree 673ede5578d5d9caf2adf0445fe1e684b034eea5 (from 0070a7d787adaae99f7bc2659be4b0f49f439db5)
Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
Date: Fri May 11 14:28:17 2007 +0200
RADEON: re-arrange output mode setting
diff --git a/src/radeon_display.c b/src/radeon_display.c
index c9699ca..66cc307 100644
--- a/src/radeon_display.c
+++ b/src/radeon_display.c
@@ -2311,7 +2311,6 @@ radeon_crtc_mode_set(xf86CrtcPtr crtc, D
info->ModeReg.ppll_div_3 = info->SavedReg.ppll_div_3;
info->ModeReg.htotal_cntl = info->SavedReg.htotal_cntl;
}
- /*RADEONInit2(pScrn, adjusted_mode, NULL, 1, &info->ModeReg, montype);*/
break;
case 1:
ErrorF("init crtc2\n");
@@ -2321,7 +2320,6 @@ radeon_crtc_mode_set(xf86CrtcPtr crtc, D
ErrorF("init pll2\n");
RADEONInitPLL2Registers(pScrn, &info->ModeReg, &info->pll, dot_clock, montype != MT_CRT);
}
- /*RADEONInit2(pScrn, NULL, adjusted_mode, 2, &info->ModeReg, montype);*/
break;
}
@@ -2336,28 +2334,28 @@ radeon_crtc_mode_set(xf86CrtcPtr crtc, D
RADEONDoAdjustFrame(pScrn, x, y, FALSE);
ErrorF("restore crtc1\n");
RADEONRestoreCrtcRegisters(pScrn, &info->ModeReg);
- ErrorF("restore FP1\n");
+ /* ErrorF("restore FP1\n");
RADEONRestoreFPRegisters(pScrn, &info->ModeReg);
ErrorF("restore dac\n");
RADEONRestoreDACRegisters(pScrn, &info->ModeReg);
- ErrorF("restore pll1\n");
+ ErrorF("restore pll1\n");*/
RADEONRestorePLLRegisters(pScrn, &info->ModeReg);
- ErrorF("enable 1\n");
- RADEONEnableOutputs(pScrn, 1);
+ /* ErrorF("enable 1\n");
+ RADEONEnableOutputs(pScrn, 1);*/
break;
case 1:
ErrorF("adjustframe 2\n");
RADEONDoAdjustFrame(pScrn, x, y, TRUE);
ErrorF("restore crtc2\n");
RADEONRestoreCrtc2Registers(pScrn, &info->ModeReg);
- ErrorF("restore fp2\n");
+ /* ErrorF("restore fp2\n");
RADEONRestoreFPRegisters(pScrn, &info->ModeReg);
ErrorF("restore dac2\n");
- RADEONRestoreDACRegisters(pScrn, &info->ModeReg);
+ RADEONRestoreDACRegisters(pScrn, &info->ModeReg);*/
ErrorF("restore pll2\n");
RADEONRestorePLL2Registers(pScrn, &info->ModeReg);
- ErrorF("enable 2\n");
- RADEONEnableOutputs(pScrn, 2);
+ /* ErrorF("enable 2\n");
+ RADEONEnableOutputs(pScrn, 2);*/
break;
}
@@ -2535,10 +2533,21 @@ radeon_mode_set(xf86OutputPtr output, Di
DisplayModePtr adjusted_mode)
{
ScrnInfoPtr pScrn = output->scrn;
- RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn);
+ RADEONInfoPtr info = RADEONPTR(pScrn);
RADEONOutputPrivatePtr radeon_output = output->driver_private;
-
- // RADEONInitOutputRegisters(pScrn, save, mode, pRADEONEnt->pOutput[0], );
+
+ switch(radeon_output->MonType) {
+ case MT_LCD:
+ case MT_DFP:
+ ErrorF("restore FP\n");
+ RADEONRestoreFPRegisters(pScrn, &info->ModeReg);
+ break;
+ default:
+ ErrorF("restore dac\n");
+ RADEONRestoreDACRegisters(pScrn, &info->ModeReg);
+ }
+
+ RADEONEnableDisplay(pScrn, output, TRUE);
}
static void
diff-tree 0070a7d787adaae99f7bc2659be4b0f49f439db5 (from bba456232ac9a6218aa7fbd504d6093fa72860cf)
Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
Date: Fri May 11 13:06:15 2007 +0200
RADEON: more re-org
- move crtc mode setting around
- add dri lock/unlock to crtc lock/unlock calls
diff --git a/src/radeon_display.c b/src/radeon_display.c
index 3c75149..c9699ca 100644
--- a/src/radeon_display.c
+++ b/src/radeon_display.c
@@ -2267,6 +2267,7 @@ radeon_crtc_mode_fixup(xf86CrtcPtr crtc,
static void
radeon_crtc_mode_prepare(xf86CrtcPtr crtc)
{
+ radeon_crtc_dpms(crtc, DPMSModeOff);
}
static void
@@ -2323,9 +2324,7 @@ radeon_crtc_mode_set(xf86CrtcPtr crtc, D
/*RADEONInit2(pScrn, NULL, adjusted_mode, 2, &info->ModeReg, montype);*/
break;
}
-
- radeon_crtc_dpms(crtc, DPMSModeOff);
-
+
ErrorF("restore memmap\n");
RADEONRestoreMemMapRegisters(pScrn, &info->ModeReg);
ErrorF("restore common\n");
@@ -2362,21 +2361,16 @@ radeon_crtc_mode_set(xf86CrtcPtr crtc, D
break;
}
-
- /* RADEONRestoreMode(pScrn, &info->ModeReg);*/
-
if (info->DispPriority)
RADEONInitDispBandwidth(pScrn);
ErrorF("bandwidth set\n");
- /*RADEONUnblank(pScrn);*/
- radeon_crtc_dpms(crtc, DPMSModeOn);
- ErrorF("unblank\n");
}
static void
radeon_crtc_mode_commit(xf86CrtcPtr crtc)
{
+ radeon_crtc_dpms(crtc, DPMSModeOn);
}
void radeon_crtc_load_lut(xf86CrtcPtr crtc)
@@ -2425,6 +2419,10 @@ radeon_crtc_lock(xf86CrtcPtr crtc)
RADEONInfoPtr info = RADEONPTR(pScrn);
Bool CPStarted = info->CPStarted;
+#ifdef XF86DRI
+ if (info->CPStarted && pScrn->pScreen) DRILock(pScrn->pScreen, 0);
+#endif
+
if (info->accelOn)
RADEON_SYNC(info, pScrn);
return FALSE;
@@ -2436,6 +2434,10 @@ radeon_crtc_unlock(xf86CrtcPtr crtc)
ScrnInfoPtr pScrn = crtc->scrn;
RADEONInfoPtr info = RADEONPTR(pScrn);
+#ifdef XF86DRI
+ if (info->CPStarted && pScrn->pScreen) DRIUnlock(pScrn->pScreen);
+#endif
+
if (info->accelOn)
RADEON_SYNC(info, pScrn);
}
More information about the xorg-commit
mailing list