#include "power_helpers.h"
#include "dc/inc/hw/dmcu.h"
#include "dc/inc/hw/abm.h"
#include "dc.h"
#include "core_types.h"
#include "dmub_cmd.h"
#define DIV_ROUNDUP(a, b) …
#define bswap16_based_on_endian(big_endian, value) …
static const unsigned char min_reduction_table[13] = …;
static const unsigned char max_reduction_table[13] = …;
static const unsigned char min_reduction_table_v_2_2[13] = …;
static const unsigned char max_reduction_table_v_2_2[13] = …;
static const unsigned char abm_config[abm_defines_max_config][abm_defines_max_level] = …;
struct abm_parameters { … };
static const struct abm_parameters abm_settings_config0[abm_defines_max_level] = …;
static const struct abm_parameters abm_settings_config1[abm_defines_max_level] = …;
static const struct abm_parameters abm_settings_config2[abm_defines_max_level] = …;
static const struct abm_parameters * const abm_settings[] = …;
static const struct dm_bl_data_point custom_backlight_curve0[] = …;
struct custom_backlight_profile { … };
static const struct custom_backlight_profile custom_backlight_profiles[] = …;
#define NUM_AMBI_LEVEL …
#define NUM_AGGR_LEVEL …
#define NUM_POWER_FN_SEGS …
#define NUM_BL_CURVE_SEGS …
#define IRAM_SIZE …
#define IRAM_RESERVE_AREA_START_V2 …
#define IRAM_RESERVE_AREA_END_V2 …
#define IRAM_RESERVE_AREA_START_V2_2 …
#define IRAM_RESERVE_AREA_END_V2_2 …
#pragma pack(push, 1)
struct iram_table_v_2 { … };
struct iram_table_v_2_2 { … };
#pragma pack(pop)
static void fill_backlight_transform_table(struct dmcu_iram_parameters params,
struct iram_table_v_2 *table)
{ … }
static void fill_backlight_transform_table_v_2_2(struct dmcu_iram_parameters params,
struct iram_table_v_2_2 *table, bool big_endian)
{ … }
static void fill_iram_v_2(struct iram_table_v_2 *ram_table, struct dmcu_iram_parameters params)
{ … }
static void fill_iram_v_2_2(struct iram_table_v_2_2 *ram_table, struct dmcu_iram_parameters params)
{ … }
static void fill_iram_v_2_3(struct iram_table_v_2_2 *ram_table, struct dmcu_iram_parameters params, bool big_endian)
{ … }
bool dmub_init_abm_config(struct resource_pool *res_pool,
struct dmcu_iram_parameters params,
unsigned int inst)
{ … }
bool dmcu_load_iram(struct dmcu *dmcu,
struct dmcu_iram_parameters params)
{ … }
bool is_psr_su_specific_panel(struct dc_link *link)
{ … }
void mod_power_calc_psr_configs(struct psr_config *psr_config,
struct dc_link *link,
const struct dc_stream_state *stream)
{ … }
void init_replay_config(struct dc_link *link, struct replay_config *pr_config)
{ … }
bool mod_power_only_edp(const struct dc_state *context, const struct dc_stream_state *stream)
{ … }
bool psr_su_set_dsc_slice_height(struct dc *dc, struct dc_link *link,
struct dc_stream_state *stream,
struct psr_config *config)
{ … }
void set_replay_defer_update_coasting_vtotal(struct dc_link *link,
enum replay_coasting_vtotal_type type,
uint32_t vtotal)
{ … }
void update_replay_coasting_vtotal_from_defer(struct dc_link *link,
enum replay_coasting_vtotal_type type)
{ … }
void set_replay_coasting_vtotal(struct dc_link *link,
enum replay_coasting_vtotal_type type,
uint32_t vtotal)
{ … }
void set_replay_ips_full_screen_video_src_vtotal(struct dc_link *link, uint16_t vtotal)
{ … }
void calculate_replay_link_off_frame_count(struct dc_link *link,
uint16_t vtotal, uint16_t htotal)
{ … }
bool fill_custom_backlight_caps(unsigned int config_no, struct dm_acpi_atif_backlight_caps *caps)
{ … }