drm/amd/display: fix problems in power_helper
authorWayne Lin <Wayne.Lin@amd.com>
Fri, 22 Sep 2023 04:04:39 +0000 (12:04 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 4 Oct 2023 22:35:56 +0000 (18:35 -0400)
[Why & How]
Fix following problems:
- In abm config, forget to initialize config.ambient_thresholds_lux.
- Adjust the coding style problem
- Restrict to call psr_su_set_dsc_slice_height() under edp only

Reviewed-by: Robin Chen <robin.chen@amd.com>
Signed-off-by: Wayne Lin <Wayne.Lin@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/modules/power/power_helpers.c

index 73a2b37fbbd759eaa8ff311e2f765d4e950b8048..a522a7c0291108cd3ad2f2f57822aa3f758070b6 100644 (file)
@@ -743,13 +743,13 @@ bool dmub_init_abm_config(struct resource_pool *res_pool,
                for (i = 0; i < NUM_AGGR_LEVEL; i++) {
                        config.blRampReduction[i] = params.backlight_ramping_reduction;
                        config.blRampStart[i] = params.backlight_ramping_start;
-                       }
-               } else {
-                       for (i = 0; i < NUM_AGGR_LEVEL; i++) {
-                               config.blRampReduction[i] = abm_settings[set][i].blRampReduction;
-                               config.blRampStart[i] = abm_settings[set][i].blRampStart;
-                               }
-                       }
+               }
+       } else {
+               for (i = 0; i < NUM_AGGR_LEVEL; i++) {
+                       config.blRampReduction[i] = abm_settings[set][i].blRampReduction;
+                       config.blRampStart[i] = abm_settings[set][i].blRampStart;
+               }
+       }
 
        config.min_abm_backlight = ram_table.min_abm_backlight;
 
@@ -944,11 +944,11 @@ bool psr_su_set_dsc_slice_height(struct dc *dc, struct dc_link *link,
        uint16_t slice_height;
 
        config->dsc_slice_height = 0;
-       if ((link->connector_signal & SIGNAL_TYPE_EDP) &&
-           (!dc->caps.edp_dsc_support ||
+       if (!(link->connector_signal & SIGNAL_TYPE_EDP) ||
+           !dc->caps.edp_dsc_support ||
            link->panel_config.dsc.disable_dsc_edp ||
            !link->dpcd_caps.dsc_caps.dsc_basic_caps.fields.dsc_support.DSC_SUPPORT ||
-           !stream->timing.dsc_cfg.num_slices_v))
+           !stream->timing.dsc_cfg.num_slices_v)
                return true;
 
        pic_height = stream->timing.v_addressable +