[PATCH 4/6] drm/i915: Extract mbus_ctl_join_update()
Jani Nikula
jani.nikula at linux.intel.com
Fri Nov 1 10:30:02 UTC 2024
On Thu, 31 Oct 2024, Ville Syrjala <ville.syrjala at linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> We'll be wanting reprogram the MBUS_CTL register during an
*to* :)
And the same nitpick about intel_display.
Reviewed-by: Jani Nikula <jani.nikula at intel.com>
> upcoming MBUS sanitation stage. Extract the reprogramming
> into a helper that doesn't depend on the full atomic state
> so that it can be reused.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/skl_watermark.c | 34 ++++++++++++--------
> 1 file changed, 21 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
> index 8a31508f94bb..2eefeff6693a 100644
> --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> @@ -3427,22 +3427,13 @@ static enum pipe intel_mbus_joined_pipe(struct intel_atomic_state *state,
> return INVALID_PIPE;
> }
>
> -static void intel_dbuf_mbus_join_update(struct intel_atomic_state *state,
> - enum pipe pipe)
> +static void mbus_ctl_join_update(struct drm_i915_private *i915,
> + const struct intel_dbuf_state *dbuf_state,
> + enum pipe pipe)
> {
> - struct drm_i915_private *i915 = to_i915(state->base.dev);
> - const struct intel_dbuf_state *old_dbuf_state =
> - intel_atomic_get_old_dbuf_state(state);
> - const struct intel_dbuf_state *new_dbuf_state =
> - intel_atomic_get_new_dbuf_state(state);
> u32 mbus_ctl;
>
> - drm_dbg_kms(&i915->drm, "Changing mbus joined: %s -> %s (pipe: %c)\n",
> - str_yes_no(old_dbuf_state->joined_mbus),
> - str_yes_no(new_dbuf_state->joined_mbus),
> - pipe != INVALID_PIPE ? pipe_name(pipe) : '*');
> -
> - if (new_dbuf_state->joined_mbus)
> + if (dbuf_state->joined_mbus)
> mbus_ctl = MBUS_HASHING_MODE_1x4 | MBUS_JOIN;
> else
> mbus_ctl = MBUS_HASHING_MODE_2x2;
> @@ -3457,6 +3448,23 @@ static void intel_dbuf_mbus_join_update(struct intel_atomic_state *state,
> MBUS_JOIN_PIPE_SELECT_MASK, mbus_ctl);
> }
>
> +static void intel_dbuf_mbus_join_update(struct intel_atomic_state *state,
> + enum pipe pipe)
> +{
> + struct drm_i915_private *i915 = to_i915(state->base.dev);
> + const struct intel_dbuf_state *old_dbuf_state =
> + intel_atomic_get_old_dbuf_state(state);
> + const struct intel_dbuf_state *new_dbuf_state =
> + intel_atomic_get_new_dbuf_state(state);
> +
> + drm_dbg_kms(&i915->drm, "Changing mbus joined: %s -> %s (pipe: %c)\n",
> + str_yes_no(old_dbuf_state->joined_mbus),
> + str_yes_no(new_dbuf_state->joined_mbus),
> + pipe != INVALID_PIPE ? pipe_name(pipe) : '*');
> +
> + mbus_ctl_join_update(i915, new_dbuf_state, pipe);
> +}
> +
> void intel_dbuf_mbus_pre_ddb_update(struct intel_atomic_state *state)
> {
> const struct intel_dbuf_state *new_dbuf_state =
--
Jani Nikula, Intel
More information about the Intel-gfx
mailing list