drm/amd/display: Add DSC 422Native debug option
authorIlya Bakoulin <Ilya.Bakoulin@amd.com>
Thu, 3 Oct 2019 21:35:32 +0000 (17:35 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 19 Nov 2019 15:12:53 +0000 (10:12 -0500)
[Why]
Need to be able to enable native 422 for debugging purposes.

[How]
Add new dc_debug_options bool and check it in the get_dsc_enc_caps
function.

Signed-off-by: Ilya Bakoulin <Ilya.Bakoulin@amd.com>
Reviewed-by: Charlene Liu <Charlene.Liu@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/dc.h
drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c

index f30c77e..3e6133f 100644 (file)
@@ -362,6 +362,7 @@ struct dc_debug_options {
        bool disable_hubp_power_gate;
        bool disable_dsc_power_gate;
        int dsc_min_slice_height_override;
+       bool native422_support;
        bool disable_pplib_wm_range;
        enum wm_report_mode pplib_wm_report_mode;
        unsigned int min_disp_clk_khz;
index dabd3b7..ec86ba7 100644 (file)
@@ -25,6 +25,7 @@
 #include "dc_hw_types.h"
 #include "dsc.h"
 #include <drm/drm_dp_helper.h>
+#include "dc.h"
 
 struct dc_dsc_policy {
        bool use_min_slices_h;
@@ -236,8 +237,11 @@ static void get_dsc_enc_caps(
        // This is a static HW query, so we can use any DSC
 
        memset(dsc_enc_caps, 0, sizeof(struct dsc_enc_caps));
-       if (dsc)
+       if (dsc) {
                dsc->funcs->dsc_get_enc_caps(dsc_enc_caps, pixel_clock_100Hz);
+               if (dsc->ctx->dc->debug.native422_support)
+                       dsc_enc_caps->color_formats.bits.YCBCR_NATIVE_422 = 1;
+       }
 }
 
 /* Returns 'false' if no intersection was found for at least one capablity.