#ifndef __DC_MPCC_DCN10_H__
#define __DC_MPCC_DCN10_H__
#include "mpc.h"
#define TO_DCN10_MPC(mpc_base) …
#define MPC_COMMON_REG_LIST_DCN1_0(inst) …
#define MPC_OUT_MUX_COMMON_REG_LIST_DCN1_0(inst) …
#define MPC_COMMON_REG_VARIABLE_LIST …
#define MPC_COMMON_MASK_SH_LIST_DCN1_0(mask_sh) …
#define MPC_REG_FIELD_LIST(type) …
struct dcn_mpc_registers { … };
struct dcn_mpc_shift { … };
struct dcn_mpc_mask { … };
struct dcn10_mpc { … };
void dcn10_mpc_construct(struct dcn10_mpc *mpcc10,
struct dc_context *ctx,
const struct dcn_mpc_registers *mpc_regs,
const struct dcn_mpc_shift *mpc_shift,
const struct dcn_mpc_mask *mpc_mask,
int num_mpcc);
struct mpcc *mpc1_insert_plane(
struct mpc *mpc,
struct mpc_tree *tree,
struct mpcc_blnd_cfg *blnd_cfg,
struct mpcc_sm_cfg *sm_cfg,
struct mpcc *insert_above_mpcc,
int dpp_id,
int mpcc_id);
void mpc1_remove_mpcc(
struct mpc *mpc,
struct mpc_tree *tree,
struct mpcc *mpcc);
void mpc1_mpc_init(
struct mpc *mpc);
void mpc1_mpc_init_single_inst(
struct mpc *mpc,
unsigned int mpcc_id);
void mpc1_assert_idle_mpcc(
struct mpc *mpc,
int id);
void mpc1_set_bg_color(
struct mpc *mpc,
struct tg_color *bg_color,
int id);
void mpc1_update_stereo_mix(
struct mpc *mpc,
struct mpcc_sm_cfg *sm_cfg,
int mpcc_id);
bool mpc1_is_mpcc_idle(
struct mpc *mpc,
int mpcc_id);
void mpc1_assert_mpcc_idle_before_connect(
struct mpc *mpc,
int mpcc_id);
void mpc1_init_mpcc_list_from_hw(
struct mpc *mpc,
struct mpc_tree *tree);
struct mpcc *mpc1_get_mpcc(
struct mpc *mpc,
int mpcc_id);
struct mpcc *mpc1_get_mpcc_for_dpp(
struct mpc_tree *tree,
int dpp_id);
void mpc1_read_mpcc_state(
struct mpc *mpc,
int mpcc_inst,
struct mpcc_state *s);
void mpc1_cursor_lock(struct mpc *mpc, int opp_id, bool lock);
unsigned int mpc1_get_mpc_out_mux(struct mpc *mpc, int opp_id);
#endif