GNU Linux-libre 4.14.290-gnu1
[releases.git] / drivers / media / platform / mtk-mdp / mtk_mdp_vpu.h
1 /*
2  * Copyright (c) 2015-2016 MediaTek Inc.
3  * Author: Houlong Wei <houlong.wei@mediatek.com>
4  *         Ming Hsiu Tsai <minghsiu.tsai@mediatek.com>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  */
15
16 #ifndef __MTK_MDP_VPU_H__
17 #define __MTK_MDP_VPU_H__
18
19 #include "mtk_mdp_ipi.h"
20
21
22 /**
23  * struct mtk_mdp_vpu - VPU instance for MDP
24  * @pdev        : pointer to the VPU platform device
25  * @inst_addr   : VPU MDP instance address
26  * @failure     : VPU execution result status
27  * @vsi         : VPU shared information
28  */
29 struct mtk_mdp_vpu {
30         struct platform_device  *pdev;
31         uint32_t                inst_addr;
32         int32_t                 failure;
33         struct mdp_process_vsi  *vsi;
34 };
35
36 int mtk_mdp_vpu_register(struct platform_device *pdev);
37 int mtk_mdp_vpu_init(struct mtk_mdp_vpu *vpu);
38 int mtk_mdp_vpu_deinit(struct mtk_mdp_vpu *vpu);
39 int mtk_mdp_vpu_process(struct mtk_mdp_vpu *vpu);
40
41 #endif /* __MTK_MDP_VPU_H__ */