diff --git a/src/i830_display.c b/src/i830_display.c index f81847b..8a1bbd7 100644 --- a/src/i830_display.c +++ b/src/i830_display.c @@ -1104,6 +1104,7 @@ i830_update_dsparb(ScrnInfoPtr pScrn) I830Ptr pI830 = I830PTR(pScrn); int total_hdisplay = 0, planea_hdisplay = 0, planeb_hdisplay = 0; int fifo_entries = 0, planea_entries = 0, planeb_entries = 0, i; + int planec_entries = 37; if ((INREG(DSPACNTR) & DISPLAY_PLANE_ENABLE) && (INREG(DSPBCNTR) & DISPLAY_PLANE_ENABLE)) @@ -1119,14 +1120,18 @@ i830_update_dsparb(ScrnInfoPtr pScrn) fifo_entries = 95; else if (IS_MOBILE(pI830)) { fifo_entries = 255; + planec_entries = 0; } else { /* The 845/865 only have a AEND field. Though the field size would * allow 128 entries, the 865 rendered the cursor wrong then. * The BIOS set it up for 96. */ fifo_entries = 95; + planec_entries = 0; } + fifo_entries -= planec_entries; + for (i = 0; i < xf86_config->num_crtc; i++) { xf86CrtcPtr crtc = xf86_config->crtc[i]; I830CrtcPrivatePtr intel_crtc = crtc->driver_private;