#include "reg_helper.h"
#include "core_types.h"
#include "dcn401_dccg.h"
#include "dcn31/dcn31_dccg.h"
#define TO_DCN_DCCG(dccg) …
#define REG(reg) …
#undef FN
#define FN(reg_name, field_name) …
#define CTX …
#define DC_LOGGER …
static void dcn401_set_dppclk_enable(struct dccg *dccg,
uint32_t dpp_inst, uint32_t enable)
{ … }
void dccg401_update_dpp_dto(struct dccg *dccg, int dpp_inst, int req_dppclk)
{ … }
static void dccg401_wait_for_dentist_change_done(
struct dccg *dccg)
{ … }
static void dccg401_get_pixel_rate_div(
struct dccg *dccg,
uint32_t otg_inst,
uint32_t *tmds_div,
uint32_t *dp_dto_int)
{ … }
static void dccg401_set_pixel_rate_div(
struct dccg *dccg,
uint32_t otg_inst,
enum pixel_rate_div tmds_div,
enum pixel_rate_div unused)
{ … }
static void dccg401_set_dtbclk_p_src(
struct dccg *dccg,
enum streamclk_source src,
uint32_t otg_inst)
{ … }
void dccg401_set_physymclk(
struct dccg *dccg,
int phy_inst,
enum physymclk_clock_source clk_src,
bool force_enable)
{ … }
static void dccg401_get_dccg_ref_freq(struct dccg *dccg,
unsigned int xtalin_freq_inKhz,
unsigned int *dccg_ref_freq_inKhz)
{ … }
static void dccg401_otg_add_pixel(struct dccg *dccg,
uint32_t otg_inst)
{ … }
static void dccg401_otg_drop_pixel(struct dccg *dccg,
uint32_t otg_inst)
{ … }
static void dccg401_enable_symclk32_le(
struct dccg *dccg,
int hpo_le_inst,
enum phyd32clk_clock_source phyd32clk)
{ … }
static void dccg401_disable_symclk32_le(
struct dccg *dccg,
int hpo_le_inst)
{ … }
static void dccg401_enable_dpstreamclk(struct dccg *dccg, int otg_inst, int dp_hpo_inst)
{ … }
static void dccg401_disable_dpstreamclk(struct dccg *dccg, int dp_hpo_inst)
{ … }
static void dccg401_set_dpstreamclk(
struct dccg *dccg,
enum streamclk_source src,
int otg_inst,
int dp_hpo_inst)
{ … }
static void dccg401_set_dp_dto(
struct dccg *dccg,
const struct dp_dto_params *params)
{ … }
void dccg401_init(struct dccg *dccg)
{ … }
static void dccg401_set_dto_dscclk(struct dccg *dccg, uint32_t inst, bool enable)
{ … }
static void dccg401_set_ref_dscclk(struct dccg *dccg,
uint32_t dsc_inst)
{ … }
static void dccg401_enable_symclk_se(struct dccg *dccg, uint32_t stream_enc_inst, uint32_t link_enc_inst)
{ … }
static uint8_t dccg401_get_number_enabled_symclk_fe_connected_to_be(struct dccg *dccg, uint32_t link_enc_inst)
{ … }
static void dccg401_disable_symclk_se(struct dccg *dccg, uint32_t stream_enc_inst, uint32_t link_enc_inst)
{ … }
static const struct dccg_funcs dccg401_funcs = …;
struct dccg *dccg401_create(
struct dc_context *ctx,
const struct dccg_registers *regs,
const struct dccg_shift *dccg_shift,
const struct dccg_mask *dccg_mask)
{ … }