| /linux/drivers/gpu/drm/amd/display/dc/dpp/dcn201/ |
| H A D | dcn201_dpp.c | 192 struct scaler_data *scl_data, in dpp201_get_optimal_number_of_taps() argument 196 if (scl_data->viewport.width != scl_data->h_active && in dpp201_get_optimal_number_of_taps() 197 scl_data->viewport.height != scl_data->v_active && in dpp201_get_optimal_number_of_taps() 199 scl_data->format == PIXEL_FORMAT_FP16) in dpp201_get_optimal_number_of_taps() 202 if (scl_data->viewport.width > scl_data->h_active && in dpp201_get_optimal_number_of_taps() 204 scl_data->viewport.width > dpp->ctx->dc->debug.max_downscale_src_width) in dpp201_get_optimal_number_of_taps() 208 if (scl_data->ratios.horz.value == (8ll << 32)) in dpp201_get_optimal_number_of_taps() 209 scl_data->ratios.horz.value--; in dpp201_get_optimal_number_of_taps() 210 if (scl_data->ratios.vert.value == (8ll << 32)) in dpp201_get_optimal_number_of_taps() 211 scl_data->ratios.vert.value--; in dpp201_get_optimal_number_of_taps() [all …]
|
| H A D | dcn201_dpp.h | 72 struct scaler_data scl_data; member
|
| /linux/drivers/gpu/drm/amd/display/dc/dpp/dcn10/ |
| H A D | dcn10_dpp_dscl.c | 280 const struct scaler_data *scl_data, in dpp1_dscl_set_scl_filter() argument 287 uint32_t h_2tap_sharp_factor = scl_data->sharpness.horz; in dpp1_dscl_set_scl_filter() 288 uint32_t v_2tap_sharp_factor = scl_data->sharpness.vert; in dpp1_dscl_set_scl_filter() 295 h_2tap_hardcode_coef_en = scl_data->taps.h_taps < 3 in dpp1_dscl_set_scl_filter() 296 && scl_data->taps.h_taps_c < 3 in dpp1_dscl_set_scl_filter() 297 && (scl_data->taps.h_taps > 1 && scl_data->taps.h_taps_c > 1); in dpp1_dscl_set_scl_filter() 298 v_2tap_hardcode_coef_en = scl_data->taps.v_taps < 3 in dpp1_dscl_set_scl_filter() 299 && scl_data->taps.v_taps_c < 3 in dpp1_dscl_set_scl_filter() 300 && (scl_data->taps.v_taps > 1 && scl_data->taps.v_taps_c > 1); in dpp1_dscl_set_scl_filter() 317 scl_data->taps.h_taps, scl_data->ratios.horz); in dpp1_dscl_set_scl_filter() [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/dpp/dcn401/ |
| H A D | dcn401_dpp.c | 285 const struct scaler_data *scl_data, in dscl401_calc_lb_num_partitions() argument 293 int line_size = scl_data->viewport.width < scl_data->recout.width ? in dscl401_calc_lb_num_partitions() 294 scl_data->viewport.width : scl_data->recout.width; in dscl401_calc_lb_num_partitions() 295 int line_size_c = scl_data->viewport_c.width < scl_data->recout.width ? in dscl401_calc_lb_num_partitions() 296 scl_data->viewport_c.width : scl_data->recout.width; in dscl401_calc_lb_num_partitions() 317 if (scl_data->viewport.width == scl_data->h_active && in dscl401_calc_lb_num_partitions() 318 scl_data->viewport.height == scl_data->v_active) { in dscl401_calc_lb_num_partitions() 331 if (scl_data->viewport.width == scl_data->h_active && in dscl401_calc_lb_num_partitions() 332 scl_data->viewport.height == scl_data->v_active) { in dscl401_calc_lb_num_partitions() 347 if (scl_data->lb_params.alpha_en in dscl401_calc_lb_num_partitions() [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/dpp/dcn20/ |
| H A D | dcn20_dpp.c | 261 const struct scaler_data *scl_data, in dscl2_calc_lb_num_partitions() argument 269 int line_size = scl_data->viewport.width < scl_data->recout.width ? in dscl2_calc_lb_num_partitions() 270 scl_data->viewport.width : scl_data->recout.width; in dscl2_calc_lb_num_partitions() 271 int line_size_c = scl_data->viewport_c.width < scl_data->recout.width ? in dscl2_calc_lb_num_partitions() 272 scl_data->viewport_c.width : scl_data->recout.width; in dscl2_calc_lb_num_partitions() 306 if (scl_data->lb_params.alpha_en in dscl2_calc_lb_num_partitions() 438 const struct spl_scaler_data *scl_data, in dscl2_spl_calc_lb_num_partitions() argument 446 int line_size = scl_data->viewport.width < scl_data->recout.width ? in dscl2_spl_calc_lb_num_partitions() 447 scl_data->viewport.width : scl_data->recout.width; in dscl2_spl_calc_lb_num_partitions() 448 int line_size_c = scl_data->viewport_c.width < scl_data->recout.width ? in dscl2_spl_calc_lb_num_partitions() [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/dpp/dcn30/ |
| H A D | dcn30_dpp.c | 440 struct scaler_data *scl_data, in dpp3_get_optimal_number_of_taps() argument 454 if (dc_fixpt_ceil(scl_data->ratios.horz) > 1) in dpp3_get_optimal_number_of_taps() 455 scl_data->taps.h_taps = min(2 * dc_fixpt_ceil(scl_data->ratios.horz), 8); in dpp3_get_optimal_number_of_taps() 457 scl_data->taps.h_taps = 4; in dpp3_get_optimal_number_of_taps() 459 scl_data->taps.h_taps = in_taps->h_taps; in dpp3_get_optimal_number_of_taps() 461 if (dc_fixpt_ceil(scl_data->ratios.vert) > 1) in dpp3_get_optimal_number_of_taps() 462 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() 464 scl_data->taps.v_taps = 4; in dpp3_get_optimal_number_of_taps() 466 scl_data->taps.v_taps = in_taps->v_taps; in dpp3_get_optimal_number_of_taps() 468 if (dc_fixpt_ceil(scl_data->ratios.vert_c) > 1) in dpp3_get_optimal_number_of_taps() [all …]
|
| H A D | dcn30_dpp.h | 576 struct scaler_data scl_data; member 601 struct scaler_data *scl_data,
|
| /linux/drivers/gpu/drm/amd/display/dc/dml/calcs/ |
| H A 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 …]
|
| /linux/drivers/gpu/drm/amd/display/dc/dce/ |
| H A D | dce_transform.c | 1170 struct scaler_data *scl_data, in dce_transform_get_optimal_number_of_taps() argument 1174 int pixel_width = scl_data->viewport.width; in dce_transform_get_optimal_number_of_taps() 1178 (scl_data->viewport.width > scl_data->recout.width)) in dce_transform_get_optimal_number_of_taps() 1179 pixel_width = scl_data->recout.width; in dce_transform_get_optimal_number_of_taps() 1183 scl_data->lb_params.depth, in dce_transform_get_optimal_number_of_taps() 1199 scl_data->taps.h_taps = decide_taps(scl_data->ratios.horz, in_taps->h_taps, false); in dce_transform_get_optimal_number_of_taps() 1200 scl_data->taps.v_taps = decide_taps(scl_data->ratios.vert, in_taps->v_taps, false); in dce_transform_get_optimal_number_of_taps() 1201 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() 1202 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() 1204 if (!IDENTITY_RATIO(scl_data->ratios.vert)) { in dce_transform_get_optimal_number_of_taps() [all …]
|
| H A D | dce_transform.h | 676 struct scaler_data *scl_data,
|
| /linux/drivers/gpu/drm/amd/display/dc/core/ |
| H A D | dc_resource.c | 1166 pipe_ctx->plane_res.scl_data.recout = shift_rec( in calculate_recout() 1170 &pipe_ctx->plane_res.scl_data.recout, in calculate_recout() 1174 memset(&pipe_ctx->plane_res.scl_data.recout, 0, in calculate_recout() 1195 pipe_ctx->plane_res.scl_data.ratios.horz = dc_fixpt_from_fraction( in calculate_scaling_ratios() 1198 pipe_ctx->plane_res.scl_data.ratios.vert = dc_fixpt_from_fraction( in calculate_scaling_ratios() 1203 pipe_ctx->plane_res.scl_data.ratios.horz.value *= 2; in calculate_scaling_ratios() 1205 pipe_ctx->plane_res.scl_data.ratios.vert.value *= 2; in calculate_scaling_ratios() 1207 pipe_ctx->plane_res.scl_data.ratios.vert.value = div64_s64( in calculate_scaling_ratios() 1208 pipe_ctx->plane_res.scl_data.ratios.vert.value * in_h, out_h); in calculate_scaling_ratios() 1209 pipe_ctx->plane_res.scl_data.ratios.horz.value = div64_s64( in calculate_scaling_ratios() [all …]
|
| H A D | dc_hw_sequencer.c | 345 switch (pipe_ctx->plane_res.scl_data.format) { in get_surface_visual_confirm_color() 402 switch (top_pipe_ctx->plane_res.scl_data.format) { in get_hdr_visual_confirm_color() 3068 const struct scaler_data *scl_data = params->dpp_set_scaler_params.scl_data; in hwss_dpp_set_scaler() local 3071 dpp->funcs->dpp_set_scaler(dpp, scl_data); in hwss_dpp_set_scaler() 3927 const struct scaler_data *scl_data) in hwss_add_dpp_set_scaler() argument 3932 seq_state->steps[*seq_state->num_steps].params.dpp_set_scaler_params.scl_data = scl_data; in hwss_add_dpp_set_scaler()
|
| H A D | dc.c | 867 pipes->plane_res.scl_data.lb_params.depth, in dc_stream_set_dither_option() 6775 if (pipe_ctx->plane_state && pipe_ctx->plane_res.scl_data.recout.width > 0) { in dc_capture_register_software_state() 6777 struct dscl_prog_data *dscl_data = &pipe_ctx->plane_res.scl_data.dscl_prog_data; in dc_capture_register_software_state()
|
| /linux/drivers/gpu/drm/amd/display/dc/dce110/ |
| H A 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()
|
| /linux/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/ |
| H A D | dml21_translation_helper.c | 482 temp_pipe->plane_res.scl_data.taps = pipe->plane_res.scl_data.taps; in get_scaler_data_for_plane() 493 return &temp_pipe->plane_res.scl_data; in get_scaler_data_for_plane() 887 mcache_pipe_config->plane0.viewport_x_start = pipe_ctx->plane_res.scl_data.viewport.x; in dml21_get_pipe_mcache_config() 888 mcache_pipe_config->plane0.viewport_width = pipe_ctx->plane_res.scl_data.viewport.width; in dml21_get_pipe_mcache_config() 890 mcache_pipe_config->plane1.viewport_x_start = pipe_ctx->plane_res.scl_data.viewport_c.x; in dml21_get_pipe_mcache_config() 891 mcache_pipe_config->plane1.viewport_width = pipe_ctx->plane_res.scl_data.viewport_c.width; in dml21_get_pipe_mcache_config()
|
| /linux/drivers/gpu/drm/amd/display/dc/hwss/dce110/ |
| H A D | dce110_hwseq.c | 1482 pipe_ctx->plane_res.scl_data.lb_params.depth, in program_scaler() 1500 &pipe_ctx->plane_res.scl_data); in program_scaler() 1700 pipe_ctx->plane_res.scl_data.lb_params.alpha_en = pipe_ctx->bottom_pipe != NULL; in dce110_apply_single_controller_ctx_to_hw() 2553 default_adjust.surface_pixel_format = pipe_ctx->plane_res.scl_data.format; in set_default_colors() 2560 default_adjust.lb_color_depth = pipe_ctx->plane_res.scl_data.lb_params.depth; in set_default_colors() 2951 pipe_ctx->plane_res.scl_data.lb_params.alpha_en = pipe_ctx->bottom_pipe != NULL; in dce110_program_front_end_for_pipe() 3010 pipe_ctx->plane_res.scl_data.viewport.width, in dce110_program_front_end_for_pipe() 3011 pipe_ctx->plane_res.scl_data.viewport.height, in dce110_program_front_end_for_pipe() 3012 pipe_ctx->plane_res.scl_data.viewport.x, in dce110_program_front_end_for_pipe() 3013 pipe_ctx->plane_res.scl_data.viewport.y, in dce110_program_front_end_for_pipe() [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/hwss/dcn10/ |
| H A D | dcn10_hwseq.c | 2970 pipe_ctx->plane_res.scl_data.lb_params.alpha_en = per_pixel_alpha; in update_scaler() 2971 pipe_ctx->plane_res.scl_data.lb_params.depth = LB_PIXEL_DEPTH_36BPP; in update_scaler() 2974 pipe_ctx->plane_res.dpp, &pipe_ctx->plane_res.scl_data); in update_scaler() 3064 size.surface_size = pipe_ctx->plane_res.scl_data.viewport; in dcn10_update_dchubp_dpp() 3088 &pipe_ctx->plane_res.scl_data.viewport, in dcn10_update_dchubp_dpp() 3089 &pipe_ctx->plane_res.scl_data.viewport_c); in dcn10_update_dchubp_dpp() 3654 .viewport = pipe_ctx->plane_res.scl_data.viewport, in dcn10_set_cursor_position() 3655 .h_scale_ratio = pipe_ctx->plane_res.scl_data.ratios.horz, in dcn10_set_cursor_position() 3656 .v_scale_ratio = pipe_ctx->plane_res.scl_data.ratios.vert, in dcn10_set_cursor_position() 3677 if ((pipe_ctx->plane_state->src_rect.width != pipe_ctx->plane_res.scl_data.viewport.width) || in dcn10_set_cursor_position() [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/hwss/dcn401/ |
| H A D | dcn401_hwseq.c | 1084 .viewport = pipe_ctx->plane_res.scl_data.viewport, in dcn401_set_cursor_position() 1085 .recout = pipe_ctx->plane_res.scl_data.recout, in dcn401_set_cursor_position() 1086 .h_scale_ratio = pipe_ctx->plane_res.scl_data.ratios.horz, in dcn401_set_cursor_position() 1087 .v_scale_ratio = pipe_ctx->plane_res.scl_data.ratios.vert, in dcn401_set_cursor_position() 1106 if ((pipe_ctx->plane_state->src_rect.width != pipe_ctx->plane_res.scl_data.viewport.width) || in dcn401_set_cursor_position() 1107 (pipe_ctx->plane_state->src_rect.height != pipe_ctx->plane_res.scl_data.viewport.height)) { in dcn401_set_cursor_position() 1191 bottom_pipe_x_pos = x_pos - pipe_ctx->plane_res.scl_data.recout.x; in dcn401_set_cursor_position() 1193 x_pos = pipe_ctx->plane_res.scl_data.recout.x; in dcn401_set_cursor_position() 2874 …if (memcmp(&old_pipe->plane_res.scl_data, &new_pipe->plane_res.scl_data, sizeof(struct scaler_data… in dcn401_detect_pipe_changes() 2877 …if (memcmp(&old_pipe->plane_res.scl_data.viewport, &new_pipe->plane_res.scl_data.viewport, sizeof(… in dcn401_detect_pipe_changes() [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/hwss/dcn20/ |
| H A D | dcn20_hwseq.c | 1594 …if (memcmp(&old_pipe->plane_res.scl_data, &new_pipe->plane_res.scl_data, sizeof(struct scaler_data… in dcn20_detect_pipe_changes() 1597 …if (memcmp(&old_pipe->plane_res.scl_data.viewport, &new_pipe->plane_res.scl_data.viewport, sizeof(… in dcn20_detect_pipe_changes() 1598 || memcmp(&old_pipe->plane_res.scl_data.viewport_c, in dcn20_detect_pipe_changes() 1599 &new_pipe->plane_res.scl_data.viewport_c, sizeof(struct rect))) in dcn20_detect_pipe_changes() 1763 pipe_ctx->plane_res.scl_data.lb_params.alpha_en = pipe_ctx->plane_state->per_pixel_alpha; in dcn20_update_dchubp_dpp() 1764 ASSERT(pipe_ctx->plane_res.scl_data.lb_params.depth == LB_PIXEL_DEPTH_36BPP); in dcn20_update_dchubp_dpp() 1767 pipe_ctx->plane_res.dpp, &pipe_ctx->plane_res.scl_data); in dcn20_update_dchubp_dpp() 1777 &pipe_ctx->plane_res.scl_data.viewport, in dcn20_update_dchubp_dpp() 1778 &pipe_ctx->plane_res.scl_data.viewport_c); in dcn20_update_dchubp_dpp() 1830 size.surface_size = pipe_ctx->plane_res.scl_data.viewport; in dcn20_update_dchubp_dpp()
|
| /linux/drivers/gpu/drm/amd/display/dc/basics/ |
| H A D | dce_calcs.c | 2825 data->src_width[num_displays + 4] = bw_int_to_fixed(pipe[i].plane_res.scl_data.viewport.width); in populate_initial_data() 2827 data->src_height[num_displays + 4] = bw_int_to_fixed(pipe[i].plane_res.scl_data.viewport.height); in populate_initial_data() 2828 data->h_taps[num_displays + 4] = bw_int_to_fixed(pipe[i].plane_res.scl_data.taps.h_taps); in populate_initial_data() 2829 data->v_taps[num_displays + 4] = bw_int_to_fixed(pipe[i].plane_res.scl_data.taps.v_taps); in populate_initial_data() 2830 …data->h_scale_ratio[num_displays + 4] = fixed31_32_to_bw_fixed(pipe[i].plane_res.scl_data.ratios.h… in populate_initial_data() 2831 …data->v_scale_ratio[num_displays + 4] = fixed31_32_to_bw_fixed(pipe[i].plane_res.scl_data.ratios.v… in populate_initial_data() 2880 …data->src_height[num_displays * 2 + j] = bw_int_to_fixed(pipe[i].bottom_pipe->plane_res.scl_data.v… in populate_initial_data() 2881 …data->src_width[num_displays * 2 + j] = bw_int_to_fixed(pipe[i].bottom_pipe->plane_res.scl_data.vi… in populate_initial_data() 2884 …data->h_taps[num_displays * 2 + j] = bw_int_to_fixed(pipe[i].bottom_pipe->plane_res.scl_data.taps.… in populate_initial_data() 2885 …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/drivers/gpu/drm/amd/display/dc/inc/ |
| H A D | core_types.h | 370 struct scaler_data scl_data; member
|
| /linux/drivers/gpu/drm/amd/display/dc/hwss/ |
| H A D | hw_sequencer.h | 685 const struct scaler_data *scl_data; member 1979 const struct scaler_data *scl_data);
|