Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Ville Syrjala <ville.syrjala@linux.intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: stable@vger.kernel.org
Subject: [PATCH 01/19] drm/i915/cdclk: Do cdclk post plane programming later
Date: Tue, 18 Feb 2025 23:18:55 +0200	[thread overview]
Message-ID: <20250218211913.27867-2-ville.syrjala@linux.intel.com> (raw)
In-Reply-To: <20250218211913.27867-1-ville.syrjala@linux.intel.com>

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

We currently call intel_set_cdclk_post_plane_update() far
too early. When pipes are active during the reprogramming
the current spot only works for the cd2x divider update
case, as that is synchronize to the pipe's vblank. Squashing
and crawling are not synchronized in any way, so doing the
programming while the pipes/planes are potentially still using
the old hardware state could lead to underruns.

Move the post plane reprgramming to a spot where we know
that the pipes/planes have switched over the new hardware
state.

Cc: stable@vger.kernel.org
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 065fdf6dbb88..cb9c6ad3aa11 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -7527,9 +7527,6 @@ static void intel_atomic_commit_tail(struct intel_atomic_state *state)
 
 	intel_program_dpkgc_latency(state);
 
-	if (state->modeset)
-		intel_set_cdclk_post_plane_update(state);
-
 	intel_wait_for_vblank_workers(state);
 
 	/* FIXME: We should call drm_atomic_helper_commit_hw_done() here
@@ -7606,6 +7603,8 @@ static void intel_atomic_commit_tail(struct intel_atomic_state *state)
 		intel_verify_planes(state);
 
 	intel_sagv_post_plane_update(state);
+	if (state->modeset)
+		intel_set_cdclk_post_plane_update(state);
 	intel_pmdemand_post_plane_update(state);
 
 	drm_atomic_helper_commit_hw_done(&state->base);
-- 
2.45.3


  reply	other threads:[~2025-02-18 21:19 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-18 21:18 [PATCH 00/19] drm/i915: cdclk/bw/dbuf readout/sanitation cleanup Ville Syrjala
2025-02-18 21:18 ` Ville Syrjala [this message]
2025-02-25 21:19   ` [PATCH 01/19] drm/i915/cdclk: Do cdclk post plane programming later Govindapillai, Vinod
2025-02-18 21:18 ` [PATCH 02/19] drm/i915: Drop redundant shared_dpll=NULL assignments Ville Syrjala
2025-02-25 21:32   ` Govindapillai, Vinod
2025-02-18 21:18 ` [PATCH 03/19] drm/i915: Don't clobber crtc_state->cpu_transcoder for inactive crtcs Ville Syrjala
2025-03-02 17:28   ` Govindapillai, Vinod
2025-02-18 21:18 ` [PATCH 04/19] drm/i915: Use intel_plane_set_invisible() in intel_plane_disable_noatomic() Ville Syrjala
2025-03-02 17:57   ` Govindapillai, Vinod
2025-02-18 21:18 ` [PATCH 05/19] drm/i915: Extract intel_cdclk_crtc_disable_noatomic() Ville Syrjala
2025-03-02 18:00   ` Govindapillai, Vinod
2025-02-18 21:19 ` [PATCH 06/19] drm/i915: Extract skl_wm_crtc_disable_noatomic() Ville Syrjala
2025-03-02 18:06   ` Govindapillai, Vinod
2025-02-18 21:19 ` [PATCH 07/19] drm/i915: clean up pipe's ddb usage in intel_crtc_disable_noatomic() Ville Syrjala
2025-03-02 18:19   ` Govindapillai, Vinod
2025-02-18 21:19 ` [PATCH 08/19] drm/i915: Add skl_wm_plane_disable_noatomic() Ville Syrjala
2025-03-04 13:47   ` Govindapillai, Vinod
2025-02-18 21:19 ` [PATCH 09/19] drm/i915: Extract intel_bw_crtc_disable_noatomic() Ville Syrjala
2025-03-04 13:49   ` Govindapillai, Vinod
2025-02-18 21:19 ` [PATCH 10/19] drm/i915: Extract intel_cdclk_update_hw_state() Ville Syrjala
2025-03-04 14:04   ` Govindapillai, Vinod
2025-03-06 15:46     ` Ville Syrjälä
2025-02-18 21:19 ` [PATCH 11/19] drm/i915: Extract intel_bw_update_hw_state() Ville Syrjala
2025-03-04 14:08   ` Govindapillai, Vinod
2025-02-18 21:19 ` [PATCH 12/19] drm/i915: Update bw_state->active_pipes during readout Ville Syrjala
2025-03-04 14:10   ` Govindapillai, Vinod
2025-02-18 21:19 ` [PATCH 13/19] drm/i915: Skip some bw_state readout on pre-icl Ville Syrjala
2025-03-04 14:20   ` Govindapillai, Vinod
2025-03-06 16:01     ` Ville Syrjälä
2025-02-18 21:19 ` [PATCH 14/19] sem/i915: Simplify intel_cdclk_update_hw_state() Ville Syrjala
2025-03-04 14:25   ` Govindapillai, Vinod
2025-02-18 21:19 ` [PATCH 15/19] drm/i915: Simplify cdclk_disable_noatomic() Ville Syrjala
2025-03-04 15:04   ` Govindapillai, Vinod
2025-03-04 15:22     ` Govindapillai, Vinod
2025-03-06 16:10     ` Ville Syrjälä
2025-02-18 21:19 ` [PATCH 16/19] drm/i915: Split wm sanitize from readout Ville Syrjala
2025-03-04 15:10   ` Govindapillai, Vinod
2025-02-18 21:19 ` [PATCH 17/19] drm/i915: Do wm readout ealier for skl+ Ville Syrjala
2025-03-04 15:10   ` Govindapillai, Vinod
2025-02-18 21:19 ` [PATCH 18/19] drm/i915: Move dbuf_state->active_piepes into skl_wm_get_hw_state() Ville Syrjala
2025-03-04 15:12   ` Govindapillai, Vinod
2025-02-18 21:19 ` [PATCH 19/19] drm/i915: Relocate intel_bw_crtc_update() Ville Syrjala
2025-03-04 15:12   ` Govindapillai, Vinod
2025-02-18 22:51 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: cdclk/bw/dbuf readout/sanitation cleanup Patchwork
2025-02-18 22:51 ` ✗ Fi.CI.SPARSE: " Patchwork
2025-02-18 23:04 ` ✓ i915.CI.BAT: success " Patchwork
2025-02-19  1:24 ` ✗ i915.CI.Full: failure " Patchwork

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=20250218211913.27867-2-ville.syrjala@linux.intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=stable@vger.kernel.org \
    /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