1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Copyright (C) 2013 - 2025 Intel Corporation 4 */ 5 6 #ifndef IPU7_FW_ISYS_H 7 #define IPU7_FW_ISYS_H 8 9 #include <linux/types.h> 10 11 #include "abi/ipu7_fw_isys_abi.h" 12 13 struct device; 14 struct ipu7_insys_buffset; 15 struct ipu7_insys_stream_cfg; 16 struct ipu7_isys; 17 18 /* From here on type defines not coming from the ISYSAPI interface */ 19 20 int ipu7_fw_isys_init(struct ipu7_isys *isys); 21 void ipu7_fw_isys_release(struct ipu7_isys *isys); 22 int ipu7_fw_isys_open(struct ipu7_isys *isys); 23 int ipu7_fw_isys_close(struct ipu7_isys *isys); 24 25 void ipu7_fw_isys_dump_stream_cfg(struct device *dev, 26 struct ipu7_insys_stream_cfg *cfg); 27 void ipu7_fw_isys_dump_frame_buff_set(struct device *dev, 28 struct ipu7_insys_buffset *buf, 29 unsigned int outputs); 30 int ipu7_fw_isys_simple_cmd(struct ipu7_isys *isys, 31 const unsigned int stream_handle, u16 send_type); 32 int ipu7_fw_isys_complex_cmd(struct ipu7_isys *isys, 33 const unsigned int stream_handle, 34 void *cpu_mapped_buf, 35 dma_addr_t dma_mapped_buf, 36 size_t size, u16 send_type); 37 struct ipu7_insys_resp *ipu7_fw_isys_get_resp(struct ipu7_isys *isys); 38 void ipu7_fw_isys_put_resp(struct ipu7_isys *isys); 39 #endif 40