[Intel-gfx] [PATCH] drm/i915: Fix offset page-flips on i965+

Chris Wilson chris at chris-wilson.co.uk
Sun Aug 8 13:39:00 CEST 2010


On Sun,  8 Aug 2010 10:20:25 +0100, Chris Wilson <chris at chris-wilson.co.uk> wrote:
>  		OUT_RING(MI_DISPLAY_FLIP |
>  			 MI_DISPLAY_FLIP_PLANE(intel_crtc->plane));
> -		OUT_RING(fb->pitch);
> -		OUT_RING(offset | obj_priv->tiling_mode);
> -		pipesrc = I915_READ(pipesrc_reg); 
> -		OUT_RING(pipesrc & 0x0fff0fff);
> +		OUT_RING(fb->pitch | obj_priv->tiling_mode);
> +		/* i965+ uses the linear or tiled offsets from the
> +		 * Display Registers (which do not change across a page-flip)
> +		 * so we need only reprogram the base address.
> +		 */
> +		OUT_RING(obj_priv->gtt_offset);

There's a discrepancy here between our internal docs and the publish PDFs
for MI_DISPLAY_FLIP. In our docs, we have pitch | tiling. In the
PDF, it's address | tiling. There are other inconsistencies in the
bitfields surround this in the PDF, so it is worth a second set of eyes
checking this.

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list