dm_irq_params
struct dm_irq_params dm_irq_params;
acrtc_attach->dm_irq_params.allow_sr_entry &&
last_flip_vblank = acrtc_attach->dm_irq_params.last_flip_vblank;
&acrtc_attach->dm_irq_params.vrr_params.adjust);
cur_crc_src = acrtc->dm_irq_params.crc_src;
acrtc->dm_irq_params.stream = dm_new_crtc_state->stream;
if (acrtc->dm_irq_params.window_param[cnt].enable) {
acrtc->dm_irq_params.window_param[cnt].update_win = true;
acrtc->dm_irq_params.window_param[cnt].skip_frame_cnt = 2;
if (!acrtc->dm_irq_params.stream) {
return dc_stream_get_vblank_counter(acrtc->dm_irq_params.stream);
if (!acrtc->dm_irq_params.stream) {
dc_stream_get_scanoutpos(acrtc->dm_irq_params.stream,
!dc_stream_get_scanoutpos(amdgpu_crtc->dm_irq_params.stream, &v_blank_start,
amdgpu_crtc->dm_irq_params.last_flip_vblank =
if (vrr_active && acrtc->dm_irq_params.stream) {
bool replay_en = acrtc->dm_irq_params.stream->link->replay_settings.replay_feature_enabled;
bool psr_en = acrtc->dm_irq_params.stream->link->psr_settings.psr_feature_enabled;
bool fs_active_var_en = acrtc->dm_irq_params.freesync_config.state
acrtc->dm_irq_params.stream,
&acrtc->dm_irq_params.vrr_params);
acrtc->dm_irq_params.stream,
&acrtc->dm_irq_params.vrr_params.adjust);
struct dc_stream_state *stream = acrtc->dm_irq_params.stream;
acrtc->dm_irq_params.stream, 0);
vrr_active, acrtc->dm_irq_params.active_planes);
if (acrtc->dm_irq_params.stream &&
acrtc->dm_irq_params.vrr_params.supported) {
bool replay_en = acrtc->dm_irq_params.stream->link->replay_settings.replay_feature_enabled;
bool psr_en = acrtc->dm_irq_params.stream->link->psr_settings.psr_feature_enabled;
bool fs_active_var_en = acrtc->dm_irq_params.freesync_config.state == VRR_STATE_ACTIVE_VARIABLE;
acrtc->dm_irq_params.stream,
&acrtc->dm_irq_params.vrr_params);
schedule_dc_vmin_vmax(adev, acrtc->dm_irq_params.stream,
&acrtc->dm_irq_params.vrr_params.adjust);
acrtc->dm_irq_params.active_planes == 0) {
vrr_params = acrtc->dm_irq_params.vrr_params;
acrtc->dm_irq_params.vrr_params = vrr_params;
vrr_params = acrtc->dm_irq_params.vrr_params;
acrtc->dm_irq_params.freesync_config = config;
acrtc->dm_irq_params.active_planes = new_crtc_state->active_planes;
acrtc->dm_irq_params.vrr_params = vrr_params;
acrtc_attach->dm_irq_params.allow_sr_entry = !aconn->sr_skip_count;
acrtc_attach->dm_irq_params.allow_sr_entry &&
acrtc_attach->dm_irq_params.allow_sr_entry = false;
was_activated = acrtc->dm_irq_params.crc_window_activated;
acrtc->dm_irq_params.window_param[i].x_start = 0;
acrtc->dm_irq_params.window_param[i].y_start = 0;
acrtc->dm_irq_params.window_param[i].x_end = 0;
acrtc->dm_irq_params.window_param[i].y_end = 0;
acrtc->dm_irq_params.window_param[i].enable = false;
acrtc->dm_irq_params.window_param[i].update_win = false;
acrtc->dm_irq_params.window_param[i].skip_frame_cnt = 0;
acrtc->dm_irq_params.crc_window_activated = false;
stream = to_amdgpu_crtc(crtc)->dm_irq_params.stream;
stream = to_amdgpu_crtc(crtc)->dm_irq_params.stream;
ret = acrtc->dm_irq_params.crc_window_activated;
crc_poly_mode = acrtc->dm_irq_params.crc_poly_mode;
cur_crc_src = acrtc->dm_irq_params.crc_src;
acrtc->dm_irq_params.crc_src = source;
cur_crc_src = acrtc->dm_irq_params.crc_src;
cur_crc_src = acrtc->dm_irq_params.crc_src;
if (!acrtc->dm_irq_params.crc_window_activated) {
.windowa_x_start = acrtc->dm_irq_params.window_param[i].x_start,
.windowa_y_start = acrtc->dm_irq_params.window_param[i].y_start,
.windowa_x_end = acrtc->dm_irq_params.window_param[i].x_end,
.windowa_y_end = acrtc->dm_irq_params.window_param[i].y_end,
.windowb_x_start = acrtc->dm_irq_params.window_param[i].x_start,
.windowb_y_start = acrtc->dm_irq_params.window_param[i].y_start,
.windowb_x_end = acrtc->dm_irq_params.window_param[i].x_end,
.windowb_y_end = acrtc->dm_irq_params.window_param[i].y_end,
crtc_ctx->roi[i].enable = acrtc->dm_irq_params.window_param[i].enable;
if (!acrtc->dm_irq_params.window_param[i].enable) {
if (acrtc->dm_irq_params.window_param[i].skip_frame_cnt) {
acrtc->dm_irq_params.window_param[i].skip_frame_cnt -= 1;
if (acrtc->dm_irq_params.window_param[i].update_win) {
&crc_window, true, true, i, false, (enum crc_poly_mode)acrtc->dm_irq_params.crc_poly_mode);
acrtc->dm_irq_params.window_param[i].update_win = false;
acrtc->dm_irq_params.window_param[i].skip_frame_cnt = 1;
&crc_window, true, true, i, false, (enum crc_poly_mode)acrtc->dm_irq_params.crc_poly_mode);
vblank_work->acrtc->dm_irq_params.allow_sr_entry);
return acrtc->dm_irq_params.freesync_config.state ==
acrtc->dm_irq_params.freesync_config.state ==
acrtc->dm_irq_params.window_param[0].x_start = (uint16_t) val;
acrtc->dm_irq_params.window_param[0].update_win = false;
*val = acrtc->dm_irq_params.window_param[0].x_start;
acrtc->dm_irq_params.window_param[0].y_start = (uint16_t) val;
acrtc->dm_irq_params.window_param[0].update_win = false;
*val = acrtc->dm_irq_params.window_param[0].y_start;
acrtc->dm_irq_params.window_param[0].x_end = (uint16_t) val;
acrtc->dm_irq_params.window_param[0].update_win = false;
*val = acrtc->dm_irq_params.window_param[0].x_end;
acrtc->dm_irq_params.window_param[0].y_end = (uint16_t) val;
acrtc->dm_irq_params.window_param[0].update_win = false;
*val = acrtc->dm_irq_params.window_param[0].y_end;
amdgpu_dm_psr_disable(acrtc->dm_irq_params.stream, true);
acrtc->dm_irq_params.window_param[0].enable = true;
acrtc->dm_irq_params.window_param[0].update_win = true;
acrtc->dm_irq_params.window_param[0].skip_frame_cnt = 0;
acrtc->dm_irq_params.crc_window_activated = true;
acrtc->dm_irq_params.crc_poly_mode = val;
*val = acrtc->dm_irq_params.crc_poly_mode;