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