1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * linux/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_cmd.h
4  *
5  * Copyright (C) 2012 Samsung Electronics Co., Ltd.
6  *		http://www.samsung.com/
7  */
8 
9 #ifndef S5P_MFC_CMD_H_
10 #define S5P_MFC_CMD_H_
11 
12 #include "s5p_mfc_common.h"
13 
14 #define MAX_H2R_ARG	4
15 
16 struct s5p_mfc_cmd_args {
17 	unsigned int	arg[MAX_H2R_ARG];
18 };
19 
20 struct s5p_mfc_hw_cmds {
21 	int (*cmd_host2risc)(struct s5p_mfc_dev *dev, int cmd,
22 				struct s5p_mfc_cmd_args *args);
23 	int (*sys_init_cmd)(struct s5p_mfc_dev *dev);
24 	int (*sleep_cmd)(struct s5p_mfc_dev *dev);
25 	int (*wakeup_cmd)(struct s5p_mfc_dev *dev);
26 	int (*open_inst_cmd)(struct s5p_mfc_ctx *ctx);
27 	int (*close_inst_cmd)(struct s5p_mfc_ctx *ctx);
28 };
29 
30 void s5p_mfc_init_hw_cmds(struct s5p_mfc_dev *dev);
31 #endif /* S5P_MFC_CMD_H_ */
32