mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-25 15:15:33 +08:00
b4e5219985
For performance and multi-chip support, use dynamic layout instead of statically configured pools. Divide the shared memory into the 3 64-bit aligned layouts listed below: vpu->param_addr -> +-----------------------------------------+ | | | To SCP : Input frame parameters | | (struct img_ipi_frameparam) | | | +-----------------------------------------+ vpu->work_addr -> +-----------------------------------------+ | | | In SCP : Reserve for SCP calculation | | | +-----------------------------------------+ vpu->config_addr -> +-----------------------------------------+ | | | From SCP : Output component config | | (struct img_config) | | | +-----------------------------------------+ Signed-off-by: Moudy Ho <moudy.ho@mediatek.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
48 lines
1023 B
C
48 lines
1023 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (c) 2022 MediaTek Inc.
|
|
* Author: Ping-Hsun Wu <ping-hsun.wu@mediatek.com>
|
|
*/
|
|
|
|
#ifndef __MTK_MDP3_M2M_H__
|
|
#define __MTK_MDP3_M2M_H__
|
|
|
|
#include <media/v4l2-ctrls.h>
|
|
#include "mtk-mdp3-core.h"
|
|
#include "mtk-mdp3-vpu.h"
|
|
#include "mtk-mdp3-regs.h"
|
|
|
|
#define MDP_MAX_CTRLS 10
|
|
|
|
enum {
|
|
MDP_M2M_SRC = 0,
|
|
MDP_M2M_DST = 1,
|
|
MDP_M2M_MAX,
|
|
};
|
|
|
|
struct mdp_m2m_ctrls {
|
|
struct v4l2_ctrl *hflip;
|
|
struct v4l2_ctrl *vflip;
|
|
struct v4l2_ctrl *rotate;
|
|
};
|
|
|
|
struct mdp_m2m_ctx {
|
|
u32 id;
|
|
struct mdp_dev *mdp_dev;
|
|
struct v4l2_fh fh;
|
|
struct v4l2_ctrl_handler ctrl_handler;
|
|
struct mdp_m2m_ctrls ctrls;
|
|
struct v4l2_m2m_ctx *m2m_ctx;
|
|
u32 frame_count[MDP_M2M_MAX];
|
|
|
|
struct mdp_frameparam curr_param;
|
|
/* synchronization protect for mdp m2m context */
|
|
struct mutex ctx_lock;
|
|
};
|
|
|
|
int mdp_m2m_device_register(struct mdp_dev *mdp);
|
|
void mdp_m2m_device_unregister(struct mdp_dev *mdp);
|
|
void mdp_m2m_job_finish(struct mdp_m2m_ctx *ctx);
|
|
|
|
#endif /* __MTK_MDP3_M2M_H__ */
|