diff --git a/src/i830_debug.c b/src/i830_debug.c index 09ec509..7d0c0a0 100644 --- a/src/i830_debug.c +++ b/src/i830_debug.c @@ -734,6 +734,7 @@ static void i830DumpAR(ScrnInfoPtr pScrn) } INREG8(st01); OUTREG8(0x3c0, orig_arx); + INREG8(st01); /* switch back to index mode */ } void i830DumpRegs (ScrnInfoPtr pScrn) diff --git a/src/i830_display.c b/src/i830_display.c index d5c2dea..86992ac 100644 --- a/src/i830_display.c +++ b/src/i830_display.c @@ -580,7 +580,7 @@ i830_enable_fb_compression_8xx(xf86CrtcPtr crtc) i830WaitForVblank(pScrn); OUTREG(FBC_CFB_BASE, pI830->compressed_front_buffer->bus_addr); OUTREG(FBC_LL_BASE, pI830->compressed_ll_buffer->bus_addr + 6); - OUTREG(FBC_CONTROL2, FBC_CTL_FENCE_DBL | FBC_CTL_IDLE_FULL | + OUTREG(FBC_CONTROL2, FBC_CTL_FENCE_DBL | FBC_CTL_IDLE_IMM | FBC_CTL_CPU_FENCE | plane); OUTREG(FBC_FENCE_OFF, crtc->y); diff --git a/src/i830_quirks.c b/src/i830_quirks.c index 27e013b..875bf67 100644 --- a/src/i830_quirks.c +++ b/src/i830_quirks.c @@ -239,6 +239,9 @@ static i830_quirk i830_quirk_list[] = { /* Dell Inspiron 510m needs pipe A force quirk */ { PCI_CHIP_I855_GM, 0x1028, 0x0164, quirk_pipea_force }, + /* ThinkPad X40 needs pipe A force quirk */ + { PCI_CHIP_I855_GM, 0x1014, 0x0557, quirk_pipea_force }, + { 0, 0, 0, NULL }, };