All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Ville Syrjala <ville.syrjala@linux.intel.com>,
	intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 15/16] drm/i915: Nuke skl_write_wm_level() and skl_ddb_entry_write()
Date: Mon, 13 May 2024 23:46:20 +0300	[thread overview]
Message-ID: <874jb1e8yr.fsf@intel.com> (raw)
In-Reply-To: <20240510152329.24098-16-ville.syrjala@linux.intel.com>

On Fri, 10 May 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Get rid of skl_ddb_entry_write() and skl_write_wm_level() and
> just call intel_de_write_fw() directly.
>
> This is prep work towards DSB based plane updates where these
> wrappers are more of a hinderance.
>
> Done with cocci mostly:
> @@
> expression D, R, L;
> @@
> - skl_write_wm_level(D, R, L)
> + intel_de_write_fw(D, R, skl_plane_wm_reg_val(L))
>
> @@
> expression D, R, B;
> @@
> - skl_ddb_entry_write(D, R, B)
> + intel_de_write_fw(D, R, skl_plane_ddb_reg_val(B))
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  drivers/gpu/drm/i915/display/skl_watermark.c | 57 ++++++++------------
>  1 file changed, 22 insertions(+), 35 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
> index 8a0a26ab8e6a..1daceb8ef9de 100644
> --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> @@ -2374,13 +2374,6 @@ static u32 skl_plane_ddb_reg_val(const struct skl_ddb_entry *entry)
>  		PLANE_BUF_START(entry->start);
>  }
>  
> -static void skl_ddb_entry_write(struct drm_i915_private *i915,
> -				i915_reg_t reg,
> -				const struct skl_ddb_entry *entry)
> -{
> -	intel_de_write_fw(i915, reg, skl_plane_ddb_reg_val(entry));
> -}
> -
>  static u32 skl_plane_wm_reg_val(const struct skl_wm_level *level)
>  {
>  	u32 val = 0;
> @@ -2395,13 +2388,6 @@ static u32 skl_plane_wm_reg_val(const struct skl_wm_level *level)
>  	return val;
>  }
>  
> -static void skl_write_wm_level(struct drm_i915_private *i915,
> -			       i915_reg_t reg,
> -			       const struct skl_wm_level *level)
> -{
> -	intel_de_write_fw(i915, reg, skl_plane_wm_reg_val(level));
> -}
> -
>  void skl_write_plane_wm(struct intel_plane *plane,
>  			const struct intel_crtc_state *crtc_state)
>  {
> @@ -2416,27 +2402,27 @@ void skl_write_plane_wm(struct intel_plane *plane,
>  	int level;
>  
>  	for (level = 0; level < i915->display.wm.num_levels; level++)
> -		skl_write_wm_level(i915, PLANE_WM(pipe, plane_id, level),
> -				   skl_plane_wm_level(pipe_wm, plane_id, level));
> +		intel_de_write_fw(i915, PLANE_WM(pipe, plane_id, level),
> +				  skl_plane_wm_reg_val(skl_plane_wm_level(pipe_wm, plane_id, level)));
>  
> -	skl_write_wm_level(i915, PLANE_WM_TRANS(pipe, plane_id),
> -			   skl_plane_trans_wm(pipe_wm, plane_id));
> +	intel_de_write_fw(i915, PLANE_WM_TRANS(pipe, plane_id),
> +			  skl_plane_wm_reg_val(skl_plane_trans_wm(pipe_wm, plane_id)));
>  
>  	if (HAS_HW_SAGV_WM(i915)) {
>  		const struct skl_plane_wm *wm = &pipe_wm->planes[plane_id];
>  
> -		skl_write_wm_level(i915, PLANE_WM_SAGV(pipe, plane_id),
> -				   &wm->sagv.wm0);
> -		skl_write_wm_level(i915, PLANE_WM_SAGV_TRANS(pipe, plane_id),
> -				   &wm->sagv.trans_wm);
> +		intel_de_write_fw(i915, PLANE_WM_SAGV(pipe, plane_id),
> +				  skl_plane_wm_reg_val(&wm->sagv.wm0));
> +		intel_de_write_fw(i915, PLANE_WM_SAGV_TRANS(pipe, plane_id),
> +				  skl_plane_wm_reg_val(&wm->sagv.trans_wm));
>  	}
>  
> -	skl_ddb_entry_write(i915,
> -			    PLANE_BUF_CFG(pipe, plane_id), ddb);
> +	intel_de_write_fw(i915, PLANE_BUF_CFG(pipe, plane_id),
> +			  skl_plane_ddb_reg_val(ddb));
>  
>  	if (DISPLAY_VER(i915) < 11)
> -		skl_ddb_entry_write(i915,
> -				    PLANE_NV12_BUF_CFG(pipe, plane_id), ddb_y);
> +		intel_de_write_fw(i915, PLANE_NV12_BUF_CFG(pipe, plane_id),
> +				  skl_plane_ddb_reg_val(ddb_y));
>  }
>  
>  void skl_write_cursor_wm(struct intel_plane *plane,
> @@ -2451,22 +2437,23 @@ void skl_write_cursor_wm(struct intel_plane *plane,
>  	int level;
>  
>  	for (level = 0; level < i915->display.wm.num_levels; level++)
> -		skl_write_wm_level(i915, CUR_WM(pipe, level),
> -				   skl_plane_wm_level(pipe_wm, plane_id, level));
> +		intel_de_write_fw(i915, CUR_WM(pipe, level),
> +				  skl_plane_wm_reg_val(skl_plane_wm_level(pipe_wm, plane_id, level)));
>  
> -	skl_write_wm_level(i915, CUR_WM_TRANS(pipe),
> -			   skl_plane_trans_wm(pipe_wm, plane_id));
> +	intel_de_write_fw(i915, CUR_WM_TRANS(pipe),
> +			  skl_plane_wm_reg_val(skl_plane_trans_wm(pipe_wm, plane_id)));
>  
>  	if (HAS_HW_SAGV_WM(i915)) {
>  		const struct skl_plane_wm *wm = &pipe_wm->planes[plane_id];
>  
> -		skl_write_wm_level(i915, CUR_WM_SAGV(pipe),
> -				   &wm->sagv.wm0);
> -		skl_write_wm_level(i915, CUR_WM_SAGV_TRANS(pipe),
> -				   &wm->sagv.trans_wm);
> +		intel_de_write_fw(i915, CUR_WM_SAGV(pipe),
> +				  skl_plane_wm_reg_val(&wm->sagv.wm0));
> +		intel_de_write_fw(i915, CUR_WM_SAGV_TRANS(pipe),
> +				  skl_plane_wm_reg_val(&wm->sagv.trans_wm));
>  	}
>  
> -	skl_ddb_entry_write(i915, CUR_BUF_CFG(pipe), ddb);
> +	intel_de_write_fw(i915, CUR_BUF_CFG(pipe),
> +			  skl_plane_ddb_reg_val(ddb));
>  }
>  
>  static bool skl_wm_level_equals(const struct skl_wm_level *l1,

-- 
Jani Nikula, Intel

  reply	other threads:[~2024-05-13 20:46 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-10 15:23 [PATCH 00/16] drm/i915: skl+ plane register stuff Ville Syrjala
2024-05-10 15:23 ` [PATCH 01/16] drm/i915: Nuke _MMIO_PLANE_GAMC() Ville Syrjala
2024-05-13  9:50   ` Jani Nikula
2024-05-10 15:23 ` [PATCH 02/16] drm/i915: Extract skl_universal_plane_regs.h Ville Syrjala
2024-05-13 10:07   ` Jani Nikula
2024-05-10 15:23 ` [PATCH 03/16] drm/i915: Extract intel_cursor_regs.h Ville Syrjala
2024-05-13 10:10   ` Jani Nikula
2024-05-10 15:23 ` [PATCH 04/16] drm/i915: Move skl+ wm/ddb registers to proper headers Ville Syrjala
2024-05-13 10:13   ` Jani Nikula
2024-05-10 15:23 ` [PATCH 05/16] drm/i915/gvt: Use the proper PLANE_AUX_DIST() define Ville Syrjala
2024-05-13 10:21   ` Jani Nikula
2024-05-10 15:23 ` [PATCH 06/16] drm/i915/gvt: Use the proper PLANE_AUX_OFFSET() define Ville Syrjala
2024-05-13 10:23   ` Jani Nikula
2024-05-10 15:23 ` [PATCH 07/16] drm/i915/gvt: Use the full PLANE_KEY*() defines Ville Syrjala
2024-05-13 10:25   ` Jani Nikula
2024-05-10 15:23 ` [PATCH 08/16] drm/i915/gvt: Use PLANE_CTL and PLANE_SURF defines Ville Syrjala
2024-05-13 10:30   ` Jani Nikula
2024-05-10 15:23 ` [PATCH 09/16] drm/i915: Drop useless PLANE_FOO_3 register defines Ville Syrjala
2024-05-13 10:32   ` Jani Nikula
2024-05-13 16:58   ` [PATCH v2 " Ville Syrjala
2024-05-10 15:23 ` [PATCH 10/16] drm/i915: Shuffle the skl+ plane register definitions Ville Syrjala
2024-05-13 11:28   ` Jani Nikula
2024-05-13 16:13     ` Ville Syrjälä
2024-05-13 16:59   ` [PATCH v2 " Ville Syrjala
2024-05-13 20:30     ` Jani Nikula
2024-05-10 15:23 ` [PATCH 11/16] drm/i915: Use REG_BIT for PLANE_WM bits Ville Syrjala
2024-05-13 10:38   ` Jani Nikula
2024-05-13 16:59   ` [PATCH v2 " Ville Syrjala
2024-05-10 15:23 ` [PATCH 12/16] drm/i915: Drop a few unwanted tabs from skl+ plane reg defines Ville Syrjala
2024-05-13 10:40   ` Jani Nikula
2024-05-13 17:00   ` [PATCH v2 " Ville Syrjala
2024-05-10 15:23 ` [PATCH 13/16] drm/i915: Refactor skl+ plane register offset calculations Ville Syrjala
2024-05-13 17:00   ` [PATCH v2 " Ville Syrjala
2024-05-13 20:41     ` Jani Nikula
2024-05-13 20:43       ` Jani Nikula
2024-05-10 15:23 ` [PATCH 14/16] drm/i915: Extract skl_plane_{wm,ddb}_reg_val() Ville Syrjala
2024-05-13 20:43   ` Jani Nikula
2024-05-10 15:23 ` [PATCH 15/16] drm/i915: Nuke skl_write_wm_level() and skl_ddb_entry_write() Ville Syrjala
2024-05-13 20:46   ` Jani Nikula [this message]
2024-05-10 15:23 ` [PATCH 16/16] drm/i915: Handle SKL+ WM/DDB registers next to all other plane registers Ville Syrjala
2024-05-13 20:52   ` Jani Nikula
2024-05-15 11:17     ` Ville Syrjälä
2024-05-10 16:28 ` ✓ Fi.CI.BAT: success for drm/i915: skl+ plane register stuff Patchwork
2024-05-11 20:02 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-05-13 18:39 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: skl+ plane register stuff (rev6) Patchwork
2024-05-13 18:39 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-05-13 18:55 ` ✓ Fi.CI.BAT: success " Patchwork
2024-05-14  2:01 ` ✗ Fi.CI.IGT: 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=874jb1e8yr.fsf@intel.com \
    --to=jani.nikula@linux.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.