All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Hogander, Jouni" <jouni.hogander@intel.com>
To: "intel-xe@lists.freedesktop.org" <intel-xe@lists.freedesktop.org>,
	"Manna,  Animesh" <animesh.manna@intel.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>
Cc: "Nikula, Jani" <jani.nikula@intel.com>, "B, Jeevan" <jeevan.b@intel.com>
Subject: Re: [PATCH v6 7/8] drm/i915/lobf: Add mutex for alpm update
Date: Mon, 24 Mar 2025 07:56:44 +0000	[thread overview]
Message-ID: <66d456656b551c5e9892e389b5cb2271bfc23951.camel@intel.com> (raw)
In-Reply-To: <20250319191508.2751216-8-animesh.manna@intel.com>

On Thu, 2025-03-20 at 00:45 +0530, Animesh Manna wrote:
> The ALPM_CTL can be updated from different context, so
> add mutex to sychonize the update.

This patch 7 and 6 should be vice versa. Otherwise this looks ok:

Reviewed-by: Jouni Högander <jouni.hogander@intel.com> 
> 
> Signed-off-by: Animesh Manna <animesh.manna@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_alpm.c          | 9 ++++++++-
>  drivers/gpu/drm/i915/display/intel_alpm.h          | 2 +-
>  drivers/gpu/drm/i915/display/intel_display_types.h | 1 +
>  drivers/gpu/drm/i915/display/intel_dp.c            | 2 +-
>  4 files changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c
> b/drivers/gpu/drm/i915/display/intel_alpm.c
> index 562f7269a583..b44aeef390a6 100644
> --- a/drivers/gpu/drm/i915/display/intel_alpm.c
> +++ b/drivers/gpu/drm/i915/display/intel_alpm.c
> @@ -23,7 +23,7 @@ bool intel_alpm_aux_less_wake_supported(struct
> intel_dp *intel_dp)
>  	return intel_dp->alpm_dpcd & DP_ALPM_AUX_LESS_CAP;
>  }
>  
> -void intel_alpm_init_dpcd(struct intel_dp *intel_dp)
> +void intel_alpm_init(struct intel_dp *intel_dp)
>  {
>  	u8 dpcd;
>  
> @@ -31,6 +31,7 @@ void intel_alpm_init_dpcd(struct intel_dp
> *intel_dp)
>  		return;
>  
>  	intel_dp->alpm_dpcd = dpcd;
> +	mutex_init(&intel_dp->alpm_parameters.lock);
>  }
>  
>  /*
> @@ -327,6 +328,7 @@ static void lnl_alpm_configure(struct intel_dp
> *intel_dp,
>  	    (!intel_dp->psr.sel_update_enabled &&
> !intel_dp_is_edp(intel_dp)))
>  		return;
>  
> +	mutex_lock(&intel_dp->alpm_parameters.lock);
>  	/*
>  	 * Panel Replay on eDP is always using ALPM aux less. I.e.
> no need to
>  	 * check panel support at this point.
> @@ -366,6 +368,7 @@ static void lnl_alpm_configure(struct intel_dp
> *intel_dp,
>  	alpm_ctl |= ALPM_CTL_ALPM_ENTRY_CHECK(intel_dp-
> >alpm_parameters.check_entry_lines);
>  
>  	intel_de_write(display, ALPM_CTL(display, cpu_transcoder),
> alpm_ctl);
> +	mutex_unlock(&intel_dp->alpm_parameters.lock);
>  }
>  
>  void intel_alpm_configure(struct intel_dp *intel_dp,
> @@ -489,6 +492,8 @@ void intel_alpm_disable(struct intel_dp
> *intel_dp)
>  	if (DISPLAY_VER(display) < 20)
>  		return;
>  
> +	mutex_lock(&intel_dp->alpm_parameters.lock);
> +
>  	intel_de_rmw(display, ALPM_CTL(display, cpu_transcoder),
>  		     ALPM_CTL_ALPM_ENABLE | ALPM_CTL_LOBF_ENABLE |
>  		     ALPM_CTL_ALPM_AUX_LESS_ENABLE, 0);
> @@ -498,6 +503,8 @@ void intel_alpm_disable(struct intel_dp
> *intel_dp)
>  		     PORT_ALPM_CTL_ALPM_AUX_LESS_ENABLE, 0);
>  
>  	drm_dbg_kms(display->drm, "Disabling ALPM\n");
> +
> +	mutex_unlock(&intel_dp->alpm_parameters.lock);
>  }
>  
>  bool intel_alpm_get_error(struct intel_dp *intel_dp)
> diff --git a/drivers/gpu/drm/i915/display/intel_alpm.h
> b/drivers/gpu/drm/i915/display/intel_alpm.h
> index 2f1fb82c0aac..4f86322a9995 100644
> --- a/drivers/gpu/drm/i915/display/intel_alpm.h
> +++ b/drivers/gpu/drm/i915/display/intel_alpm.h
> @@ -15,7 +15,7 @@ struct intel_connector;
>  struct intel_atomic_state;
>  struct intel_crtc;
>  
> -void intel_alpm_init_dpcd(struct intel_dp *intel_dp);
> +void intel_alpm_init(struct intel_dp *intel_dp);
>  bool intel_alpm_compute_params(struct intel_dp *intel_dp,
>  			       const struct intel_crtc_state
> *crtc_state);
>  void intel_alpm_lobf_compute_config(struct intel_dp *intel_dp,
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 0b109aac5306..6b8fb0dff1ea 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1806,6 +1806,7 @@ struct intel_dp {
>  		u8 io_wake_lines;
>  		u8 fast_wake_lines;
>  		enum transcoder transcoder;
> +		struct mutex lock;
>  
>  		/* LNL and beyond */
>  		u8 check_entry_lines;
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index 3f0fa2238afa..4e4e1dba0f2e 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -6362,7 +6362,7 @@ static bool intel_edp_init_connector(struct
> intel_dp *intel_dp,
>  	 */
>  	intel_hpd_enable_detection(encoder);
>  
> -	intel_alpm_init_dpcd(intel_dp);
> +	intel_alpm_init(intel_dp);
>  
>  	/* Cache DPCD and EDID for edp. */
>  	has_dpcd = intel_edp_init_dpcd(intel_dp, connector);


  reply	other threads:[~2025-03-24  7:57 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-19 19:15 [PATCH v6 0/8] LOBF enablement fix Animesh Manna
2025-03-19 19:15 ` [PATCH v6 1/8] drm/i915/lobf: Add lobf enablement in post plane update Animesh Manna
2025-03-24  7:59   ` Hogander, Jouni
2025-03-19 19:15 ` [PATCH v6 2/8] drm/i915/lobf: Disintegrate alpm_disable from psr_disable Animesh Manna
2025-03-19 19:15 ` [PATCH v6 3/8] drm/i915/lobf: Add fixed refresh rate check in compute_config() Animesh Manna
2025-03-24  8:00   ` Hogander, Jouni
2025-03-19 19:15 ` [PATCH v6 4/8] drm/i915/lobf: Update lobf if any change in dependent parameters Animesh Manna
2025-03-24  8:05   ` Hogander, Jouni
2025-03-27 10:43     ` Manna, Animesh
2025-03-27 11:00       ` Hogander, Jouni
2025-03-19 19:15 ` [PATCH v6 5/8] drm/i915/lobf: Add debug interface for lobf Animesh Manna
2025-03-24  8:07   ` Hogander, Jouni
2025-03-27 10:44     ` Manna, Animesh
2025-03-24  8:35   ` Jani Nikula
2025-03-19 19:15 ` [PATCH v6 6/8] drm/i915/lobf: Check for sink error and disable LOBF Animesh Manna
2025-03-24  7:53   ` Hogander, Jouni
2025-03-27 10:54     ` Manna, Animesh
2025-03-19 19:15 ` [PATCH v6 7/8] drm/i915/lobf: Add mutex for alpm update Animesh Manna
2025-03-24  7:56   ` Hogander, Jouni [this message]
2025-03-19 19:15 ` [PATCH v6 8/8] drm/i915/lobf: Add debug print for LOBF Animesh Manna
2025-03-24  7:59   ` Hogander, Jouni
2025-03-27 10:55     ` Manna, Animesh
2025-03-19 19:42 ` ✓ CI.Patch_applied: success for LOBF enablement fix (rev5) Patchwork
2025-03-19 19:42 ` ✗ CI.checkpatch: warning " Patchwork
2025-03-19 19:43 ` ✓ CI.KUnit: success " Patchwork
2025-03-19 20:00 ` ✓ CI.Build: " Patchwork
2025-03-19 20:02 ` ✗ Fi.CI.CHECKPATCH: warning for LOBF enablement fix (rev6) Patchwork
2025-03-19 20:02 ` ✗ Fi.CI.SPARSE: " Patchwork
2025-03-19 20:02 ` ✓ CI.Hooks: success for LOBF enablement fix (rev5) Patchwork
2025-03-19 20:03 ` ✗ CI.checksparse: warning " Patchwork
2025-03-19 20:20 ` ✓ i915.CI.BAT: success for LOBF enablement fix (rev6) Patchwork
2025-03-19 20:25 ` ✓ Xe.CI.BAT: success for LOBF enablement fix (rev5) Patchwork
2025-03-19 21:21 ` ✗ Xe.CI.Full: failure " Patchwork
2025-03-19 23:01 ` ✓ i915.CI.Full: success for LOBF enablement fix (rev6) 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=66d456656b551c5e9892e389b5cb2271bfc23951.camel@intel.com \
    --to=jouni.hogander@intel.com \
    --cc=animesh.manna@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=jani.nikula@intel.com \
    --cc=jeevan.b@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.