[patch1/2] intel: DSPARB fix 2nd

Hong Liu hong.liu at intel.com
Tue Jun 3 00:45:56 PDT 2008


Hi, Jesse

Your DSPARB fixup caused pipe underrun on my G35 machine
when dual-headed. I've checked all the specs I have,
and found that only 965GM and IGD_GM have 128 entries for FIFO.

diff --git a/src/i810_reg.h b/src/i810_reg.h
diff --git a/src/i830_driver.c b/src/i830_driver.c
index 1041fe3..426b20f 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -1964,12 +1964,12 @@ SetHWOperatingState(ScrnInfoPtr pScrn)
     * FIFO RAM entries equally between planes A and B.
     */
    if (IS_I9XX(pI830)) {
-       if (IS_I915GM(pI830) || IS_I915G(pI830))
-	   OUTREG(DSPARB, (95 << DSPARB_CSTART_SHIFT) |
-		  (48 << DSPARB_BSTART_SHIFT));
-       else
+       if (IS_I965GM(pI830) || IS_IGD_GM(pI830))
 	   OUTREG(DSPARB, (127 << DSPARB_CSTART_SHIFT) |
 		  (64 << DSPARB_BSTART_SHIFT));
+       else
+	   OUTREG(DSPARB, (95 << DSPARB_CSTART_SHIFT) |
+		  (48 << DSPARB_BSTART_SHIFT));
    } else {
        OUTREG(DSPARB, 254 << DSPARB_BEND_SHIFT | 128 << DSPARB_AEND_SHIFT);
    }





More information about the xorg mailing list