| .. | .. |
|---|
| 243 | 243 | rq_regs->rq_regs_l.swath_height = dml_log2(rq_param.dlg.rq_l.swath_height); |
|---|
| 244 | 244 | rq_regs->rq_regs_c.swath_height = dml_log2(rq_param.dlg.rq_c.swath_height); |
|---|
| 245 | 245 | |
|---|
| 246 | | - /* FIXME: take the max between luma, chroma chunk size? |
|---|
| 246 | + /* TODO: take the max between luma, chroma chunk size? |
|---|
| 247 | 247 | * okay for now, as we are setting chunk_bytes to 8kb anyways |
|---|
| 248 | 248 | */ |
|---|
| 249 | 249 | if (rq_param.sizing.rq_l.chunk_bytes >= 32 * 1024) { /*32kb */ |
|---|
| .. | .. |
|---|
| 344 | 344 | if (surf_linear) { |
|---|
| 345 | 345 | log2_swath_height_l = 0; |
|---|
| 346 | 346 | log2_swath_height_c = 0; |
|---|
| 347 | | - } else if (!surf_vert) { |
|---|
| 348 | | - log2_swath_height_l = dml_log2(rq_param->misc.rq_l.blk256_height) - req128_l; |
|---|
| 349 | | - log2_swath_height_c = dml_log2(rq_param->misc.rq_c.blk256_height) - req128_c; |
|---|
| 350 | 347 | } else { |
|---|
| 351 | | - log2_swath_height_l = dml_log2(rq_param->misc.rq_l.blk256_width) - req128_l; |
|---|
| 352 | | - log2_swath_height_c = dml_log2(rq_param->misc.rq_c.blk256_width) - req128_c; |
|---|
| 348 | + unsigned int swath_height_l; |
|---|
| 349 | + unsigned int swath_height_c; |
|---|
| 350 | + |
|---|
| 351 | + if (!surf_vert) { |
|---|
| 352 | + swath_height_l = rq_param->misc.rq_l.blk256_height; |
|---|
| 353 | + swath_height_c = rq_param->misc.rq_c.blk256_height; |
|---|
| 354 | + } else { |
|---|
| 355 | + swath_height_l = rq_param->misc.rq_l.blk256_width; |
|---|
| 356 | + swath_height_c = rq_param->misc.rq_c.blk256_width; |
|---|
| 357 | + } |
|---|
| 358 | + |
|---|
| 359 | + if (swath_height_l > 0) |
|---|
| 360 | + log2_swath_height_l = dml_log2(swath_height_l); |
|---|
| 361 | + |
|---|
| 362 | + if (req128_l && log2_swath_height_l > 0) |
|---|
| 363 | + log2_swath_height_l -= 1; |
|---|
| 364 | + |
|---|
| 365 | + if (swath_height_c > 0) |
|---|
| 366 | + log2_swath_height_c = dml_log2(swath_height_c); |
|---|
| 367 | + |
|---|
| 368 | + if (req128_c && log2_swath_height_c > 0) |
|---|
| 369 | + log2_swath_height_c -= 1; |
|---|
| 353 | 370 | } |
|---|
| 371 | + |
|---|
| 354 | 372 | rq_param->dlg.rq_l.swath_height = 1 << log2_swath_height_l; |
|---|
| 355 | 373 | rq_param->dlg.rq_c.swath_height = 1 << log2_swath_height_c; |
|---|
| 356 | 374 | |
|---|
| .. | .. |
|---|
| 459 | 477 | /* dpte */ |
|---|
| 460 | 478 | /* ------ */ |
|---|
| 461 | 479 | log2_vmpg_bytes = dml_log2(mode_lib->soc.vmm_page_size_bytes); |
|---|
| 462 | | - dpte_buf_in_pte_reqs = mode_lib->ip.dpte_buffer_size_in_pte_reqs; |
|---|
| 480 | + dpte_buf_in_pte_reqs = mode_lib->ip.dpte_buffer_size_in_pte_reqs_luma; |
|---|
| 463 | 481 | |
|---|
| 464 | 482 | log2_vmpg_height = 0; |
|---|
| 465 | 483 | log2_vmpg_width = 0; |
|---|
| .. | .. |
|---|
| 602 | 620 | unsigned int log2_dpte_group_length; |
|---|
| 603 | 621 | unsigned int func_meta_row_height, func_dpte_row_height; |
|---|
| 604 | 622 | |
|---|
| 605 | | - /* FIXME check if ppe apply for both luma and chroma in 422 case */ |
|---|
| 623 | + /* TODO check if ppe apply for both luma and chroma in 422 case */ |
|---|
| 606 | 624 | if (is_chroma) { |
|---|
| 607 | 625 | vp_width = pipe_src_param.viewport_width_c / ppe; |
|---|
| 608 | 626 | vp_height = pipe_src_param.viewport_height_c; |
|---|
| .. | .. |
|---|
| 776 | 794 | /* dpte */ |
|---|
| 777 | 795 | /* ------ */ |
|---|
| 778 | 796 | log2_vmpg_bytes = dml_log2(mode_lib->soc.vmm_page_size_bytes); |
|---|
| 779 | | - dpte_buf_in_pte_reqs = mode_lib->ip.dpte_buffer_size_in_pte_reqs; |
|---|
| 797 | + dpte_buf_in_pte_reqs = mode_lib->ip.dpte_buffer_size_in_pte_reqs_luma; |
|---|
| 780 | 798 | |
|---|
| 781 | 799 | log2_vmpg_height = 0; |
|---|
| 782 | 800 | log2_vmpg_width = 0; |
|---|
| .. | .. |
|---|
| 881 | 899 | /* the dpte_group_bytes is reduced for the specific case of vertical |
|---|
| 882 | 900 | * access of a tile surface that has dpte request of 8x1 ptes. |
|---|
| 883 | 901 | */ |
|---|
| 884 | | - if (!surf_linear & (log2_dpte_req_height_ptes == 0) & surf_vert) /*reduced, in this case, will have page fault within a group */ |
|---|
| 902 | + if (!surf_linear && (log2_dpte_req_height_ptes == 0) && surf_vert) /*reduced, in this case, will have page fault within a group */ |
|---|
| 885 | 903 | rq_sizing_param->dpte_group_bytes = 512; |
|---|
| 886 | 904 | else |
|---|
| 887 | 905 | /*full size */ |
|---|
| .. | .. |
|---|
| 1141 | 1159 | ASSERT(disp_dlg_regs->refcyc_h_blank_end < (unsigned int) dml_pow(2, 13)); |
|---|
| 1142 | 1160 | disp_dlg_regs->dlg_vblank_end = interlaced ? (vblank_end / 2) : vblank_end; /* 15 bits */ |
|---|
| 1143 | 1161 | |
|---|
| 1144 | | - prefetch_xy_calc_in_dcfclk = 24.0; /* FIXME: ip_param */ |
|---|
| 1162 | + prefetch_xy_calc_in_dcfclk = 24.0; /* TODO: ip_param */ |
|---|
| 1145 | 1163 | min_dcfclk_mhz = dlg_sys_param.deepsleep_dcfclk_mhz; |
|---|
| 1146 | 1164 | t_calc_us = prefetch_xy_calc_in_dcfclk / min_dcfclk_mhz; |
|---|
| 1147 | 1165 | min_ttu_vblank = dlg_sys_param.t_urg_wm_us; |
|---|
| .. | .. |
|---|
| 1182 | 1200 | dcc_en = e2e_pipe_param.pipe.src.dcc; |
|---|
| 1183 | 1201 | dual_plane = is_dual_plane( |
|---|
| 1184 | 1202 | (enum source_format_class) e2e_pipe_param.pipe.src.source_format); |
|---|
| 1185 | | - mode_422 = 0; /* FIXME */ |
|---|
| 1203 | + mode_422 = 0; /* TODO */ |
|---|
| 1186 | 1204 | access_dir = (e2e_pipe_param.pipe.src.source_scan == dm_vert); /* vp access direction: horizontal or vertical accessed */ |
|---|
| 1187 | 1205 | bytes_per_element_l = get_bytes_per_element( |
|---|
| 1188 | 1206 | (enum source_format_class) e2e_pipe_param.pipe.src.source_format, |
|---|
| .. | .. |
|---|
| 1837 | 1855 | cur0_width_ub = dml_ceil((double) cur0_src_width / (double) cur0_req_width, 1) |
|---|
| 1838 | 1856 | * (double) cur0_req_width; |
|---|
| 1839 | 1857 | cur0_req_per_width = cur0_width_ub / (double) cur0_req_width; |
|---|
| 1840 | | - hactive_cur0 = (double) cur0_src_width / hratios_cur0; /* FIXME: oswin to think about what to do for cursor */ |
|---|
| 1858 | + hactive_cur0 = (double) cur0_src_width / hratios_cur0; /* TODO: oswin to think about what to do for cursor */ |
|---|
| 1841 | 1859 | |
|---|
| 1842 | 1860 | if (vratio_pre_l <= 1.0) { |
|---|
| 1843 | 1861 | refcyc_per_req_delivery_pre_cur0 = hactive_cur0 * ref_freq_to_pix_freq |
|---|