unplugged-kernel/drivers/misc/mediatek/video/mt6765/dispsys/ddp_rdma_ex.h

96 lines
2.1 KiB
C
Raw Normal View History

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) 2019 MediaTek Inc.
*/
#ifndef _DDP_RDMA_EX_H_
#define _DDP_RDMA_EX_H_
#include "ddp_info.h"
#define RDMA_INSTANCES 2
#define RDMA_MAX_WIDTH 4095
#define RDMA_MAX_HEIGHT 4095
enum RDMA_OUTPUT_FORMAT {
RDMA_OUTPUT_FORMAT_ARGB = 0,
RDMA_OUTPUT_FORMAT_YUV444 = 1,
};
enum RDMA_MODE {
RDMA_MODE_DIRECT_LINK = 0,
RDMA_MODE_MEMORY = 1,
};
struct rdma_color_matrix {
UINT32 C00;
UINT32 C01;
UINT32 C02;
UINT32 C10;
UINT32 C11;
UINT32 C12;
UINT32 C20;
UINT32 C21;
UINT32 C22;
};
struct rdma_color_pre {
UINT32 ADD0;
UINT32 ADD1;
UINT32 ADD2;
};
struct rdma_color_post {
UINT32 ADD0;
UINT32 ADD1;
UINT32 ADD2;
};
//90hz
/* golden setting */
enum GS_RDMA_FLD {
GS_RDMA_PRE_ULTRA_TH_LOW = 0,
GS_RDMA_PRE_ULTRA_TH_HIGH,
GS_RDMA_VALID_TH_FORCE_PRE_ULTRA,
GS_RDMA_VDE_FORCE_PRE_ULTRA,
GS_RDMA_ULTRA_TH_LOW,
GS_RDMA_ULTRA_TH_HIGH,
GS_RDMA_VALID_TH_BLOCK_ULTRA,
GS_RDMA_VDE_BLOCK_ULTRA,
GS_RDMA_ISSUE_REQ_TH,
GS_RDMA_OUTPUT_VALID_FIFO_TH,
GS_RDMA_FIFO_SIZE,
GS_RDMA_FIFO_UNDERFLOW_EN,
GS_RDMA_TH_LOW_FOR_SODI,
GS_RDMA_TH_HIGH_FOR_SODI,
GS_RDMA_TH_LOW_FOR_DVFS,
GS_RDMA_TH_HIGH_FOR_DVFS,
GS_RDMA_SRAM_SEL,
GS_RDMA_DVFS_PRE_ULTRA_TH_LOW,
GS_RDMA_DVFS_PRE_ULTRA_TH_HIGH,
GS_RDMA_DVFS_ULTRA_TH_LOW,
GS_RDMA_DVFS_ULTRA_TH_HIGH,
GS_RDMA_IS_DRS_STATUS_TH_LOW,
GS_RDMA_IS_DRS_STATUS_TH_HIGH,
GS_RDMA_NOT_DRS_STATUS_TH_LOW,
GS_RDMA_NOT_DRS_STATUS_TH_HIGH,
GS_RDMA_URGENT_TH_LOW,
GS_RDMA_URGENT_TH_HIGH,
GS_RDMA_SELF_FIFO_SIZE,
GS_RDMA_RSZ_FIFO_SIZE,
GS_RDMA_FLD_NUM,
};
int rdma_clock_on(enum DISP_MODULE_ENUM module, void *handle);
int rdma_clock_off(enum DISP_MODULE_ENUM module, void *handle);
void rdma_dump_golden_setting_context(enum DISP_MODULE_ENUM module);
void rdma_enable_color_transform(enum DISP_MODULE_ENUM module);
void rdma_disable_color_transform(enum DISP_MODULE_ENUM module);
void rdma_set_color_matrix(enum DISP_MODULE_ENUM module,
struct rdma_color_matrix *matrix, struct rdma_color_pre *pre,
struct rdma_color_post *post);
int rdma_reset_by_cmdq(enum DISP_MODULE_ENUM module, void *handle);
#endif