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:
Lewis Huang
2024-05-17 17:30:42 +08:00
committed by Alex Deucher
parent abb3f19cad
commit 06a498d9f5
3 changed files with 6 additions and 1 deletions
+1
View File
@@ -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];
};
/**