From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Jani Nikula <jani.nikula@intel.com>
Cc: <intel-gfx@lists.freedesktop.org>, <intel-xe@lists.freedesktop.org>
Subject: Re: [PATCH 09/15] drm/i915/display: convert HAS_SAGV() to struct intel_display
Date: Wed, 6 Nov 2024 12:06:27 -0500 [thread overview]
Message-ID: <ZyuiE3VbGIHERbPT@intel.com> (raw)
In-Reply-To: <2341a40233a1e14a445f6cacd318521d6308cd12.1730740629.git.jani.nikula@intel.com>
On Mon, Nov 04, 2024 at 07:19:23PM +0200, Jani Nikula wrote:
> Convert HAS_SAGV() to struct intel_display. Do minimal drive-by
> conversions to struct intel_display in the callers while at it.
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> .../drm/i915/display/intel_display_device.h | 3 +-
> drivers/gpu/drm/i915/display/skl_watermark.c | 50 +++++++++++--------
> 2 files changed, 30 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
> index a0fed40b7779..c23823769911 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> @@ -173,7 +173,8 @@ struct intel_display_platforms {
> #define HAS_PSR(i915) (DISPLAY_INFO(i915)->has_psr)
> #define HAS_PSR_HW_TRACKING(i915) (DISPLAY_INFO(i915)->has_psr_hw_tracking)
> #define HAS_PSR2_SEL_FETCH(i915) (DISPLAY_VER(i915) >= 12)
> -#define HAS_SAGV(i915) (DISPLAY_VER(i915) >= 9 && !IS_BROXTON(i915) && !IS_GEMINILAKE(i915))
> +#define HAS_SAGV(__display) (DISPLAY_VER(__display) >= 9 && \
> + !(__display)->platform.broxton && !(__display)->platform.geminilake)
> #define HAS_TRANSCODER(i915, trans) ((DISPLAY_RUNTIME_INFO(i915)->cpu_transcoder_mask & \
> BIT(trans)) != 0)
> #define HAS_UNCOMPRESSED_JOINER(i915) (DISPLAY_VER(i915) >= 13)
> diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
> index 83e2cbbfcaf0..09af693da586 100644
> --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> @@ -77,20 +77,23 @@ static bool skl_needs_memory_bw_wa(struct drm_i915_private *i915)
> bool
> intel_has_sagv(struct drm_i915_private *i915)
> {
> - return HAS_SAGV(i915) &&
> - i915->display.sagv.status != I915_SAGV_NOT_CONTROLLED;
> + struct intel_display *display = &i915->display;
> +
> + return HAS_SAGV(display) && display->sagv.status != I915_SAGV_NOT_CONTROLLED;
> }
>
> static u32
> intel_sagv_block_time(struct drm_i915_private *i915)
> {
> - if (DISPLAY_VER(i915) >= 14) {
> + struct intel_display *display = &i915->display;
> +
> + if (DISPLAY_VER(display) >= 14) {
> u32 val;
>
> - val = intel_de_read(i915, MTL_LATENCY_SAGV);
> + val = intel_de_read(display, MTL_LATENCY_SAGV);
>
> return REG_FIELD_GET(MTL_LATENCY_QCLK_SAGV, val);
> - } else if (DISPLAY_VER(i915) >= 12) {
> + } else if (DISPLAY_VER(display) >= 12) {
> u32 val = 0;
> int ret;
>
> @@ -98,14 +101,14 @@ intel_sagv_block_time(struct drm_i915_private *i915)
> GEN12_PCODE_READ_SAGV_BLOCK_TIME_US,
> &val, NULL);
> if (ret) {
> - drm_dbg_kms(&i915->drm, "Couldn't read SAGV block time!\n");
> + drm_dbg_kms(display->drm, "Couldn't read SAGV block time!\n");
> return 0;
> }
>
> return val;
> - } else if (DISPLAY_VER(i915) == 11) {
> + } else if (DISPLAY_VER(display) == 11) {
> return 10;
> - } else if (HAS_SAGV(i915)) {
> + } else if (HAS_SAGV(display)) {
> return 30;
> } else {
> return 0;
> @@ -114,31 +117,33 @@ intel_sagv_block_time(struct drm_i915_private *i915)
>
> static void intel_sagv_init(struct drm_i915_private *i915)
> {
> - if (!HAS_SAGV(i915))
> - i915->display.sagv.status = I915_SAGV_NOT_CONTROLLED;
> + struct intel_display *display = &i915->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(i915) < 11)
> + if (DISPLAY_VER(display) < 11)
> skl_sagv_disable(i915);
>
> - drm_WARN_ON(&i915->drm, i915->display.sagv.status == I915_SAGV_UNKNOWN);
> + drm_WARN_ON(display->drm, display->sagv.status == I915_SAGV_UNKNOWN);
>
> - i915->display.sagv.block_time_us = intel_sagv_block_time(i915);
> + display->sagv.block_time_us = intel_sagv_block_time(i915);
>
> - drm_dbg_kms(&i915->drm, "SAGV supported: %s, original SAGV block time: %u us\n",
> - str_yes_no(intel_has_sagv(i915)), i915->display.sagv.block_time_us);
> + drm_dbg_kms(display->drm, "SAGV supported: %s, original SAGV block time: %u us\n",
> + str_yes_no(intel_has_sagv(i915)), display->sagv.block_time_us);
>
> /* avoid overflow when adding with wm0 latency/etc. */
> - if (drm_WARN(&i915->drm, i915->display.sagv.block_time_us > U16_MAX,
> + if (drm_WARN(display->drm, display->sagv.block_time_us > U16_MAX,
> "Excessive SAGV block time %u, ignoring\n",
> - i915->display.sagv.block_time_us))
> - i915->display.sagv.block_time_us = 0;
> + display->sagv.block_time_us))
> + display->sagv.block_time_us = 0;
>
> if (!intel_has_sagv(i915))
> - i915->display.sagv.block_time_us = 0;
> + display->sagv.block_time_us = 0;
> }
>
> /*
> @@ -3832,13 +3837,14 @@ DEFINE_SHOW_ATTRIBUTE(intel_sagv_status);
>
> void skl_watermark_debugfs_register(struct drm_i915_private *i915)
> {
> - struct drm_minor *minor = i915->drm.primary;
> + struct intel_display *display = &i915->display;
> + struct drm_minor *minor = display->drm->primary;
>
> - if (HAS_IPC(i915))
> + if (HAS_IPC(display))
> debugfs_create_file("i915_ipc_status", 0644, minor->debugfs_root, i915,
> &skl_watermark_ipc_status_fops);
>
> - if (HAS_SAGV(i915))
> + if (HAS_SAGV(display))
> debugfs_create_file("i915_sagv_status", 0444, minor->debugfs_root, i915,
> &intel_sagv_status_fops);
> }
> --
> 2.39.5
>
next prev parent reply other threads:[~2024-11-06 17:07 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-04 17:19 [PATCH 00/15] drm/i915/display: convert display feature helpers to struct intel_display Jani Nikula
2024-11-04 17:19 ` [PATCH 01/15] drm/i915/display: identify discrete graphics Jani Nikula
2024-11-06 16:43 ` Rodrigo Vivi
2024-11-04 17:19 ` [PATCH 02/15] drm/i915/display: convert HAS_D12_PLANE_MINIMIZATION() to struct intel_display Jani Nikula
2024-11-06 8:58 ` Govindapillai, Vinod
2024-11-06 9:07 ` Jani Nikula
2024-11-06 16:44 ` Rodrigo Vivi
2024-11-04 17:19 ` [PATCH 03/15] drm/i915/display: convert HAS_4TILE() " Jani Nikula
2024-11-06 9:11 ` Govindapillai, Vinod
2024-11-06 16:45 ` Rodrigo Vivi
2024-11-04 17:19 ` [PATCH 04/15] drm/i915/display: convert HAS_DOUBLE_BUFFERED_M_N() " Jani Nikula
2024-11-06 9:17 ` Govindapillai, Vinod
2024-11-06 16:46 ` Rodrigo Vivi
2024-11-04 17:19 ` [PATCH 05/15] drm/i915/display: convert HAS_DP20() " Jani Nikula
2024-11-06 10:19 ` Govindapillai, Vinod
2024-11-06 16:47 ` Rodrigo Vivi
2024-11-04 17:19 ` [PATCH 06/15] drm/i915/display: convert HAS_GMBUS_BURST_READ() " Jani Nikula
2024-11-06 10:21 ` Govindapillai, Vinod
2024-11-06 17:03 ` Rodrigo Vivi
2024-11-04 17:19 ` [PATCH 07/15] drm/i915/display: convert HAS_IPS() " Jani Nikula
2024-11-06 10:24 ` Govindapillai, Vinod
2024-11-06 17:04 ` Rodrigo Vivi
2024-11-04 17:19 ` [PATCH 08/15] drm/i915/display: convert HAS_MBUS_JOINING() " Jani Nikula
2024-11-06 10:27 ` Govindapillai, Vinod
2024-11-06 17:04 ` Rodrigo Vivi
2024-11-04 17:19 ` [PATCH 09/15] drm/i915/display: convert HAS_SAGV() " Jani Nikula
2024-11-06 10:38 ` Govindapillai, Vinod
2024-11-06 17:06 ` Rodrigo Vivi [this message]
2024-11-04 17:19 ` [PATCH 10/15] drm/i915/display: convert HAS_HW_SAGV_WM() " Jani Nikula
2024-11-06 10:44 ` Govindapillai, Vinod
2024-11-06 17:08 ` Rodrigo Vivi
2024-11-04 17:19 ` [PATCH 11/15] drm/i915/display: convert HAS_ULTRAJOINER() " Jani Nikula
2024-11-06 10:55 ` Govindapillai, Vinod
2024-11-06 17:09 ` Rodrigo Vivi
2024-11-04 17:19 ` [PATCH 12/15] drm/i915/display: rename i915 parameter to __display in feature helpers Jani Nikula
2024-11-06 11:50 ` Govindapillai, Vinod
2024-11-04 17:19 ` [PATCH 13/15] drm/i915/display: convert display device identification to struct intel_display Jani Nikula
2024-11-05 10:17 ` [PATCH v2] " Jani Nikula
2024-11-06 13:03 ` Govindapillai, Vinod
2024-11-04 17:19 ` [PATCH 14/15] drm/i915/display: pass struct pci_dev * to intel_display_device_probe() Jani Nikula
2024-11-06 13:10 ` Govindapillai, Vinod
2024-11-04 17:19 ` [PATCH 15/15] drm/i915/display: add mobile platform group Jani Nikula
2024-11-05 18:53 ` kernel test robot
2024-11-06 9:27 ` [PATCH v2] " Jani Nikula
2024-11-06 15:44 ` Govindapillai, Vinod
2024-11-06 16:40 ` [PATCH 15/15] " Rodrigo Vivi
2024-11-07 10:32 ` Jani Nikula
2024-11-07 18:10 ` Rodrigo Vivi
2024-11-04 17:51 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: convert display feature helpers to struct intel_display Patchwork
2024-11-04 17:51 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-11-04 17:58 ` ✓ CI.Patch_applied: success " Patchwork
2024-11-04 17:59 ` ✗ CI.checkpatch: warning " Patchwork
2024-11-04 18:00 ` ✓ CI.KUnit: success " Patchwork
2024-11-04 18:12 ` ✓ CI.Build: " Patchwork
2024-11-04 18:14 ` ✓ CI.Hooks: " Patchwork
2024-11-04 18:15 ` ✗ CI.checksparse: warning " Patchwork
2024-11-04 18:43 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-11-04 19:01 ` ✗ CI.BAT: " Patchwork
2024-11-05 6:25 ` ✓ CI.FULL: success " Patchwork
2024-11-05 11:15 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: convert display feature helpers to struct intel_display (rev2) Patchwork
2024-11-05 11:15 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-11-05 11:33 ` ✓ CI.Patch_applied: success " Patchwork
2024-11-05 11:34 ` ✗ CI.checkpatch: warning " Patchwork
2024-11-05 11:35 ` ✓ CI.KUnit: success " Patchwork
2024-11-05 11:47 ` ✓ CI.Build: " Patchwork
2024-11-05 11:49 ` ✓ CI.Hooks: " Patchwork
2024-11-05 11:51 ` ✗ CI.checksparse: warning " Patchwork
2024-11-05 12:12 ` ✓ CI.BAT: success " Patchwork
2024-11-05 12:27 ` ✓ Fi.CI.BAT: " Patchwork
2024-11-06 9:46 ` ✓ CI.Patch_applied: success for drm/i915/display: convert display feature helpers to struct intel_display (rev3) Patchwork
2024-11-06 9:47 ` ✗ CI.checkpatch: warning " Patchwork
2024-11-06 9:48 ` ✓ CI.KUnit: success " Patchwork
2024-11-06 10:00 ` ✓ CI.Build: " Patchwork
2024-11-06 10:01 ` ✗ Fi.CI.CHECKPATCH: warning " Patchwork
2024-11-06 10:02 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-11-06 10:02 ` ✓ CI.Hooks: success " Patchwork
2024-11-06 10:04 ` ✗ CI.checksparse: warning " Patchwork
2024-11-06 10:17 ` ✓ Fi.CI.BAT: success " Patchwork
2024-11-06 10:20 ` ✓ CI.BAT: " Patchwork
2024-11-06 12:33 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-11-06 14:11 ` ✗ CI.FULL: failure for drm/i915/display: convert display feature helpers to struct intel_display (rev2) Patchwork
2024-11-07 11:08 ` ✗ CI.FULL: failure for drm/i915/display: convert display feature helpers to struct intel_display (rev3) 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=ZyuiE3VbGIHERbPT@intel.com \
--to=rodrigo.vivi@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jani.nikula@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.