[PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support
Jani Nikula
jani.nikula at linux.intel.com
Tue Feb 4 09:09:31 UTC 2025
On Thu, 30 Jan 2025, Vinod Govindapillai <vinod.govindapillai at intel.com> wrote:
> Dirty rect support for FBC in xe3 onwards based on the comments after the
> initial RFC series.
I think "drm/i915/fbc" subject prefix is more appropriate than
"drm/i915/xe3".
(Please don't resend just for that.)
>
> v2: Dirty rect related compute and storage moved to fbc state (Ville)
>
> V3: Dont call fbc activate if FBC is already active
>
> v4: Dirty rect compute and programming moved within DSB scope
> New changes are added as separate patches to make it easy for review
> But could be squashed if the reviews as ok.
>
> v5: add HAS_FBC_DIRTY_RECT()
> FBC Damage area updates in 3 steps.
> 1. As part of plane_atomic_check() get, adjust coordinates and store
> the merged damage area in plane_state
> 2. Atomic_commit, update merged damage are to fbc_state and prepare the
> damage area satifying all conditions
> 3 update the FBC dirty rect registers as part of DSB commit.
>
> v6: Use dmage_merged helper earlier to handle bigjoiner cases (Ville)
> Place the damage_merged handling code under HAS_FBC_DIRTY_RECT()
> Added a variable to check if the damage_merged received from
> the helper is valid. And if it is not valid, the FBC dirty rect
> is updated with full plane reqion.
>
> Vinod Govindapillai (7):
> drm/i915/xe3: add register definitions for fbc dirty rect support
> drm/i915/xe3: introduce HAS_FBC_DIRTY_RECT() for FBC dirty rect
> support
> drm/damage-helper: add const qualifier in
> drm_atomic_helper_damage_merged()
> drm/i915/xe3: update and store the plane damage clips
> drm/i915/xe3: dirty rect support for FBC
> drm/i915/xe3: avoid calling fbc activate if fbc is active
> drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled
>
> drivers/gpu/drm/drm_damage_helper.c | 2 +-
> .../gpu/drm/i915/display/intel_atomic_plane.c | 28 ++++
> drivers/gpu/drm/i915/display/intel_display.c | 7 +
> .../drm/i915/display/intel_display_device.h | 1 +
> .../drm/i915/display/intel_display_types.h | 2 +
> drivers/gpu/drm/i915/display/intel_fbc.c | 152 +++++++++++++++++-
> drivers/gpu/drm/i915/display/intel_fbc.h | 6 +
> drivers/gpu/drm/i915/display/intel_fbc_regs.h | 9 ++
> .../drm/i915/display/skl_universal_plane.c | 45 +++++-
> include/drm/drm_damage_helper.h | 2 +-
> 10 files changed, 246 insertions(+), 8 deletions(-)
--
Jani Nikula, Intel
More information about the Intel-gfx
mailing list