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 <[email protected]> > Signed-off-by: LIOU, Mei Fan <[email protected]> > --- > 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
