brintos

brintos / linux-shallow public Read only

0
0
Text · 1023 B · dfc59e5 Raw
48 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Copyright (c) 2022 MediaTek Inc.4 * Author: Ping-Hsun Wu <ping-hsun.wu@mediatek.com>5 */6 7#ifndef __MTK_MDP3_M2M_H__8#define __MTK_MDP3_M2M_H__9 10#include <media/v4l2-ctrls.h>11#include "mtk-mdp3-core.h"12#include "mtk-mdp3-vpu.h"13#include "mtk-mdp3-regs.h"14 15#define MDP_MAX_CTRLS	1016 17enum {18	MDP_M2M_SRC = 0,19	MDP_M2M_DST = 1,20	MDP_M2M_MAX,21};22 23struct mdp_m2m_ctrls {24	struct v4l2_ctrl	*hflip;25	struct v4l2_ctrl	*vflip;26	struct v4l2_ctrl	*rotate;27};28 29struct mdp_m2m_ctx {30	u32				id;31	struct mdp_dev			*mdp_dev;32	struct v4l2_fh			fh;33	struct v4l2_ctrl_handler	ctrl_handler;34	struct mdp_m2m_ctrls		ctrls;35	struct v4l2_m2m_ctx		*m2m_ctx;36	u32				frame_count[MDP_M2M_MAX];37 38	struct mdp_frameparam		curr_param;39	/* synchronization protect for mdp m2m context */40	struct mutex			ctx_lock;41};42 43int mdp_m2m_device_register(struct mdp_dev *mdp);44void mdp_m2m_device_unregister(struct mdp_dev *mdp);45void mdp_m2m_job_finish(struct mdp_m2m_ctx *ctx);46 47#endif  /* __MTK_MDP3_M2M_H__ */48