maximum_number_of_surfaces
for (i = 0; i < maximum_number_of_surfaces; i++) {
for (i = 0; i < maximum_number_of_surfaces; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (k = 0; k <= maximum_number_of_surfaces - 1; k++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
tiling_mode = kzalloc_objs(*tiling_mode, maximum_number_of_surfaces);
for (k = 0; k <= maximum_number_of_surfaces - 1; k++) {
surface_type = kzalloc_objs(*surface_type, maximum_number_of_surfaces);
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (k = 0; k <= maximum_number_of_surfaces - 1; k++) {
for (k = 0; k <= maximum_number_of_surfaces - 1; k++) {
for (k = 0; k <= maximum_number_of_surfaces - 1; k++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (j = 0; j <= maximum_number_of_surfaces - 1; j++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (k = 0; k <= maximum_number_of_surfaces - 1; k++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (k = 0; k <= maximum_number_of_surfaces - 1; k++) {
for (i = 4; i <= maximum_number_of_surfaces - 3; i++) {
data->scatter_gather_enable_for_pipe[maximum_number_of_surfaces - 2] = 0;
data->scatter_gather_enable_for_pipe[maximum_number_of_surfaces - 1] = 0;
data->enable[maximum_number_of_surfaces - 2] = 1;
data->enable[maximum_number_of_surfaces - 1] = 1;
data->enable[maximum_number_of_surfaces - 2] = 0;
data->enable[maximum_number_of_surfaces - 1] = 0;
surface_type[maximum_number_of_surfaces - 2] = bw_def_display_write_back420_luma;
surface_type[maximum_number_of_surfaces - 1] = bw_def_display_write_back420_chroma;
data->lb_size_per_component[maximum_number_of_surfaces - 2] = dceip->underlay420_luma_lb_size_per_component;
data->lb_size_per_component[maximum_number_of_surfaces - 1] = dceip->underlay420_chroma_lb_size_per_component;
data->bytes_per_pixel[maximum_number_of_surfaces - 2] = 1;
data->bytes_per_pixel[maximum_number_of_surfaces - 1] = 2;
data->interlace_mode[maximum_number_of_surfaces - 2] = data->interlace_mode[5];
data->interlace_mode[maximum_number_of_surfaces - 1] = data->interlace_mode[5];
data->h_taps[maximum_number_of_surfaces - 2] = bw_int_to_fixed(1);
data->h_taps[maximum_number_of_surfaces - 1] = bw_int_to_fixed(1);
data->v_taps[maximum_number_of_surfaces - 2] = bw_int_to_fixed(1);
data->v_taps[maximum_number_of_surfaces - 1] = bw_int_to_fixed(1);
data->rotation_angle[maximum_number_of_surfaces - 2] = bw_int_to_fixed(0);
data->rotation_angle[maximum_number_of_surfaces - 1] = bw_int_to_fixed(0);
tiling_mode[maximum_number_of_surfaces - 2] = bw_def_linear;
tiling_mode[maximum_number_of_surfaces - 1] = bw_def_linear;
data->lb_bpc[maximum_number_of_surfaces - 2] = 8;
data->lb_bpc[maximum_number_of_surfaces - 1] = 8;
data->compression_rate[maximum_number_of_surfaces - 2] = bw_int_to_fixed(1);
data->compression_rate[maximum_number_of_surfaces - 1] = bw_int_to_fixed(1);
data->access_one_channel_only[maximum_number_of_surfaces - 2] = 0;
data->access_one_channel_only[maximum_number_of_surfaces - 1] = 0;
data->h_total[maximum_number_of_surfaces - 2] = data->h_total[5];
data->h_total[maximum_number_of_surfaces - 1] = data->h_total[5];
data->v_total[maximum_number_of_surfaces - 2] = data->v_total[5];
data->v_total[maximum_number_of_surfaces - 1] = data->v_total[5];
data->pixel_rate[maximum_number_of_surfaces - 2] = data->pixel_rate[5];
data->pixel_rate[maximum_number_of_surfaces - 1] = data->pixel_rate[5];
data->src_width[maximum_number_of_surfaces - 2] = data->src_width[5];
data->src_width[maximum_number_of_surfaces - 1] = data->src_width[5];
data->src_height[maximum_number_of_surfaces - 2] = data->src_height[5];
data->src_height[maximum_number_of_surfaces - 1] = data->src_height[5];
data->pitch_in_pixels[maximum_number_of_surfaces - 2] = data->src_width[5];
data->pitch_in_pixels[maximum_number_of_surfaces - 1] = data->src_width[5];
data->h_scale_ratio[maximum_number_of_surfaces - 2] = bw_int_to_fixed(1);
data->h_scale_ratio[maximum_number_of_surfaces - 1] = bw_int_to_fixed(1);
data->v_scale_ratio[maximum_number_of_surfaces - 2] = bw_int_to_fixed(1);
data->v_scale_ratio[maximum_number_of_surfaces - 1] = bw_int_to_fixed(1);
data->stereo_mode[maximum_number_of_surfaces - 2] = bw_def_mono;
data->stereo_mode[maximum_number_of_surfaces - 1] = bw_def_mono;
data->cursor_width_pixels[maximum_number_of_surfaces - 2] = bw_int_to_fixed(0);
data->cursor_width_pixels[maximum_number_of_surfaces - 1] = bw_int_to_fixed(0);
data->use_alpha[maximum_number_of_surfaces - 2] = 0;
data->use_alpha[maximum_number_of_surfaces - 1] = 0;
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
for (i = 0; i <= maximum_number_of_surfaces - 1; i++) {
bool fbc_en[maximum_number_of_surfaces];
bool lpt_en[maximum_number_of_surfaces];
bool displays_match_flag[maximum_number_of_surfaces];
bool use_alpha[maximum_number_of_surfaces];
bool orthogonal_rotation[maximum_number_of_surfaces];
bool enable[maximum_number_of_surfaces];
bool access_one_channel_only[maximum_number_of_surfaces];
bool scatter_gather_enable_for_pipe[maximum_number_of_surfaces];
bool interlace_mode[maximum_number_of_surfaces];
bool display_pstate_change_enable[maximum_number_of_surfaces];
bool line_buffer_prefetch[maximum_number_of_surfaces];
uint32_t bytes_per_pixel[maximum_number_of_surfaces];
uint32_t max_chunks_non_fbc_mode[maximum_number_of_surfaces];
uint32_t lb_bpc[maximum_number_of_surfaces];
uint32_t output_bpphdmi[maximum_number_of_surfaces];
uint32_t output_bppdp4_lane_hbr[maximum_number_of_surfaces];
uint32_t output_bppdp4_lane_hbr2[maximum_number_of_surfaces];
uint32_t output_bppdp4_lane_hbr3[maximum_number_of_surfaces];
enum bw_defines stereo_mode[maximum_number_of_surfaces];
struct bw_fixed dmif_buffer_transfer_time[maximum_number_of_surfaces];
struct bw_fixed displays_with_same_mode[maximum_number_of_surfaces];
struct bw_fixed stutter_dmif_buffer_size[maximum_number_of_surfaces];
struct bw_fixed stutter_refresh_duration[maximum_number_of_surfaces];
struct bw_fixed stutter_exit_watermark[maximum_number_of_surfaces];
struct bw_fixed stutter_entry_watermark[maximum_number_of_surfaces];
struct bw_fixed h_total[maximum_number_of_surfaces];
struct bw_fixed v_total[maximum_number_of_surfaces];
struct bw_fixed pixel_rate[maximum_number_of_surfaces];
struct bw_fixed src_width[maximum_number_of_surfaces];
struct bw_fixed pitch_in_pixels[maximum_number_of_surfaces];
struct bw_fixed pitch_in_pixels_after_surface_type[maximum_number_of_surfaces];
struct bw_fixed src_height[maximum_number_of_surfaces];
struct bw_fixed scale_ratio[maximum_number_of_surfaces];
struct bw_fixed h_taps[maximum_number_of_surfaces];
struct bw_fixed v_taps[maximum_number_of_surfaces];
struct bw_fixed h_scale_ratio[maximum_number_of_surfaces];
struct bw_fixed v_scale_ratio[maximum_number_of_surfaces];
struct bw_fixed rotation_angle[maximum_number_of_surfaces];
struct bw_fixed compression_rate[maximum_number_of_surfaces];
struct bw_fixed hsr[maximum_number_of_surfaces];
struct bw_fixed vsr[maximum_number_of_surfaces];
struct bw_fixed source_width_rounded_up_to_chunks[maximum_number_of_surfaces];
struct bw_fixed source_width_pixels[maximum_number_of_surfaces];
struct bw_fixed source_height_rounded_up_to_chunks[maximum_number_of_surfaces];
struct bw_fixed display_bandwidth[maximum_number_of_surfaces];
struct bw_fixed request_bandwidth[maximum_number_of_surfaces];
struct bw_fixed bytes_per_request[maximum_number_of_surfaces];
struct bw_fixed useful_bytes_per_request[maximum_number_of_surfaces];
struct bw_fixed lines_interleaved_in_mem_access[maximum_number_of_surfaces];
struct bw_fixed latency_hiding_lines[maximum_number_of_surfaces];
struct bw_fixed lb_partitions[maximum_number_of_surfaces];
struct bw_fixed lb_partitions_max[maximum_number_of_surfaces];
struct bw_fixed dispclk_required_with_ramping[maximum_number_of_surfaces];
struct bw_fixed dispclk_required_without_ramping[maximum_number_of_surfaces];
struct bw_fixed data_buffer_size[maximum_number_of_surfaces];
struct bw_fixed outstanding_chunk_request_limit[maximum_number_of_surfaces];
struct bw_fixed urgent_watermark[maximum_number_of_surfaces];
struct bw_fixed nbp_state_change_watermark[maximum_number_of_surfaces];
struct bw_fixed v_filter_init[maximum_number_of_surfaces];
struct bw_fixed stutter_cycle_duration[maximum_number_of_surfaces];
struct bw_fixed average_bandwidth[maximum_number_of_surfaces];
struct bw_fixed average_bandwidth_no_compression[maximum_number_of_surfaces];
struct bw_fixed scatter_gather_pte_request_limit[maximum_number_of_surfaces];
struct bw_fixed lb_size_per_component[maximum_number_of_surfaces];
struct bw_fixed memory_chunk_size_in_bytes[maximum_number_of_surfaces];
struct bw_fixed pipe_chunk_size_in_bytes[maximum_number_of_surfaces];
struct bw_fixed number_of_trips_to_memory_for_getting_apte_row[maximum_number_of_surfaces];
struct bw_fixed adjusted_data_buffer_size[maximum_number_of_surfaces];
struct bw_fixed adjusted_data_buffer_size_in_memory[maximum_number_of_surfaces];
struct bw_fixed pixels_per_data_fifo_entry[maximum_number_of_surfaces];
struct bw_fixed scatter_gather_pte_requests_in_row[maximum_number_of_surfaces];
struct bw_fixed pte_request_per_chunk[maximum_number_of_surfaces];
struct bw_fixed scatter_gather_page_width[maximum_number_of_surfaces];
struct bw_fixed scatter_gather_page_height[maximum_number_of_surfaces];
struct bw_fixed lb_lines_in_per_line_out_in_beginning_of_frame[maximum_number_of_surfaces];
struct bw_fixed lb_lines_in_per_line_out_in_middle_of_frame[maximum_number_of_surfaces];
struct bw_fixed cursor_width_pixels[maximum_number_of_surfaces];
struct bw_fixed minimum_latency_hiding[maximum_number_of_surfaces];
struct bw_fixed maximum_latency_hiding[maximum_number_of_surfaces];
struct bw_fixed minimum_latency_hiding_with_cursor[maximum_number_of_surfaces];
struct bw_fixed maximum_latency_hiding_with_cursor[maximum_number_of_surfaces];
struct bw_fixed src_pixels_for_first_output_pixel[maximum_number_of_surfaces];
struct bw_fixed src_pixels_for_last_output_pixel[maximum_number_of_surfaces];
struct bw_fixed src_data_for_first_output_pixel[maximum_number_of_surfaces];
struct bw_fixed src_data_for_last_output_pixel[maximum_number_of_surfaces];
struct bw_fixed active_time[maximum_number_of_surfaces];
struct bw_fixed horizontal_blank_and_chunk_granularity_factor[maximum_number_of_surfaces];
struct bw_fixed cursor_latency_hiding[maximum_number_of_surfaces];
struct bw_fixed v_blank_dram_speed_change_margin[maximum_number_of_surfaces];
struct bw_fixed line_source_transfer_time[maximum_number_of_surfaces][3][8];
struct bw_fixed dram_speed_change_line_source_transfer_time[maximum_number_of_surfaces][3][8];