Commit 06a498d9 authored by Lewis Huang's avatar Lewis Huang Committed by Alex Deucher

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: default avatarDuncan Ma <duncan.ma@amd.com>
Acked-by: default avatarZaeem Mohamed <zaeem.mohamed@amd.com>
Signed-off-by: default avatarLewis Huang <lewis.huang@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent abb3f19c
...@@ -304,6 +304,7 @@ struct dc_bug_wa { ...@@ -304,6 +304,7 @@ struct dc_bug_wa {
uint8_t dcfclk : 1; uint8_t dcfclk : 1;
uint8_t dcfclk_ds: 1; uint8_t dcfclk_ds: 1;
} clock_update_disable_mask; } clock_update_disable_mask;
bool skip_psr_ips_crtc_disable;
//Customer Specific WAs //Customer Specific WAs
uint32_t force_backlight_start_level; uint32_t force_backlight_start_level;
}; };
......
...@@ -1256,6 +1256,9 @@ static void dc_dmub_srv_notify_idle(const struct dc *dc, bool allow_idle) ...@@ -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; 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) { if (allow_idle) {
volatile struct dmub_shared_state_ips_driver *ips_driver = volatile struct dmub_shared_state_ips_driver *ips_driver =
&dc_dmub_srv->dmub->shared_state[DMUB_SHARED_SHARE_FEATURE__IPS_DRIVER].data.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 { ...@@ -1882,7 +1882,8 @@ struct dmub_rb_cmd_idle_opt_dcn_restore {
*/ */
struct dmub_dcn_notify_idle_cntl_data { struct dmub_dcn_notify_idle_cntl_data {
uint8_t driver_idle; uint8_t driver_idle;
uint8_t reserved[59]; uint8_t skip_otg_disable;
uint8_t reserved[58];
}; };
/** /**
......
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