drm/amd/display: Workaround to disable YCbCr
authorJinze Xu <jinze.xu@amd.com>
Wed, 25 Mar 2020 08:14:35 +0000 (16:14 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 22 Apr 2020 22:11:47 +0000 (18:11 -0400)
[Why]
Some mst dock can't translate DP to HDMI properly.

[How]
Bypass YCbCr timings on specific MST device.

Signed-off-by: Jinze Xu <jinze.xu@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_sink.c
drivers/gpu/drm/amd/display/dc/dc.h

index a249a0e5edd0ff6b67894af5b557c561ac8f6200..9e16af22e4aafc4867b91967ef330dc840314283 100644 (file)
@@ -54,6 +54,7 @@ static bool dc_sink_construct(struct dc_sink *sink, const struct dc_sink_init_da
        sink->ctx = link->ctx;
        sink->dongle_max_pix_clk = init_params->dongle_max_pix_clk;
        sink->converter_disable_audio = init_params->converter_disable_audio;
+       sink->is_mst_legacy = init_params->sink_is_legacy;
        sink->dc_container_id = NULL;
        sink->sink_id = init_params->link->ctx->dc_sink_id_count;
        // increment dc_sink_id_count because we don't want two sinks with same ID
index 1b30804f56dbf2ae0ff40dfbc9236c206a13d9c0..89cce79c950de6a3e8a939f1e2567dfa766e61ba 100644 (file)
@@ -1079,7 +1079,7 @@ struct dc_sink {
        void *priv;
        struct stereo_3d_features features_3d[TIMING_3D_FORMAT_MAX];
        bool converter_disable_audio;
-
+       bool is_mst_legacy;
        struct dc_sink_dsc_caps dsc_caps;
        struct dc_sink_fec_caps fec_caps;
 
@@ -1106,6 +1106,7 @@ struct dc_sink_init_data {
        struct dc_link *link;
        uint32_t dongle_max_pix_clk;
        bool converter_disable_audio;
+       bool sink_is_legacy;
 };
 
 struct dc_sink *dc_sink_create(const struct dc_sink_init_data *init_params);