Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Vinod Govindapillai <vinod.govindapillai@intel.com>
To: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org, vinod.govindapillai@intel.com,
	ville.syrjala@linux.intel.com, santhosh.reddy.guddati@intel.com,
	jani.saarinen@intel.com
Subject: [PATCH v9 0/8] drm/i915/fbc: FBC Dirty rect feature support
Date: Thu, 20 Feb 2025 12:41:36 +0200	[thread overview]
Message-ID: <20250220104144.207526-1-vinod.govindapillai@intel.com> (raw)

Dirty rect support for FBC in xe3 onwards based on the comments after the
initial RFC series.

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.

v7: Reordering of the patches
    Updates to storage of damage to plane state as per comments from Ville
    Updates to dirty rect handling in FBC as per comments from Ville

v8: Patch subject and description updates
    Address to comments from Ville

v9: handle the first frame case. Once ack-ed could be squased in to the
    fbc dirty rect patch

Vinod Govindapillai (8):
  drm/damage-helper: add const qualifier in
    drm_atomic_helper_damage_merged()
  drm/i915/display: update and store the plane damage clips
  drm/i915/fbc: add register definitions for fbc dirty rect support
  drm/i915/fbc: introduce HAS_FBC_DIRTY_RECT() for FBC dirty rect
    support
  drm/i915/fbc: avoid calling fbc activate if fbc is active
  drm/i915/fbc: dirty rect support for FBC
  drm/i915/fbc: disable FBC if PSR2 selective fetch is enabled
  drm/i915/fbc: handle dirty rect coords for the first frame

 drivers/gpu/drm/drm_damage_helper.c           |   2 +-
 .../gpu/drm/i915/display/intel_atomic_plane.c |  32 ++++
 drivers/gpu/drm/i915/display/intel_display.c  |   3 +
 .../drm/i915/display/intel_display_device.h   |   1 +
 .../drm/i915/display/intel_display_types.h    |   2 +
 drivers/gpu/drm/i915/display/intel_fbc.c      | 157 +++++++++++++++++-
 drivers/gpu/drm/i915/display/intel_fbc.h      |   5 +
 drivers/gpu/drm/i915/display/intel_fbc_regs.h |   9 +
 .../drm/i915/display/skl_universal_plane.c    |  46 ++++-
 include/drm/drm_damage_helper.h               |   2 +-
 10 files changed, 254 insertions(+), 5 deletions(-)

-- 
2.43.0


             reply	other threads:[~2025-02-20 10:42 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-20 10:41 Vinod Govindapillai [this message]
2025-02-20 10:41 ` [PATCH v9 1/8] drm/damage-helper: add const qualifier in drm_atomic_helper_damage_merged() Vinod Govindapillai
2025-02-20 10:41 ` [PATCH v9 2/8] drm/i915/display: update and store the plane damage clips Vinod Govindapillai
2025-02-20 10:41 ` [PATCH v9 3/8] drm/i915/fbc: add register definitions for fbc dirty rect support Vinod Govindapillai
2025-02-20 10:41 ` [PATCH v9 4/8] drm/i915/fbc: introduce HAS_FBC_DIRTY_RECT() for FBC " Vinod Govindapillai
2025-02-20 10:41 ` [PATCH v9 5/8] drm/i915/fbc: avoid calling fbc activate if fbc is active Vinod Govindapillai
2025-02-20 10:41 ` [PATCH v9 6/8] drm/i915/fbc: dirty rect support for FBC Vinod Govindapillai
2025-02-20 10:41 ` [PATCH v9 7/8] drm/i915/fbc: disable FBC if PSR2 selective fetch is enabled Vinod Govindapillai
2025-02-20 10:41 ` [PATCH v9 8/8] drm/i915/fbc: handle dirty rect coords for the first frame Vinod Govindapillai
2025-02-21 17:54   ` Ville Syrjälä
2025-02-20 10:47 ` ✓ CI.Patch_applied: success for drm/i915/fbc: FBC Dirty rect feature support (rev3) Patchwork
2025-02-20 10:47 ` ✗ CI.checkpatch: warning " Patchwork
2025-02-20 10:49 ` ✓ CI.KUnit: success " Patchwork
2025-02-20 11:05 ` ✓ CI.Build: " Patchwork
2025-02-20 11:07 ` ✓ CI.Hooks: " Patchwork
2025-02-20 11:09 ` ✗ CI.checksparse: warning " Patchwork
2025-02-20 11:29 ` ✓ Xe.CI.BAT: success " Patchwork
2025-02-21  5:13 ` ✗ Xe.CI.Full: failure " Patchwork
2025-02-21  7:45   ` Govindapillai, Vinod

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250220104144.207526-1-vinod.govindapillai@intel.com \
    --to=vinod.govindapillai@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=jani.saarinen@intel.com \
    --cc=santhosh.reddy.guddati@intel.com \
    --cc=ville.syrjala@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox