Commit 0524dd3a authored by Dennis Chan's avatar Dennis Chan Committed by Alex Deucher
Browse files

drm/amd/display: Revised for Replay Pseudo vblank control



[why & how]
Revised Replay Full screen video Pseudo vblank control.

Reviewed-by: default avatarAllen Li <allen.li@amd.com>
Signed-off-by: default avatarDennis Chan <dennis.chan@amd.com>
Signed-off-by: default avatarTom Chung <chiahsuan.chung@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 4e5a9bcc
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1145,8 +1145,8 @@ struct replay_settings {
	uint32_t defer_update_coasting_vtotal_table[PR_COASTING_TYPE_NUM];
	/* Maximum link off frame count */
	uint32_t link_off_frame_count;
	/* Replay pseudo vtotal for abm + ips on full screen video which can improve ips residency */
	uint16_t abm_with_ips_on_full_screen_video_pseudo_vtotal;
	/* Replay pseudo vtotal for low refresh rate*/
	uint16_t low_rr_full_screen_video_pseudo_vtotal;
	/* Replay last pseudo vtotal set to DMUB */
	uint16_t last_pseudo_vtotal;
	/* Replay desync error */
+2 −2
Original line number Diff line number Diff line
@@ -996,9 +996,9 @@ void set_replay_coasting_vtotal(struct dc_link *link,
	link->replay_settings.coasting_vtotal_table[type] = vtotal;
}

void set_replay_ips_full_screen_video_src_vtotal(struct dc_link *link, uint16_t vtotal)
void set_replay_low_rr_full_screen_video_src_vtotal(struct dc_link *link, uint16_t vtotal)
{
	link->replay_settings.abm_with_ips_on_full_screen_video_pseudo_vtotal = vtotal;
	link->replay_settings.low_rr_full_screen_video_pseudo_vtotal = vtotal;
}

void calculate_replay_link_off_frame_count(struct dc_link *link,
+1 −1
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@ void set_replay_defer_update_coasting_vtotal(struct dc_link *link,
	uint32_t vtotal);
void update_replay_coasting_vtotal_from_defer(struct dc_link *link,
	enum replay_coasting_vtotal_type type);
void set_replay_ips_full_screen_video_src_vtotal(struct dc_link *link, uint16_t vtotal);
void set_replay_low_rr_full_screen_video_src_vtotal(struct dc_link *link, uint16_t vtotal);
void calculate_replay_link_off_frame_count(struct dc_link *link,
	uint16_t vtotal, uint16_t htotal);