unplugged-kernel/drivers/misc/mediatek/video/mt6768/dispsys/ddp_path.h

74 lines
2.0 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) 2019 MediaTek Inc.
*/
#ifndef __DDP_PATH_H__
#define __DDP_PATH_H__
#include "ddp_info.h"
#include "cmdq_record.h"
enum DDP_MODE {
DDP_VIDEO_MODE = 0,
DDP_CMD_MODE,
};
enum DDP_SCENARIO_ENUM {
DDP_SCENARIO_PRIMARY_DISP = 0, /* main path */
DDP_SCENARIO_PRIMARY_BYPASS_PQ_DISP, /* bypass pq module */
DDP_SCENARIO_PRIMARY_RDMA0_COLOR0_DISP, /* by pass ovl */
DDP_SCENARIO_PRIMARY_RDMA0_DISP, /* debug */
DDP_SCENARIO_PRIMARY_OVL_MEMOUT, /* dc */
DDP_SCENARIO_PRIMARY_ALL, /* main 1to2 */
DDP_SCENARIO_SUB_DISP,
DDP_SCENARIO_SUB_RDMA1_DISP,
DDP_SCENARIO_SUB_OVL_MEMOUT,
DDP_SCENARIO_SUB_ALL,
DDP_SCENARIO_MAX
};
enum DDP_SPM_MODE {
DDP_CG_MODE = 0,
DDP_PD_MODE,
};
#define DDP_ENING_NUM (24)
void ddp_connect_path(enum DDP_SCENARIO_ENUM scenario, void *handle);
void ddp_disconnect_path(enum DDP_SCENARIO_ENUM scenario, void *handle);
int ddp_get_module_num(enum DDP_SCENARIO_ENUM scenario);
void ddp_check_path(enum DDP_SCENARIO_ENUM scenario);
enum DISP_MODULE_ENUM ddp_get_dst_module(enum DDP_SCENARIO_ENUM scenario);
int ddp_set_dst_module(enum DDP_SCENARIO_ENUM scenario,
enum DISP_MODULE_ENUM dst_module);
int *ddp_get_scenario_list(enum DDP_SCENARIO_ENUM ddp_scenario);
char *ddp_get_scenario_name(enum DDP_SCENARIO_ENUM scenario);
int ddp_path_top_clock_off(void);
int ddp_path_top_clock_on(void);
/* should remove */
int ddp_insert_config_allow_rec(void *handle);
int ddp_insert_config_dirty_rec(void *handle);
int disp_get_dst_module(enum DDP_SCENARIO_ENUM scenario);
int ddp_is_module_in_scenario(enum DDP_SCENARIO_ENUM ddp_scenario,
enum DISP_MODULE_ENUM module);
int ddp_path_init(void);
int ddp_convert_ovl_input_to_rdma(struct RDMA_CONFIG_STRUCT *rdma_cfg,
struct OVL_CONFIG_STRUCT *ovl_cfg,
int dst_w, int dst_h);
int ddp_get_module_num_l(int *module_list);
char *ddp_get_mode_name(enum DDP_MODE ddp_mode);
void ddp_set_spm_mode(enum DDP_SPM_MODE mode, void *handle);
#include "ddp_mutex.h"
#endif