]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drm/amd/display: fix a potential issue in DSC logic
authorWenjing Liu <Wenjing.Liu@amd.com>
Thu, 25 Apr 2019 16:11:50 +0000 (12:11 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Sat, 22 Jun 2019 14:34:12 +0000 (09:34 -0500)
[why]
In compute dsc bandwidth range there is an uninitialized variable

[how]
Initialize the variable to the correct value.

Signed-off-by: Wenjing Liu <Wenjing.Liu@amd.com>
Reviewed-by: Nikola Cornij <Nikola.Cornij@amd.com>
Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c

index 94a623dc37f4e6e8d5ff11fc949b3a69de0b4e4d..252c3d0a255597f5f1393814522c6a76a3fc0883 100644 (file)
@@ -826,10 +826,16 @@ bool dc_dsc_compute_bandwidth_range(
        struct dc_dsc_config config;
 
        get_dsc_enc_caps(dc, &dsc_enc_caps, timing->pix_clk_100hz);
-       is_dsc_possible = setup_dsc_config(dsc_sink_caps,
-                       &dsc_enc_caps,
-                       0,
-                       timing, &config);
+
+       is_dsc_possible = intersect_dsc_caps(dsc_sink_caps, &dsc_enc_caps,
+                       timing->pixel_encoding, &dsc_common_caps);
+
+       if (is_dsc_possible)
+               is_dsc_possible = setup_dsc_config(dsc_sink_caps,
+                               &dsc_enc_caps,
+                               0,
+                               timing, &config);
+
        if (is_dsc_possible)
                get_dsc_bandwidth_range(min_bpp, max_bpp, &dsc_common_caps, timing, range);