Home | History | Annotate | Line # | Download | only in calcs
      1 /*	$NetBSD: calcs_logger.h,v 1.2 2021/12/18 23:45:01 riastradh Exp $	*/
      2 
      3 /*
      4  * Copyright 2018 Advanced Micro Devices, Inc.
      5  *
      6  * Permission is hereby granted, free of charge, to any person obtaining a
      7  * copy of this software and associated documentation files (the "Software"),
      8  * to deal in the Software without restriction, including without limitation
      9  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
     10  * and/or sell copies of the Software, and to permit persons to whom the
     11  * Software is furnished to do so, subject to the following conditions:
     12  *
     13  * The above copyright notice and this permission notice shall be included in
     14  * all copies or substantial portions of the Software.
     15  *
     16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
     19  * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
     20  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
     21  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
     22  * OTHER DEALINGS IN THE SOFTWARE.
     23  *
     24  * Authors: AMD
     25  *
     26  */
     27 
     28 #ifndef _CALCS_CALCS_LOGGER_H_
     29 #define _CALCS_CALCS_LOGGER_H_
     30 #define DC_LOGGER ctx->logger
     31 
     32 static void print_bw_calcs_dceip(struct dc_context *ctx, const struct bw_calcs_dceip *dceip)
     33 {
     34 
     35 	DC_LOG_BANDWIDTH_CALCS("#####################################################################");
     36 	DC_LOG_BANDWIDTH_CALCS("struct bw_calcs_dceip");
     37 	DC_LOG_BANDWIDTH_CALCS("#####################################################################");
     38 	DC_LOG_BANDWIDTH_CALCS("	[enum]   bw_calcs_version version %d", dceip->version);
     39 	DC_LOG_BANDWIDTH_CALCS("	[bool] large_cursor: %d", dceip->large_cursor);
     40 	DC_LOG_BANDWIDTH_CALCS("	[bool] dmif_pipe_en_fbc_chunk_tracker: %d", dceip->dmif_pipe_en_fbc_chunk_tracker);
     41 	DC_LOG_BANDWIDTH_CALCS("	[bool] display_write_back_supported: %d", dceip->display_write_back_supported);
     42 	DC_LOG_BANDWIDTH_CALCS("	[bool] argb_compression_support: %d", dceip->argb_compression_support);
     43 	DC_LOG_BANDWIDTH_CALCS("	[bool] pre_downscaler_enabled: %d", dceip->pre_downscaler_enabled);
     44 	DC_LOG_BANDWIDTH_CALCS("	[bool] underlay_downscale_prefetch_enabled: %d",
     45 				dceip->underlay_downscale_prefetch_enabled);
     46 	DC_LOG_BANDWIDTH_CALCS("	[bool] graphics_lb_nodownscaling_multi_line_prefetching: %d",
     47 				dceip->graphics_lb_nodownscaling_multi_line_prefetching);
     48 	DC_LOG_BANDWIDTH_CALCS("	[bool] limit_excessive_outstanding_dmif_requests: %d",
     49 				dceip->limit_excessive_outstanding_dmif_requests);
     50 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] cursor_max_outstanding_group_num: %d",
     51 				dceip->cursor_max_outstanding_group_num);
     52 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] lines_interleaved_into_lb: %d", dceip->lines_interleaved_into_lb);
     53 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] low_power_tiling_mode: %d", dceip->low_power_tiling_mode);
     54 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] chunk_width: %d", dceip->chunk_width);
     55 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] number_of_graphics_pipes: %d", dceip->number_of_graphics_pipes);
     56 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] number_of_underlay_pipes: %d", dceip->number_of_underlay_pipes);
     57 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] max_dmif_buffer_allocated: %d", dceip->max_dmif_buffer_allocated);
     58 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] graphics_dmif_size: %d", dceip->graphics_dmif_size);
     59 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] underlay_luma_dmif_size: %d", dceip->underlay_luma_dmif_size);
     60 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] underlay_chroma_dmif_size: %d", dceip->underlay_chroma_dmif_size);
     61 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] scatter_gather_lines_of_pte_prefetching_in_linear_mode: %d",
     62 				dceip->scatter_gather_lines_of_pte_prefetching_in_linear_mode);
     63 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] display_write_back420_luma_mcifwr_buffer_size: %d",
     64 				dceip->display_write_back420_luma_mcifwr_buffer_size);
     65 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] display_write_back420_chroma_mcifwr_buffer_size: %d",
     66 				dceip->display_write_back420_chroma_mcifwr_buffer_size);
     67 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] scatter_gather_pte_request_rows_in_tiling_mode: %d",
     68 				dceip->scatter_gather_pte_request_rows_in_tiling_mode);
     69 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] underlay_vscaler_efficiency10_bit_per_component: %d",
     70 				bw_fixed_to_int(dceip->underlay_vscaler_efficiency10_bit_per_component));
     71 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] underlay_vscaler_efficiency12_bit_per_component: %d",
     72 				bw_fixed_to_int(dceip->underlay_vscaler_efficiency12_bit_per_component));
     73 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] graphics_vscaler_efficiency6_bit_per_component: %d",
     74 				bw_fixed_to_int(dceip->graphics_vscaler_efficiency6_bit_per_component));
     75 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] graphics_vscaler_efficiency8_bit_per_component: %d",
     76 				bw_fixed_to_int(dceip->graphics_vscaler_efficiency8_bit_per_component));
     77 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] graphics_vscaler_efficiency10_bit_per_component: %d",
     78 				bw_fixed_to_int(dceip->graphics_vscaler_efficiency10_bit_per_component));
     79 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] graphics_vscaler_efficiency12_bit_per_component: %d",
     80 				bw_fixed_to_int(dceip->graphics_vscaler_efficiency12_bit_per_component));
     81 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] alpha_vscaler_efficiency: %d",
     82 				bw_fixed_to_int(dceip->alpha_vscaler_efficiency));
     83 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] lb_write_pixels_per_dispclk: %d",
     84 				bw_fixed_to_int(dceip->lb_write_pixels_per_dispclk));
     85 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] lb_size_per_component444: %d",
     86 				bw_fixed_to_int(dceip->lb_size_per_component444));
     87 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] stutter_and_dram_clock_state_change_gated_before_cursor: %d",
     88 				bw_fixed_to_int(dceip->stutter_and_dram_clock_state_change_gated_before_cursor));
     89 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] underlay420_luma_lb_size_per_component: %d",
     90 				bw_fixed_to_int(dceip->underlay420_luma_lb_size_per_component));
     91 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] underlay420_chroma_lb_size_per_component: %d",
     92 				bw_fixed_to_int(dceip->underlay420_chroma_lb_size_per_component));
     93 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] underlay422_lb_size_per_component: %d",
     94 				bw_fixed_to_int(dceip->underlay422_lb_size_per_component));
     95 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] cursor_chunk_width: %d", bw_fixed_to_int(dceip->cursor_chunk_width));
     96 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] cursor_dcp_buffer_lines: %d",
     97 				bw_fixed_to_int(dceip->cursor_dcp_buffer_lines));
     98 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] underlay_maximum_width_efficient_for_tiling: %d",
     99 				bw_fixed_to_int(dceip->underlay_maximum_width_efficient_for_tiling));
    100 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] underlay_maximum_height_efficient_for_tiling: %d",
    101 				bw_fixed_to_int(dceip->underlay_maximum_height_efficient_for_tiling));
    102 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] peak_pte_request_to_eviction_ratio_limiting_multiple_displays_or_single_rotated_display: %d",
    103 				bw_fixed_to_int(dceip->peak_pte_request_to_eviction_ratio_limiting_multiple_displays_or_single_rotated_display));
    104 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] peak_pte_request_to_eviction_ratio_limiting_single_display_no_rotation: %d",
    105 				bw_fixed_to_int(dceip->peak_pte_request_to_eviction_ratio_limiting_single_display_no_rotation));
    106 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] minimum_outstanding_pte_request_limit: %d",
    107 				bw_fixed_to_int(dceip->minimum_outstanding_pte_request_limit));
    108 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] maximum_total_outstanding_pte_requests_allowed_by_saw: %d",
    109 				bw_fixed_to_int(dceip->maximum_total_outstanding_pte_requests_allowed_by_saw));
    110 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] linear_mode_line_request_alternation_slice: %d",
    111 				bw_fixed_to_int(dceip->linear_mode_line_request_alternation_slice));
    112 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] request_efficiency: %d", bw_fixed_to_int(dceip->request_efficiency));
    113 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dispclk_per_request: %d", bw_fixed_to_int(dceip->dispclk_per_request));
    114 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dispclk_ramping_factor: %d",
    115 				bw_fixed_to_int(dceip->dispclk_ramping_factor));
    116 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] display_pipe_throughput_factor: %d",
    117 				bw_fixed_to_int(dceip->display_pipe_throughput_factor));
    118 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] mcifwr_all_surfaces_burst_time: %d",
    119 				bw_fixed_to_int(dceip->mcifwr_all_surfaces_burst_time));
    120 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dmif_request_buffer_size: %d",
    121 				bw_fixed_to_int(dceip->dmif_request_buffer_size));
    122 
    123 
    124 }
    125 
    126 static void print_bw_calcs_vbios(struct dc_context *ctx, const struct bw_calcs_vbios *vbios)
    127 {
    128 
    129 	DC_LOG_BANDWIDTH_CALCS("#####################################################################");
    130 	DC_LOG_BANDWIDTH_CALCS("struct bw_calcs_vbios vbios");
    131 	DC_LOG_BANDWIDTH_CALCS("#####################################################################");
    132 	DC_LOG_BANDWIDTH_CALCS("	[enum] bw_defines memory_type: %d", vbios->memory_type);
    133 	DC_LOG_BANDWIDTH_CALCS("	[enum] bw_defines memory_type: %d", vbios->memory_type);
    134 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] dram_channel_width_in_bits: %d", vbios->dram_channel_width_in_bits);
    135 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] number_of_dram_channels: %d", vbios->number_of_dram_channels);
    136 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] number_of_dram_banks: %d", vbios->number_of_dram_banks);
    137 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] low_yclk: %d", bw_fixed_to_int(vbios->low_yclk));
    138 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] mid_yclk: %d", bw_fixed_to_int(vbios->mid_yclk));
    139 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] high_yclk: %d", bw_fixed_to_int(vbios->high_yclk));
    140 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] low_sclk: %d", bw_fixed_to_int(vbios->low_sclk));
    141 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] mid1_sclk: %d", bw_fixed_to_int(vbios->mid1_sclk));
    142 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] mid2_sclk: %d", bw_fixed_to_int(vbios->mid2_sclk));
    143 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] mid3_sclk: %d", bw_fixed_to_int(vbios->mid3_sclk));
    144 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] mid4_sclk: %d", bw_fixed_to_int(vbios->mid4_sclk));
    145 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] mid5_sclk: %d", bw_fixed_to_int(vbios->mid5_sclk));
    146 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] mid6_sclk: %d", bw_fixed_to_int(vbios->mid6_sclk));
    147 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] high_sclk: %d", bw_fixed_to_int(vbios->high_sclk));
    148 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] low_voltage_max_dispclk: %d",
    149 				bw_fixed_to_int(vbios->low_voltage_max_dispclk));
    150 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] mid_voltage_max_dispclk;: %d",
    151 				bw_fixed_to_int(vbios->mid_voltage_max_dispclk));
    152 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] high_voltage_max_dispclk;: %d",
    153 				bw_fixed_to_int(vbios->high_voltage_max_dispclk));
    154 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] low_voltage_max_phyclk: %d",
    155 				bw_fixed_to_int(vbios->low_voltage_max_phyclk));
    156 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] mid_voltage_max_phyclk: %d",
    157 				bw_fixed_to_int(vbios->mid_voltage_max_phyclk));
    158 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] high_voltage_max_phyclk: %d",
    159 				bw_fixed_to_int(vbios->high_voltage_max_phyclk));
    160 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] data_return_bus_width: %d", bw_fixed_to_int(vbios->data_return_bus_width));
    161 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] trc: %d", bw_fixed_to_int(vbios->trc));
    162 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dmifmc_urgent_latency: %d", bw_fixed_to_int(vbios->dmifmc_urgent_latency));
    163 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] stutter_self_refresh_exit_latency: %d",
    164 				bw_fixed_to_int(vbios->stutter_self_refresh_exit_latency));
    165 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] stutter_self_refresh_entry_latency: %d",
    166 				bw_fixed_to_int(vbios->stutter_self_refresh_entry_latency));
    167 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] nbp_state_change_latency: %d",
    168 				bw_fixed_to_int(vbios->nbp_state_change_latency));
    169 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] mcifwrmc_urgent_latency: %d",
    170 				bw_fixed_to_int(vbios->mcifwrmc_urgent_latency));
    171 	DC_LOG_BANDWIDTH_CALCS("	[bool] scatter_gather_enable: %d", vbios->scatter_gather_enable);
    172 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] down_spread_percentage: %d",
    173 				bw_fixed_to_int(vbios->down_spread_percentage));
    174 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] cursor_width: %d", vbios->cursor_width);
    175 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] average_compression_rate: %d", vbios->average_compression_rate);
    176 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] number_of_request_slots_gmc_reserves_for_dmif_per_channel: %d",
    177 				vbios->number_of_request_slots_gmc_reserves_for_dmif_per_channel);
    178 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] blackout_duration: %d", bw_fixed_to_int(vbios->blackout_duration));
    179 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] maximum_blackout_recovery_time: %d",
    180 				bw_fixed_to_int(vbios->maximum_blackout_recovery_time));
    181 
    182 
    183 }
    184 
    185 static void print_bw_calcs_data(struct dc_context *ctx, struct bw_calcs_data *data)
    186 {
    187 
    188 	int i, j, k;
    189 
    190 	DC_LOG_BANDWIDTH_CALCS("#####################################################################");
    191 	DC_LOG_BANDWIDTH_CALCS("struct bw_calcs_data data");
    192 	DC_LOG_BANDWIDTH_CALCS("#####################################################################");
    193 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] number_of_displays: %d", data->number_of_displays);
    194 	DC_LOG_BANDWIDTH_CALCS("	[enum] bw_defines underlay_surface_type: %d", data->underlay_surface_type);
    195 	DC_LOG_BANDWIDTH_CALCS("	[enum] bw_defines panning_and_bezel_adjustment: %d",
    196 				data->panning_and_bezel_adjustment);
    197 	DC_LOG_BANDWIDTH_CALCS("	[enum] bw_defines graphics_tiling_mode: %d", data->graphics_tiling_mode);
    198 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] graphics_lb_bpc: %d", data->graphics_lb_bpc);
    199 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] underlay_lb_bpc: %d", data->underlay_lb_bpc);
    200 	DC_LOG_BANDWIDTH_CALCS("	[enum] bw_defines underlay_tiling_mode: %d", data->underlay_tiling_mode);
    201 	DC_LOG_BANDWIDTH_CALCS("	[enum] bw_defines d0_underlay_mode: %d", data->d0_underlay_mode);
    202 	DC_LOG_BANDWIDTH_CALCS("	[bool] d1_display_write_back_dwb_enable: %d", data->d1_display_write_back_dwb_enable);
    203 	DC_LOG_BANDWIDTH_CALCS("	[enum] bw_defines d1_underlay_mode: %d", data->d1_underlay_mode);
    204 	DC_LOG_BANDWIDTH_CALCS("	[bool] cpup_state_change_enable: %d", data->cpup_state_change_enable);
    205 	DC_LOG_BANDWIDTH_CALCS("	[bool] cpuc_state_change_enable: %d", data->cpuc_state_change_enable);
    206 	DC_LOG_BANDWIDTH_CALCS("	[bool] nbp_state_change_enable: %d", data->nbp_state_change_enable);
    207 	DC_LOG_BANDWIDTH_CALCS("	[bool] stutter_mode_enable: %d", data->stutter_mode_enable);
    208 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] y_clk_level: %d", data->y_clk_level);
    209 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] sclk_level: %d", data->sclk_level);
    210 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] number_of_underlay_surfaces: %d", data->number_of_underlay_surfaces);
    211 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] number_of_dram_wrchannels: %d", data->number_of_dram_wrchannels);
    212 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] chunk_request_delay: %d", data->chunk_request_delay);
    213 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] number_of_dram_channels: %d", data->number_of_dram_channels);
    214 	DC_LOG_BANDWIDTH_CALCS("	[enum] bw_defines underlay_micro_tile_mode: %d", data->underlay_micro_tile_mode);
    215 	DC_LOG_BANDWIDTH_CALCS("	[enum] bw_defines graphics_micro_tile_mode: %d", data->graphics_micro_tile_mode);
    216 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] max_phyclk: %d", bw_fixed_to_int(data->max_phyclk));
    217 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dram_efficiency: %d", bw_fixed_to_int(data->dram_efficiency));
    218 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] src_width_after_surface_type: %d",
    219 				bw_fixed_to_int(data->src_width_after_surface_type));
    220 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] src_height_after_surface_type: %d",
    221 				bw_fixed_to_int(data->src_height_after_surface_type));
    222 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] hsr_after_surface_type: %d",
    223 				bw_fixed_to_int(data->hsr_after_surface_type));
    224 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] vsr_after_surface_type: %d", bw_fixed_to_int(data->vsr_after_surface_type));
    225 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] src_width_after_rotation: %d",
    226 				bw_fixed_to_int(data->src_width_after_rotation));
    227 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] src_height_after_rotation: %d",
    228 				bw_fixed_to_int(data->src_height_after_rotation));
    229 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] hsr_after_rotation: %d", bw_fixed_to_int(data->hsr_after_rotation));
    230 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] vsr_after_rotation: %d", bw_fixed_to_int(data->vsr_after_rotation));
    231 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] source_height_pixels: %d", bw_fixed_to_int(data->source_height_pixels));
    232 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] hsr_after_stereo: %d", bw_fixed_to_int(data->hsr_after_stereo));
    233 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] vsr_after_stereo: %d", bw_fixed_to_int(data->vsr_after_stereo));
    234 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] source_width_in_lb: %d", bw_fixed_to_int(data->source_width_in_lb));
    235 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] lb_line_pitch: %d", bw_fixed_to_int(data->lb_line_pitch));
    236 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] underlay_maximum_source_efficient_for_tiling: %d",
    237 				bw_fixed_to_int(data->underlay_maximum_source_efficient_for_tiling));
    238 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] num_lines_at_frame_start: %d",
    239 				bw_fixed_to_int(data->num_lines_at_frame_start));
    240 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] min_dmif_size_in_time: %d", bw_fixed_to_int(data->min_dmif_size_in_time));
    241 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] min_mcifwr_size_in_time: %d",
    242 				bw_fixed_to_int(data->min_mcifwr_size_in_time));
    243 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] total_requests_for_dmif_size: %d",
    244 				bw_fixed_to_int(data->total_requests_for_dmif_size));
    245 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] peak_pte_request_to_eviction_ratio_limiting: %d",
    246 				bw_fixed_to_int(data->peak_pte_request_to_eviction_ratio_limiting));
    247 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] useful_pte_per_pte_request: %d",
    248 				bw_fixed_to_int(data->useful_pte_per_pte_request));
    249 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] scatter_gather_pte_request_rows: %d",
    250 				bw_fixed_to_int(data->scatter_gather_pte_request_rows));
    251 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] scatter_gather_row_height: %d",
    252 				bw_fixed_to_int(data->scatter_gather_row_height));
    253 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] scatter_gather_pte_requests_in_vblank: %d",
    254 				bw_fixed_to_int(data->scatter_gather_pte_requests_in_vblank));
    255 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] inefficient_linear_pitch_in_bytes: %d",
    256 				bw_fixed_to_int(data->inefficient_linear_pitch_in_bytes));
    257 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] cursor_total_data: %d", bw_fixed_to_int(data->cursor_total_data));
    258 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] cursor_total_request_groups: %d",
    259 				bw_fixed_to_int(data->cursor_total_request_groups));
    260 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] scatter_gather_total_pte_requests: %d",
    261 				bw_fixed_to_int(data->scatter_gather_total_pte_requests));
    262 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] scatter_gather_total_pte_request_groups: %d",
    263 				bw_fixed_to_int(data->scatter_gather_total_pte_request_groups));
    264 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] tile_width_in_pixels: %d", bw_fixed_to_int(data->tile_width_in_pixels));
    265 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dmif_total_number_of_data_request_page_close_open: %d",
    266 				bw_fixed_to_int(data->dmif_total_number_of_data_request_page_close_open));
    267 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] mcifwr_total_number_of_data_request_page_close_open: %d",
    268 				bw_fixed_to_int(data->mcifwr_total_number_of_data_request_page_close_open));
    269 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] bytes_per_page_close_open: %d",
    270 				bw_fixed_to_int(data->bytes_per_page_close_open));
    271 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] mcifwr_total_page_close_open_time: %d",
    272 				bw_fixed_to_int(data->mcifwr_total_page_close_open_time));
    273 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] total_requests_for_adjusted_dmif_size: %d",
    274 				bw_fixed_to_int(data->total_requests_for_adjusted_dmif_size));
    275 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] total_dmifmc_urgent_trips: %d",
    276 				bw_fixed_to_int(data->total_dmifmc_urgent_trips));
    277 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] total_dmifmc_urgent_latency: %d",
    278 				bw_fixed_to_int(data->total_dmifmc_urgent_latency));
    279 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] total_display_reads_required_data: %d",
    280 				bw_fixed_to_int(data->total_display_reads_required_data));
    281 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] total_display_reads_required_dram_access_data: %d",
    282 				bw_fixed_to_int(data->total_display_reads_required_dram_access_data));
    283 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] total_display_writes_required_data: %d",
    284 				bw_fixed_to_int(data->total_display_writes_required_data));
    285 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] total_display_writes_required_dram_access_data: %d",
    286 				bw_fixed_to_int(data->total_display_writes_required_dram_access_data));
    287 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] display_reads_required_data: %d",
    288 				bw_fixed_to_int(data->display_reads_required_data));
    289 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] display_reads_required_dram_access_data: %d",
    290 				bw_fixed_to_int(data->display_reads_required_dram_access_data));
    291 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dmif_total_page_close_open_time: %d",
    292 				bw_fixed_to_int(data->dmif_total_page_close_open_time));
    293 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] min_cursor_memory_interface_buffer_size_in_time: %d",
    294 				bw_fixed_to_int(data->min_cursor_memory_interface_buffer_size_in_time));
    295 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] min_read_buffer_size_in_time: %d",
    296 				bw_fixed_to_int(data->min_read_buffer_size_in_time));
    297 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] display_reads_time_for_data_transfer: %d",
    298 				bw_fixed_to_int(data->display_reads_time_for_data_transfer));
    299 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] display_writes_time_for_data_transfer: %d",
    300 				bw_fixed_to_int(data->display_writes_time_for_data_transfer));
    301 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dmif_required_dram_bandwidth: %d",
    302 				bw_fixed_to_int(data->dmif_required_dram_bandwidth));
    303 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] mcifwr_required_dram_bandwidth: %d",
    304 				bw_fixed_to_int(data->mcifwr_required_dram_bandwidth));
    305 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] required_dmifmc_urgent_latency_for_page_close_open: %d",
    306 				bw_fixed_to_int(data->required_dmifmc_urgent_latency_for_page_close_open));
    307 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] required_mcifmcwr_urgent_latency: %d",
    308 				bw_fixed_to_int(data->required_mcifmcwr_urgent_latency));
    309 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] required_dram_bandwidth_gbyte_per_second: %d",
    310 				bw_fixed_to_int(data->required_dram_bandwidth_gbyte_per_second));
    311 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dram_bandwidth: %d", bw_fixed_to_int(data->dram_bandwidth));
    312 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dmif_required_sclk: %d", bw_fixed_to_int(data->dmif_required_sclk));
    313 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] mcifwr_required_sclk: %d", bw_fixed_to_int(data->mcifwr_required_sclk));
    314 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] required_sclk: %d", bw_fixed_to_int(data->required_sclk));
    315 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] downspread_factor: %d", bw_fixed_to_int(data->downspread_factor));
    316 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] v_scaler_efficiency: %d", bw_fixed_to_int(data->v_scaler_efficiency));
    317 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] scaler_limits_factor: %d", bw_fixed_to_int(data->scaler_limits_factor));
    318 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] display_pipe_pixel_throughput: %d",
    319 				bw_fixed_to_int(data->display_pipe_pixel_throughput));
    320 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] total_dispclk_required_with_ramping: %d",
    321 				bw_fixed_to_int(data->total_dispclk_required_with_ramping));
    322 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] total_dispclk_required_without_ramping: %d",
    323 				bw_fixed_to_int(data->total_dispclk_required_without_ramping));
    324 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] total_read_request_bandwidth: %d",
    325 				bw_fixed_to_int(data->total_read_request_bandwidth));
    326 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] total_write_request_bandwidth: %d",
    327 				bw_fixed_to_int(data->total_write_request_bandwidth));
    328 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dispclk_required_for_total_read_request_bandwidth: %d",
    329 				bw_fixed_to_int(data->dispclk_required_for_total_read_request_bandwidth));
    330 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] total_dispclk_required_with_ramping_with_request_bandwidth: %d",
    331 				bw_fixed_to_int(data->total_dispclk_required_with_ramping_with_request_bandwidth));
    332 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] total_dispclk_required_without_ramping_with_request_bandwidth: %d",
    333 				bw_fixed_to_int(data->total_dispclk_required_without_ramping_with_request_bandwidth));
    334 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dispclk: %d", bw_fixed_to_int(data->dispclk));
    335 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] blackout_recovery_time: %d", bw_fixed_to_int(data->blackout_recovery_time));
    336 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] min_pixels_per_data_fifo_entry: %d",
    337 				bw_fixed_to_int(data->min_pixels_per_data_fifo_entry));
    338 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] sclk_deep_sleep: %d", bw_fixed_to_int(data->sclk_deep_sleep));
    339 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] chunk_request_time: %d", bw_fixed_to_int(data->chunk_request_time));
    340 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] cursor_request_time: %d", bw_fixed_to_int(data->cursor_request_time));
    341 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] line_source_pixels_transfer_time: %d",
    342 				bw_fixed_to_int(data->line_source_pixels_transfer_time));
    343 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dmifdram_access_efficiency: %d",
    344 				bw_fixed_to_int(data->dmifdram_access_efficiency));
    345 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] mcifwrdram_access_efficiency: %d",
    346 				bw_fixed_to_int(data->mcifwrdram_access_efficiency));
    347 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] total_average_bandwidth_no_compression: %d",
    348 				bw_fixed_to_int(data->total_average_bandwidth_no_compression));
    349 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] total_average_bandwidth: %d",
    350 				bw_fixed_to_int(data->total_average_bandwidth));
    351 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] total_stutter_cycle_duration: %d",
    352 				bw_fixed_to_int(data->total_stutter_cycle_duration));
    353 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] stutter_burst_time: %d", bw_fixed_to_int(data->stutter_burst_time));
    354 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] time_in_self_refresh: %d", bw_fixed_to_int(data->time_in_self_refresh));
    355 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] stutter_efficiency: %d", bw_fixed_to_int(data->stutter_efficiency));
    356 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] worst_number_of_trips_to_memory: %d",
    357 				bw_fixed_to_int(data->worst_number_of_trips_to_memory));
    358 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] immediate_flip_time: %d", bw_fixed_to_int(data->immediate_flip_time));
    359 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] latency_for_non_dmif_clients: %d",
    360 				bw_fixed_to_int(data->latency_for_non_dmif_clients));
    361 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] latency_for_non_mcifwr_clients: %d",
    362 				bw_fixed_to_int(data->latency_for_non_mcifwr_clients));
    363 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dmifmc_urgent_latency_supported_in_high_sclk_and_yclk: %d",
    364 				bw_fixed_to_int(data->dmifmc_urgent_latency_supported_in_high_sclk_and_yclk));
    365 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] nbp_state_dram_speed_change_margin: %d",
    366 				bw_fixed_to_int(data->nbp_state_dram_speed_change_margin));
    367 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] display_reads_time_for_data_transfer_and_urgent_latency: %d",
    368 				bw_fixed_to_int(data->display_reads_time_for_data_transfer_and_urgent_latency));
    369 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dram_speed_change_margin: %d",
    370 				bw_fixed_to_int(data->dram_speed_change_margin));
    371 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] min_vblank_dram_speed_change_margin: %d",
    372 				bw_fixed_to_int(data->min_vblank_dram_speed_change_margin));
    373 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] min_stutter_refresh_duration: %d",
    374 				bw_fixed_to_int(data->min_stutter_refresh_duration));
    375 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] total_stutter_dmif_buffer_size: %d", data->total_stutter_dmif_buffer_size);
    376 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] total_bytes_requested: %d", data->total_bytes_requested);
    377 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] min_stutter_dmif_buffer_size: %d", data->min_stutter_dmif_buffer_size);
    378 	DC_LOG_BANDWIDTH_CALCS("	[uint32_t] num_stutter_bursts: %d", data->num_stutter_bursts);
    379 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] v_blank_nbp_state_dram_speed_change_latency_supported: %d",
    380 				bw_fixed_to_int(data->v_blank_nbp_state_dram_speed_change_latency_supported));
    381 	DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] nbp_state_dram_speed_change_latency_supported: %d",
    382 				bw_fixed_to_int(data->nbp_state_dram_speed_change_latency_supported));
    383 
    384 	for (i = 0; i < maximum_number_of_surfaces; i++) {
    385 		DC_LOG_BANDWIDTH_CALCS("	[bool] fbc_en[%d]:%d\n", i, data->fbc_en[i]);
    386 		DC_LOG_BANDWIDTH_CALCS("	[bool] lpt_en[%d]:%d", i, data->lpt_en[i]);
    387 		DC_LOG_BANDWIDTH_CALCS("	[bool] displays_match_flag[%d]:%d", i, data->displays_match_flag[i]);
    388 		DC_LOG_BANDWIDTH_CALCS("	[bool] use_alpha[%d]:%d", i, data->use_alpha[i]);
    389 		DC_LOG_BANDWIDTH_CALCS("	[bool] orthogonal_rotation[%d]:%d", i, data->orthogonal_rotation[i]);
    390 		DC_LOG_BANDWIDTH_CALCS("	[bool] enable[%d]:%d", i, data->enable[i]);
    391 		DC_LOG_BANDWIDTH_CALCS("	[bool] access_one_channel_only[%d]:%d", i, data->access_one_channel_only[i]);
    392 		DC_LOG_BANDWIDTH_CALCS("	[bool] scatter_gather_enable_for_pipe[%d]:%d",
    393 					i, data->scatter_gather_enable_for_pipe[i]);
    394 		DC_LOG_BANDWIDTH_CALCS("	[bool] interlace_mode[%d]:%d",
    395 					i, data->interlace_mode[i]);
    396 		DC_LOG_BANDWIDTH_CALCS("	[bool] display_pstate_change_enable[%d]:%d",
    397 					i, data->display_pstate_change_enable[i]);
    398 		DC_LOG_BANDWIDTH_CALCS("	[bool] line_buffer_prefetch[%d]:%d", i, data->line_buffer_prefetch[i]);
    399 		DC_LOG_BANDWIDTH_CALCS("	[uint32_t] bytes_per_pixel[%d]:%d", i, data->bytes_per_pixel[i]);
    400 		DC_LOG_BANDWIDTH_CALCS("	[uint32_t] max_chunks_non_fbc_mode[%d]:%d",
    401 					i, data->max_chunks_non_fbc_mode[i]);
    402 		DC_LOG_BANDWIDTH_CALCS("	[uint32_t] lb_bpc[%d]:%d", i, data->lb_bpc[i]);
    403 		DC_LOG_BANDWIDTH_CALCS("	[uint32_t] output_bpphdmi[%d]:%d", i, data->output_bpphdmi[i]);
    404 		DC_LOG_BANDWIDTH_CALCS("	[uint32_t] output_bppdp4_lane_hbr[%d]:%d", i, data->output_bppdp4_lane_hbr[i]);
    405 		DC_LOG_BANDWIDTH_CALCS("	[uint32_t] output_bppdp4_lane_hbr2[%d]:%d",
    406 					i, data->output_bppdp4_lane_hbr2[i]);
    407 		DC_LOG_BANDWIDTH_CALCS("	[uint32_t] output_bppdp4_lane_hbr3[%d]:%d",
    408 					i, data->output_bppdp4_lane_hbr3[i]);
    409 		DC_LOG_BANDWIDTH_CALCS("	[enum] bw_defines stereo_mode[%d]:%d", i, data->stereo_mode[i]);
    410 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dmif_buffer_transfer_time[%d]:%d",
    411 					i, bw_fixed_to_int(data->dmif_buffer_transfer_time[i]));
    412 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] displays_with_same_mode[%d]:%d",
    413 					i, bw_fixed_to_int(data->displays_with_same_mode[i]));
    414 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] stutter_dmif_buffer_size[%d]:%d",
    415 					i, bw_fixed_to_int(data->stutter_dmif_buffer_size[i]));
    416 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] stutter_refresh_duration[%d]:%d",
    417 					i, bw_fixed_to_int(data->stutter_refresh_duration[i]));
    418 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] stutter_exit_watermark[%d]:%d",
    419 					i, bw_fixed_to_int(data->stutter_exit_watermark[i]));
    420 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] stutter_entry_watermark[%d]:%d",
    421 					i, bw_fixed_to_int(data->stutter_entry_watermark[i]));
    422 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] h_total[%d]:%d", i, bw_fixed_to_int(data->h_total[i]));
    423 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] v_total[%d]:%d", i, bw_fixed_to_int(data->v_total[i]));
    424 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] pixel_rate[%d]:%d", i, bw_fixed_to_int(data->pixel_rate[i]));
    425 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] src_width[%d]:%d", i, bw_fixed_to_int(data->src_width[i]));
    426 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] pitch_in_pixels[%d]:%d",
    427 					i, bw_fixed_to_int(data->pitch_in_pixels[i]));
    428 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] pitch_in_pixels_after_surface_type[%d]:%d",
    429 					i, bw_fixed_to_int(data->pitch_in_pixels_after_surface_type[i]));
    430 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] src_height[%d]:%d", i, bw_fixed_to_int(data->src_height[i]));
    431 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] scale_ratio[%d]:%d", i, bw_fixed_to_int(data->scale_ratio[i]));
    432 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] h_taps[%d]:%d", i, bw_fixed_to_int(data->h_taps[i]));
    433 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] v_taps[%d]:%d", i, bw_fixed_to_int(data->v_taps[i]));
    434 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] h_scale_ratio[%d]:%d", i, bw_fixed_to_int(data->h_scale_ratio[i]));
    435 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] v_scale_ratio[%d]:%d", i, bw_fixed_to_int(data->v_scale_ratio[i]));
    436 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] rotation_angle[%d]:%d",
    437 					i, bw_fixed_to_int(data->rotation_angle[i]));
    438 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] compression_rate[%d]:%d",
    439 					i, bw_fixed_to_int(data->compression_rate[i]));
    440 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] hsr[%d]:%d", i, bw_fixed_to_int(data->hsr[i]));
    441 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] vsr[%d]:%d", i, bw_fixed_to_int(data->vsr[i]));
    442 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] source_width_rounded_up_to_chunks[%d]:%d",
    443 					i, bw_fixed_to_int(data->source_width_rounded_up_to_chunks[i]));
    444 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] source_width_pixels[%d]:%d",
    445 					i, bw_fixed_to_int(data->source_width_pixels[i]));
    446 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] source_height_rounded_up_to_chunks[%d]:%d",
    447 					i, bw_fixed_to_int(data->source_height_rounded_up_to_chunks[i]));
    448 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] display_bandwidth[%d]:%d",
    449 					i, bw_fixed_to_int(data->display_bandwidth[i]));
    450 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] request_bandwidth[%d]:%d",
    451 					i, bw_fixed_to_int(data->request_bandwidth[i]));
    452 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] bytes_per_request[%d]:%d",
    453 					i, bw_fixed_to_int(data->bytes_per_request[i]));
    454 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] useful_bytes_per_request[%d]:%d",
    455 					i, bw_fixed_to_int(data->useful_bytes_per_request[i]));
    456 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] lines_interleaved_in_mem_access[%d]:%d",
    457 					i, bw_fixed_to_int(data->lines_interleaved_in_mem_access[i]));
    458 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] latency_hiding_lines[%d]:%d",
    459 					i, bw_fixed_to_int(data->latency_hiding_lines[i]));
    460 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] lb_partitions[%d]:%d",
    461 					i, bw_fixed_to_int(data->lb_partitions[i]));
    462 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] lb_partitions_max[%d]:%d",
    463 					i, bw_fixed_to_int(data->lb_partitions_max[i]));
    464 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dispclk_required_with_ramping[%d]:%d",
    465 					i, bw_fixed_to_int(data->dispclk_required_with_ramping[i]));
    466 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dispclk_required_without_ramping[%d]:%d",
    467 					i, bw_fixed_to_int(data->dispclk_required_without_ramping[i]));
    468 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] data_buffer_size[%d]:%d",
    469 					i, bw_fixed_to_int(data->data_buffer_size[i]));
    470 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] outstanding_chunk_request_limit[%d]:%d",
    471 					i, bw_fixed_to_int(data->outstanding_chunk_request_limit[i]));
    472 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] urgent_watermark[%d]:%d",
    473 					i, bw_fixed_to_int(data->urgent_watermark[i]));
    474 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] nbp_state_change_watermark[%d]:%d",
    475 					i, bw_fixed_to_int(data->nbp_state_change_watermark[i]));
    476 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] v_filter_init[%d]:%d", i, bw_fixed_to_int(data->v_filter_init[i]));
    477 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] stutter_cycle_duration[%d]:%d",
    478 					i, bw_fixed_to_int(data->stutter_cycle_duration[i]));
    479 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] average_bandwidth[%d]:%d",
    480 					i, bw_fixed_to_int(data->average_bandwidth[i]));
    481 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] average_bandwidth_no_compression[%d]:%d",
    482 					i, bw_fixed_to_int(data->average_bandwidth_no_compression[i]));
    483 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] scatter_gather_pte_request_limit[%d]:%d",
    484 					i, bw_fixed_to_int(data->scatter_gather_pte_request_limit[i]));
    485 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] lb_size_per_component[%d]:%d",
    486 					i, bw_fixed_to_int(data->lb_size_per_component[i]));
    487 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] memory_chunk_size_in_bytes[%d]:%d",
    488 					i, bw_fixed_to_int(data->memory_chunk_size_in_bytes[i]));
    489 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] pipe_chunk_size_in_bytes[%d]:%d",
    490 					i, bw_fixed_to_int(data->pipe_chunk_size_in_bytes[i]));
    491 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] number_of_trips_to_memory_for_getting_apte_row[%d]:%d",
    492 					i, bw_fixed_to_int(data->number_of_trips_to_memory_for_getting_apte_row[i]));
    493 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] adjusted_data_buffer_size[%d]:%d",
    494 					i, bw_fixed_to_int(data->adjusted_data_buffer_size[i]));
    495 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] adjusted_data_buffer_size_in_memory[%d]:%d",
    496 					i, bw_fixed_to_int(data->adjusted_data_buffer_size_in_memory[i]));
    497 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] pixels_per_data_fifo_entry[%d]:%d",
    498 					i, bw_fixed_to_int(data->pixels_per_data_fifo_entry[i]));
    499 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] scatter_gather_pte_requests_in_row[%d]:%d",
    500 					i, bw_fixed_to_int(data->scatter_gather_pte_requests_in_row[i]));
    501 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] pte_request_per_chunk[%d]:%d",
    502 					i, bw_fixed_to_int(data->pte_request_per_chunk[i]));
    503 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] scatter_gather_page_width[%d]:%d",
    504 					i, bw_fixed_to_int(data->scatter_gather_page_width[i]));
    505 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] scatter_gather_page_height[%d]:%d",
    506 					i, bw_fixed_to_int(data->scatter_gather_page_height[i]));
    507 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] lb_lines_in_per_line_out_in_beginning_of_frame[%d]:%d",
    508 					i, bw_fixed_to_int(data->lb_lines_in_per_line_out_in_beginning_of_frame[i]));
    509 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] lb_lines_in_per_line_out_in_middle_of_frame[%d]:%d",
    510 					i, bw_fixed_to_int(data->lb_lines_in_per_line_out_in_middle_of_frame[i]));
    511 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] cursor_width_pixels[%d]:%d",
    512 					i, bw_fixed_to_int(data->cursor_width_pixels[i]));
    513 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] minimum_latency_hiding[%d]:%d",
    514 					i, bw_fixed_to_int(data->minimum_latency_hiding[i]));
    515 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] maximum_latency_hiding[%d]:%d",
    516 					i, bw_fixed_to_int(data->maximum_latency_hiding[i]));
    517 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] minimum_latency_hiding_with_cursor[%d]:%d",
    518 					i, bw_fixed_to_int(data->minimum_latency_hiding_with_cursor[i]));
    519 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] maximum_latency_hiding_with_cursor[%d]:%d",
    520 					i, bw_fixed_to_int(data->maximum_latency_hiding_with_cursor[i]));
    521 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] src_pixels_for_first_output_pixel[%d]:%d",
    522 					i, bw_fixed_to_int(data->src_pixels_for_first_output_pixel[i]));
    523 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] src_pixels_for_last_output_pixel[%d]:%d",
    524 					i, bw_fixed_to_int(data->src_pixels_for_last_output_pixel[i]));
    525 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] src_data_for_first_output_pixel[%d]:%d",
    526 					i, bw_fixed_to_int(data->src_data_for_first_output_pixel[i]));
    527 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] src_data_for_last_output_pixel[%d]:%d",
    528 					i, bw_fixed_to_int(data->src_data_for_last_output_pixel[i]));
    529 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] active_time[%d]:%d", i, bw_fixed_to_int(data->active_time[i]));
    530 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] horizontal_blank_and_chunk_granularity_factor[%d]:%d",
    531 					i, bw_fixed_to_int(data->horizontal_blank_and_chunk_granularity_factor[i]));
    532 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] cursor_latency_hiding[%d]:%d",
    533 					i, bw_fixed_to_int(data->cursor_latency_hiding[i]));
    534 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] v_blank_dram_speed_change_margin[%d]:%d",
    535 					i, bw_fixed_to_int(data->v_blank_dram_speed_change_margin[i]));
    536 		}
    537 
    538 	for (i = 0; i < maximum_number_of_surfaces; i++) {
    539 		for (j = 0; j < 3; j++) {
    540 			for (k = 0; k < 8; k++) {
    541 
    542 				DC_LOG_BANDWIDTH_CALCS("\n	[bw_fixed] line_source_transfer_time[%d][%d][%d]:%d",
    543 					i, j, k, bw_fixed_to_int(data->line_source_transfer_time[i][j][k]));
    544 				DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dram_speed_change_line_source_transfer_time[%d][%d][%d]:%d",
    545 					i, j, k,
    546 					bw_fixed_to_int(data->dram_speed_change_line_source_transfer_time[i][j][k]));
    547 			}
    548 		}
    549 	}
    550 
    551 	for (i = 0; i < 3; i++) {
    552 		for (j = 0; j < 8; j++) {
    553 
    554 			DC_LOG_BANDWIDTH_CALCS("\n	[uint32_t] num_displays_with_margin[%d][%d]:%d",
    555 					i, j, data->num_displays_with_margin[i][j]);
    556 			DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dmif_burst_time[%d][%d]:%d",
    557 					i, j, bw_fixed_to_int(data->dmif_burst_time[i][j]));
    558 			DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] mcifwr_burst_time[%d][%d]:%d",
    559 					i, j, bw_fixed_to_int(data->mcifwr_burst_time[i][j]));
    560 			DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] min_dram_speed_change_margin[%d][%d]:%d",
    561 					i, j, bw_fixed_to_int(data->min_dram_speed_change_margin[i][j]));
    562 			DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dispclk_required_for_dram_speed_change[%d][%d]:%d",
    563 					i, j, bw_fixed_to_int(data->dispclk_required_for_dram_speed_change[i][j]));
    564 			DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] blackout_duration_margin[%d][%d]:%d",
    565 					i, j, bw_fixed_to_int(data->blackout_duration_margin[i][j]));
    566 			DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dispclk_required_for_blackout_duration[%d][%d]:%d",
    567 					i, j, bw_fixed_to_int(data->dispclk_required_for_blackout_duration[i][j]));
    568 			DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dispclk_required_for_blackout_recovery[%d][%d]:%d",
    569 					i, j, bw_fixed_to_int(data->dispclk_required_for_blackout_recovery[i][j]));
    570 		}
    571 	}
    572 
    573 	for (i = 0; i < 6; i++) {
    574 		DC_LOG_BANDWIDTH_CALCS("	[bw_fixed] dmif_required_sclk_for_urgent_latency[%d]:%d",
    575 					i, bw_fixed_to_int(data->dmif_required_sclk_for_urgent_latency[i]));
    576 	}
    577 }
    578 ;
    579 
    580 #endif /* _CALCS_CALCS_LOGGER_H_ */
    581