Commit 0e4e84de authored by ChunTao Tso's avatar ChunTao Tso Committed by Alex Deucher
Browse files

drm/amd/display: Agument live + capture with CVT case.



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: default avatarLeon Huang <leon.huang1@amd.com>
Signed-off-by: default avatarChunTao Tso <chuntao.tso@amd.com>
Signed-off-by: default avatarChuanyu Tseng <chuanyu.tseng@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent a1d840a5
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -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*/
+1 −0
Original line number Diff line number Diff line
@@ -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 {