drm/amd/display: Support multiple options during psr entry.
[ Upstream commit 3a5fa55455db6a11248a25f24570c365f9246144 ] [WHY] Some panels may not handle idle pattern properly during PSR entry. [HOW] Add a condition to allow multiple options on power down sequence during PSR1 entry. Reviewed-by: Anthony Koo <anthony.koo@amd.com> Signed-off-by: Martin Tsai <Martin.Tsai@amd.com> Signed-off-by: Alex Hung <alex.hung@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
4f4cb81def
commit
45068cc170
@@ -1009,6 +1009,13 @@ struct psr_settings {
|
||||
unsigned int psr_sdp_transmit_line_num_deadline;
|
||||
uint8_t force_ffu_mode;
|
||||
unsigned int psr_power_opt;
|
||||
|
||||
/**
|
||||
* Some panels cannot handle idle pattern during PSR entry.
|
||||
* To power down phy before disable stream to avoid sending
|
||||
* idle pattern.
|
||||
*/
|
||||
uint8_t power_down_phy_before_disable_stream;
|
||||
};
|
||||
|
||||
enum replay_coasting_vtotal_type {
|
||||
|
||||
@@ -419,6 +419,10 @@ static bool dmub_psr_copy_settings(struct dmub_psr *dmub,
|
||||
copy_settings_data->relock_delay_frame_cnt = 0;
|
||||
if (link->dpcd_caps.sink_dev_id == DP_BRANCH_DEVICE_ID_001CF8)
|
||||
copy_settings_data->relock_delay_frame_cnt = 2;
|
||||
|
||||
copy_settings_data->power_down_phy_before_disable_stream =
|
||||
link->psr_settings.power_down_phy_before_disable_stream;
|
||||
|
||||
copy_settings_data->dsc_slice_height = psr_context->dsc_slice_height;
|
||||
|
||||
dc_wake_and_execute_dmub_cmd(dc, &cmd, DM_DMUB_WAIT_TYPE_WAIT);
|
||||
|
||||
@@ -2869,6 +2869,12 @@ struct dmub_cmd_psr_copy_settings_data {
|
||||
* Some panels request main link off before xth vertical line
|
||||
*/
|
||||
uint16_t poweroff_before_vertical_line;
|
||||
/**
|
||||
* Some panels cannot handle idle pattern during PSR entry.
|
||||
* To power down phy before disable stream to avoid sending
|
||||
* idle pattern.
|
||||
*/
|
||||
uint8_t power_down_phy_before_disable_stream;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user