[Intel-gfx] [PATCH 10/10] drm/i915: Support variable cursor height on ivb+

Daniel Vetter daniel at ffwll.ch
Wed Mar 8 10:45:27 UTC 2017


On Tue, Mar 07, 2017 at 10:32:14PM +0000, Chris Wilson wrote:
> On Tue, Mar 07, 2017 at 05:27:09PM +0200, ville.syrjala at linux.intel.com wrote:
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > 
> > IVB introduced the CUR_FBC_CTL register which allows reducing the cursor
> > height down to 8 lines from the otherwise square cursor dimensions.
> > Implement support for it. CUR_FBC_CTL can't be used when the cursor
> > is rotated.
> > 
> > Commandeer the otherwise unused cursor->cursor.size to track the
> > current value of CUR_FBC_CTL to optimize away redundant CUR_FBC_CTL
> > writes, and to notice when we need to arm the update via CURBASE if
> > just CUR_FBC_CTL changes.
> 
> For userspace to discover this, they should just use trial and error
> during startup (using the legacy SetCursor)? Though the easiest way
> would cause the cursor to flicker - just hope the cursor is
> off/invisible on startup.
> 
> Code makes a lot of sense after all the refactoring, but I'll leave the
> register checking to somebody else unless they are lazier than I am.

TEST_ONLY atomic commits on the cursor plane. That's pretty much how it's
meant to be used (although no one yet figured out how to tell generic
userspace about fancy constraints like this one here).
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list