162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2022 MediaTek Inc. 462306a36Sopenharmony_ci * Author: Ping-Hsun Wu <ping-hsun.wu@mediatek.com> 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#ifndef __MTK_MDP3_CMDQ_H__ 862306a36Sopenharmony_ci#define __MTK_MDP3_CMDQ_H__ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#include <linux/platform_device.h> 1162306a36Sopenharmony_ci#include <linux/videodev2.h> 1262306a36Sopenharmony_ci#include <linux/soc/mediatek/mtk-cmdq.h> 1362306a36Sopenharmony_ci#include "mtk-img-ipi.h" 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_cistruct platform_device *mdp_get_plat_device(struct platform_device *pdev); 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_cistruct mdp_cmdq_param { 1862306a36Sopenharmony_ci struct img_config *config; 1962306a36Sopenharmony_ci struct img_ipi_frameparam *param; 2062306a36Sopenharmony_ci const struct v4l2_rect *composes[IMG_MAX_HW_OUTPUTS]; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci void (*cmdq_cb)(struct cmdq_cb_data data); 2362306a36Sopenharmony_ci void *cb_data; 2462306a36Sopenharmony_ci void *mdp_ctx; 2562306a36Sopenharmony_ci}; 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_cistruct mdp_cmdq_cmd { 2862306a36Sopenharmony_ci struct work_struct auto_release_work; 2962306a36Sopenharmony_ci struct cmdq_pkt pkt; 3062306a36Sopenharmony_ci s32 *event; 3162306a36Sopenharmony_ci struct mdp_dev *mdp; 3262306a36Sopenharmony_ci void (*user_cmdq_cb)(struct cmdq_cb_data data); 3362306a36Sopenharmony_ci void *user_cb_data; 3462306a36Sopenharmony_ci struct mdp_comp *comps; 3562306a36Sopenharmony_ci void *mdp_ctx; 3662306a36Sopenharmony_ci u8 num_comps; 3762306a36Sopenharmony_ci}; 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_cistruct mdp_dev; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ciint mdp_cmdq_send(struct mdp_dev *mdp, struct mdp_cmdq_param *param); 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci#endif /* __MTK_MDP3_CMDQ_H__ */ 44