From: Luca Coelho <luciano.coelho@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: vinod.govindapillai@intel.com, ville.syrjala@linux.intel.com
Subject: [PATCH v2 2/7] drm/i915/wm: move intel_sagv_init() to avoid forward declaration
Date: Tue, 7 Oct 2025 10:56:36 +0300 [thread overview]
Message-ID: <20251007075729.468669-3-luciano.coelho@intel.com> (raw)
In-Reply-To: <20251007075729.468669-1-luciano.coelho@intel.com>
There's no need to have a forward-declaration for skl_sagv_disable(),
so move the intel_sagv_init() function below the called function to
prevent it.
Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
---
drivers/gpu/drm/i915/display/skl_watermark.c | 60 ++++++++++----------
1 file changed, 29 insertions(+), 31 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index 9df9ee137bf9..5e69fe034d6a 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -53,8 +53,6 @@ struct intel_dbuf_state {
#define intel_atomic_get_new_dbuf_state(state) \
to_intel_dbuf_state(intel_atomic_get_new_global_obj_state(state, &to_intel_display(state)->dbuf.obj))
-static void skl_sagv_disable(struct intel_display *display);
-
/* Stores plane specific WM parameters */
struct skl_wm_params {
bool x_tiled, y_tiled;
@@ -130,35 +128,6 @@ intel_sagv_block_time(struct intel_display *display)
}
}
-static void intel_sagv_init(struct intel_display *display)
-{
- if (!HAS_SAGV(display))
- display->sagv.status = I915_SAGV_NOT_CONTROLLED;
-
- /*
- * Probe to see if we have working SAGV control.
- * For icl+ this was already determined by intel_bw_init_hw().
- */
- if (DISPLAY_VER(display) < 11)
- skl_sagv_disable(display);
-
- drm_WARN_ON(display->drm, display->sagv.status == I915_SAGV_UNKNOWN);
-
- display->sagv.block_time_us = intel_sagv_block_time(display);
-
- drm_dbg_kms(display->drm, "SAGV supported: %s, original SAGV block time: %u us\n",
- str_yes_no(intel_has_sagv(display)), display->sagv.block_time_us);
-
- /* avoid overflow when adding with wm0 latency/etc. */
- if (drm_WARN(display->drm, display->sagv.block_time_us > U16_MAX,
- "Excessive SAGV block time %u, ignoring\n",
- display->sagv.block_time_us))
- display->sagv.block_time_us = 0;
-
- if (!intel_has_sagv(display))
- display->sagv.block_time_us = 0;
-}
-
/*
* SAGV dynamically adjusts the system agent voltage and clock frequencies
* depending on power and performance requirements. The display engine access
@@ -233,6 +202,35 @@ static void skl_sagv_disable(struct intel_display *display)
display->sagv.status = I915_SAGV_DISABLED;
}
+static void intel_sagv_init(struct intel_display *display)
+{
+ if (!HAS_SAGV(display))
+ display->sagv.status = I915_SAGV_NOT_CONTROLLED;
+
+ /*
+ * Probe to see if we have working SAGV control.
+ * For icl+ this was already determined by intel_bw_init_hw().
+ */
+ if (DISPLAY_VER(display) < 11)
+ skl_sagv_disable(display);
+
+ drm_WARN_ON(display->drm, display->sagv.status == I915_SAGV_UNKNOWN);
+
+ display->sagv.block_time_us = intel_sagv_block_time(display);
+
+ drm_dbg_kms(display->drm, "SAGV supported: %s, original SAGV block time: %u us\n",
+ str_yes_no(intel_has_sagv(display)), display->sagv.block_time_us);
+
+ /* avoid overflow when adding with wm0 latency/etc. */
+ if (drm_WARN(display->drm, display->sagv.block_time_us > U16_MAX,
+ "Excessive SAGV block time %u, ignoring\n",
+ display->sagv.block_time_us))
+ display->sagv.block_time_us = 0;
+
+ if (!intel_has_sagv(display))
+ display->sagv.block_time_us = 0;
+}
+
static void skl_sagv_pre_plane_update(struct intel_atomic_state *state)
{
struct intel_display *display = to_intel_display(state);
--
2.51.0
next prev parent reply other threads:[~2025-10-07 7:57 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-07 7:56 [PATCH v2 0/7] drm/i915/wm: some clean-ups and a bit of refactoring Luca Coelho
2025-10-07 7:56 ` [PATCH v2 1/7] drm/i915/wm: clarify watermark ops with comments Luca Coelho
2025-10-07 7:56 ` Luca Coelho [this message]
2025-10-07 7:56 ` [PATCH v2 3/7] drm/i915/wm: remove stale FIXME in skl_needs_memory_bw_wa() Luca Coelho
2025-10-07 7:56 ` [PATCH v2 4/7] drm/i915/wm: convert x/y-tiling bools to an enum Luca Coelho
2025-10-07 8:07 ` Jani Nikula
2025-10-07 8:26 ` Luca Coelho
2025-10-10 8:11 ` kernel test robot
2025-10-07 7:56 ` [PATCH v2 5/7] drm/i915/wm: convert tiling mode check in slk_compute_plane_wm() to a switch-case Luca Coelho
2025-10-07 7:56 ` [PATCH v2 6/7] drm/i915/wm: move method selection and calculation to a separate function Luca Coelho
2025-10-07 7:56 ` [PATCH v2 7/7] drm/i915/wm: reduce size of y_min_scanlines to u8 Luca Coelho
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=20251007075729.468669-3-luciano.coelho@intel.com \
--to=luciano.coelho@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=ville.syrjala@linux.intel.com \
--cc=vinod.govindapillai@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