Commit b5175966 authored by Shah Dharati's avatar Shah Dharati Committed by Alex Deucher

drm/amd/display: Adding a dc_debug option and dmub setting to use PHY FSM for PSR

[Why]
PSR Power on/off is done in PSR. Add a dc_debug option
and dmub setting to use PHY implementation of this instead.

[How]
Add a dc_debug option and dmub setting to use
PHY FSM Power up/down for PSR.
Co-authored-by: default avatarShah Dharati <dharati.shah@amd.com>
Reviewed-by: default avatarHansen Dsouza <hansen.dsouza@amd.com>
Acked-by: default avatarAlan Liu <HaoPing.Liu@amd.com>
Signed-off-by: default avatarShah Dharati <dharati.shah@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 91dcfe5f
...@@ -710,6 +710,7 @@ struct dc_debug_options { ...@@ -710,6 +710,7 @@ struct dc_debug_options {
#endif #endif
bool apply_vendor_specific_lttpr_wa; bool apply_vendor_specific_lttpr_wa;
bool ignore_dpref_ss; bool ignore_dpref_ss;
uint8_t psr_power_use_phy_fsm;
}; };
struct gpu_info_soc_bounding_box_v1_0; struct gpu_info_soc_bounding_box_v1_0;
......
...@@ -320,6 +320,7 @@ static bool dmub_psr_copy_settings(struct dmub_psr *dmub, ...@@ -320,6 +320,7 @@ static bool dmub_psr_copy_settings(struct dmub_psr *dmub,
copy_settings_data->otg_inst = 0; copy_settings_data->otg_inst = 0;
// Misc // Misc
copy_settings_data->use_phy_fsm = link->ctx->dc->debug.psr_power_use_phy_fsm;
copy_settings_data->psr_level = psr_context->psr_level.u32all; copy_settings_data->psr_level = psr_context->psr_level.u32all;
copy_settings_data->smu_optimizations_en = psr_context->allow_smu_optimizations; copy_settings_data->smu_optimizations_en = psr_context->allow_smu_optimizations;
copy_settings_data->multi_disp_optimizations_en = psr_context->allow_multi_disp_optimizations; copy_settings_data->multi_disp_optimizations_en = psr_context->allow_multi_disp_optimizations;
......
...@@ -1035,6 +1035,7 @@ static const struct dc_debug_options debug_defaults_drv = { ...@@ -1035,6 +1035,7 @@ static const struct dc_debug_options debug_defaults_drv = {
}, },
.optimize_edp_link_rate = true, .optimize_edp_link_rate = true,
.enable_sw_cntl_psr = true, .enable_sw_cntl_psr = true,
.psr_power_use_phy_fsm = 0,
}; };
static const struct dc_debug_options debug_defaults_diags = { static const struct dc_debug_options debug_defaults_diags = {
......
...@@ -1560,10 +1560,14 @@ struct dmub_cmd_psr_copy_settings_data { ...@@ -1560,10 +1560,14 @@ struct dmub_cmd_psr_copy_settings_data {
* DSC enable status in driver * DSC enable status in driver
*/ */
uint8_t dsc_enable_status; uint8_t dsc_enable_status;
/*
* Use FSM state for PSR power up/down
*/
uint8_t use_phy_fsm;
/** /**
* Explicit padding to 3 byte boundary. * Explicit padding to 2 byte boundary.
*/ */
uint8_t pad3[3]; uint8_t pad3[2];
}; };
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment