Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
to consider:
- [High] Missing DPCD_Revision check causes false positive virtual DPCD 
detection for standard legacy converters
--

commit e68ed6d2cec8654867cd8f6c00fc3632759c424a
Author: Xiao Lu <[email protected]>

drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology

This commit modifies the drm_dp_mst_is_virtual_dpcd() function to accept
DP_PEER_DEVICE_DP_LEGACY_CONV downstream ports as virtual DPCDs on DP-to-DP
branches. This is intended to support DP-to-HDMI PCON devices using VESA SCR
Option 2.

> diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c 
> b/drivers/gpu/drm/display/drm_dp_mst_topology.c
> index 7ce9e212770ad..5f15d9313a20e 100644
> --- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
> +++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c
> @@ -6047,7 +6047,8 @@ static bool drm_dp_mst_is_virtual_dpcd(struct 
> drm_dp_mst_port *port)
>           port->mstb &&
>           port->mstb->num_ports == 2) {
>               list_for_each_entry(downstream_port, &port->mstb->ports, next) {
> -                     if (downstream_port->pdt == DP_PEER_DEVICE_SST_SINK &&
> +                     if ((downstream_port->pdt == DP_PEER_DEVICE_SST_SINK ||
> +                          downstream_port->pdt == 
> DP_PEER_DEVICE_DP_LEGACY_CONV) &&

[Severity: High]
The commit message states that PCON devices advertise a non-zero DPCD_Revision
in the link address reply, but this code block appears to check only the pdt
without validating downstream_port->dpcd_rev != 0.

Does this cause standard legacy DP-to-HDMI/VGA adapters (which also report
DP_PEER_DEVICE_DP_LEGACY_CONV but with dpcd_rev == 0) to be incorrectly
identified as virtual DPCDs?

If a standard legacy converter is falsely identified as a virtual DPCD,
drm_dp_mst_dsc_aux_for_port() might skip the mandatory FEC capability check
for that branch. Could this cause DSC to be enabled on paths without FEC
support, leading to link training failures and black screens when users plug
standard adapters into MST hubs?

>                           !downstream_port->input) {
>                               mutex_unlock(&port->mgr->lock);
>                               return true;

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

Reply via email to