[Intel-gfx] [RFC 03/15] drm/i915: Update sprite watermarks outside vblank evasion

Damien Lespiau damien.lespiau at intel.com
Thu May 21 07:11:21 PDT 2015


On Wed, May 20, 2015 at 07:12:15PM -0700, Matt Roper wrote:
> We never removed the sprite watermark updates from our low-level
> foo_update_plane() functions; since our hardware updates happen under
> vblank evasion, we're not supposed to be calling potentially sleeping
> functions there (since interrupts are disabled).  Ensure that we
> properly set the atomic.update_sprite_watermarks flag so that these
> updates will happen outside vblank evasion and we can drop the direct
> calls from the plane programming code.

Another note is that on SKL/BXT, WM and DDB registers are:

  - double buffered, armed by PLANE_SURF
  - the double buffer update mechanism can additionally be
    disabled/enabled at will ("Go bit")

On top of that, the WM/DDB configuration update with several pipes is a
bit tricky as the DDB is a shared resource between pipes and careful
ordering of pipe updates is needed to avoid planes from different pipes
sharing overlapping DDB allocations.

-- 
Damien


More information about the Intel-gfx mailing list