1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
4  */
5 
6 #ifndef __IRIS_HFI_GEN2_H__
7 #define __IRIS_HFI_GEN2_H__
8 
9 #include "iris_instance.h"
10 
11 struct iris_core;
12 
13 #define to_iris_inst_hfi_gen2(ptr) \
14 	container_of(ptr, struct iris_inst_hfi_gen2, inst)
15 
16 /**
17  * struct iris_inst_hfi_gen2 - holds per video instance parameters for hfi_gen2
18  *
19  * @inst: pointer to iris_instance structure
20  * @packet: HFI packet
21  * @ipsc_properties_set: boolean to set ipsc properties to fw
22  * @opsc_properties_set: boolean to set opsc properties to fw
23  * @hfi_frame_info: structure of frame info
24  * @src_subcr_params: subscription params to fw on input port
25  * @dst_subcr_params: subscription params to fw on output port
26  */
27 struct iris_inst_hfi_gen2 {
28 	struct iris_inst		inst;
29 	struct iris_hfi_header		*packet;
30 	bool				ipsc_properties_set;
31 	bool				opsc_properties_set;
32 	struct iris_hfi_frame_info	hfi_frame_info;
33 	struct hfi_subscription_params	src_subcr_params;
34 	struct hfi_subscription_params	dst_subcr_params;
35 };
36 
37 void iris_hfi_gen2_command_ops_init(struct iris_core *core);
38 void iris_hfi_gen2_response_ops_init(struct iris_core *core);
39 struct iris_inst *iris_hfi_gen2_get_instance(void);
40 
41 #endif
42