Re: [PATCH] drm/i915: skip eDP hw probe when connector forced off via cmdline
From: Ville Syrjälä
Date: Fri Jul 10 2026 - 09:56:16 EST
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@xxxxxxxxx>
> Signed-off-by: LIOU, Mei Fan <mei.fan.liou@xxxxxxxxx>
> ---
> 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