1*43ecec16SMauro Carvalho Chehab /* SPDX-License-Identifier: GPL-2.0-or-later */
2*43ecec16SMauro Carvalho Chehab /*
3*43ecec16SMauro Carvalho Chehab  * linux/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.h
4*43ecec16SMauro Carvalho Chehab  *
5*43ecec16SMauro Carvalho Chehab  * Copyright (c) 2010 Samsung Electronics Co., Ltd.
6*43ecec16SMauro Carvalho Chehab  *		http://www.samsung.com/
7*43ecec16SMauro Carvalho Chehab  */
8*43ecec16SMauro Carvalho Chehab 
9*43ecec16SMauro Carvalho Chehab #ifndef S5P_MFC_CTRL_H
10*43ecec16SMauro Carvalho Chehab #define S5P_MFC_CTRL_H
11*43ecec16SMauro Carvalho Chehab 
12*43ecec16SMauro Carvalho Chehab #include "s5p_mfc_common.h"
13*43ecec16SMauro Carvalho Chehab 
14*43ecec16SMauro Carvalho Chehab int s5p_mfc_release_firmware(struct s5p_mfc_dev *dev);
15*43ecec16SMauro Carvalho Chehab int s5p_mfc_alloc_firmware(struct s5p_mfc_dev *dev);
16*43ecec16SMauro Carvalho Chehab int s5p_mfc_load_firmware(struct s5p_mfc_dev *dev);
17*43ecec16SMauro Carvalho Chehab 
18*43ecec16SMauro Carvalho Chehab int s5p_mfc_init_hw(struct s5p_mfc_dev *dev);
19*43ecec16SMauro Carvalho Chehab void s5p_mfc_deinit_hw(struct s5p_mfc_dev *dev);
20*43ecec16SMauro Carvalho Chehab 
21*43ecec16SMauro Carvalho Chehab int s5p_mfc_sleep(struct s5p_mfc_dev *dev);
22*43ecec16SMauro Carvalho Chehab int s5p_mfc_wakeup(struct s5p_mfc_dev *dev);
23*43ecec16SMauro Carvalho Chehab 
24*43ecec16SMauro Carvalho Chehab int s5p_mfc_reset(struct s5p_mfc_dev *dev);
25*43ecec16SMauro Carvalho Chehab 
26*43ecec16SMauro Carvalho Chehab int s5p_mfc_open_mfc_inst(struct s5p_mfc_dev *dev, struct s5p_mfc_ctx *ctx);
27*43ecec16SMauro Carvalho Chehab void s5p_mfc_close_mfc_inst(struct s5p_mfc_dev *dev, struct s5p_mfc_ctx *ctx);
28*43ecec16SMauro Carvalho Chehab 
29*43ecec16SMauro Carvalho Chehab #endif /* S5P_MFC_CTRL_H */
30