#include <linux/slab.h>
#include "dce_abm.h"
#include "dm_services.h"
#include "reg_helper.h"
#include "fixed31_32.h"
#include "dc.h"
#include "atom.h"
#define TO_DCE_ABM(abm) …
#define REG(reg) …
#undef FN
#define FN(reg_name, field_name) …
#define DC_LOGGER …
#define CTX …
#define MCP_ABM_LEVEL_SET …
#define MCP_ABM_PIPE_SET …
#define MCP_BL_SET …
#define MCP_DISABLE_ABM_IMMEDIATELY …
static bool dce_abm_set_pipe(struct abm *abm, uint32_t controller_id, uint32_t panel_inst)
{ … }
static void dmcu_set_backlight_level(
struct dce_abm *abm_dce,
uint32_t backlight_pwm_u16_16,
uint32_t frame_ramp,
uint32_t controller_id,
uint32_t panel_id)
{ … }
static void dce_abm_init(struct abm *abm, uint32_t backlight, uint32_t user_level)
{ … }
static unsigned int dce_abm_get_current_backlight(struct abm *abm)
{ … }
static unsigned int dce_abm_get_target_backlight(struct abm *abm)
{ … }
static bool dce_abm_set_level(struct abm *abm, uint32_t level)
{ … }
static bool dce_abm_immediate_disable(struct abm *abm, uint32_t panel_inst)
{ … }
static bool dce_abm_set_backlight_level_pwm(
struct abm *abm,
unsigned int backlight_pwm_u16_16,
unsigned int frame_ramp,
unsigned int controller_id,
unsigned int panel_inst)
{ … }
static const struct abm_funcs dce_funcs = …;
static void dce_abm_construct(
struct dce_abm *abm_dce,
struct dc_context *ctx,
const struct dce_abm_registers *regs,
const struct dce_abm_shift *abm_shift,
const struct dce_abm_mask *abm_mask)
{ … }
struct abm *dce_abm_create(
struct dc_context *ctx,
const struct dce_abm_registers *regs,
const struct dce_abm_shift *abm_shift,
const struct dce_abm_mask *abm_mask)
{ … }
void dce_abm_destroy(struct abm **abm)
{ … }