Re: [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 30 Jan 2025, Vinod Govindapillai <vinod.govindapillai@xxxxxxxxx> 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



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux