xf86-video-intel: 3 commits - src/i830_display.c src/i830_driver.c

Zhenyu Wang zhen at kemper.freedesktop.org
Tue Jul 22 00:40:41 PDT 2008


 src/i830_display.c |    2 +-
 src/i830_driver.c  |   18 ++++++++++--------
 2 files changed, 11 insertions(+), 9 deletions(-)

New commits:
commit fd060ce89d86f6e8ff742d5b287abe8ecea32927
Author: Zhenyu Wang <zhenyu.z.wang at intel.com>
Date:   Tue Jul 22 15:29:34 2008 +0800

    Bug #16801: fix X crash when NoAccel on 965

diff --git a/src/i830_driver.c b/src/i830_driver.c
index 5a06079..4bb9b81 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -3307,7 +3307,7 @@ I830LeaveVT(int scrnIndex, int flags)
    }
 #endif /* XF86DRI_MM */
 
-   if (IS_I965G(pI830))
+   if (pI830->useEXA && IS_I965G(pI830))
       gen4_render_state_cleanup(pScrn);
 
    if (pI830->AccelInfoRec)
@@ -3356,7 +3356,7 @@ I830EnterVT(int scrnIndex, int flags)
    /* Update the screen pixmap in case the buffer moved */
    i830_update_front_offset(pScrn);
 
-   if (IS_I965G(pI830))
+   if (pI830->useEXA && IS_I965G(pI830))
       gen4_render_state_init(pScrn);
 
    if (i830_check_error_state(pScrn)) {
commit 577c4d1a0c753fb46d43be05a9781d2e204fac45
Author: Zhenyu Wang <zhenyu.z.wang at intel.com>
Date:   Tue Jul 22 15:14:14 2008 +0800

    only check pipe underrun if vtSema is true.

diff --git a/src/i830_driver.c b/src/i830_driver.c
index 390b5e7..5a06079 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -2512,16 +2512,18 @@ I830BlockHandler(int i,
      * (except for mode setting, where it may occur naturally).
      * Check & ack the condition.
      */
-    if (xf86_config->crtc[0]->enabled &&
-	    (INREG(PIPEASTAT) & FIFO_UNDERRUN)) {
+    if (pScrn->vtSema) {
+	if (xf86_config->crtc[0]->enabled &&
+		(INREG(PIPEASTAT) & FIFO_UNDERRUN)) {
 	    xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "underrun on pipe A!\n");
 	    OUTREG(PIPEASTAT, INREG(PIPEASTAT) | FIFO_UNDERRUN);
-    }
-    if (xf86_config->num_crtc > 1 &&
-	    xf86_config->crtc[1]->enabled &&
-	    (INREG(PIPEBSTAT) & FIFO_UNDERRUN)) {
+	}
+	if (xf86_config->num_crtc > 1 &&
+		xf86_config->crtc[1]->enabled &&
+		(INREG(PIPEBSTAT) & FIFO_UNDERRUN)) {
 	    xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "underrun on pipe B!\n");
 	    OUTREG(PIPEBSTAT, INREG(PIPEBSTAT) | FIFO_UNDERRUN);
+	}
     }
 
     I830VideoBlockHandler(i, blockData, pTimeout, pReadmask);
commit 04bbed2248e3e8f86efd64225abf2db8eb552653
Author: Zhenyu Wang <zhenyu.z.wang at intel.com>
Date:   Tue Jul 22 15:08:57 2008 +0800

    SSC is LVDS only
    
    Fix regression on my 855GM for VGA output.

diff --git a/src/i830_display.c b/src/i830_display.c
index 69bf7f7..6176447 100644
--- a/src/i830_display.c
+++ b/src/i830_display.c
@@ -1249,7 +1249,7 @@ i830_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode,
 	xf86DrvMsg(pScrn->scrnIndex, X_INFO, "clone detected, disabling SSC\n");
 
     /* Don't use SSC when cloned */
-    if (pI830->lvds_use_ssc && num_outputs < 2) {
+    if (is_lvds && pI830->lvds_use_ssc && num_outputs < 2) {
 	refclk = pI830->lvds_ssc_freq * 1000;
 	xf86DrvMsg(pScrn->scrnIndex, X_INFO,
 		   "using SSC reference clock of %d MHz\n", refclk / 1000);


More information about the xorg-commit mailing list