File Index
Files and directories
Sign in
FILE

mtk-mdp3-m2m.h

File preview with syntax highlighting.

linux-6.19.14/drivers/media/platform/mediatek/mdp3/mtk-mdp3-m2m.h 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	10
16
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__ */
~/ Read-only file preview.