#ifndef __DC_MPCC_DCN401_H__
#define __DC_MPCC_DCN401_H__
#include "dcn30/dcn30_mpc.h"
#include "dcn32/dcn32_mpc.h"
#define TO_DCN401_MPC(mpc_base) …
#define MPC_REG_VARIABLE_LIST_DCN4_01 …
#define MPC_COMMON_MASK_SH_LIST_DCN4_01(mask_sh) …
#define MPC_REG_LIST_DCN4_01_RI(inst) …
#define MPC_REG_FIELD_LIST_DCN4_01(type) …
struct dcn401_mpc_shift { … };
struct dcn401_mpc_mask { … };
struct dcn401_mpc_registers { … };
struct dcn401_mpc { … };
void dcn401_mpc_construct(struct dcn401_mpc *mpc401,
struct dc_context *ctx,
const struct dcn401_mpc_registers *mpc_regs,
const struct dcn401_mpc_shift *mpc_shift,
const struct dcn401_mpc_mask *mpc_mask,
int num_mpcc,
int num_rmu);
void mpc401_set_movable_cm_location(struct mpc *mpc, enum mpcc_movable_cm_location location, int mpcc_id);
void mpc401_populate_lut(struct mpc *mpc, const enum MCM_LUT_ID id, const union mcm_lut_params params,
bool lut_bank_a, int mpcc_id);
void mpc401_program_lut_mode(
struct mpc *mpc,
const enum MCM_LUT_ID id,
const enum MCM_LUT_XABLE xable,
bool lut_bank_a,
int mpcc_id);
void mpc401_program_lut_read_write_control(
struct mpc *mpc,
const enum MCM_LUT_ID id,
bool lut_bank_a,
int mpcc_id);
void mpc401_program_3dlut_size(
struct mpc *mpc,
bool is_17x17x17,
int mpcc_id);
void mpc401_set_gamut_remap(
struct mpc *mpc,
int mpcc_id,
const struct mpc_grph_gamut_adjustment *adjust);
void mpc401_get_gamut_remap(
struct mpc *mpc,
int mpcc_id,
struct mpc_grph_gamut_adjustment *adjust);
#endif