/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dcn201/ |
D | dcn201_dpp.c | 185 struct scaler_data *scl_data, in dpp201_get_optimal_number_of_taps() argument 190 if (scl_data->viewport.width > scl_data->recout.width) in dpp201_get_optimal_number_of_taps() 191 pixel_width = scl_data->recout.width; in dpp201_get_optimal_number_of_taps() 193 pixel_width = scl_data->viewport.width; in dpp201_get_optimal_number_of_taps() 195 if (scl_data->viewport.width != scl_data->h_active && in dpp201_get_optimal_number_of_taps() 196 scl_data->viewport.height != scl_data->v_active && in dpp201_get_optimal_number_of_taps() 198 scl_data->format == PIXEL_FORMAT_FP16) in dpp201_get_optimal_number_of_taps() 201 if (scl_data->viewport.width > scl_data->h_active && in dpp201_get_optimal_number_of_taps() 203 scl_data->viewport.width > dpp->ctx->dc->debug.max_downscale_src_width) in dpp201_get_optimal_number_of_taps() 206 if (scl_data->ratios.horz.value == (8ll << 32)) in dpp201_get_optimal_number_of_taps() [all …]
|
D | dcn201_dpp.h | 72 struct scaler_data scl_data; member
|
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dcn10/ |
D | dcn10_dpp_dscl.c | 284 const struct scaler_data *scl_data, in dpp1_dscl_set_scl_filter() argument 291 uint32_t h_2tap_sharp_factor = scl_data->sharpness.horz; in dpp1_dscl_set_scl_filter() 292 uint32_t v_2tap_sharp_factor = scl_data->sharpness.vert; in dpp1_dscl_set_scl_filter() 299 h_2tap_hardcode_coef_en = scl_data->taps.h_taps < 3 in dpp1_dscl_set_scl_filter() 300 && scl_data->taps.h_taps_c < 3 in dpp1_dscl_set_scl_filter() 301 && (scl_data->taps.h_taps > 1 && scl_data->taps.h_taps_c > 1); in dpp1_dscl_set_scl_filter() 302 v_2tap_hardcode_coef_en = scl_data->taps.v_taps < 3 in dpp1_dscl_set_scl_filter() 303 && scl_data->taps.v_taps_c < 3 in dpp1_dscl_set_scl_filter() 304 && (scl_data->taps.v_taps > 1 && scl_data->taps.v_taps_c > 1); in dpp1_dscl_set_scl_filter() 321 scl_data->taps.h_taps, scl_data->ratios.horz); in dpp1_dscl_set_scl_filter() [all …]
|
D | dcn10_dpp.c | 126 struct scaler_data *scl_data, in dpp1_get_optimal_number_of_taps() argument 130 if (scl_data->format == PIXEL_FORMAT_FP16 && in dpp1_get_optimal_number_of_taps() 132 scl_data->ratios.horz.value != dc_fixpt_one.value && in dpp1_get_optimal_number_of_taps() 133 scl_data->ratios.vert.value != dc_fixpt_one.value) in dpp1_get_optimal_number_of_taps() 136 if (scl_data->viewport.width > scl_data->h_active && in dpp1_get_optimal_number_of_taps() 138 scl_data->viewport.width > dpp->ctx->dc->debug.max_downscale_src_width) in dpp1_get_optimal_number_of_taps() 144 if (scl_data->ratios.horz.value == (4ll << 32)) in dpp1_get_optimal_number_of_taps() 145 scl_data->ratios.horz.value--; in dpp1_get_optimal_number_of_taps() 146 if (scl_data->ratios.vert.value == (4ll << 32)) in dpp1_get_optimal_number_of_taps() 147 scl_data->ratios.vert.value--; in dpp1_get_optimal_number_of_taps() [all …]
|
D | dcn10_hw_sequencer.c | 2686 pipe_ctx->plane_res.scl_data.lb_params.alpha_en = per_pixel_alpha; in update_scaler() 2687 pipe_ctx->plane_res.scl_data.lb_params.depth = LB_PIXEL_DEPTH_36BPP; in update_scaler() 2690 pipe_ctx->plane_res.dpp, &pipe_ctx->plane_res.scl_data); in update_scaler() 2780 size.surface_size = pipe_ctx->plane_res.scl_data.viewport; in dcn10_update_dchubp_dpp() 2804 &pipe_ctx->plane_res.scl_data.viewport, in dcn10_update_dchubp_dpp() 2805 &pipe_ctx->plane_res.scl_data.viewport_c); in dcn10_update_dchubp_dpp() 3359 const struct scaler_data *scl_data = &pipe_ctx->plane_res.scl_data; in dcn10_can_pipe_disable_cursor() local 3360 struct rect r1 = scl_data->recout, r2, r2_half; in dcn10_can_pipe_disable_cursor() 3375 r2 = test_pipe->plane_res.scl_data.recout; in dcn10_can_pipe_disable_cursor() 3387 r2_half = split_pipe->plane_res.scl_data.recout; in dcn10_can_pipe_disable_cursor() [all …]
|
D | dcn10_dpp.h | 1367 struct scaler_data scl_data; member 1398 const struct scaler_data *scl_data, 1490 const struct scaler_data *scl_data); 1511 struct scaler_data *scl_data,
|
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dcn32/ |
D | dcn32_dpp.c | 35 const struct scaler_data *scl_data, in dscl32_calc_lb_num_partitions() argument 43 int line_size = scl_data->viewport.width < scl_data->recout.width ? in dscl32_calc_lb_num_partitions() 44 scl_data->viewport.width : scl_data->recout.width; in dscl32_calc_lb_num_partitions() 45 int line_size_c = scl_data->viewport_c.width < scl_data->recout.width ? in dscl32_calc_lb_num_partitions() 46 scl_data->viewport_c.width : scl_data->recout.width; in dscl32_calc_lb_num_partitions() 67 if (scl_data->viewport.width == scl_data->h_active && in dscl32_calc_lb_num_partitions() 68 scl_data->viewport.height == scl_data->v_active) { in dscl32_calc_lb_num_partitions() 81 if (scl_data->viewport.width == scl_data->h_active && in dscl32_calc_lb_num_partitions() 82 scl_data->viewport.height == scl_data->v_active) { in dscl32_calc_lb_num_partitions() 97 if (scl_data->lb_params.alpha_en in dscl32_calc_lb_num_partitions()
|
D | dcn32_resource_helpers.c | 87 full_vp_height = main_pipe->plane_res.scl_data.viewport.height; in dcn32_helper_calculate_num_ways_for_subvp() 99 full_vp_width_blk_aligned = ((pipe->plane_res.scl_data.viewport.x + in dcn32_helper_calculate_num_ways_for_subvp() 100 pipe->plane_res.scl_data.viewport.width + mblk_width - 1) / mblk_width * mblk_width) + in dcn32_helper_calculate_num_ways_for_subvp() 101 (pipe->plane_res.scl_data.viewport.x / mblk_width * mblk_width); in dcn32_helper_calculate_num_ways_for_subvp() 106 full_vp_height_blk_aligned = ((pipe->plane_res.scl_data.viewport.y + in dcn32_helper_calculate_num_ways_for_subvp() 108 (pipe->plane_res.scl_data.viewport.y / mblk_height * mblk_height); in dcn32_helper_calculate_num_ways_for_subvp() 114 … mall_alloc_height_blk_aligned = (pipe->plane_res.scl_data.viewport.height - 1 + mblk_height - 1) / in dcn32_helper_calculate_num_ways_for_subvp()
|
D | dcn32_hwseq.c | 244 mall_alloc_width_blk_aligned = ((pipe->plane_res.scl_data.viewport.x + in dcn32_calculate_cab_allocation() 245 pipe->plane_res.scl_data.viewport.width + mblk_width - 1) / mblk_width * mblk_width) - in dcn32_calculate_cab_allocation() 246 (pipe->plane_res.scl_data.viewport.x / mblk_width * mblk_width); in dcn32_calculate_cab_allocation() 253 mall_alloc_height_blk_aligned = ((pipe->plane_res.scl_data.viewport.y + in dcn32_calculate_cab_allocation() 254 pipe->plane_res.scl_data.viewport.height + mblk_height - 1) / mblk_height * mblk_height) - in dcn32_calculate_cab_allocation() 255 (pipe->plane_res.scl_data.viewport.y / mblk_height * mblk_height); in dcn32_calculate_cab_allocation()
|
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dcn30/ |
D | dcn30_dpp.c | 384 struct scaler_data *scl_data, in dpp3_get_optimal_number_of_taps() argument 392 if (scl_data->viewport.width > scl_data->h_active && in dpp3_get_optimal_number_of_taps() 394 scl_data->viewport.width > dpp->ctx->dc->debug.max_downscale_src_width) in dpp3_get_optimal_number_of_taps() 403 if (dc_fixpt_ceil(scl_data->ratios.horz) > 1) in dpp3_get_optimal_number_of_taps() 404 scl_data->taps.h_taps = min(2 * dc_fixpt_ceil(scl_data->ratios.horz), 8); in dpp3_get_optimal_number_of_taps() 406 scl_data->taps.h_taps = 4; in dpp3_get_optimal_number_of_taps() 408 scl_data->taps.h_taps = in_taps->h_taps; in dpp3_get_optimal_number_of_taps() 410 if (dc_fixpt_ceil(scl_data->ratios.vert) > 1) in dpp3_get_optimal_number_of_taps() 411 scl_data->taps.v_taps = min(dc_fixpt_ceil(dc_fixpt_mul_int(scl_data->ratios.vert, 2)), 8); in dpp3_get_optimal_number_of_taps() 413 scl_data->taps.v_taps = 4; in dpp3_get_optimal_number_of_taps() [all …]
|
D | dcn30_dpp.h | 573 struct scaler_data scl_data; member 596 struct scaler_data *scl_data,
|
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dce60/ |
D | dce60_hw_sequencer.c | 151 default_adjust.surface_pixel_format = pipe_ctx->plane_res.scl_data.format; in dce60_set_default_colors() 158 default_adjust.lb_color_depth = pipe_ctx->plane_res.scl_data.lb_params.depth; in dce60_set_default_colors() 202 switch (pipe_ctx->plane_res.scl_data.format) { in dce60_get_surface_visual_confirm_color() 248 pipe_ctx->plane_res.scl_data.lb_params.depth, in dce60_program_scaler() 266 &pipe_ctx->plane_res.scl_data); in dce60_program_scaler() 312 pipe_ctx->plane_res.scl_data.lb_params.alpha_en = pipe_ctx->bottom_pipe != 0; in dce60_program_front_end_for_pipe() 371 pipe_ctx->plane_res.scl_data.viewport.width, in dce60_program_front_end_for_pipe() 372 pipe_ctx->plane_res.scl_data.viewport.height, in dce60_program_front_end_for_pipe() 373 pipe_ctx->plane_res.scl_data.viewport.x, in dce60_program_front_end_for_pipe() 374 pipe_ctx->plane_res.scl_data.viewport.y, in dce60_program_front_end_for_pipe() [all …]
|
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dcn20/ |
D | dcn20_dpp.c | 259 const struct scaler_data *scl_data, in dscl2_calc_lb_num_partitions() argument 267 int line_size = scl_data->viewport.width < scl_data->recout.width ? in dscl2_calc_lb_num_partitions() 268 scl_data->viewport.width : scl_data->recout.width; in dscl2_calc_lb_num_partitions() 269 int line_size_c = scl_data->viewport_c.width < scl_data->recout.width ? in dscl2_calc_lb_num_partitions() 270 scl_data->viewport_c.width : scl_data->recout.width; in dscl2_calc_lb_num_partitions() 304 if (scl_data->lb_params.alpha_en in dscl2_calc_lb_num_partitions()
|
D | dcn20_hwseq.c | 1383 …if (memcmp(&old_pipe->plane_res.scl_data, &new_pipe->plane_res.scl_data, sizeof(struct scaler_data… in dcn20_detect_pipe_changes() 1386 …if (memcmp(&old_pipe->plane_res.scl_data.viewport, &new_pipe->plane_res.scl_data.viewport, sizeof(… in dcn20_detect_pipe_changes() 1387 || memcmp(&old_pipe->plane_res.scl_data.viewport_c, in dcn20_detect_pipe_changes() 1388 &new_pipe->plane_res.scl_data.viewport_c, sizeof(struct rect))) in dcn20_detect_pipe_changes() 1533 pipe_ctx->plane_res.scl_data.lb_params.alpha_en = pipe_ctx->plane_state->per_pixel_alpha; in dcn20_update_dchubp_dpp() 1534 ASSERT(pipe_ctx->plane_res.scl_data.lb_params.depth == LB_PIXEL_DEPTH_36BPP); in dcn20_update_dchubp_dpp() 1537 pipe_ctx->plane_res.dpp, &pipe_ctx->plane_res.scl_data); in dcn20_update_dchubp_dpp() 1547 &pipe_ctx->plane_res.scl_data.viewport, in dcn20_update_dchubp_dpp() 1548 &pipe_ctx->plane_res.scl_data.viewport_c); in dcn20_update_dchubp_dpp() 1593 size.surface_size = pipe_ctx->plane_res.scl_data.viewport; in dcn20_update_dchubp_dpp()
|
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dce/ |
D | dce_transform.c | 1166 struct scaler_data *scl_data, in dce_transform_get_optimal_number_of_taps() argument 1170 int pixel_width = scl_data->viewport.width; in dce_transform_get_optimal_number_of_taps() 1174 (scl_data->viewport.width > scl_data->recout.width)) in dce_transform_get_optimal_number_of_taps() 1175 pixel_width = scl_data->recout.width; in dce_transform_get_optimal_number_of_taps() 1179 scl_data->lb_params.depth, in dce_transform_get_optimal_number_of_taps() 1195 scl_data->taps.h_taps = decide_taps(scl_data->ratios.horz, in_taps->h_taps, false); in dce_transform_get_optimal_number_of_taps() 1196 scl_data->taps.v_taps = decide_taps(scl_data->ratios.vert, in_taps->v_taps, false); in dce_transform_get_optimal_number_of_taps() 1197 scl_data->taps.h_taps_c = decide_taps(scl_data->ratios.horz_c, in_taps->h_taps, true); in dce_transform_get_optimal_number_of_taps() 1198 scl_data->taps.v_taps_c = decide_taps(scl_data->ratios.vert_c, in_taps->v_taps, true); in dce_transform_get_optimal_number_of_taps() 1200 if (!IDENTITY_RATIO(scl_data->ratios.vert)) { in dce_transform_get_optimal_number_of_taps() [all …]
|
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dml/calcs/ |
D | dcn_calcs.c | 341 input->src.viewport_width = pipe->plane_res.scl_data.viewport.width; in pipe_ctx_to_e2e_pipe_params() 342 input->src.viewport_height = pipe->plane_res.scl_data.viewport.height; in pipe_ctx_to_e2e_pipe_params() 343 input->src.data_pitch = pipe->plane_res.scl_data.viewport.width; in pipe_ctx_to_e2e_pipe_params() 344 input->src.data_pitch_c = pipe->plane_res.scl_data.viewport.width; in pipe_ctx_to_e2e_pipe_params() 398 input->scale_taps.htaps = pipe->plane_res.scl_data.taps.h_taps; in pipe_ctx_to_e2e_pipe_params() 399 input->scale_ratio_depth.hscl_ratio = pipe->plane_res.scl_data.ratios.horz.value/4294967296.0; in pipe_ctx_to_e2e_pipe_params() 400 input->scale_ratio_depth.vscl_ratio = pipe->plane_res.scl_data.ratios.vert.value/4294967296.0; in pipe_ctx_to_e2e_pipe_params() 401 input->scale_ratio_depth.vinit = pipe->plane_res.scl_data.inits.v.value/4294967296.0; in pipe_ctx_to_e2e_pipe_params() 404 input->scale_taps.vtaps = pipe->plane_res.scl_data.taps.v_taps; in pipe_ctx_to_e2e_pipe_params() 405 input->scale_taps.vtaps_c = pipe->plane_res.scl_data.taps.v_taps_c; in pipe_ctx_to_e2e_pipe_params() [all …]
|
D | dce_calcs.c | 2827 data->src_width[num_displays + 4] = bw_int_to_fixed(pipe[i].plane_res.scl_data.viewport.width); in populate_initial_data() 2829 data->src_height[num_displays + 4] = bw_int_to_fixed(pipe[i].plane_res.scl_data.viewport.height); in populate_initial_data() 2830 data->h_taps[num_displays + 4] = bw_int_to_fixed(pipe[i].plane_res.scl_data.taps.h_taps); in populate_initial_data() 2831 data->v_taps[num_displays + 4] = bw_int_to_fixed(pipe[i].plane_res.scl_data.taps.v_taps); in populate_initial_data() 2832 …data->h_scale_ratio[num_displays + 4] = fixed31_32_to_bw_fixed(pipe[i].plane_res.scl_data.ratios.h… in populate_initial_data() 2833 …data->v_scale_ratio[num_displays + 4] = fixed31_32_to_bw_fixed(pipe[i].plane_res.scl_data.ratios.v… in populate_initial_data() 2882 …data->src_height[num_displays * 2 + j] = bw_int_to_fixed(pipe[i].bottom_pipe->plane_res.scl_data.v… in populate_initial_data() 2883 …data->src_width[num_displays * 2 + j] = bw_int_to_fixed(pipe[i].bottom_pipe->plane_res.scl_data.vi… in populate_initial_data() 2886 …data->h_taps[num_displays * 2 + j] = bw_int_to_fixed(pipe[i].bottom_pipe->plane_res.scl_data.taps.… in populate_initial_data() 2887 …data->v_taps[num_displays * 2 + j] = bw_int_to_fixed(pipe[i].bottom_pipe->plane_res.scl_data.taps.… in populate_initial_data() [all …]
|
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/core/ |
D | dc_resource.c | 789 struct scaler_data *data = &pipe_ctx->plane_res.scl_data; in calculate_viewport_size() 806 struct scaler_data *data = &pipe_ctx->plane_res.scl_data; in calculate_recout() 895 pipe_ctx->plane_res.scl_data.ratios.horz = dc_fixpt_from_fraction( in calculate_scaling_ratios() 898 pipe_ctx->plane_res.scl_data.ratios.vert = dc_fixpt_from_fraction( in calculate_scaling_ratios() 903 pipe_ctx->plane_res.scl_data.ratios.horz.value *= 2; in calculate_scaling_ratios() 905 pipe_ctx->plane_res.scl_data.ratios.vert.value *= 2; in calculate_scaling_ratios() 907 pipe_ctx->plane_res.scl_data.ratios.vert.value = div64_s64( in calculate_scaling_ratios() 908 pipe_ctx->plane_res.scl_data.ratios.vert.value * in_h, out_h); in calculate_scaling_ratios() 909 pipe_ctx->plane_res.scl_data.ratios.horz.value = div64_s64( in calculate_scaling_ratios() 910 pipe_ctx->plane_res.scl_data.ratios.horz.value * in_w, out_w); in calculate_scaling_ratios() [all …]
|
D | dc_hw_sequencer.c | 320 switch (pipe_ctx->plane_res.scl_data.format) { in get_surface_visual_confirm_color() 376 switch (top_pipe_ctx->plane_res.scl_data.format) { in get_hdr_visual_confirm_color()
|
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/dce110/ |
D | dce110_transform_v.c | 48 const struct scaler_data *scl_data, in calculate_viewport() argument 53 luma_viewport->x = scl_data->viewport.x - scl_data->viewport.x % 2; in calculate_viewport() 54 luma_viewport->y = scl_data->viewport.y - scl_data->viewport.y % 2; in calculate_viewport() 56 scl_data->viewport.width - scl_data->viewport.width % 2; in calculate_viewport() 58 scl_data->viewport.height - scl_data->viewport.height % 2; in calculate_viewport() 64 if (scl_data->format == PIXEL_FORMAT_420BPP8) { in calculate_viewport()
|
D | dce110_hw_sequencer.c | 1394 pipe_ctx->plane_res.scl_data.lb_params.depth, in program_scaler() 1412 &pipe_ctx->plane_res.scl_data); in program_scaler() 1606 pipe_ctx->plane_res.scl_data.lb_params.alpha_en = pipe_ctx->bottom_pipe != NULL; in apply_single_controller_ctx_to_hw() 2334 default_adjust.surface_pixel_format = pipe_ctx->plane_res.scl_data.format; in set_default_colors() 2341 default_adjust.lb_color_depth = pipe_ctx->plane_res.scl_data.lb_params.depth; in set_default_colors() 2725 pipe_ctx->plane_res.scl_data.lb_params.alpha_en = pipe_ctx->bottom_pipe != NULL; in dce110_program_front_end_for_pipe() 2784 pipe_ctx->plane_res.scl_data.viewport.width, in dce110_program_front_end_for_pipe() 2785 pipe_ctx->plane_res.scl_data.viewport.height, in dce110_program_front_end_for_pipe() 2786 pipe_ctx->plane_res.scl_data.viewport.x, in dce110_program_front_end_for_pipe() 2787 pipe_ctx->plane_res.scl_data.viewport.y, in dce110_program_front_end_for_pipe() [all …]
|
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/inc/hw/ |
D | transform.h | 186 const struct scaler_data *scl_data); 195 struct scaler_data *scl_data, 300 const struct scaler_data *scl_data,
|
D | dpp.h | 164 const struct scaler_data *scl_data); 173 struct scaler_data *scl_data,
|
/linux-6.1.9/drivers/gpu/drm/amd/display/amdgpu_dm/ |
D | amdgpu_dm_trace.h | 438 __entry->recout_x = plane_res->scl_data.recout.x; 439 __entry->recout_y = plane_res->scl_data.recout.y; 440 __entry->recout_w = plane_res->scl_data.recout.width; 441 __entry->recout_h = plane_res->scl_data.recout.height; 442 __entry->viewport_x = plane_res->scl_data.viewport.x; 443 __entry->viewport_y = plane_res->scl_data.viewport.y; 444 __entry->viewport_w = plane_res->scl_data.viewport.width; 445 __entry->viewport_h = plane_res->scl_data.viewport.height;
|
/linux-6.1.9/drivers/gpu/drm/amd/display/dc/inc/ |
D | core_types.h | 357 struct scaler_data scl_data; member
|