From: Duncan Ma <[email protected]>

[Why]
Visual Confirm would tell us if it ever
entered idle state.

[How]
Add debug option for IPS visual confirm

Reviewed-by: Ovidiu Bunea <[email protected]>
Signed-off-by: Jerry Zuo <[email protected]>
Signed-off-by: Duncan Ma <[email protected]>
---
 drivers/gpu/drm/amd/display/dc/dc.h              | 1 +
 drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c    | 1 +
 drivers/gpu/drm/amd/display/dc/dce/dmub_replay.c | 2 ++
 drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h  | 4 ++++
 4 files changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/dc/dc.h 
b/drivers/gpu/drm/amd/display/dc/dc.h
index 83fe13f5a367..9d4b821ab219 100644
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@ -1056,6 +1056,7 @@ struct dc_debug_options {
        unsigned int force_sharpness;
        unsigned int force_lls;
        bool notify_dpia_hr_bw;
+       bool enable_ips_visual_confirm;
 };
 
 
diff --git a/drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c 
b/drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c
index ccf153b7a467..0f3d15126a1e 100644
--- a/drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c
+++ b/drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c
@@ -363,6 +363,7 @@ static bool dmub_psr_copy_settings(struct dmub_psr *dmub,
        copy_settings_data->debug.bitfields.visual_confirm      = 
dc->dc->debug.visual_confirm == VISUAL_CONFIRM_PSR;
        copy_settings_data->debug.bitfields.use_hw_lock_mgr             = 1;
        copy_settings_data->debug.bitfields.force_full_frame_update     = 0;
+       copy_settings_data->debug.bitfields.enable_ips_visual_confirm = 
dc->dc->debug.enable_ips_visual_confirm;
 
        if (psr_context->su_granularity_required == 0)
                copy_settings_data->su_y_granularity = 0;
diff --git a/drivers/gpu/drm/amd/display/dc/dce/dmub_replay.c 
b/drivers/gpu/drm/amd/display/dc/dce/dmub_replay.c
index 2a21bcf5224f..44df9e2351c2 100644
--- a/drivers/gpu/drm/amd/display/dc/dce/dmub_replay.c
+++ b/drivers/gpu/drm/amd/display/dc/dce/dmub_replay.c
@@ -167,6 +167,8 @@ static bool dmub_replay_copy_settings(struct dmub_replay 
*dmub,
        copy_settings_data->smu_optimizations_en                = 
link->replay_settings.replay_smu_opt_enable;
        copy_settings_data->replay_timing_sync_supported = 
link->replay_settings.config.replay_timing_sync_supported;
 
+       copy_settings_data->debug.bitfields.enable_ips_visual_confirm = 
dc->dc->debug.enable_ips_visual_confirm;
+
        copy_settings_data->flags.u32All = 0;
        copy_settings_data->flags.bitfields.fec_enable_status = 
(link->fec_state == dc_link_fec_enabled);
        copy_settings_data->flags.bitfields.dsc_enable_status = 
(pipe_ctx->stream->timing.flags.DSC == 1);
diff --git a/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h 
b/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h
index 5ff0a865705f..7c3838362c49 100644
--- a/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h
+++ b/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h
@@ -336,6 +336,10 @@ union dmub_psr_debug_flags {
                 */
                uint32_t back_to_back_flip : 1;
 
+               /**
+                * Enable visual confirm for IPS
+                */
+               uint32_t enable_ips_visual_confirm : 1;
        } bitfields;
 
        /**
-- 
2.34.1

Reply via email to