From: "Hogander, Jouni" <jouni.hogander@intel.com>
To: "intel-xe@lists.freedesktop.org" <intel-xe@lists.freedesktop.org>,
"intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>
Cc: "ville.syrjala@linux.intel.com" <ville.syrjala@linux.intel.com>,
"Manna, Animesh" <animesh.manna@intel.com>
Subject: Re: [PATCH v8 00/13] PSR DSB support
Date: Fri, 14 Feb 2025 07:34:29 +0000 [thread overview]
Message-ID: <752677b09d3cbed81af11ede9066edebf7024a1b.camel@intel.com> (raw)
In-Reply-To: <20250213064804.2077127-1-jouni.hogander@intel.com>
On Thu, 2025-02-13 at 08:47 +0200, Jouni Högander wrote:
> This patch set is doing necessary modifications to support PSR update
> using DSB on LunarLake onwards
>
> It is not necessary to wait for PSR1 to idle or PSR2 to exit DEEP
> sleep at the begin of commit This is left out from DSB commit. There
> might be room for optimization for non-DSB as well because such wait
> is not supposed to be necessary at the begin of update.
>
> PSR mutex is not locked when performing DSB commit. It is not
> necessary as we are currently using DSB only when sending updates
> towards panel. I.e. not using it when changing PSR mode. Also
> necessary changes are made to use PSR2_MAN_TRK_CTL only in
> DSB. Frontbuffer updates and legacy cursor updates are using SFF_CTL
> register to perform full frame updates.
>
> DSB_SKIP_WAITS_EN is removed to ensure all waits are performed when
> PSR is active. PSR "Frame Change" event is manually triggered at the
> begin of each DSB commit by adding CURSURFLIVE register write.
>
> Possibe problem with DSB commit when PSR is already waking up is
> avoided by evading scanline 0.
These are now pushed to drm-intel-next. Thank you Ville and Animesh for
your reviews.
BR,
Jouni Högander
>
> v8:
> - rebase
> v7:
> - Rename "drm/i915/psr: Changes for PSR2_MAN_TRK_CTL handling when
> DSB is in use" as "drm/i915/psr: Write PSR2_MAN_TRK_CTL on DSB
> commit" due to scope changes.
> - Warn on use_dsb in non-dsb pipe update functions
> - dsb as a first parameter in intel_psr_trigger_frame_change_event
> v6:
> - add comment explaining why we are not setting DSB_SKIP_WAITS_EN
> - add separate function to generate the "Frame change"evant.
> - use intel_dsb_emit_wait_dsl
> - add evasion of scanline 0 also for Panel Replay
> v5:
> - rebase
> v4:
> - remove DSB_SKIP_WAITS_EN
> - Add CURSURFLIVE register write at the begin of DSB commit
> - evade scanline 0
> v3:
> - do not use DSB when PSR mode is changing
> v2:
> - use _MMIO_TRANS instead of _MMIO_TRANS2
> - drop evasion from intel_psr_configure_full_frame_update
>
> Jouni Högander (13):
> drm/i915/psr: Use PSR2_MAN_TRK_CTL CFF bit only to send full update
> drm/i915/psr: Rename psr_force_hw_tracking_exit as
> intel_psr_force_update
> drm/i915/psr: Split setting sff and cff bits away from
> intel_psr_force_update
> drm/i915/psr: Add register definitions for SFF_CTL and CFF_CTL
> registers
> drm/i915/psr: Use SFF_CTL on invalidate/flush for LunarLake onwards
> drm/i915/psr: Allow writing PSR2_MAN_TRK_CTL using DSB
> drm/i915/psr: Write PSR2_MAN_TRK_CTL on DSB commit as well
> drm/i915/display: Warn on use_dsb in non-dsb pipe update functions
> drm/i915/psr: Remove DSB_SKIP_WAITS_EN chicken bit
> drm/i915/display: Evade scanline 0 as well if PSR1 or PSR2 is
> enabled
> drm/i915/psr: Add function for triggering "Frame Change" event
> drm/i915/display: Ensure we have "Frame Change" event in DSB commit
> drm/i915/psr: Allow DSB usage when PSR is enabled
>
> drivers/gpu/drm/i915/display/intel_crtc.c | 4 +
> drivers/gpu/drm/i915/display/intel_display.c | 21 ++-
> drivers/gpu/drm/i915/display/intel_dsb.c | 27 +++-
> drivers/gpu/drm/i915/display/intel_psr.c | 141 +++++++++-------
> --
> drivers/gpu/drm/i915/display/intel_psr.h | 7 +-
> drivers/gpu/drm/i915/display/intel_psr_regs.h | 10 ++
> 6 files changed, 136 insertions(+), 74 deletions(-)
>
prev parent reply other threads:[~2025-02-14 7:35 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-13 6:47 [PATCH v8 00/13] PSR DSB support Jouni Högander
2025-02-13 6:47 ` [PATCH v8 01/13] drm/i915/psr: Use PSR2_MAN_TRK_CTL CFF bit only to send full update Jouni Högander
2025-02-13 6:47 ` [PATCH v8 02/13] drm/i915/psr: Rename psr_force_hw_tracking_exit as intel_psr_force_update Jouni Högander
2025-02-13 6:47 ` [PATCH v8 03/13] drm/i915/psr: Split setting sff and cff bits away from intel_psr_force_update Jouni Högander
2025-02-13 6:47 ` [PATCH v8 04/13] drm/i915/psr: Add register definitions for SFF_CTL and CFF_CTL registers Jouni Högander
2025-02-13 6:47 ` [PATCH v8 05/13] drm/i915/psr: Use SFF_CTL on invalidate/flush for LunarLake onwards Jouni Högander
2025-02-13 6:47 ` [PATCH v8 06/13] drm/i915/psr: Allow writing PSR2_MAN_TRK_CTL using DSB Jouni Högander
2025-02-13 6:47 ` [PATCH v8 07/13] drm/i915/psr: Write PSR2_MAN_TRK_CTL on DSB commit as well Jouni Högander
2025-02-13 6:47 ` [PATCH v8 08/13] drm/i915/display: Warn on use_dsb in non-dsb pipe update functions Jouni Högander
2025-02-13 6:48 ` [PATCH v8 09/13] drm/i915/psr: Remove DSB_SKIP_WAITS_EN chicken bit Jouni Högander
2025-02-13 6:48 ` [PATCH v8 10/13] drm/i915/display: Evade scanline 0 as well if PSR1 or PSR2 is enabled Jouni Högander
2025-02-13 6:48 ` [PATCH v8 11/13] drm/i915/psr: Add function for triggering "Frame Change" event Jouni Högander
2025-02-13 6:48 ` [PATCH v8 12/13] drm/i915/display: Ensure we have "Frame Change" event in DSB commit Jouni Högander
2025-02-13 6:48 ` [PATCH v8 13/13] drm/i915/psr: Allow DSB usage when PSR is enabled Jouni Högander
2025-02-13 7:27 ` ✗ Fi.CI.SPARSE: warning for PSR DSB support (rev10) Patchwork
2025-02-13 7:46 ` ✓ i915.CI.BAT: success " Patchwork
2025-02-13 14:34 ` ✗ i915.CI.Full: failure " Patchwork
2025-02-14 7:07 ` Hogander, Jouni
2025-02-14 7:34 ` Hogander, Jouni [this message]
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=752677b09d3cbed81af11ede9066edebf7024a1b.camel@intel.com \
--to=jouni.hogander@intel.com \
--cc=animesh.manna@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--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