bool enable_replay_esd_recovery;
uint8_t iommu_mismatch_temp_wka;
bool disable_dynamic_expansion_for_test_pattern;
- uint32_t dml21_custom_derate_num_dpms;
- uint32_t dml21_custom_derate_at_dpm[DML2_MAX_NUM_DPM_LVL];
};
if (dc->bb_overrides.sr_enter_plus_exit_z8_time_ns)
soc_bb->power_management_parameters.z8_stutter_enter_plus_exit_latency_us =
dc->bb_overrides.sr_enter_plus_exit_z8_time_ns / 1000.0;
-
- /* Override per-dpm derates based on a custom derate table.
- * Global derate value will be used for derates that aren't populated
- * 3 derates for a single DPM level:
- * bits 0-7: dram_derate_percent_pixel
- * bits 8-15: fclk_derate_percent
- * bits 16-23: dcfclk_derate_percent
- */
- for (unsigned int i = 0; i < dc->debug.dml21_custom_derate_num_dpms; i++) {
- soc_bb->qos_parameters.derate_table_per_dpm.system_active_derates_per_dpm.dram_derate_percent_pixel[i]
- = dc->debug.dml21_custom_derate_at_dpm[i] & 0xFF;
- soc_bb->qos_parameters.derate_table_per_dpm.system_active_derates_per_dpm.fclk_derate_percent[i]
- = (dc->debug.dml21_custom_derate_at_dpm[i] >> 8) & 0xFF;
- soc_bb->qos_parameters.derate_table_per_dpm.system_active_derates_per_dpm.dcfclk_derate_percent[i]
- = (dc->debug.dml21_custom_derate_at_dpm[i] >> 16) & 0xFF;
- }
}
static void apply_soc_bb_updates(struct dml2_soc_bb *soc_bb, const struct dc *dc, const struct dml2_configuration_options *config)