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
16struct s5p_mfc_cmd_args {
17	unsigned int	arg[MAX_H2R_ARG];
18};
19
20struct s5p_mfc_hw_cmds {
21	int (*cmd_host2risc)(struct s5p_mfc_dev *dev, int cmd,
22			     const 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
30void s5p_mfc_init_hw_cmds(struct s5p_mfc_dev *dev);
31#endif /* S5P_MFC_CMD_H_ */
32