From: "Govindapillai, Vinod" <vinod.govindapillai@intel.com>
To: "ville.syrjala@linux.intel.com" <ville.syrjala@linux.intel.com>,
"intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 18/19] drm/i915: Move dbuf_state->active_piepes into skl_wm_get_hw_state()
Date: Tue, 4 Mar 2025 15:12:16 +0000 [thread overview]
Message-ID: <586bb3d00dfa7aa0333606bcc5d0eaa9e69c5eb6.camel@intel.com> (raw)
In-Reply-To: <20250218211913.27867-19-ville.syrjala@linux.intel.com>
On Tue, 2025-02-18 at 23:19 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Move the dbuf_state readout parts into skl_wm_get_hw_state()
> so that the details are better hidden from sight.
>
> This will stop updating this on pre-skl, but that's what we want
> since the dbuf state is only used on skl+.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_modeset_setup.c | 8 --------
> drivers/gpu/drm/i915/display/skl_watermark.c | 5 ++++-
> 2 files changed, 4 insertions(+), 9 deletions(-)
>
Again my previous suggestion of active_pipes in an earlier patch wont be relevant anymore after this
patch
Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> diff --git a/drivers/gpu/drm/i915/display/intel_modeset_setup.c
> b/drivers/gpu/drm/i915/display/intel_modeset_setup.c
> index 6a4142d7d025..312b21b1ab59 100644
> --- a/drivers/gpu/drm/i915/display/intel_modeset_setup.c
> +++ b/drivers/gpu/drm/i915/display/intel_modeset_setup.c
> @@ -693,8 +693,6 @@ static void readout_plane_state(struct drm_i915_private *i915)
> static void intel_modeset_readout_hw_state(struct drm_i915_private *i915)
> {
> struct intel_display *display = &i915->display;
> - struct intel_dbuf_state *dbuf_state =
> - to_intel_dbuf_state(i915->display.dbuf.obj.state);
> struct intel_pmdemand_state *pmdemand_state =
> to_intel_pmdemand_state(i915->display.pmdemand.obj.state);
> enum pipe pipe;
> @@ -702,7 +700,6 @@ static void intel_modeset_readout_hw_state(struct drm_i915_private *i915)
> struct intel_encoder *encoder;
> struct intel_connector *connector;
> struct drm_connector_list_iter conn_iter;
> - u8 active_pipes = 0;
>
> for_each_intel_crtc(&i915->drm, crtc) {
> struct intel_crtc_state *crtc_state =
> @@ -719,17 +716,12 @@ static void intel_modeset_readout_hw_state(struct drm_i915_private *i915)
> crtc->base.enabled = crtc_state->hw.enable;
> crtc->active = crtc_state->hw.active;
>
> - if (crtc_state->hw.active)
> - active_pipes |= BIT(crtc->pipe);
> -
> drm_dbg_kms(&i915->drm,
> "[CRTC:%d:%s] hw state readout: %s\n",
> crtc->base.base.id, crtc->base.name,
> str_enabled_disabled(crtc_state->hw.active));
> }
>
> - dbuf_state->active_pipes = active_pipes;
> -
> readout_plane_state(i915);
>
> for_each_intel_encoder(&i915->drm, encoder) {
> diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c
> b/drivers/gpu/drm/i915/display/skl_watermark.c
> index 0bd7aa3b2877..2d0de1c63308 100644
> --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> @@ -3157,6 +3157,7 @@ static void skl_wm_get_hw_state(struct drm_i915_private *i915)
> dbuf_state->joined_mbus = intel_de_read(display, MBUS_CTL) & MBUS_JOIN;
>
> dbuf_state->mdclk_cdclk_ratio = intel_mdclk_cdclk_ratio(display, &display->cdclk.hw);
> + dbuf_state->active_pipes = 0;
>
> for_each_intel_crtc(display->drm, crtc) {
> struct intel_crtc_state *crtc_state =
> @@ -3168,8 +3169,10 @@ static void skl_wm_get_hw_state(struct drm_i915_private *i915)
>
> memset(&crtc_state->wm.skl.optimal, 0,
> sizeof(crtc_state->wm.skl.optimal));
> - if (crtc_state->hw.active)
> + if (crtc_state->hw.active) {
> skl_pipe_wm_get_hw_state(crtc, &crtc_state->wm.skl.optimal);
> + dbuf_state->active_pipes |= BIT(pipe);
> + }
> crtc_state->wm.skl.raw = crtc_state->wm.skl.optimal;
>
> memset(&dbuf_state->ddb[pipe], 0, sizeof(dbuf_state->ddb[pipe]));
next prev parent reply other threads:[~2025-03-04 15:12 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 ` [PATCH 01/19] drm/i915/cdclk: Do cdclk post plane programming later Ville Syrjala
2025-02-25 21:19 ` 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 [this message]
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=586bb3d00dfa7aa0333606bcc5d0eaa9e69c5eb6.camel@intel.com \
--to=vinod.govindapillai@intel.com \
--cc=intel-gfx@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.