Currently i915 dirtyfb ioctl is not taking dma fences into account. This works with features like FBC, PSR, DRRS because our gem code is triggering flush again when rendering completes. We are targeting in getting rid of frontbuffer tracking code: Flusing hook from gem code will be removed as well. This patch set is adding dma fence handling into i915 dirtyfb ioctl. v2: - Clear fbc and psr busy bits on flip - Check if flush work is already pending - Use dma_resv_get_singleton Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Jouni Högander (4): drm/i915/fbc: Clear frontbuffer busy bits on flip drm/i915/psr: Clear frontbuffer busy bits on flip drm/i915: Add new frontbuffer tracking interface to queue flush drm/i915: Handle dma fences in dirtyfb callback drivers/gpu/drm/i915/display/intel_fb.c | 57 ++++++++++++++++++- drivers/gpu/drm/i915/display/intel_fbc.c | 6 +- .../gpu/drm/i915/display/intel_frontbuffer.c | 33 +++++++++++ .../gpu/drm/i915/display/intel_frontbuffer.h | 4 ++ drivers/gpu/drm/i915/display/intel_psr.c | 6 ++ 5 files changed, 99 insertions(+), 7 deletions(-) -- 2.34.1