Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
to consider:
- [Medium] The `no-hpd` property is documented in the device tree bindings but 
has no corresponding implementation in the driver.
--

--- Patch [1]: [PATCH v5 1/2] dt-bindings: display: bridge: cdns, mhdp8546: Add 
no-hpd property to the cadence bridge ---
commit 4ac60fbbcafba148711703269045306014cd935a
Author: Rahul T R <[email protected]>

dt-bindings: display: bridge: cdns, mhdp8546: Add no-hpd property to the 
cadence bridge

This commit introduces the no-hpd property to the mhdp8546 device tree
bindings. It provides a way to indicate when the hardware HPD line is not
available, specifying that the driver should fall back to auxiliary channel
DPCD reads for hotplug detection.

> diff --git 
> a/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml 
> b/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml
> --- a/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml
> +++ b/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml

[ ... ]

> @@ -57,6 +57,23 @@ properties:
>    interrupts:
>      maxItems: 1
>  
> +  no-hpd:
> +    type: boolean
> +    description:
> +      Set if the HPD line on the bridge isn't physically connected to the
> +      DisplayPort connector or cannot be used for hotplug detection.
> +
> +      Valid use cases include:
> +      - HPD pin not routed to the connector on the PCB
> +      - HPD signal muxed with another function (e.g., audio) on the SoC,
> +        making it unavailable for hotplug detection
> +      - Hardware design where HPD cannot reliably detect monitor presence
> +
> +      When this property is set, the driver will use auxiliary channel (AUX)
> +      DPCD reads to detect monitor connection instead of relying on the
> +      hardware HPD signal. Monitor detection will use polling rather than
> +      interrupt-driven detection.
> +

[Severity: Medium]
Is the driver implementation missing for this new property?

The binding documentation states that the driver will use polling rather than
interrupt-driven detection when this property is set. However, looking at the
driver in cdns_mhdp_probe(), it unconditionally requires hardware HPD
operations:

drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c:cdns_mhdp_probe() {
        ...
        mhdp->bridge.of_node = pdev->dev.of_node;
        mhdp->bridge.ops = DRM_BRIDGE_OP_DETECT | DRM_BRIDGE_OP_EDID |
                           DRM_BRIDGE_OP_HPD;
        mhdp->bridge.type = DRM_MODE_CONNECTOR_DisplayPort;
        ...
}

Does the driver need logic to parse the no-hpd property and conditionally
adjust these operations to enable polling instead of enforcing hardware HPD?

>    ports:
>      $ref: /schemas/graph.yaml#/properties/ports
>

-- 
Sashiko AI review ยท 
https://sashiko.dev/#/patchset/[email protected]?part=1

Reply via email to