#include "dml2_pmo_factory.h"
#include "dml2_pmo_dcn3.h"
static void sort(double *list_a, int list_a_size)
{ … }
static double get_max_reserved_time_on_all_planes_with_stream_index(struct display_configuation_with_meta *config, unsigned int stream_index)
{ … }
static void set_reserved_time_on_all_planes_with_stream_index(struct display_configuation_with_meta *config, unsigned int stream_index, double reserved_time_us)
{ … }
static void remove_duplicates(double *list_a, int *list_a_size)
{ … }
static bool increase_mpc_combine_factor(unsigned int *mpc_combine_factor, unsigned int limit)
{ … }
static bool optimize_dcc_mcache_no_odm(struct dml2_pmo_optimize_dcc_mcache_in_out *in_out,
int free_pipes)
{ … }
static bool iterate_to_next_candidiate(struct dml2_pmo_instance *pmo, int size)
{ … }
static bool increase_odm_combine_factor(enum dml2_odm_mode *odm_mode, int odms_calculated)
{ … }
static int count_planes_with_stream_index(const struct dml2_display_cfg *display_cfg, unsigned int stream_index)
{ … }
static bool are_timings_trivially_synchronizable(struct display_configuation_with_meta *display_config, int mask)
{ … }
bool pmo_dcn3_initialize(struct dml2_pmo_initialize_in_out *in_out)
{ … }
static bool is_h_timing_divisible_by(const struct dml2_timing_cfg *timing, unsigned char denominator)
{ … }
static bool is_dp_encoder(enum dml2_output_encoder_class encoder_type)
{ … }
bool pmo_dcn3_init_for_vmin(struct dml2_pmo_init_for_vmin_in_out *in_out)
{ … }
bool pmo_dcn3_test_for_vmin(struct dml2_pmo_test_for_vmin_in_out *in_out)
{ … }
static int find_highest_odm_load_stream_index(
const struct dml2_display_cfg *display_config,
const struct dml2_core_mode_support_result *mode_support_result)
{ … }
bool pmo_dcn3_optimize_for_vmin(struct dml2_pmo_optimize_for_vmin_in_out *in_out)
{ … }
bool pmo_dcn3_optimize_dcc_mcache(struct dml2_pmo_optimize_dcc_mcache_in_out *in_out)
{ … }
bool pmo_dcn3_init_for_pstate_support(struct dml2_pmo_init_for_pstate_support_in_out *in_out)
{ … }
bool pmo_dcn3_test_for_pstate_support(struct dml2_pmo_test_for_pstate_support_in_out *in_out)
{ … }
bool pmo_dcn3_optimize_for_pstate_support(struct dml2_pmo_optimize_for_pstate_support_in_out *in_out)
{ … }