/linux/drivers/gpu/drm/amd/display/dc/dml2/dml21/ |
H A D | dml21_utils.h | 13 struct dml2_context; 18 int dml21_helper_find_dml_pipe_idx_by_stream_id(struct dml2_context *ctx, unsigned int stream_id); 19 int dml21_find_dml_pipe_idx_by_plane_id(struct dml2_context *ctx, unsigned int plane_id); 21 void dml21_pipe_populate_global_sync(struct dml2_context *dml_ctx, 26 struct dml2_context *in_ctx, 30 void find_valid_pipe_idx_for_stream_index(const struct dml2_context *dml_ctx, unsigned int *dml_pipe_idx, unsigned int stream_index); 31 void find_pipe_regs_idx(const struct dml2_context *dml_ctx, 35 struct dml2_context *dml_ctx, 39 void dml21_program_dc_pipe(struct dml2_context *dml_ctx, 44 void dml21_handle_phantom_streams_planes(const struct dc *in_dc, struct dc_state *context, struct dml2_context *dml_ct [all...] |
H A D | dml21_wrapper.h | 16 struct dml2_context; 31 bool dml21_create(const struct dc *in_dc, struct dml2_context **dml_ctx, const struct dml2_configuration_options *config); 32 void dml21_destroy(struct dml2_context *dml2); 33 void dml21_copy(struct dml2_context *dst_dml_ctx, 34 struct dml2_context *src_dml_ctx); 35 bool dml21_create_copy(struct dml2_context **dst_dml_ctx, 36 struct dml2_context *src_dml_ctx); 37 void dml21_reinit(const struct dc *in_dc, struct dml2_context *dml_ctx, const struct dml2_configuration_options *config); 61 bool dml21_validate(const struct dc *in_dc, struct dc_state *context, struct dml2_context *dml_ctx, 65 void dml21_prepare_mcache_programming(struct dc *in_dc, struct dc_state *context, struct dml2_context *dml_ct [all...] |
H A D | dml21_translation_helper.h | 16 struct dml2_context; 21 bool dml21_map_dc_state_into_dml_display_cfg(const struct dc *in_dc, struct dc_state *context, struct dml2_context *dml_ctx); 22 void dml21_copy_clocks_to_dc_state(struct dml2_context *in_ctx, struct dc_state *context); 23 void dml21_extract_watermark_sets(const struct dc *in_dc, union dcn_watermark_set *watermarks, struct dml2_context *in_ctx); 24 void dml21_map_hw_resources(struct dml2_context *dml_ctx); 27 unsigned int map_plane_to_dml21_display_cfg(const struct dml2_context *dml_ctx, unsigned int stream_id, const struct dc_plane_state *plane, const struct dc_state *context);
|
H A D | dml21_wrapper.c | 15 static bool dml21_allocate_memory(struct dml2_context **dml_ctx) in dml21_allocate_memory() 17 *dml_ctx = vzalloc(sizeof(struct dml2_context)); in dml21_allocate_memory() 39 struct dml2_context *dml_ctx, in dml21_populate_configuration_options() 54 static void dml21_init(const struct dc *in_dc, struct dml2_context *dml_ctx, const struct dml2_configuration_options *config) in dml21_init() 70 bool dml21_create(const struct dc *in_dc, struct dml2_context **dml_ctx, const struct dml2_configuration_options *config) in dml21_create() 81 void dml21_destroy(struct dml2_context *dml2) in dml21_destroy() 88 struct dml2_context *in_ctx, unsigned int pipe_cnt) in dml21_calculate_rq_and_dlg_params() 175 static void dml21_prepare_mcache_params(struct dml2_context *dml_ctx, struct dc_state *context, struct dc_mcache_params *mcache_params) in dml21_prepare_mcache_params() 204 static bool dml21_mode_check_and_programming(const struct dc *in_dc, struct dc_state *context, struct dml2_context *dml_ctx) in dml21_mode_check_and_programming() 264 static bool dml21_check_mode_support(const struct dc *in_dc, struct dc_state *context, struct dml2_context *dml_ct [all...] |
H A D | dml21_utils.c | 14 int dml21_helper_find_dml_pipe_idx_by_stream_id(struct dml2_context *ctx, unsigned int stream_id) in dml21_helper_find_dml_pipe_idx_by_stream_id() 25 int dml21_find_dml_pipe_idx_by_plane_id(struct dml2_context *ctx, unsigned int plane_id) in dml21_find_dml_pipe_idx_by_plane_id() 60 void find_valid_pipe_idx_for_stream_index(const struct dml2_context *dml_ctx, unsigned int *dml_pipe_idx, unsigned int stream_index) in find_valid_pipe_idx_for_stream_index() 72 void find_pipe_regs_idx(const struct dml2_context *dml_ctx, in find_pipe_regs_idx() 86 struct dml2_context *dml_ctx, in dml21_find_dc_pipes_for_plane() 145 void dml21_pipe_populate_global_sync(struct dml2_context *dml_ctx, in dml21_pipe_populate_global_sync() 163 struct dml2_context *in_ctx, in dml21_populate_mall_allocation_size() 212 void dml21_program_dc_pipe(struct dml2_context *dml_ctx, struct dc_state *context, struct pipe_ctx *pipe_ctx, struct dml2_per_plane_programming *pln_prog, in dml21_program_dc_pipe() 241 static struct dc_stream_state *dml21_add_phantom_stream(struct dml2_context *dml_ctx, in dml21_add_phantom_stream() 278 static struct dc_plane_state *dml21_add_phantom_plane(struct dml2_context *dml_ct [all...] |
H A D | dml21_translation_helper.c | 425 struct dml2_context *dml_ctx) in populate_dml21_timing_config_from_stream_state() 815 struct dml2_context *dml_ctx, in get_scaler_data_for_plane() 842 static void populate_dml21_plane_config_from_plane_state(struct dml2_context *dml_ctx, in populate_dml21_plane_config_from_plane_state() 1011 static unsigned int map_stream_to_dml21_display_cfg(const struct dml2_context *dml_ctx, const struct dc_stream_state *stream) in map_stream_to_dml21_display_cfg() 1026 unsigned int map_plane_to_dml21_display_cfg(const struct dml2_context *dml_ctx, unsigned int stream_id, in map_plane_to_dml21_display_cfg() 1073 bool dml21_map_dc_state_into_dml_display_cfg(const struct dc *in_dc, struct dc_state *context, struct dml2_context *dml_ctx) in dml21_map_dc_state_into_dml_display_cfg() 1151 void dml21_copy_clocks_to_dc_state(struct dml2_context *in_ctx, struct dc_state *context) in dml21_copy_clocks_to_dc_state() 1196 void dml21_extract_watermark_sets(const struct dc *in_dc, union dcn_watermark_set *watermarks, struct dml2_context *in_ctx) in dml21_extract_watermark_sets() 1213 void dml21_map_hw_resources(struct dml2_context *dml_ctx) in dml21_map_hw_resources()
|
/linux/drivers/gpu/drm/amd/display/dc/dml2/ |
H A D | dml2_mall_phantom.h | 40 struct dml2_context; 42 unsigned int dml2_helper_calculate_num_ways_for_subvp(struct dml2_context *ctx, struct dc_state *context); 44 bool dml2_svp_add_phantom_pipe_to_dc_state(struct dml2_context *ctx, struct dc_state *state, struct dml_mode_support_info_st *mode_support_info); 46 bool dml2_svp_remove_all_phantom_pipes(struct dml2_context *ctx, struct dc_state *state); 48 bool dml2_svp_validate_static_schedulability(struct dml2_context *ctx, struct dc_state *context, enum dml_dram_clock_change_support pstate_change_type); 50 bool dml2_svp_drr_schedulable(struct dml2_context *ctx, struct dc_state *context, struct dc_crtc_timing *drr_timing);
|
H A D | dml2_wrapper.h | 34 struct dml2_context; 247 * dml2_create - Creates dml2_context. 260 struct dml2_context **dml2); 262 void dml2_destroy(struct dml2_context *dml2); 263 void dml2_copy(struct dml2_context *dst_dml2, 264 struct dml2_context *src_dml2); 265 bool dml2_create_copy(struct dml2_context **dst_dml2, 266 struct dml2_context *src_dml2); 269 struct dml2_context **dml2); 297 struct dml2_context *dml [all...] |
H A D | dml2_wrapper.c | 36 static void initialize_dml2_ip_params(struct dml2_context *dml2, const struct dc *in_dc, struct ip_params_st *out) in initialize_dml2_ip_params() 44 static void initialize_dml2_soc_bbox(struct dml2_context *dml2, const struct dc *in_dc, struct soc_bounding_box_st *out) in initialize_dml2_soc_bbox() 52 static void initialize_dml2_soc_states(struct dml2_context *dml2, in initialize_dml2_soc_states() 61 static void map_hw_resources(struct dml2_context *dml2, in map_hw_resources() 94 static unsigned int pack_and_call_dml_mode_support_ex(struct dml2_context *dml2, in pack_and_call_dml_mode_support_ex() 115 static bool optimize_configuration(struct dml2_context *dml2, struct dml2_wrapper_optimize_configuration_params *p) in optimize_configuration() 157 static int calculate_lowest_supported_state_for_temp_read(struct dml2_context *dml2, struct dc_state *display_state, in calculate_lowest_supported_state_for_temp_read() 252 static bool does_configuration_meet_sw_policies(struct dml2_context *ctx, const struct dml_display_cfg_st *display_cfg, in does_configuration_meet_sw_policies() 265 static bool dml_mode_support_wrapper(struct dml2_context *dml2, in dml_mode_support_wrapper() 366 struct dml2_context *dml in call_dml_mode_support_and_programming() [all...] |
H A D | dml2_utils.h | 44 int dml2_helper_find_dml_pipe_idx_by_stream_id(struct dml2_context *ctx, unsigned int stream_id); 122 void dml2_calculate_rq_and_dlg_params(const struct dc *dc, struct dc_state *context, struct resource_context *out_new_hw_state, struct dml2_context *in_ctx, unsigned int pipe_cnt); 131 void dml2_apply_det_buffer_allocation_policy(struct dml2_context *in_ctx, struct dml_display_cfg_st *dml_dispcfg); 141 bool dml2_verify_det_buffer_configuration(struct dml2_context *in_ctx, struct dc_state *display_state, struct dml2_helper_det_policy_scratch *det_scratch); 148 void dml2_initialize_det_scratch(struct dml2_context *in_ctx);
|
H A D | dml2_translation_helper.h | 30 void dml2_init_ip_params(struct dml2_context *dml2, const struct dc *in_dc, struct ip_params_st *out); 31 void dml2_init_socbb_params(struct dml2_context *dml2, const struct dc *in_dc, struct soc_bounding_box_st *out); 32 void dml2_init_soc_states(struct dml2_context *dml2, const struct dc *in_dc, 37 void map_dc_state_into_dml_display_cfg(struct dml2_context *dml2, struct dc_state *context, struct dml_display_cfg_st *dml_dispcfg);
|
H A D | dml2_dc_resource_mgmt.c | 58 static bool get_plane_id(struct dml2_context *dml2, const struct dc_state *state, const struct dc_plane_state *plane, in get_plane_id() 109 static struct pipe_ctx *find_master_pipe_of_stream(struct dml2_context *ctx, struct dc_state *state, unsigned int stream_id) in find_master_pipe_of_stream() 123 static struct pipe_ctx *find_master_pipe_of_plane(struct dml2_context *ctx, in find_master_pipe_of_plane() 141 static unsigned int find_pipes_assigned_to_plane(struct dml2_context *ctx, in find_pipes_assigned_to_plane() 179 static bool validate_pipe_assignment(const struct dml2_context *ctx, const struct dc_state *state, const struct dml_display_cfg_st *disp_cfg, const struct dml2_dml_to_dc_pipe_mapping *mapping) in validate_pipe_assignment() 340 static bool find_more_pipes_for_stream(struct dml2_context *ctx, in find_more_pipes_for_stream() 406 static bool find_more_free_pipes(struct dml2_context *ctx, in find_more_free_pipes() 535 static void add_odm_slice_to_odm_tree(struct dml2_context *ctx, in add_odm_slice_to_odm_tree() 559 static struct pipe_ctx *add_plane_to_blend_tree(struct dml2_context *ctx, in add_plane_to_blend_tree() 585 static unsigned int find_pipes_assigned_to_stream(struct dml2_context *ct [all...] |
H A D | dml2_mall_phantom.c | 32 unsigned int dml2_helper_calculate_num_ways_for_subvp(struct dml2_context *ctx, struct dc_state *context) in dml2_helper_calculate_num_ways_for_subvp() 101 static void merge_pipes_for_subvp(struct dml2_context *ctx, struct dc_state *context) in merge_pipes_for_subvp() 146 static bool all_pipes_have_stream_and_plane(struct dml2_context *ctx, const struct dc_state *context) in all_pipes_have_stream_and_plane() 185 static unsigned int get_num_free_pipes(struct dml2_context *ctx, struct dc_state *state) in get_num_free_pipes() 228 static bool assign_subvp_pipe(struct dml2_context *ctx, struct dc_state *context, unsigned int *index) in assign_subvp_pipe() 309 static bool enough_pipes_for_subvp(struct dml2_context *ctx, struct dc_state *state) in enough_pipes_for_subvp() 357 static bool subvp_subvp_schedulable(struct dml2_context *ctx, struct dc_state *context) in subvp_subvp_schedulable() 431 bool dml2_svp_drr_schedulable(struct dml2_context *ctx, struct dc_state *context, struct dc_crtc_timing *drr_timing) in dml2_svp_drr_schedulable() 507 static bool subvp_vblank_schedulable(struct dml2_context *ctx, struct dc_state *context) in subvp_vblank_schedulable() 601 bool dml2_svp_validate_static_schedulability(struct dml2_context *ct [all...] |
H A D | dml2_dc_resource_mgmt.h | 32 struct dml2_context; 50 bool dml2_map_dc_pipes(struct dml2_context *ctx, struct dc_state *state, const struct dml_display_cfg_st *disp_cfg, struct dml2_dml_to_dc_pipe_mapping *mapping, const struct dc_state *existing_state);
|
H A D | dml2_utils.c | 194 int dml2_helper_find_dml_pipe_idx_by_stream_id(struct dml2_context *ctx, unsigned int stream_id) in dml2_helper_find_dml_pipe_idx_by_stream_id() 205 static int find_dml_pipe_idx_by_plane_id(struct dml2_context *ctx, unsigned int plane_id) in find_dml_pipe_idx_by_plane_id() 216 static bool get_plane_id(struct dml2_context *dml2, const struct dc_state *state, const struct dc_plane_state *plane, in get_plane_id() 279 void dml2_calculate_rq_and_dlg_params(const struct dc *dc, struct dc_state *context, struct resource_context *out_new_hw_state, struct dml2_context *in_ctx, unsigned int pipe_cnt) in dml2_calculate_rq_and_dlg_params() 456 void dml2_initialize_det_scratch(struct dml2_context *in_ctx) in dml2_initialize_det_scratch() 465 static unsigned int find_planes_per_stream_and_stream_count(struct dml2_context *in_ctx, struct dml_display_cfg_st *dml_dispcfg, int *num_of_planes_per_stream) in find_planes_per_stream_and_stream_count() 482 void dml2_apply_det_buffer_allocation_policy(struct dml2_context *in_ctx, struct dml_display_cfg_st *dml_dispcfg) in dml2_apply_det_buffer_allocation_policy() 511 bool dml2_verify_det_buffer_configuration(struct dml2_context *in_ctx, struct dc_state *display_state, struct dml2_helper_det_policy_scratch *det_scratch) in dml2_verify_det_buffer_configuration()
|
H A D | dml2_internal_types.h | 135 struct dml2_context { struct 136 architecturedml2_context global() argument 137 configdml2_context global() argument 138 det_helper_scratchdml2_context global() argument 139 pipe_combine_scratchdml2_context global() argument 140 __anon3c099168010adml2_context global() argument
|
H A D | dml2_translation_helper.c | 34 void dml2_init_ip_params(struct dml2_context *dml2, const struct dc *in_dc, struct ip_params_st *out) in dml2_init_ip_params() 245 void dml2_init_socbb_params(struct dml2_context *dml2, const struct dc *in_dc, struct soc_bounding_box_st *out) in dml2_init_socbb_params() 327 void dml2_init_soc_states(struct dml2_context *dml2, const struct dc *in_dc, in dml2_init_soc_states() 780 const struct dc_stream_state *in, const struct pipe_ctx *pipe, struct dml2_context *dml2) in populate_dml_output_cfg_from_stream_state() 1130 static unsigned int map_stream_to_dml_display_cfg(const struct dml2_context *dml2, in map_stream_to_dml_display_cfg() 1146 static bool get_plane_id(struct dml2_context *dml2, const struct dc_state *context, const struct dc_plane_state *plane, in get_plane_id() 1170 static unsigned int map_plane_to_dml_display_cfg(const struct dml2_context *dml2, const struct dc_plane_state *plane, in map_plane_to_dml_display_cfg() 1192 static void dml2_populate_pipe_to_plane_index_mapping(struct dml2_context *dml2, struct dc_state *state) in dml2_populate_pipe_to_plane_index_mapping() 1267 static void dml2_map_hpo_stream_encoder_to_hpo_link_encoder_index(struct dml2_context *dml2, struct dc_state *context) in dml2_map_hpo_stream_encoder_to_hpo_link_encoder_index() 1290 void map_dc_state_into_dml_display_cfg(struct dml2_context *dml [all...] |
/linux/drivers/gpu/drm/amd/display/dc/inc/ |
H A D | core_types.h | 582 struct dml2_context *dml2; 583 struct dml2_context *dml2_dc_power_source;
|
/linux/drivers/gpu/drm/amd/display/dc/core/ |
H A D | dc_state.c | 230 struct dml2_context *dst_dml2 = dst_state->bw_ctx.dml2; in dc_state_copy() 231 struct dml2_context *dst_dml2_dc_power_source = dst_state->bw_ctx.dml2_dc_power_source; in dc_state_copy()
|