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

Ville Syrjälä ville.syrjala at linux.intel.com
Wed Mar 8 10:40:53 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.

I don't have any decent answer for how to discover this feature. Atomic
would allow the trial and error approach without flickers. Otherwise I
guess one could defer the check until the cursor size actually changes.
Although maybe that won't really work for Xorg. ISTR it wants to know
things about the cursor size upfront?

> 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.
> -Chris
> 
> -- 
> Chris Wilson, Intel Open Source Technology Centre

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list