From: Andrzej Hajda <andrzej.hajda@intel.com>
To: Jani Nikula <jani.nikula@intel.com>, intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH v2 09/11] drm/i915/wm: switch to intel_de_* register accessors in display code
Date: Thu, 8 Dec 2022 11:42:37 +0100 [thread overview]
Message-ID: <10ba2699-7fdf-d204-43a2-890309f26cd5@intel.com> (raw)
In-Reply-To: <588815fc60752b6470ee4067246698d478309fa1.1670433372.git.jani.nikula@intel.com>
On 07.12.2022 18:17, Jani Nikula wrote:
> Avoid direct uncore use in display code.
>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
Regards
Andrzej
> ---
> drivers/gpu/drm/i915/display/skl_watermark.c | 42 +++++++++-----------
> 1 file changed, 18 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
> index e0766d1be966..ae4e9e680c2e 100644
> --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> @@ -45,8 +45,7 @@ u8 intel_enabled_dbuf_slices_mask(struct drm_i915_private *i915)
> enum dbuf_slice slice;
>
> for_each_dbuf_slice(i915, slice) {
> - if (intel_uncore_read(&i915->uncore,
> - DBUF_CTL_S(slice)) & DBUF_POWER_STATE)
> + if (intel_de_read(i915, DBUF_CTL_S(slice)) & DBUF_POWER_STATE)
> enabled_slices |= BIT(slice);
> }
>
> @@ -75,7 +74,7 @@ intel_sagv_block_time(struct drm_i915_private *i915)
> if (DISPLAY_VER(i915) >= 14) {
> u32 val;
>
> - val = intel_uncore_read(&i915->uncore, MTL_LATENCY_SAGV);
> + val = intel_de_read(i915, MTL_LATENCY_SAGV);
>
> return REG_FIELD_GET(MTL_LATENCY_QCLK_SAGV, val);
> } else if (DISPLAY_VER(i915) >= 12) {
> @@ -756,18 +755,18 @@ skl_ddb_get_hw_plane_state(struct drm_i915_private *i915,
>
> /* Cursor doesn't support NV12/planar, so no extra calculation needed */
> if (plane_id == PLANE_CURSOR) {
> - val = intel_uncore_read(&i915->uncore, CUR_BUF_CFG(pipe));
> + val = intel_de_read(i915, CUR_BUF_CFG(pipe));
> skl_ddb_entry_init_from_hw(ddb, val);
> return;
> }
>
> - val = intel_uncore_read(&i915->uncore, PLANE_BUF_CFG(pipe, plane_id));
> + val = intel_de_read(i915, PLANE_BUF_CFG(pipe, plane_id));
> skl_ddb_entry_init_from_hw(ddb, val);
>
> if (DISPLAY_VER(i915) >= 11)
> return;
>
> - val = intel_uncore_read(&i915->uncore, PLANE_NV12_BUF_CFG(pipe, plane_id));
> + val = intel_de_read(i915, PLANE_NV12_BUF_CFG(pipe, plane_id));
> skl_ddb_entry_init_from_hw(ddb_y, val);
> }
>
> @@ -2821,36 +2820,32 @@ static void skl_pipe_wm_get_hw_state(struct intel_crtc *crtc,
>
> for (level = 0; level <= max_level; level++) {
> if (plane_id != PLANE_CURSOR)
> - val = intel_uncore_read(&i915->uncore, PLANE_WM(pipe, plane_id, level));
> + val = intel_de_read(i915, PLANE_WM(pipe, plane_id, level));
> else
> - val = intel_uncore_read(&i915->uncore, CUR_WM(pipe, level));
> + val = intel_de_read(i915, CUR_WM(pipe, level));
>
> skl_wm_level_from_reg_val(val, &wm->wm[level]);
> }
>
> if (plane_id != PLANE_CURSOR)
> - val = intel_uncore_read(&i915->uncore, PLANE_WM_TRANS(pipe, plane_id));
> + val = intel_de_read(i915, PLANE_WM_TRANS(pipe, plane_id));
> else
> - val = intel_uncore_read(&i915->uncore, CUR_WM_TRANS(pipe));
> + val = intel_de_read(i915, CUR_WM_TRANS(pipe));
>
> skl_wm_level_from_reg_val(val, &wm->trans_wm);
>
> if (HAS_HW_SAGV_WM(i915)) {
> if (plane_id != PLANE_CURSOR)
> - val = intel_uncore_read(&i915->uncore,
> - PLANE_WM_SAGV(pipe, plane_id));
> + val = intel_de_read(i915, PLANE_WM_SAGV(pipe, plane_id));
> else
> - val = intel_uncore_read(&i915->uncore,
> - CUR_WM_SAGV(pipe));
> + val = intel_de_read(i915, CUR_WM_SAGV(pipe));
>
> skl_wm_level_from_reg_val(val, &wm->sagv.wm0);
>
> if (plane_id != PLANE_CURSOR)
> - val = intel_uncore_read(&i915->uncore,
> - PLANE_WM_SAGV_TRANS(pipe, plane_id));
> + val = intel_de_read(i915, PLANE_WM_SAGV_TRANS(pipe, plane_id));
> else
> - val = intel_uncore_read(&i915->uncore,
> - CUR_WM_SAGV_TRANS(pipe));
> + val = intel_de_read(i915, CUR_WM_SAGV_TRANS(pipe));
>
> skl_wm_level_from_reg_val(val, &wm->sagv.trans_wm);
> } else if (DISPLAY_VER(i915) >= 12) {
> @@ -3126,8 +3121,8 @@ void skl_watermark_ipc_update(struct drm_i915_private *i915)
> if (!HAS_IPC(i915))
> return;
>
> - intel_uncore_rmw(&i915->uncore, DISP_ARB_CTL2, DISP_IPC_ENABLE,
> - skl_watermark_ipc_enabled(i915) ? DISP_IPC_ENABLE : 0);
> + intel_de_rmw(i915, DISP_ARB_CTL2, DISP_IPC_ENABLE,
> + skl_watermark_ipc_enabled(i915) ? DISP_IPC_ENABLE : 0);
> }
>
> static bool skl_watermark_ipc_can_enable(struct drm_i915_private *i915)
> @@ -3201,19 +3196,18 @@ adjust_wm_latency(struct drm_i915_private *i915,
>
> static void mtl_read_wm_latency(struct drm_i915_private *i915, u16 wm[])
> {
> - struct intel_uncore *uncore = &i915->uncore;
> int max_level = ilk_wm_max_level(i915);
> u32 val;
>
> - val = intel_uncore_read(uncore, MTL_LATENCY_LP0_LP1);
> + val = intel_de_read(i915, MTL_LATENCY_LP0_LP1);
> wm[0] = REG_FIELD_GET(MTL_LATENCY_LEVEL_EVEN_MASK, val);
> wm[1] = REG_FIELD_GET(MTL_LATENCY_LEVEL_ODD_MASK, val);
>
> - val = intel_uncore_read(uncore, MTL_LATENCY_LP2_LP3);
> + val = intel_de_read(i915, MTL_LATENCY_LP2_LP3);
> wm[2] = REG_FIELD_GET(MTL_LATENCY_LEVEL_EVEN_MASK, val);
> wm[3] = REG_FIELD_GET(MTL_LATENCY_LEVEL_ODD_MASK, val);
>
> - val = intel_uncore_read(uncore, MTL_LATENCY_LP4_LP5);
> + val = intel_de_read(i915, MTL_LATENCY_LP4_LP5);
> wm[4] = REG_FIELD_GET(MTL_LATENCY_LEVEL_EVEN_MASK, val);
> wm[5] = REG_FIELD_GET(MTL_LATENCY_LEVEL_ODD_MASK, val);
>
next prev parent reply other threads:[~2022-12-08 10:42 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-07 17:17 [Intel-gfx] [PATCH v2 00/11] drm/i915/display: switch to intel_de_* register accessors Jani Nikula
2022-12-07 17:17 ` [Intel-gfx] [PATCH v2 01/11] drm/i915/de: Add more macros to remove all direct calls to uncore Jani Nikula
2022-12-08 10:29 ` Andrzej Hajda
2022-12-08 13:14 ` Jani Nikula
2022-12-07 17:17 ` [Intel-gfx] [PATCH v2 02/11] drm/i915/de: return the old register value from intel_de_rmw() Jani Nikula
2022-12-08 10:30 ` Andrzej Hajda
2022-12-07 17:17 ` [Intel-gfx] [PATCH v2 03/11] drm/i915/crt: drop a bunch of unnecessary register variables Jani Nikula
2022-12-08 10:35 ` Andrzej Hajda
2022-12-07 17:17 ` [Intel-gfx] [PATCH v2 04/11] drm/i915/crt: switch to intel_de_* register accessors in display code Jani Nikula
2022-12-08 10:38 ` Andrzej Hajda
2022-12-07 17:17 ` [Intel-gfx] [PATCH v2 05/11] drm/i915/power: " Jani Nikula
2022-12-08 10:39 ` Andrzej Hajda
2022-12-07 17:17 ` [Intel-gfx] [PATCH v2 06/11] drm/i915/dmc: " Jani Nikula
2022-12-08 10:40 ` Andrzej Hajda
2022-12-07 17:17 ` [Intel-gfx] [PATCH v2 07/11] drm/i915/dp-aux: " Jani Nikula
2022-12-08 10:41 ` Andrzej Hajda
2022-12-07 17:17 ` [Intel-gfx] [PATCH v2 08/11] drm/i915/gmbus: " Jani Nikula
2022-12-08 10:41 ` Andrzej Hajda
2022-12-07 17:17 ` [Intel-gfx] [PATCH v2 09/11] drm/i915/wm: " Jani Nikula
2022-12-08 10:42 ` Andrzej Hajda [this message]
2022-12-07 17:17 ` [Intel-gfx] [PATCH v2 10/11] drm/i915/snps: " Jani Nikula
2022-12-08 10:43 ` Andrzej Hajda
2022-12-07 17:17 ` [Intel-gfx] [PATCH v2 11/11] drm/i915/tc: " Jani Nikula
2022-12-08 10:44 ` Andrzej Hajda
2022-12-07 19:45 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915/display: switch to intel_de_* register accessors (rev2) Patchwork
2022-12-07 20:04 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-12-08 2:50 ` [Intel-gfx] ✓ Fi.CI.IGT: " 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=10ba2699-7fdf-d204-43a2-890309f26cd5@intel.com \
--to=andrzej.hajda@intel.com \
--cc=intel-gfx@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox