dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: skip eDP hw probe when connector forced off via cmdline
@ 2026-07-07  8:57 LIOU, Mei Fan
  2026-07-10 13:56 ` Ville Syrjälä
  0 siblings, 1 reply; 2+ messages in thread
From: LIOU, Mei Fan @ 2026-07-07  8:57 UTC (permalink / raw)
  To: Jani Nikula, Rodrigo Vivi
  Cc: Joonas Lahtinen, Tvrtko Ursulin, David Airlie, Simona Vetter,
	intel-gfx, intel-xe, dri-devel, linux-kernel, LIOU, Mei Fan,
	Arun R Murthy

When eDP connector is forced off (video=eDP-1:d),
intel_edp_init_connector() ignores the force flag and still probes
the AUX channel for DPCD and EDID.

video=eDP-1:d sets connector->force = DRM_FORCE_OFF via
drm_connector_get_cmdline_mode() inside drm_connector_init_with_ddc(),
which logs 'forcing eDP-1 connector off'. However,
intel_edp_init_connector() is called immediately after and ignores
the force flag, so AUX/PPS probing still occurs.

Fix this by checking connector->base.force == DRM_FORCE_OFF in
intel_edp_init_connector() after the intel_dp_is_edp() check, before
any AUX/DPCD probing is attempted. When the connector is forced off,
log an informational message and goto out_vdd_off to properly clean
up PPS state and skip all remaining hardware probing.

Suggested-by: Arun R Murthy <arun.r.murthy@intel.com>
Signed-off-by: LIOU, Mei Fan <mei.fan.liou@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 3569e61e7fee..fa61b299f83e 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -7057,6 +7057,17 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
 
 	intel_alpm_init(intel_dp);
 
+	/*
+	 * If the connector has been forced off via the kernel cmdline
+	 * (e.g. video=eDP-1:d), skip DPCD/AUX probing.
+	 */
+	if (connector->base.force == DRM_FORCE_OFF) {
+		drm_info(display->drm,
+			 "[ENCODER:%d:%s] eDP disabled via cmdline, skipping eDP init\n",
+			 encoder->base.base.id, encoder->base.name);
+		goto out_vdd_off;
+	}
+
 	/* Cache DPCD and EDID for edp. */
 	has_dpcd = intel_edp_init_dpcd(intel_dp, connector);
 
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] drm/i915: skip eDP hw probe when connector forced off via cmdline
  2026-07-07  8:57 [PATCH] drm/i915: skip eDP hw probe when connector forced off via cmdline LIOU, Mei Fan
@ 2026-07-10 13:56 ` Ville Syrjälä
  0 siblings, 0 replies; 2+ messages in thread
From: Ville Syrjälä @ 2026-07-10 13:56 UTC (permalink / raw)
  To: LIOU, Mei Fan
  Cc: Jani Nikula, Rodrigo Vivi, Joonas Lahtinen, Tvrtko Ursulin,
	David Airlie, Simona Vetter, intel-gfx, intel-xe, dri-devel,
	linux-kernel, Arun R Murthy

On Tue, Jul 07, 2026 at 04:57:04PM +0800, LIOU, Mei Fan wrote:
> When eDP connector is forced off (video=eDP-1:d),
> intel_edp_init_connector() ignores the force flag and still probes
> the AUX channel for DPCD and EDID.
> 
> video=eDP-1:d sets connector->force = DRM_FORCE_OFF via
> drm_connector_get_cmdline_mode() inside drm_connector_init_with_ddc(),
> which logs 'forcing eDP-1 connector off'. However,
> intel_edp_init_connector() is called immediately after and ignores
> the force flag, so AUX/PPS probing still occurs.
> 
> Fix this by checking connector->base.force == DRM_FORCE_OFF in
> intel_edp_init_connector() after the intel_dp_is_edp() check, before
> any AUX/DPCD probing is attempted. When the connector is forced off,
> log an informational message and goto out_vdd_off to properly clean
> up PPS state and skip all remaining hardware probing.
> 
> Suggested-by: Arun R Murthy <arun.r.murthy@intel.com>
> Signed-off-by: LIOU, Mei Fan <mei.fan.liou@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_dp.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 3569e61e7fee..fa61b299f83e 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -7057,6 +7057,17 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>  
>  	intel_alpm_init(intel_dp);
>  
> +	/*
> +	 * If the connector has been forced off via the kernel cmdline
> +	 * (e.g. video=eDP-1:d), skip DPCD/AUX probing.
> +	 */
> +	if (connector->base.force == DRM_FORCE_OFF) {
> +		drm_info(display->drm,
> +			 "[ENCODER:%d:%s] eDP disabled via cmdline, skipping eDP init\n",
> +			 encoder->base.base.id, encoder->base.name);
> +		goto out_vdd_off;
> +	}

This doesn't looks sane if the eDP panel is actually there. We need to
turn it off gracefully.

> +
>  	/* Cache DPCD and EDID for edp. */
>  	has_dpcd = intel_edp_init_dpcd(intel_dp, connector);
>  
> -- 
> 2.52.0

-- 
Ville Syrjälä
Intel

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-07-10 13:56 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-07  8:57 [PATCH] drm/i915: skip eDP hw probe when connector forced off via cmdline LIOU, Mei Fan
2026-07-10 13:56 ` Ville Syrjälä

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox