[PATCH 01/14] drm/amd/display: fix problems in power_helper
Aurabindo Pillai
aurabindo.pillai at amd.com
Tue Sep 26 21:46:52 UTC 2023
From: Wayne Lin <Wayne.Lin at amd.com>
[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 at amd.com>
Signed-off-by: Wayne Lin <Wayne.Lin at amd.com>
---
.../amd/display/modules/power/power_helpers.c | 23 ++++++++++---------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/modules/power/power_helpers.c b/drivers/gpu/drm/amd/display/modules/power/power_helpers.c
index 73a2b37fbbd7..f1b2d8bc315e 100644
--- a/drivers/gpu/drm/amd/display/modules/power/power_helpers.c
+++ b/drivers/gpu/drm/amd/display/modules/power/power_helpers.c
@@ -719,8 +719,9 @@ bool dmub_init_abm_config(struct resource_pool *res_pool,
config.backlight_offsets[i] = ram_table.backlight_offsets[i];
}
- for (i = 0; i < NUM_AMBI_LEVEL; i++)
+ for (i = 0; i < NUM_AMBI_LEVEL; i++) {
config.iir_curve[i] = ram_table.iir_curve[i];
+ }
for (i = 0; i < NUM_AMBI_LEVEL; i++) {
for (j = 0; j < NUM_AGGR_LEVEL; j++) {
@@ -743,13 +744,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 +945,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 +
--
2.42.0
More information about the amd-gfx
mailing list