[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