drm/amd/display: Add monitor patch skip disable crtc during psr and ips1
[Why] For some panel, it cannot handle pseudo vblank set by otg resync when leave psr [How] The monitor patch will keep otg_on during enter IPS1. And then we don't need to do otg resync when wake up. Reviewed-by: Duncan Ma <duncan.ma@amd.com> Acked-by: Zaeem Mohamed <zaeem.mohamed@amd.com> Signed-off-by: Lewis Huang <lewis.huang@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
abb3f19cad
commit
06a498d9f5
@@ -304,6 +304,7 @@ struct dc_bug_wa {
|
||||
uint8_t dcfclk : 1;
|
||||
uint8_t dcfclk_ds: 1;
|
||||
} clock_update_disable_mask;
|
||||
bool skip_psr_ips_crtc_disable;
|
||||
//Customer Specific WAs
|
||||
uint32_t force_backlight_start_level;
|
||||
};
|
||||
|
||||
@@ -1256,6 +1256,9 @@ static void dc_dmub_srv_notify_idle(const struct dc *dc, bool allow_idle)
|
||||
|
||||
cmd.idle_opt_notify_idle.cntl_data.driver_idle = allow_idle;
|
||||
|
||||
if (dc->work_arounds.skip_psr_ips_crtc_disable)
|
||||
cmd.idle_opt_notify_idle.cntl_data.skip_otg_disable = true;
|
||||
|
||||
if (allow_idle) {
|
||||
volatile struct dmub_shared_state_ips_driver *ips_driver =
|
||||
&dc_dmub_srv->dmub->shared_state[DMUB_SHARED_SHARE_FEATURE__IPS_DRIVER].data.ips_driver;
|
||||
|
||||
@@ -1882,7 +1882,8 @@ struct dmub_rb_cmd_idle_opt_dcn_restore {
|
||||
*/
|
||||
struct dmub_dcn_notify_idle_cntl_data {
|
||||
uint8_t driver_idle;
|
||||
uint8_t reserved[59];
|
||||
uint8_t skip_otg_disable;
|
||||
uint8_t reserved[58];
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user