From: Leo Chen <sancc...@amd.com>

[Why & How]
Adding debug options to override Z8 watermark values for testing purposes.

Reviewed-by: Nicholas Kazlauskas <nicholas.kazlaus...@amd.com>
Acked-by: Alan Liu <haoping....@amd.com>
Signed-off-by: Leo Chen <sancc...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/dc.h                  |  4 ++++
 drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c | 11 +++++++++++
 2 files changed, 15 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/dc/dc.h 
b/drivers/gpu/drm/amd/display/dc/dc.h
index 892e3adb99d9..fea68383bb61 100644
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@ -700,6 +700,8 @@ struct dc_virtual_addr_space_config {
 struct dc_bounding_box_overrides {
        int sr_exit_time_ns;
        int sr_enter_plus_exit_time_ns;
+       int sr_exit_z8_time_ns;
+       int sr_enter_plus_exit_z8_time_ns;
        int urgent_latency_ns;
        int percent_of_ideal_drambw;
        int dram_clock_change_latency_ns;
@@ -769,6 +771,8 @@ struct dc_debug_options {
        int sr_enter_plus_exit_time_dpm0_ns;
        int sr_exit_time_ns;
        int sr_enter_plus_exit_time_ns;
+       int sr_exit_z8_time_ns;
+       int sr_enter_plus_exit_z8_time_ns;
        int urgent_latency_ns;
        uint32_t underflow_assert_delay_us;
        int percent_of_ideal_drambw;
diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c 
b/drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c
index a5b1e4bb1a22..3407f9a2c6a1 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c
+++ b/drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c
@@ -1890,6 +1890,17 @@ void dcn20_patch_bounding_box(struct dc *dc, struct 
_vcs_dpi_soc_bounding_box_st
                                dc->bb_overrides.sr_enter_plus_exit_time_ns / 
1000.0;
        }
 
+       if ((int)(bb->sr_exit_z8_time_us * 1000)
+                               != dc->bb_overrides.sr_exit_z8_time_ns
+                       && dc->bb_overrides.sr_exit_z8_time_ns) {
+               bb->sr_exit_z8_time_us = dc->bb_overrides.sr_exit_z8_time_ns / 
1000.0;
+       }
+
+       if ((int)(bb->sr_enter_plus_exit_z8_time_us * 1000)
+                               != 
dc->bb_overrides.sr_enter_plus_exit_z8_time_ns
+                       && dc->bb_overrides.sr_enter_plus_exit_z8_time_ns) {
+               bb->sr_enter_plus_exit_z8_time_us = 
dc->bb_overrides.sr_enter_plus_exit_z8_time_ns / 1000.0;
+       }
        if ((int)(bb->urgent_latency_us * 1000) != 
dc->bb_overrides.urgent_latency_ns
                        && dc->bb_overrides.urgent_latency_ns) {
                bb->urgent_latency_us = dc->bb_overrides.urgent_latency_ns / 
1000.0;
-- 
2.34.1

Reply via email to