public inbox for intel-xe@lists.freedesktop.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
Cc: intel-xe@lists.freedesktop.org
Subject: Re: [PATCH 5/5] drm/i915/dsi: Place clock into LP during LPM if requested
Date: Thu, 26 Mar 2026 17:24:12 +0200	[thread overview]
Message-ID: <c44b5729e197c9d8ad1b9da1b87b0601a73eede7@intel.com> (raw)
In-Reply-To: <20260326111814.9800-6-ville.syrjala@linux.intel.com>

On Thu, 26 Mar 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> TGL/ADL DSI can be configured to place the clock lane into
> LP state during LPM, if otherwise configured for continuous
> HS clock.
>
> Hook that up. VBT tells us whether this should be done.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

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

> ---
>  drivers/gpu/drm/i915/display/icl_dsi.c       | 6 ++++++
>  drivers/gpu/drm/i915/display/icl_dsi_regs.h  | 1 +
>  drivers/gpu/drm/i915/display/intel_dsi.h     | 1 +
>  drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 2 ++
>  4 files changed, 10 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c
> index 45ba02486c56..afbaa0465842 100644
> --- a/drivers/gpu/drm/i915/display/icl_dsi.c
> +++ b/drivers/gpu/drm/i915/display/icl_dsi.c
> @@ -729,6 +729,12 @@ gen11_dsi_configure_transcoder(struct intel_encoder *encoder,
>  		else
>  			tmp |= CLK_HS_CONTINUOUS;
>  
> +		if (DISPLAY_VER(display) >= 12 &&
> +		    intel_dsi->lp_clock_during_lpm)
> +			tmp |= LP_CLK_DURING_LPM;
> +		else
> +			tmp &= ~LP_CLK_DURING_LPM;
> +
>  		/* configure buffer threshold limit to minimum */
>  		tmp &= ~PIX_BUF_THRESHOLD_MASK;
>  		tmp |= PIX_BUF_THRESHOLD_1_4;
> diff --git a/drivers/gpu/drm/i915/display/icl_dsi_regs.h b/drivers/gpu/drm/i915/display/icl_dsi_regs.h
> index 641e8f0b8cdb..55ab57adcb0f 100644
> --- a/drivers/gpu/drm/i915/display/icl_dsi_regs.h
> +++ b/drivers/gpu/drm/i915/display/icl_dsi_regs.h
> @@ -227,6 +227,7 @@
>  #define  CLK_ENTER_LP_AFTER_DATA	(0x0 << 8)
>  #define  CLK_HS_OR_LP			(0x2 << 8)
>  #define  CLK_HS_CONTINUOUS		(0x3 << 8)
> +#define  LP_CLK_DURING_LPM		(1 << 7) /* tgl+ */
>  #define  LINK_CALIBRATION_MASK		(0x3 << 4)
>  #define  LINK_CALIBRATION_SHIFT		4
>  #define  CALIBRATION_DISABLED		(0x0 << 4)
> diff --git a/drivers/gpu/drm/i915/display/intel_dsi.h b/drivers/gpu/drm/i915/display/intel_dsi.h
> index f55d48e43af1..9fcdabbf3740 100644
> --- a/drivers/gpu/drm/i915/display/intel_dsi.h
> +++ b/drivers/gpu/drm/i915/display/intel_dsi.h
> @@ -80,6 +80,7 @@ struct intel_dsi {
>  	/* NON_BURST_SYNC_PULSE, NON_BURST_SYNC_EVENTS, or BURST_MODE */
>  	int video_mode;
>  
> +	bool lp_clock_during_lpm;
>  	bool blanking_pkt;
>  	bool eot_pkt;
>  	bool clock_stop;
> diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c
> index c544871dac0b..fe12041e913c 100644
> --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c
> +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c
> @@ -718,6 +718,7 @@ void intel_dsi_log_params(struct intel_dsi *intel_dsi)
>  		   "burst" : "<unknown>");
>  	drm_printf(&p, "Burst mode ratio %d\n", intel_dsi->burst_mode_ratio);
>  	drm_printf(&p, "Reset timer %d\n", intel_dsi->rst_timer_val);
> +	drm_printf(&p, "LP clock during LPM %s\n", str_enabled_disabled(intel_dsi->lp_clock_during_lpm));
>  	drm_printf(&p, "Blanking packets during BLLP %s\n", str_enabled_disabled(intel_dsi->blanking_pkt));
>  	drm_printf(&p, "EoT packet %s\n", str_enabled_disabled(intel_dsi->eot_pkt));
>  	drm_printf(&p, "Clock stop during BLLP %s\n", str_enabled_disabled(intel_dsi->clock_stop));
> @@ -771,6 +772,7 @@ bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id)
>  
>  	drm_dbg_kms(display->drm, "\n");
>  
> +	intel_dsi->lp_clock_during_lpm = mipi_config->lp_clock_during_lpm;
>  	intel_dsi->blanking_pkt = mipi_config->blanking_packets_during_bllp;
>  	intel_dsi->eot_pkt = !mipi_config->eot_pkt_disabled;
>  	intel_dsi->clock_stop = mipi_config->enable_clk_stop;

-- 
Jani Nikula, Intel

  reply	other threads:[~2026-03-26 15:24 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-26 11:18 [PATCH 0/5] drm/i915/dsi: Some DSI fixes and improvements Ville Syrjala
2026-03-26 11:18 ` [PATCH 1/5] drm/i915/dsi: Don't do DSC horizontal timing adjustments in command mode Ville Syrjala
2026-03-26 15:20   ` Jani Nikula
2026-03-26 11:18 ` [PATCH 2/5] drm/i915/dsi: s/eotp_pkt/eot_pkt/ Ville Syrjala
2026-03-26 15:22   ` Jani Nikula
2026-03-26 11:18 ` [PATCH 3/5] drm/i915/dsi: Make 'clock_stop' boolean Ville Syrjala
2026-03-26 13:40   ` Jani Nikula
2026-03-26 14:02     ` Ville Syrjälä
2026-03-26 15:01       ` Jani Nikula
2026-03-26 15:16         ` Ville Syrjälä
2026-03-26 15:22           ` Jani Nikula
2026-03-26 11:18 ` [PATCH 4/5] drm/i915/dsi: Fill BLLPs with blanking packets if requested Ville Syrjala
2026-03-26 15:23   ` Jani Nikula
2026-03-26 11:18 ` [PATCH 5/5] drm/i915/dsi: Place clock into LP during LPM " Ville Syrjala
2026-03-26 15:24   ` Jani Nikula [this message]
2026-03-26 11:24 ` ✗ CI.checkpatch: warning for drm/i915/dsi: Some DSI fixes and improvements Patchwork
2026-03-26 11:26 ` ✓ CI.KUnit: success " Patchwork
2026-03-26 12:00 ` ✓ Xe.CI.BAT: " Patchwork
2026-03-27  0:36 ` ✓ Xe.CI.FULL: " 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=c44b5729e197c9d8ad1b9da1b87b0601a73eede7@intel.com \
    --to=jani.nikula@linux.intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox