Fix pinkish color issue around grey areas. This also happens when not using any dongle so directly with a usb-c to Display Port cable. Meaning there is something wrong when using pixel encoding RGB with amd driver in the general case. In the meantime just use the same pixel encoding as when using HDMI without dongle. This way users will see the same thing on 2 identical screens when one is connected with hdmi-to-hdmi and the other is connected with usb-c-to-hdmi. Signed-off-by: Julien Isorce <jisorce@xxxxxxxxxx> --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index d3f404f097eb..8139dcc0bfba 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -3313,6 +3313,7 @@ static void fill_stream_properties_from_drm_display_mode( { struct dc_crtc_timing *timing_out = &stream->timing; const struct drm_display_info *info = &connector->display_info; + const struct dc_link *link = stream->sink->link; memset(timing_out, 0, sizeof(struct dc_crtc_timing)); @@ -3327,6 +3328,10 @@ static void fill_stream_properties_from_drm_display_mode( else if ((connector->display_info.color_formats & DRM_COLOR_FORMAT_YCRCB444) && stream->signal == SIGNAL_TYPE_HDMI_TYPE_A) timing_out->pixel_encoding = PIXEL_ENCODING_YCBCR444; + else if ((connector->display_info.color_formats & DRM_COLOR_FORMAT_YCRCB444) + && stream->sink->sink_signal == SIGNAL_TYPE_DISPLAY_PORT + && link->dpcd_caps.dongle_type == DISPLAY_DONGLE_DP_HDMI_CONVERTER) + timing_out->pixel_encoding = PIXEL_ENCODING_YCBCR444; else timing_out->pixel_encoding = PIXEL_ENCODING_RGB; -- 2.17.1 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx