#include "reg_helper.h"
#include "dcn30_optc.h"
#include "dc.h"
#include "dcn_calc_math.h"
#include "dc_dmub_srv.h"
#include "dml/dcn30/dcn30_fpu.h"
#include "dc_trace.h"
#define REG(reg) …
#define CTX …
#undef FN
#define FN(reg_name, field_name) …
void optc3_triplebuffer_lock(struct timing_generator *optc)
{ … }
void optc3_lock_doublebuffer_enable(struct timing_generator *optc)
{ … }
void optc3_lock_doublebuffer_disable(struct timing_generator *optc)
{ … }
void optc3_lock(struct timing_generator *optc)
{ … }
void optc3_set_out_mux(struct timing_generator *optc, enum otg_out_mux_dest dest)
{ … }
void optc3_program_blank_color(struct timing_generator *optc,
const struct tg_color *blank_color)
{ … }
void optc3_set_drr_trigger_window(struct timing_generator *optc,
uint32_t window_start, uint32_t window_end)
{ … }
void optc3_set_vtotal_change_limit(struct timing_generator *optc,
uint32_t limit)
{ … }
void optc3_set_dsc_config(struct timing_generator *optc,
enum optc_dsc_mode dsc_mode,
uint32_t dsc_bytes_per_pixel,
uint32_t dsc_slice_width)
{ … }
void optc3_set_odm_bypass(struct timing_generator *optc,
const struct dc_crtc_timing *dc_crtc_timing)
{ … }
void optc3_set_odm_combine(struct timing_generator *optc, int *opp_id, int opp_cnt,
int segment_width, int last_segment_width)
{ … }
static void optc3_set_timing_double_buffer(struct timing_generator *optc, bool enable)
{ … }
void optc3_wait_drr_doublebuffer_pending_clear(struct timing_generator *optc)
{ … }
void optc3_set_vtotal_min_max(struct timing_generator *optc, int vtotal_min, int vtotal_max)
{ … }
void optc3_tg_init(struct timing_generator *optc)
{ … }
static struct timing_generator_funcs dcn30_tg_funcs = …;
void dcn30_timing_generator_init(struct optc *optc1)
{ … }