Re: [PATCH 1/2] drm/i915: Combine pinning after setting to the display plane

Daniel Vetter
2011-04-15T12:11:30Z

On Fri, Apr 15, 2011 at 07:04:13AM +0100, Chris Wilson wrote:
> We need to perform a few operations in order to move the object into the
> display plane (where it can be accessed coherently by the display
> engine) that are important for future safety to forbid whilst pinned. As a
> result, we want to need to perform some of operations before pinning,
> but some are required once we have been bound into the GTT. So combine
> the pinning performed by all the callers with set_to_display_plane(), so
> this complication is contained within the single function.

The latest version from -next-proposed with the fail_unpin: hunk
reinstated does indeed get rid of the cacheline dirt I've seen on my ilk.

But in that version you're calling set_to_gtt_domain which calls
flush_gpu_write_domain and then waits synchronously when
obj->pending_gpu_write is set. Which is almost guaranteed to happen for
pageflips.
-Daniel
--
Daniel Vetter
Mail: daniel@ffwll.ch
Mobile: +41 (0)79 365 57 48