diff options
-rw-r--r-- | src/common.h | 1 | ||||
-rw-r--r-- | src/i830_display.c | 28 | ||||
-rw-r--r-- | src/i830_i2c.c | 2 | ||||
-rw-r--r-- | src/i830_sdvo.c | 4 |
4 files changed, 18 insertions, 17 deletions
diff --git a/src/common.h b/src/common.h index f596eb87..a6348950 100644 --- a/src/common.h +++ b/src/common.h @@ -233,6 +233,7 @@ union intfloat { #define INREG8(addr) *(volatile CARD8 *)(RecPtr->MMIOBase + (addr)) #define INREG16(addr) *(volatile CARD16 *)(RecPtr->MMIOBase + (addr)) #define INREG(addr) *(volatile CARD32 *)(RecPtr->MMIOBase + (addr)) +#define POSTING_READ(addr) (void)INREG(addr) #define OUTREG8(addr, val) do { \ *(volatile CARD8 *)(RecPtr->MMIOBase + (addr)) = (val); \ diff --git a/src/i830_display.c b/src/i830_display.c index e5390b38..a5d8df84 100644 --- a/src/i830_display.c +++ b/src/i830_display.c @@ -383,12 +383,12 @@ i830PipeSetBase(xf86CrtcPtr crtc, int x, int y) if (IS_I965G(pI830)) { OUTREG(dspbase, Offset); - (void) INREG(dspbase); + POSTING_READ(dspbase); OUTREG(dspsurf, Start); - (void) INREG(dspsurf); + POSTING_READ(dspsurf); } else { OUTREG(dspbase, Start + Offset); - (void) INREG(dspbase); + POSTING_READ(dspbase); } #ifdef XF86DRI @@ -447,15 +447,15 @@ i830_crtc_dpms(xf86CrtcPtr crtc, int mode) if ((temp & DPLL_VCO_ENABLE) == 0) { OUTREG(dpll_reg, temp); - (void)INREG(dpll_reg); + POSTING_READ(dpll_reg); /* Wait for the clocks to stabilize. */ usleep(150); OUTREG(dpll_reg, temp | DPLL_VCO_ENABLE); - (void)INREG(dpll_reg); + POSTING_READ(dpll_reg); /* Wait for the clocks to stabilize. */ usleep(150); OUTREG(dpll_reg, temp | DPLL_VCO_ENABLE); - (void)INREG(dpll_reg); + POSTING_READ(dpll_reg); /* Wait for the clocks to stabilize. */ usleep(150); } @@ -493,7 +493,7 @@ i830_crtc_dpms(xf86CrtcPtr crtc, int mode) OUTREG(dspcntr_reg, temp & ~DISPLAY_PLANE_ENABLE); /* Flush the plane changes */ OUTREG(dspbase_reg, INREG(dspbase_reg)); - (void)INREG(dspbase_reg); + POSTING_READ(dspbase_reg); } if (!IS_I9XX(pI830)) { @@ -505,7 +505,7 @@ i830_crtc_dpms(xf86CrtcPtr crtc, int mode) temp = INREG(pipeconf_reg); if ((temp & PIPEACONF_ENABLE) != 0) { OUTREG(pipeconf_reg, temp & ~PIPEACONF_ENABLE); - (void)INREG(pipeconf_reg); + POSTING_READ(pipeconf_reg); } /* Wait for vblank for the disable to take effect. */ @@ -514,7 +514,7 @@ i830_crtc_dpms(xf86CrtcPtr crtc, int mode) temp = INREG(dpll_reg); if ((temp & DPLL_VCO_ENABLE) != 0) { OUTREG(dpll_reg, temp & ~DPLL_VCO_ENABLE); - (void)INREG(dpll_reg); + POSTING_READ(dpll_reg); } /* Wait for the clocks to turn off. */ @@ -876,7 +876,7 @@ i830_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode, { OUTREG(fp_reg, fp); OUTREG(dpll_reg, dpll & ~DPLL_VCO_ENABLE); - (void)INREG(dpll_reg); + POSTING_READ(dpll_reg); usleep(150); } @@ -887,12 +887,12 @@ i830_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode, * things on. */ OUTREG(LVDS, INREG(LVDS) | LVDS_PORT_EN | LVDS_PIPEB_SELECT); - (void)INREG(LVDS); + POSTING_READ(LVDS); } OUTREG(fp_reg, fp); OUTREG(dpll_reg, dpll); - (void)INREG(dpll_reg); + POSTING_READ(dpll_reg); /* Wait for the clocks to stabilize. */ usleep(150); @@ -904,7 +904,7 @@ i830_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode, /* write it again -- the BIOS does, after all */ OUTREG(dpll_reg, dpll); } - (void)INREG(dpll_reg); + POSTING_READ(dpll_reg); /* Wait for the clocks to stabilize. */ usleep(150); @@ -928,7 +928,7 @@ i830_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode, OUTREG(dsppos_reg, 0); OUTREG(pipesrc_reg, ((mode->HDisplay - 1) << 16) | (mode->VDisplay - 1)); OUTREG(pipeconf_reg, pipeconf); - (void)INREG(pipeconf_reg); + POSTING_READ(pipeconf_reg); i830WaitForVblank(pScrn); OUTREG(dspcntr_reg, dspcntr); diff --git a/src/i830_i2c.c b/src/i830_i2c.c index 7fac63cd..319e8dab 100644 --- a/src/i830_i2c.c +++ b/src/i830_i2c.c @@ -336,7 +336,7 @@ i830I2CPutBits(I2CBusPtr b, int clock, int data) clock_bits = GPIO_CLOCK_DIR_OUT|GPIO_CLOCK_DIR_MASK|GPIO_CLOCK_VAL_MASK; OUTREG(b->DriverPrivate.uval, reserved | data_bits | clock_bits); - (void)INREG(b->DriverPrivate.uval); + POSTING_READ(b->DriverPrivate.uval); } #endif diff --git a/src/i830_sdvo.c b/src/i830_sdvo.c index 4c543db4..cd0b115a 100644 --- a/src/i830_sdvo.c +++ b/src/i830_sdvo.c @@ -695,14 +695,14 @@ i830_sdvo_dpms(xf86OutputPtr output, int mode) if ((temp & SDVO_ENABLE) == 0) { OUTREG(dev_priv->output_device, temp | SDVO_ENABLE); - (void)INREG(dev_priv->output_device); + POSTING_READ(dev_priv->output_device); #if 0 /* Do it again! If we remove this below register write, or the exact * same one 2 lines up, the mac mini SDVO output doesn't turn on. */ OUTREG(dev_priv->output_device, INREG(dev_priv->output_device) | SDVO_ENABLE); - (void)INREG(dev_priv->output_device); + POSTING_READ(dev_priv->output_device); #endif } for (i = 0; i < 2; i++) |