[PATCH] drm/bridge: display-connector: don't set OP_DETECT for DisplayPorts

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Aug 4 23:58:29 UTC 2025


Hi Dmitry,

Thank you for the patch.

On Sat, Aug 02, 2025 at 01:40:35PM +0300, Dmitry Baryshkov wrote:
> Detecting the monitor for DisplayPort targets is more complicated than
> just reading the HPD pin level: it requires reading the DPCD in order to
> check what kind of device is attached to the port and whether there is
> an actual display attached.
> 
> In order to let DRM framework handle such configurations, disable
> DRM_BRIDGE_OP_DETECT for dp-connector devices, letting the actual DP
> driver perform detection. This still keeps DRM_BRIDGE_OP_HPD enabled, so
> it is valid for the bridge to report HPD events.
> 
> Currently inside the kernel there are only two targets which list
> hpd-gpios for dp-connector devices: arm64/qcom/qcs6490-rb3gen2 and
> arm64/qcom/sa8295p-adp. Both should be fine with this change.
> 
> Cc: Bjorn Andersson <andersson at kernel.org>
> Cc: Konrad Dybcio <konradybcio at kernel.org>
> Cc: linux-arm-msm at vger.kernel.org
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at oss.qualcomm.com>

Makes sense.

Acked-by: Laurent Pinchart <laurent.pinchart+renesas at ideasonboard.com>

> ---
>  drivers/gpu/drm/bridge/display-connector.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/bridge/display-connector.c b/drivers/gpu/drm/bridge/display-connector.c
> index d7e1c2f8f53cad514ec502d58c1b94d348515b42..e9f16dbc953533c2a2d329ee8fd50c1923a78aac 100644
> --- a/drivers/gpu/drm/bridge/display-connector.c
> +++ b/drivers/gpu/drm/bridge/display-connector.c
> @@ -373,7 +373,8 @@ static int display_connector_probe(struct platform_device *pdev)
>  	if (conn->bridge.ddc)
>  		conn->bridge.ops |= DRM_BRIDGE_OP_EDID
>  				 |  DRM_BRIDGE_OP_DETECT;
> -	if (conn->hpd_gpio)
> +	/* Detecting the monitor requires reading DPCD */
> +	if (conn->hpd_gpio && type != DRM_MODE_CONNECTOR_DisplayPort)
>  		conn->bridge.ops |= DRM_BRIDGE_OP_DETECT;
>  	if (conn->hpd_irq >= 0)
>  		conn->bridge.ops |= DRM_BRIDGE_OP_HPD;
> 
> ---
> base-commit: 82928cc1c2b2be16ea6ee9e23799ca182e1cd37c
> change-id: 20250802-dp-conn-no-detect-b901893b5e3c

-- 
Regards,

Laurent Pinchart


More information about the dri-devel mailing list