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