drm/amd/display: Log DTN only after the atomic commit in Diag
Also print HUBP info only if pipe enabled. This fixes having different DTN logs for different test sequences. Signed-off-by: Nikola Cornij <nikola.cornij@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Acked-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
07049507fd
commit
a3cb1c1c8e
|
@ -127,24 +127,26 @@ static void dcn10_log_hubp_states(struct dc *dc)
|
|||
|
||||
hubp->funcs->hubp_read_state(hubp);
|
||||
|
||||
DTN_INFO("[%2d]: %5xh %6xh %5d %6d %2xh %2xh %6xh"
|
||||
" %6d %8d %7d %8xh",
|
||||
hubp->inst,
|
||||
s->pixel_format,
|
||||
s->inuse_addr_hi,
|
||||
s->viewport_width,
|
||||
s->viewport_height,
|
||||
s->rotation_angle,
|
||||
s->h_mirror_en,
|
||||
s->sw_mode,
|
||||
s->dcc_en,
|
||||
s->blank_en,
|
||||
s->ttu_disable,
|
||||
s->underflow_status);
|
||||
DTN_INFO_MICRO_SEC(s->min_ttu_vblank);
|
||||
DTN_INFO_MICRO_SEC(s->qos_level_low_wm);
|
||||
DTN_INFO_MICRO_SEC(s->qos_level_high_wm);
|
||||
DTN_INFO("\n");
|
||||
if (!s->blank_en) {
|
||||
DTN_INFO("[%2d]: %5xh %6xh %5d %6d %2xh %2xh %6xh"
|
||||
" %6d %8d %7d %8xh",
|
||||
hubp->inst,
|
||||
s->pixel_format,
|
||||
s->inuse_addr_hi,
|
||||
s->viewport_width,
|
||||
s->viewport_height,
|
||||
s->rotation_angle,
|
||||
s->h_mirror_en,
|
||||
s->sw_mode,
|
||||
s->dcc_en,
|
||||
s->blank_en,
|
||||
s->ttu_disable,
|
||||
s->underflow_status);
|
||||
DTN_INFO_MICRO_SEC(s->min_ttu_vblank);
|
||||
DTN_INFO_MICRO_SEC(s->qos_level_low_wm);
|
||||
DTN_INFO_MICRO_SEC(s->qos_level_high_wm);
|
||||
DTN_INFO("\n");
|
||||
}
|
||||
}
|
||||
|
||||
DTN_INFO("\n=========RQ========\n");
|
||||
|
@ -155,16 +157,17 @@ static void dcn10_log_hubp_states(struct dc *dc)
|
|||
struct dcn_hubp_state *s = &(TO_DCN10_HUBP(pool->hubps[i])->state);
|
||||
struct _vcs_dpi_display_rq_regs_st *rq_regs = &s->rq_regs;
|
||||
|
||||
DTN_INFO("[%2d]: %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh\n",
|
||||
i, rq_regs->drq_expansion_mode, rq_regs->prq_expansion_mode, rq_regs->mrq_expansion_mode,
|
||||
rq_regs->crq_expansion_mode, rq_regs->plane1_base_address, rq_regs->rq_regs_l.chunk_size,
|
||||
rq_regs->rq_regs_l.min_chunk_size, rq_regs->rq_regs_l.meta_chunk_size,
|
||||
rq_regs->rq_regs_l.min_meta_chunk_size, rq_regs->rq_regs_l.dpte_group_size,
|
||||
rq_regs->rq_regs_l.mpte_group_size, rq_regs->rq_regs_l.swath_height,
|
||||
rq_regs->rq_regs_l.pte_row_height_linear, rq_regs->rq_regs_c.chunk_size, rq_regs->rq_regs_c.min_chunk_size,
|
||||
rq_regs->rq_regs_c.meta_chunk_size, rq_regs->rq_regs_c.min_meta_chunk_size,
|
||||
rq_regs->rq_regs_c.dpte_group_size, rq_regs->rq_regs_c.mpte_group_size,
|
||||
rq_regs->rq_regs_c.swath_height, rq_regs->rq_regs_c.pte_row_height_linear);
|
||||
if (!s->blank_en)
|
||||
DTN_INFO("[%2d]: %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh\n",
|
||||
pool->hubps[i]->inst, rq_regs->drq_expansion_mode, rq_regs->prq_expansion_mode, rq_regs->mrq_expansion_mode,
|
||||
rq_regs->crq_expansion_mode, rq_regs->plane1_base_address, rq_regs->rq_regs_l.chunk_size,
|
||||
rq_regs->rq_regs_l.min_chunk_size, rq_regs->rq_regs_l.meta_chunk_size,
|
||||
rq_regs->rq_regs_l.min_meta_chunk_size, rq_regs->rq_regs_l.dpte_group_size,
|
||||
rq_regs->rq_regs_l.mpte_group_size, rq_regs->rq_regs_l.swath_height,
|
||||
rq_regs->rq_regs_l.pte_row_height_linear, rq_regs->rq_regs_c.chunk_size, rq_regs->rq_regs_c.min_chunk_size,
|
||||
rq_regs->rq_regs_c.meta_chunk_size, rq_regs->rq_regs_c.min_meta_chunk_size,
|
||||
rq_regs->rq_regs_c.dpte_group_size, rq_regs->rq_regs_c.mpte_group_size,
|
||||
rq_regs->rq_regs_c.swath_height, rq_regs->rq_regs_c.pte_row_height_linear);
|
||||
}
|
||||
|
||||
DTN_INFO("========DLG========\n");
|
||||
|
@ -179,27 +182,28 @@ static void dcn10_log_hubp_states(struct dc *dc)
|
|||
struct dcn_hubp_state *s = &(TO_DCN10_HUBP(pool->hubps[i])->state);
|
||||
struct _vcs_dpi_display_dlg_regs_st *dlg_regs = &s->dlg_attr;
|
||||
|
||||
DTN_INFO("[%2d]: %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh"
|
||||
"% 8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh"
|
||||
" %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh\n",
|
||||
i, dlg_regs->refcyc_h_blank_end, dlg_regs->dlg_vblank_end, dlg_regs->min_dst_y_next_start,
|
||||
dlg_regs->refcyc_per_htotal, dlg_regs->refcyc_x_after_scaler, dlg_regs->dst_y_after_scaler,
|
||||
dlg_regs->dst_y_prefetch, dlg_regs->dst_y_per_vm_vblank, dlg_regs->dst_y_per_row_vblank,
|
||||
dlg_regs->dst_y_per_vm_flip, dlg_regs->dst_y_per_row_flip, dlg_regs->ref_freq_to_pix_freq,
|
||||
dlg_regs->vratio_prefetch, dlg_regs->vratio_prefetch_c, dlg_regs->refcyc_per_pte_group_vblank_l,
|
||||
dlg_regs->refcyc_per_pte_group_vblank_c, dlg_regs->refcyc_per_meta_chunk_vblank_l,
|
||||
dlg_regs->refcyc_per_meta_chunk_vblank_c, dlg_regs->refcyc_per_pte_group_flip_l,
|
||||
dlg_regs->refcyc_per_pte_group_flip_c, dlg_regs->refcyc_per_meta_chunk_flip_l,
|
||||
dlg_regs->refcyc_per_meta_chunk_flip_c, dlg_regs->dst_y_per_pte_row_nom_l,
|
||||
dlg_regs->dst_y_per_pte_row_nom_c, dlg_regs->refcyc_per_pte_group_nom_l,
|
||||
dlg_regs->refcyc_per_pte_group_nom_c, dlg_regs->dst_y_per_meta_row_nom_l,
|
||||
dlg_regs->dst_y_per_meta_row_nom_c, dlg_regs->refcyc_per_meta_chunk_nom_l,
|
||||
dlg_regs->refcyc_per_meta_chunk_nom_c, dlg_regs->refcyc_per_line_delivery_pre_l,
|
||||
dlg_regs->refcyc_per_line_delivery_pre_c, dlg_regs->refcyc_per_line_delivery_l,
|
||||
dlg_regs->refcyc_per_line_delivery_c, dlg_regs->chunk_hdl_adjust_cur0, dlg_regs->dst_y_offset_cur1,
|
||||
dlg_regs->chunk_hdl_adjust_cur1, dlg_regs->vready_after_vcount0, dlg_regs->dst_y_delta_drq_limit,
|
||||
dlg_regs->xfc_reg_transfer_delay, dlg_regs->xfc_reg_precharge_delay,
|
||||
dlg_regs->xfc_reg_remote_surface_flip_latency);
|
||||
if (!s->blank_en)
|
||||
DTN_INFO("[%2d]: %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh"
|
||||
"% 8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh"
|
||||
" %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh\n",
|
||||
pool->hubps[i]->inst, dlg_regs->refcyc_h_blank_end, dlg_regs->dlg_vblank_end, dlg_regs->min_dst_y_next_start,
|
||||
dlg_regs->refcyc_per_htotal, dlg_regs->refcyc_x_after_scaler, dlg_regs->dst_y_after_scaler,
|
||||
dlg_regs->dst_y_prefetch, dlg_regs->dst_y_per_vm_vblank, dlg_regs->dst_y_per_row_vblank,
|
||||
dlg_regs->dst_y_per_vm_flip, dlg_regs->dst_y_per_row_flip, dlg_regs->ref_freq_to_pix_freq,
|
||||
dlg_regs->vratio_prefetch, dlg_regs->vratio_prefetch_c, dlg_regs->refcyc_per_pte_group_vblank_l,
|
||||
dlg_regs->refcyc_per_pte_group_vblank_c, dlg_regs->refcyc_per_meta_chunk_vblank_l,
|
||||
dlg_regs->refcyc_per_meta_chunk_vblank_c, dlg_regs->refcyc_per_pte_group_flip_l,
|
||||
dlg_regs->refcyc_per_pte_group_flip_c, dlg_regs->refcyc_per_meta_chunk_flip_l,
|
||||
dlg_regs->refcyc_per_meta_chunk_flip_c, dlg_regs->dst_y_per_pte_row_nom_l,
|
||||
dlg_regs->dst_y_per_pte_row_nom_c, dlg_regs->refcyc_per_pte_group_nom_l,
|
||||
dlg_regs->refcyc_per_pte_group_nom_c, dlg_regs->dst_y_per_meta_row_nom_l,
|
||||
dlg_regs->dst_y_per_meta_row_nom_c, dlg_regs->refcyc_per_meta_chunk_nom_l,
|
||||
dlg_regs->refcyc_per_meta_chunk_nom_c, dlg_regs->refcyc_per_line_delivery_pre_l,
|
||||
dlg_regs->refcyc_per_line_delivery_pre_c, dlg_regs->refcyc_per_line_delivery_l,
|
||||
dlg_regs->refcyc_per_line_delivery_c, dlg_regs->chunk_hdl_adjust_cur0, dlg_regs->dst_y_offset_cur1,
|
||||
dlg_regs->chunk_hdl_adjust_cur1, dlg_regs->vready_after_vcount0, dlg_regs->dst_y_delta_drq_limit,
|
||||
dlg_regs->xfc_reg_transfer_delay, dlg_regs->xfc_reg_precharge_delay,
|
||||
dlg_regs->xfc_reg_remote_surface_flip_latency);
|
||||
}
|
||||
|
||||
DTN_INFO("========TTU========\n");
|
||||
|
@ -210,14 +214,15 @@ static void dcn10_log_hubp_states(struct dc *dc)
|
|||
struct dcn_hubp_state *s = &(TO_DCN10_HUBP(pool->hubps[i])->state);
|
||||
struct _vcs_dpi_display_ttu_regs_st *ttu_regs = &s->ttu_attr;
|
||||
|
||||
DTN_INFO("[%2d]: %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh\n",
|
||||
i, ttu_regs->qos_level_low_wm, ttu_regs->qos_level_high_wm, ttu_regs->min_ttu_vblank,
|
||||
ttu_regs->qos_level_flip, ttu_regs->refcyc_per_req_delivery_pre_l, ttu_regs->refcyc_per_req_delivery_l,
|
||||
ttu_regs->refcyc_per_req_delivery_pre_c, ttu_regs->refcyc_per_req_delivery_c, ttu_regs->refcyc_per_req_delivery_cur0,
|
||||
ttu_regs->refcyc_per_req_delivery_pre_cur0, ttu_regs->refcyc_per_req_delivery_cur1,
|
||||
ttu_regs->refcyc_per_req_delivery_pre_cur1, ttu_regs->qos_level_fixed_l, ttu_regs->qos_ramp_disable_l,
|
||||
ttu_regs->qos_level_fixed_c, ttu_regs->qos_ramp_disable_c, ttu_regs->qos_level_fixed_cur0,
|
||||
ttu_regs->qos_ramp_disable_cur0, ttu_regs->qos_level_fixed_cur1, ttu_regs->qos_ramp_disable_cur1);
|
||||
if (!s->blank_en)
|
||||
DTN_INFO("[%2d]: %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh %8xh\n",
|
||||
pool->hubps[i]->inst, ttu_regs->qos_level_low_wm, ttu_regs->qos_level_high_wm, ttu_regs->min_ttu_vblank,
|
||||
ttu_regs->qos_level_flip, ttu_regs->refcyc_per_req_delivery_pre_l, ttu_regs->refcyc_per_req_delivery_l,
|
||||
ttu_regs->refcyc_per_req_delivery_pre_c, ttu_regs->refcyc_per_req_delivery_c, ttu_regs->refcyc_per_req_delivery_cur0,
|
||||
ttu_regs->refcyc_per_req_delivery_pre_cur0, ttu_regs->refcyc_per_req_delivery_cur1,
|
||||
ttu_regs->refcyc_per_req_delivery_pre_cur1, ttu_regs->qos_level_fixed_l, ttu_regs->qos_ramp_disable_l,
|
||||
ttu_regs->qos_level_fixed_c, ttu_regs->qos_ramp_disable_c, ttu_regs->qos_level_fixed_cur0,
|
||||
ttu_regs->qos_ramp_disable_cur0, ttu_regs->qos_level_fixed_cur1, ttu_regs->qos_ramp_disable_cur1);
|
||||
}
|
||||
DTN_INFO("\n");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue