[Intel-gfx] [PATCH] drm/i915: use BLT ring for flips on IVB

Jesse Barnes jbarnes at virtuousgeek.org
Tue Jun 14 01:00:53 CEST 2011


On Tue, 14 Jun 2011 00:29:08 -0700
Kenneth Graunke <kenneth at whitecape.org> wrote:

> On 06/13/2011 03:22 PM, Chris Wilson wrote:
> > On Tue, 14 Jun 2011 00:14:11 -0700, Kenneth Graunke<kenneth at whitecape.org>  wrote:
> >> On 06/09/2011 12:14 PM, Jesse Barnes wrote:
> >>> Found a couple more problems:
> >>>     1) MI_DISPLAY_FLIP should take a '1' in the last byte to indicate
> >>>        length on IVB
> >>>     2) apprently only the BLT ring version of the command actually causes
> >>>        interrupts to be generated
> >>>
> >>> With this patch, modetest -v works on my test platform.  Clearly it's in
> >>> need of more splitting though.  The case statement should be split into
> >>> per-chipset flip command generation.
> >>>
> >>> Signed-off-by: Jesse Barnes<jbarnes at virtuousgeek.org>
> >>
> >> Reviewed-and-tested-by: Kenneth Graunke<kenneth at whitecape.org>
> >
> > But it's not the neatest patch in the world ;-)
> 
> True :)
> 
> > Using struct intel_ring_buffer *ring for all generation and switching
> > between blt/render on demand should be neater. Also we should be able
> > to do pageflips from either the render or blt ring on gen7, right? That
> > will be useful to avoid a synchronisation point.
> > -Chris
> 
> I thought so, from reading the docs.  But it doesn't seem to work from 
> the render ring...

Yeah, it's just an ugly hack.  So far the hw guys are confused why the
render ring doesn't work and the blit ring does, all else being equal.
I'll clean up the patch and re-post, and follow up with them and see if
we can root cause this issue either way.

Thanks,
-- 
Jesse Barnes, Intel Open Source Technology Center



More information about the Intel-gfx mailing list