From: ChunTao Tso <[email protected]>

1. Add LIVE_CAPTURE_WITH_CVT bit (bit[2]) in union replay_optimization
   to control this feature via DalRegKey_ReplayOptimization.
2. Check the bit in mod_power_set_live_capture_with_cvt_activate function
   before enabling live capture with CVT.
3. Use LIVE_CAPTURE_WITH_CVT to control if Replay want to send CVT in
   live + capture or not.

Reviewed-by: Leon Huang <[email protected]>
Signed-off-by: ChunTao Tso <[email protected]>
Signed-off-by: Chuanyu Tseng <[email protected]>
---
 drivers/gpu/drm/amd/display/dc/dc_types.h       | 8 ++++++--
 drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 1 +
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dc_types.h 
b/drivers/gpu/drm/amd/display/dc/dc_types.h
index e224077c8902..fd8ec1660312 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_types.h
+++ b/drivers/gpu/drm/amd/display/dc/dc_types.h
@@ -1144,10 +1144,12 @@ union replay_low_refresh_rate_enable_options {
 
 union replay_optimization {
        struct {
-               //BIT[0-3]: Replay Teams Optimization
+               //BIT[0-1]: Replay Teams Optimization
                unsigned int TEAMS_OPTIMIZATION_VER_1           :1;
                unsigned int TEAMS_OPTIMIZATION_VER_2           :1;
-               unsigned int RESERVED_2_3                       :2;
+               //BIT[2]: Replay Live Capture with CVT
+               unsigned int LIVE_CAPTURE_WITH_CVT              :1;
+               unsigned int RESERVED_3                         :1;
        } bits;
 
        unsigned int raw;
@@ -1196,6 +1198,8 @@ struct replay_config {
        bool frame_skip_supported;
        /* Replay Received Frame Skipping Error HPD. */
        bool received_frame_skipping_error_hpd;
+       /* Live capture with CVT is activated */
+       bool live_capture_with_cvt_activated;
 };
 
 /* Replay feature flags*/
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 e11e32afac6b..8fbd179a4c87 100644
--- a/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h
+++ b/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h
@@ -4437,6 +4437,7 @@ enum dmub_cmd_replay_general_subtype {
        REPLAY_GENERAL_CMD_VIDEO_CONFERENCING,
        REPLAY_GENERAL_CMD_SET_CONTINUOUSLY_RESYNC,
        REPLAY_GENERAL_CMD_SET_COASTING_VTOTAL_WITHOUT_FRAME_UPDATE,
+       REPLAY_GENERAL_CMD_LIVE_CAPTURE_WITH_CVT,
 };
 
 struct dmub_alpm_auxless_data {
-- 
2.43.0

Reply via email to