#include "display_mode_core.h"
#include "dml2_internal_types.h"
#include "dml2_utils.h"
#include "dml2_policy.h"
#include "dml2_translation_helper.h"
#include "dml2_mall_phantom.h"
#include "dml2_dc_resource_mgmt.h"
#include "dml21_wrapper.h"
static void initialize_dml2_ip_params(struct dml2_context *dml2, const struct dc *in_dc, struct ip_params_st *out)
{ … }
static void initialize_dml2_soc_bbox(struct dml2_context *dml2, const struct dc *in_dc, struct soc_bounding_box_st *out)
{ … }
static void initialize_dml2_soc_states(struct dml2_context *dml2,
const struct dc *in_dc, const struct soc_bounding_box_st *in_bbox, struct soc_states_st *out)
{ … }
static void map_hw_resources(struct dml2_context *dml2,
struct dml_display_cfg_st *in_out_display_cfg, struct dml_mode_support_info_st *mode_support_info)
{ … }
static unsigned int pack_and_call_dml_mode_support_ex(struct dml2_context *dml2,
const struct dml_display_cfg_st *display_cfg,
struct dml_mode_support_info_st *evaluation_info)
{ … }
static bool optimize_configuration(struct dml2_context *dml2, struct dml2_wrapper_optimize_configuration_params *p)
{ … }
static int calculate_lowest_supported_state_for_temp_read(struct dml2_context *dml2, struct dc_state *display_state)
{ … }
static void copy_dummy_pstate_table(struct dummy_pstate_entry *dest, struct dummy_pstate_entry *src, unsigned int num_entries)
{ … }
static bool are_timings_requiring_odm_doing_blending(const struct dml_display_cfg_st *display_cfg,
const struct dml_mode_support_info_st *evaluation_info)
{ … }
static bool does_configuration_meet_sw_policies(struct dml2_context *ctx, const struct dml_display_cfg_st *display_cfg,
const struct dml_mode_support_info_st *evaluation_info)
{ … }
static bool dml_mode_support_wrapper(struct dml2_context *dml2,
struct dc_state *display_state)
{ … }
static int find_drr_eligible_stream(struct dc_state *display_state)
{ … }
static bool optimize_pstate_with_svp_and_drr(struct dml2_context *dml2, struct dc_state *display_state)
{ … }
static bool call_dml_mode_support_and_programming(struct dc_state *context)
{ … }
static bool dml2_validate_and_build_resource(const struct dc *in_dc, struct dc_state *context)
{ … }
static bool dml2_validate_only(struct dc_state *context)
{ … }
static void dml2_apply_debug_options(const struct dc *dc, struct dml2_context *dml2)
{ … }
bool dml2_validate(const struct dc *in_dc, struct dc_state *context, struct dml2_context *dml2, bool fast_validate)
{ … }
static inline struct dml2_context *dml2_allocate_memory(void)
{ … }
static void dml2_init(const struct dc *in_dc, const struct dml2_configuration_options *config, struct dml2_context **dml2)
{ … }
bool dml2_create(const struct dc *in_dc, const struct dml2_configuration_options *config, struct dml2_context **dml2)
{ … }
void dml2_destroy(struct dml2_context *dml2)
{ … }
void dml2_extract_dram_and_fclk_change_support(struct dml2_context *dml2,
unsigned int *fclk_change_support, unsigned int *dram_clk_change_support)
{ … }
void dml2_prepare_mcache_programming(struct dc *in_dc, struct dc_state *context, struct dml2_context *dml2)
{ … }
void dml2_copy(struct dml2_context *dst_dml2,
struct dml2_context *src_dml2)
{ … }
bool dml2_create_copy(struct dml2_context **dst_dml2,
struct dml2_context *src_dml2)
{ … }
void dml2_reinit(const struct dc *in_dc,
const struct dml2_configuration_options *config,
struct dml2_context **dml2)
{ … }