[PATCH] drm/amd/display: Use pixel encoding 444 for dongle usb-c to hdmi

Harry Wentland hwentlan at amd.com
Tue Oct 8 17:44:10 UTC 2019


Hi Julien,

curious which monitor you're using.

Have you checked whether the driver picks RGB or YCBCR420 without your
patch?

I'm not sure I understand how the pinkish color issue looks. Do you see
a pinkish color at the transition from grey to another color? Or is the
entire grey area pinkish?

Thanks,
Harry

On 2019-10-08 12:06 p.m., Julien Isorce wrote:
> Hi,
> 
> Gentle ping ?
> 
> Thx
> Julien
> 
> On Tue, Oct 1, 2019 at 3:21 PM Julien Isorce <julien.isorce at gmail.com
> <mailto:julien.isorce at gmail.com>> wrote:
> 
>     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 at oblong.com
>     <mailto:jisorce at oblong.com>>
>     ---
>      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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
> 


More information about the amd-gfx mailing list