<div dir="auto"><div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">Harry Wentland <<a href="mailto:harry.wentland@amd.com">harry.wentland@amd.com</a>> ezt írta (időpont: 2025. aug. 6., Sze 16:56):<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 2025-07-23 11:57, Timur Kristóf wrote:<br>
> Previously, DC determined the DRM connector type based on the<br>
> signal type, which becomes problematic when a connector may<br>
> support different signal types, such as DVI-I.<br>
> <br>
> With this patch, it is now determined according to the actual<br>
> connector type in DC, meaning it can now distinguish between<br>
> DVI-D and DVI-I connectors.<br>
> <br>
> A subsequent commit will enable polling for these connectors.<br>
> <br>
<br>
Hi Timur,<br>
<br>
this patch regresses the kms_bw IGT test with Navi 31 and 48<br>
with a single 4k60 DP display connected. These subtests fail<br>
when they should pass:<br>
<br>
linear-tiling-2-displays-1920x1080p<br>
linear-tiling-2-displays-2160x1440p<br>
linear-tiling-2-displays-2560x1440p<br>
linear-tiling-2-displays-3840x2160p<br>
linear-tiling-3-displays-1920x1080p<br>
linear-tiling-3-displays-2160x1440p<br>
linear-tiling-3-displays-2560x1440p<br>
linear-tiling-3-displays-3840x2160p<br>
linear-tiling-4-displays-1920x1080p<br>
linear-tiling-4-displays-2160x1440p<br>
linear-tiling-4-displays-2560x1440p<br>
linear-tiling-4-displays-3840x2160p<br>
<br>
We confirmed with a revert of this patch.<br>
<br>
Harry<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Hi Harry,</div><div dir="auto"><br></div><div dir="auto">Also, can you please help me figure out how do I reproduce this on my own?</div><div dir="auto"><br></div><div dir="auto">At the moment I don't see what is there that would make a difference to Navi 31 or 48.</div><div dir="auto"><br></div><div dir="auto">Thanks,</div><div dir="auto">Timur</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
> Signed-off-by: Timur Kristóf <<a href="mailto:timur.kristof@gmail.com" target="_blank" rel="noreferrer">timur.kristof@gmail.com</a>><br>
> ---<br>
>  .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 28 +++++++++++--------<br>
>  1 file changed, 16 insertions(+), 12 deletions(-)<br>
> <br>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c<br>
> index 096b23ad4845..c347b232ae06 100644<br>
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c<br>
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c<br>
> @@ -8038,24 +8038,26 @@ static int dm_update_mst_vcpi_slots_for_dsc(struct drm_atomic_state *state,<br>
>       return 0;<br>
>  }<br>
>  <br>
> -static int to_drm_connector_type(enum signal_type st)<br>
> +static int to_drm_connector_type(uint32_t connector_id)<br>
>  {<br>
> -     switch (st) {<br>
> -     case SIGNAL_TYPE_HDMI_TYPE_A:<br>
> +     switch (connector_id) {<br>
> +     case CONNECTOR_ID_HDMI_TYPE_A:<br>
>               return DRM_MODE_CONNECTOR_HDMIA;<br>
> -     case SIGNAL_TYPE_EDP:<br>
> +     case CONNECTOR_ID_EDP:<br>
>               return DRM_MODE_CONNECTOR_eDP;<br>
> -     case SIGNAL_TYPE_LVDS:<br>
> +     case CONNECTOR_ID_LVDS:<br>
>               return DRM_MODE_CONNECTOR_LVDS;<br>
> -     case SIGNAL_TYPE_RGB:<br>
> +     case CONNECTOR_ID_VGA:<br>
>               return DRM_MODE_CONNECTOR_VGA;<br>
> -     case SIGNAL_TYPE_DISPLAY_PORT:<br>
> -     case SIGNAL_TYPE_DISPLAY_PORT_MST:<br>
> +     case CONNECTOR_ID_DISPLAY_PORT:<br>
>               return DRM_MODE_CONNECTOR_DisplayPort;<br>
> -     case SIGNAL_TYPE_DVI_DUAL_LINK:<br>
> -     case SIGNAL_TYPE_DVI_SINGLE_LINK:<br>
> +     case CONNECTOR_ID_SINGLE_LINK_DVID:<br>
> +     case CONNECTOR_ID_DUAL_LINK_DVID:<br>
>               return DRM_MODE_CONNECTOR_DVID;<br>
> -     case SIGNAL_TYPE_VIRTUAL:<br>
> +     case CONNECTOR_ID_SINGLE_LINK_DVII:<br>
> +     case CONNECTOR_ID_DUAL_LINK_DVII:<br>
> +             return DRM_MODE_CONNECTOR_DVII;<br>
> +     case CONNECTOR_ID_VIRTUAL:<br>
>               return DRM_MODE_CONNECTOR_VIRTUAL;<br>
>  <br>
>       default:<br>
> @@ -8440,6 +8442,8 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,<br>
>                       link->link_enc->features.dp_ycbcr420_supported ? true : false;<br>
>               break;<br>
>       case DRM_MODE_CONNECTOR_DVID:<br>
> +     case DRM_MODE_CONNECTOR_DVII:<br>
> +     case DRM_MODE_CONNECTOR_VGA:<br>
>               aconnector->base.polled = DRM_CONNECTOR_POLL_HPD;<br>
>               break;<br>
>       default:<br>
> @@ -8631,7 +8635,7 @@ static int amdgpu_dm_connector_init(struct amdgpu_display_manager *dm,<br>
>               goto out_free;<br>
>       }<br>
>  <br>
> -     connector_type = to_drm_connector_type(link->connector_signal);<br>
> +     connector_type = to_drm_connector_type(link-><a href="http://link_id.id" rel="noreferrer noreferrer" target="_blank">link_id.id</a>);<br>
>  <br>
>       res = drm_connector_init_with_ddc(<br>
>                       dm->ddev,<br>
<br>
</blockquote></div></div></div>