xref: /linux/drivers/staging/media/ipu7/abi/ipu7_fw_msg_abi.h (revision 0cdee263bc5e7b20f657ea09f9272f50c568f35b)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2020 - 2025 Intel Corporation
4  */
5 
6 #ifndef IPU7_FW_MSG_ABI_H
7 #define IPU7_FW_MSG_ABI_H
8 
9 #include "ipu7_fw_common_abi.h"
10 
11 #pragma pack(push, 1)
12 enum ipu7_msg_type {
13 	IPU_MSG_TYPE_RESERVED = IA_GOFO_MSG_TYPE_RESERVED,
14 	IPU_MSG_TYPE_INDIRECT = IA_GOFO_MSG_TYPE_INDIRECT,
15 	IPU_MSG_TYPE_DEV_LOG = IA_GOFO_MSG_TYPE_LOG,
16 	IPU_MSG_TYPE_GENERAL_ERR = IA_GOFO_MSG_TYPE_GENERAL_ERR,
17 	IPU_MSG_TYPE_DEV_OPEN = 4,
18 	IPU_MSG_TYPE_DEV_OPEN_ACK = 5,
19 	IPU_MSG_TYPE_GRAPH_OPEN = 6,
20 	IPU_MSG_TYPE_GRAPH_OPEN_ACK = 7,
21 	IPU_MSG_TYPE_TASK_REQ = 8,
22 	IPU_MSG_TYPE_TASK_DONE = 9,
23 	IPU_MSG_TYPE_GRAPH_CLOSE = 10,
24 	IPU_MSG_TYPE_GRAPH_CLOSE_ACK = 11,
25 	IPU_MSG_TYPE_DEV_CLOSE = 12,
26 	IPU_MSG_TYPE_DEV_CLOSE_ACK = 13,
27 	IPU_MSG_TYPE_TERM_EVENT = 14,
28 	IPU_MSG_TYPE_N,
29 };
30 
31 #define IPU_MSG_MAX_NODE_TERMS		(64U)
32 #define IPU_MSG_MAX_FRAGS		(7U)
33 
34 enum ipu7_msg_node_type {
35 	IPU_MSG_NODE_TYPE_PAD = 0,
36 	IPU_MSG_NODE_TYPE_BASE,
37 	IPU_MSG_NODE_TYPE_N
38 };
39 
40 #define IPU_MSG_NODE_MAX_DEVICES	(128U)
41 #define DEB_NUM_UINT32	(IPU_MSG_NODE_MAX_DEVICES / (sizeof(u32) * 8U))
42 
43 typedef u32 ipu7_msg_teb_t[2];
44 typedef u32 ipu7_msg_deb_t[DEB_NUM_UINT32];
45 
46 #define IPU_MSG_NODE_MAX_ROUTE_ENABLES	(128U)
47 #define RBM_NUM_UINT32	(IPU_MSG_NODE_MAX_ROUTE_ENABLES / (sizeof(u32) * 8U))
48 
49 typedef u32 ipu7_msg_rbm_t[RBM_NUM_UINT32];
50 
51 enum ipu7_msg_node_profile_type {
52 	IPU_MSG_NODE_PROFILE_TYPE_PAD = 0,
53 	IPU_MSG_NODE_PROFILE_TYPE_BASE,
54 	IPU_MSG_NODE_PROFILE_TYPE_CB,
55 	IPU_MSG_NODE_PROFILE_TYPE_N
56 };
57 
58 struct ipu7_msg_node_profile {
59 	struct ia_gofo_tlv_header tlv_header;
60 	ipu7_msg_teb_t teb;
61 };
62 
63 struct ipu7_msg_cb_profile {
64 	struct ipu7_msg_node_profile profile_base;
65 	ipu7_msg_deb_t deb;
66 	ipu7_msg_rbm_t rbm;
67 	ipu7_msg_rbm_t reb;
68 };
69 
70 #define IPU_MSG_NODE_MAX_PROFILES	(2U)
71 #define IPU_MSG_NODE_DEF_PROFILE_IDX	(0U)
72 #define IPU_MSG_NODE_RSRC_ID_EXT_IP	(0xffU)
73 
74 #define IPU_MSG_NODE_DONT_CARE_TEB_HI	(0xffffffffU)
75 #define IPU_MSG_NODE_DONT_CARE_TEB_LO	(0xffffffffU)
76 #define IPU_MSG_NODE_RSRC_ID_IS		(0xfeU)
77 
78 struct ipu7_msg_node {
79 	struct ia_gofo_tlv_header tlv_header;
80 	u8 node_rsrc_id;
81 	u8 node_ctx_id;
82 	u8 num_frags;
83 	u8 reserved[1];
84 	struct ia_gofo_tlv_list profiles_list;
85 	struct ia_gofo_tlv_list terms_list;
86 	struct ia_gofo_tlv_list node_options;
87 };
88 
89 enum ipu7_msg_node_option_types {
90 	IPU_MSG_NODE_OPTION_TYPES_PADDING = 0,
91 	IPU_MSG_NODE_OPTION_TYPES_N
92 };
93 
94 #pragma pack(pop)
95 
96 #pragma pack(push, 1)
97 
98 enum ipu7_msg_link_type {
99 	IPU_MSG_LINK_TYPE_PAD = 0,
100 	IPU_MSG_LINK_TYPE_GENERIC = 1,
101 	IPU_MSG_LINK_TYPE_N
102 };
103 
104 enum ipu7_msg_link_option_types {
105 	IPU_MSG_LINK_OPTION_TYPES_PADDING = 0,
106 	IPU_MSG_LINK_OPTION_TYPES_CMPRS = 1,
107 	IPU_MSG_LINK_OPTION_TYPES_N
108 };
109 
110 enum ipu7_msg_link_cmprs_option_bit_depth {
111 	IPU_MSG_LINK_CMPRS_OPTION_8BPP = 0,
112 	IPU_MSG_LINK_CMPRS_OPTION_10BPP = 1,
113 	IPU_MSG_LINK_CMPRS_OPTION_12BPP = 2,
114 };
115 
116 #define IPU_MSG_LINK_CMPRS_SPACE_SAVING_DENOM		(128U)
117 #define IPU_MSG_LINK_CMPRS_LOSSY_CFG_PAYLOAD_SIZE	(5U)
118 #define IPU_MSG_LINK_CMPRS_SPACE_SAVING_NUM_MAX \
119 	(IPU_MSG_LINK_CMPRS_SPACE_SAVING_DENOM - 1U)
120 
121 struct ipu7_msg_link_cmprs_plane_desc {
122 	u8 plane_enable;
123 	u8 cmprs_enable;
124 	u8 encoder_plane_id;
125 	u8 decoder_plane_id;
126 	u8 cmprs_is_lossy;
127 	u8 cmprs_is_footprint;
128 	u8 bit_depth;
129 	u8 space_saving_numerator;
130 	u32 pixels_offset;
131 	u32 ts_offset;
132 	u32 tile_row_to_tile_row_stride;
133 	u32 rows_of_tiles;
134 	u32 lossy_cfg[IPU_MSG_LINK_CMPRS_LOSSY_CFG_PAYLOAD_SIZE];
135 };
136 
137 #define IPU_MSG_LINK_CMPRS_MAX_PLANES		(2U)
138 #define IPU_MSG_LINK_CMPRS_NO_ALIGN_INTERVAL	(0U)
139 #define IPU_MSG_LINK_CMPRS_MIN_ALIGN_INTERVAL	(16U)
140 #define IPU_MSG_LINK_CMPRS_MAX_ALIGN_INTERVAL	(1024U)
141 struct ipu7_msg_link_cmprs_option {
142 	struct ia_gofo_tlv_header header;
143 	u32 cmprs_buf_size;
144 	u16 align_interval;
145 	u8 reserved[2];
146 	struct ipu7_msg_link_cmprs_plane_desc plane_descs[2];
147 };
148 
149 struct ipu7_msg_link_ep {
150 	u8 node_ctx_id;
151 	u8 term_id;
152 };
153 
154 struct ipu7_msg_link_ep_pair {
155 	struct ipu7_msg_link_ep ep_src;
156 	struct ipu7_msg_link_ep ep_dst;
157 };
158 
159 #define IPU_MSG_LINK_FOREIGN_KEY_NONE		(65535U)
160 #define IPU_MSG_LINK_FOREIGN_KEY_MAX		(64U)
161 #define IPU_MSG_LINK_PBK_ID_DONT_CARE		(255U)
162 #define IPU_MSG_LINK_PBK_SLOT_ID_DONT_CARE	(255U)
163 #define IPU_MSG_LINK_TERM_ID_DONT_CARE		(0xffU)
164 
165 struct ipu7_msg_link {
166 	struct ia_gofo_tlv_header tlv_header;
167 	struct ipu7_msg_link_ep_pair endpoints;
168 	u16 foreign_key;
169 	u8 streaming_mode;
170 	u8 pbk_id;
171 	u8 pbk_slot_id;
172 	u8 delayed_link;
173 	u8 reserved[2];
174 	struct ia_gofo_tlv_list link_options;
175 };
176 
177 #pragma pack(pop)
178 
179 enum ipu7_msg_dev_state {
180 	IPU_MSG_DEV_STATE_CLOSED = 0,
181 	IPU_MSG_DEV_STATE_OPEN_WAIT = 1,
182 	IPU_MSG_DEV_STATE_OPEN = 2,
183 	IPU_MSG_DEV_STATE_CLOSE_WAIT = 3,
184 	IPU_MSG_DEV_STATE_N
185 };
186 
187 enum ipu7_msg_graph_state {
188 	IPU_MSG_GRAPH_STATE_CLOSED = 0,
189 	IPU_MSG_GRAPH_STATE_OPEN_WAIT = 1,
190 	IPU_MSG_GRAPH_STATE_OPEN = 2,
191 	IPU_MSG_GRAPH_STATE_CLOSE_WAIT = 3,
192 	IPU_MSG_GRAPH_STATE_N
193 };
194 
195 enum ipu7_msg_task_state {
196 	IPU_MSG_TASK_STATE_DONE = 0,
197 	IPU_MSG_TASK_STATE_WAIT_DONE = 1,
198 	IPU_MSG_TASK_STATE_N
199 };
200 
201 enum ipu7_msg_err_groups {
202 	IPU_MSG_ERR_GROUP_RESERVED = IA_GOFO_MSG_ERR_GROUP_RESERVED,
203 	IPU_MSG_ERR_GROUP_GENERAL = IA_GOFO_MSG_ERR_GROUP_GENERAL,
204 	IPU_MSG_ERR_GROUP_DEVICE = 2,
205 	IPU_MSG_ERR_GROUP_GRAPH = 3,
206 	IPU_MSG_ERR_GROUP_TASK = 4,
207 	IPU_MSG_ERR_GROUP_N,
208 };
209 
210 #pragma pack(push, 1)
211 struct ipu7_msg_task {
212 	struct ia_gofo_msg_header header;
213 	u8 graph_id;
214 	u8 profile_idx;
215 	u8 node_ctx_id;
216 	u8 frame_id;
217 	u8 frag_id;
218 	u8 req_done_msg;
219 	u8 req_done_irq;
220 	u8 reserved[1];
221 	ipu7_msg_teb_t payload_reuse_bm;
222 	ia_gofo_addr_t term_buffers[IPU_MSG_MAX_NODE_TERMS];
223 };
224 
225 struct ipu7_msg_task_done {
226 	struct ia_gofo_msg_header_ack header;
227 	u8 graph_id;
228 	u8 frame_id;
229 	u8 node_ctx_id;
230 	u8 profile_idx;
231 	u8 frag_id;
232 	u8 reserved[3];
233 };
234 
235 enum ipu7_msg_err_task {
236 	IPU_MSG_ERR_TASK_OK = IA_GOFO_MSG_ERR_OK,
237 	IPU_MSG_ERR_TASK_GRAPH_ID = 1,
238 	IPU_MSG_ERR_TASK_NODE_CTX_ID = 2,
239 	IPU_MSG_ERR_TASK_PROFILE_IDX = 3,
240 	IPU_MSG_ERR_TASK_CTX_MEMORY_TASK = 4,
241 	IPU_MSG_ERR_TASK_TERM_PAYLOAD_PTR = 5,
242 	IPU_MSG_ERR_TASK_FRAME_ID = 6,
243 	IPU_MSG_ERR_TASK_FRAG_ID = 7,
244 	IPU_MSG_ERR_TASK_EXEC_EXT = 8,
245 	IPU_MSG_ERR_TASK_EXEC_SBX = 9,
246 	IPU_MSG_ERR_TASK_EXEC_INT = 10,
247 	IPU_MSG_ERR_TASK_EXEC_UNKNOWN = 11,
248 	IPU_MSG_ERR_TASK_PRE_EXEC = 12,
249 	IPU_MSG_ERR_TASK_N
250 };
251 
252 #pragma pack(pop)
253 
254 #pragma pack(push, 1)
255 enum ipu7_msg_term_type {
256 	IPU_MSG_TERM_TYPE_PAD = 0,
257 	IPU_MSG_TERM_TYPE_BASE,
258 	IPU_MSG_TERM_TYPE_N,
259 };
260 
261 #define IPU_MSG_TERM_EVENT_TYPE_NONE		0U
262 #define IPU_MSG_TERM_EVENT_TYPE_PROGRESS	1U
263 #define IPU_MSG_TERM_EVENT_TYPE_N	(IPU_MSG_TERM_EVENT_TYPE_PROGRESS + 1U)
264 
265 struct ipu7_msg_term {
266 	struct ia_gofo_tlv_header tlv_header;
267 	u8 term_id;
268 	u8 event_req_bm;
269 	u8 reserved[2];
270 	u32 payload_size;
271 	struct ia_gofo_tlv_list term_options;
272 };
273 
274 enum ipu7_msg_term_option_types {
275 	IPU_MSG_TERM_OPTION_TYPES_PADDING = 0,
276 	IPU_MSG_TERM_OPTION_TYPES_N
277 };
278 
279 struct ipu7_msg_term_event {
280 	struct ia_gofo_msg_header header;
281 	u8 graph_id;
282 	u8 frame_id;
283 	u8 node_ctx_id;
284 	u8 profile_idx;
285 	u8 frag_id;
286 	u8 term_id;
287 	u8 event_type;
288 	u8 reserved[1];
289 	u64 event_ts;
290 };
291 
292 #pragma pack(pop)
293 
294 #pragma pack(push, 1)
295 #define IPU_MSG_DEVICE_SEND_MSG_ENABLED		1U
296 #define IPU_MSG_DEVICE_SEND_MSG_DISABLED	0U
297 
298 #define IPU_MSG_DEVICE_OPEN_SEND_RESP		BIT(0)
299 #define IPU_MSG_DEVICE_OPEN_SEND_IRQ		BIT(1)
300 
301 #define IPU_MSG_DEVICE_CLOSE_SEND_RESP		BIT(0)
302 #define IPU_MSG_DEVICE_CLOSE_SEND_IRQ		BIT(1)
303 
304 struct ipu7_msg_dev_open {
305 	struct ia_gofo_msg_header header;
306 	u32 max_graphs;
307 	u8 dev_msg_map;
308 	u8 enable_power_gating;
309 	u8 reserved[2];
310 };
311 
312 struct ipu7_msg_dev_open_ack {
313 	struct ia_gofo_msg_header_ack header;
314 };
315 
316 struct ipu7_msg_dev_close {
317 	struct ia_gofo_msg_header header;
318 	u8 dev_msg_map;
319 	u8 reserved[7];
320 };
321 
322 struct ipu7_msg_dev_close_ack {
323 	struct ia_gofo_msg_header_ack header;
324 };
325 
326 enum ipu7_msg_err_device {
327 	IPU_MSG_ERR_DEVICE_OK = IA_GOFO_MSG_ERR_OK,
328 	IPU_MSG_ERR_DEVICE_MAX_GRAPHS = 1,
329 	IPU_MSG_ERR_DEVICE_MSG_MAP = 2,
330 	IPU_MSG_ERR_DEVICE_N
331 };
332 
333 #pragma pack(pop)
334 
335 #pragma pack(push, 1)
336 #define IPU_MSG_GRAPH_ID_UNKNOWN	(0xffU)
337 #define IPU_MSG_GRAPH_SEND_MSG_ENABLED	1U
338 #define IPU_MSG_GRAPH_SEND_MSG_DISABLED	0U
339 
340 #define IPU_MSG_GRAPH_OPEN_SEND_RESP	BIT(0)
341 #define IPU_MSG_GRAPH_OPEN_SEND_IRQ	BIT(1)
342 
343 #define IPU_MSG_GRAPH_CLOSE_SEND_RESP	BIT(0)
344 #define IPU_MSG_GRAPH_CLOSE_SEND_IRQ	BIT(1)
345 
346 struct ipu7_msg_graph_open {
347 	struct ia_gofo_msg_header header;
348 	struct ia_gofo_tlv_list nodes;
349 	struct ia_gofo_tlv_list links;
350 	u8 graph_id;
351 	u8 graph_msg_map;
352 	u8 reserved[6];
353 };
354 
355 enum ipu7_msg_graph_ack_option_types {
356 	IPU_MSG_GRAPH_ACK_OPTION_TYPES_PADDING = 0,
357 	IPU_MSG_GRAPH_ACK_TASK_Q_INFO,
358 	IPU_MSG_GRAPH_ACK_OPTION_TYPES_N
359 };
360 
361 struct ipu7_msg_graph_open_ack_task_q_info {
362 	struct ia_gofo_tlv_header header;
363 	u8 node_ctx_id;
364 	u8 q_id;
365 	u8 reserved[2];
366 };
367 
368 struct ipu7_msg_graph_open_ack {
369 	struct ia_gofo_msg_header_ack header;
370 	u8 graph_id;
371 	u8 reserved[7];
372 };
373 
374 struct ipu7_msg_graph_close {
375 	struct ia_gofo_msg_header header;
376 	u8 graph_id;
377 	u8 graph_msg_map;
378 	u8 reserved[6];
379 };
380 
381 struct ipu7_msg_graph_close_ack {
382 	struct ia_gofo_msg_header_ack header;
383 	u8 graph_id;
384 	u8 reserved[7];
385 };
386 
387 enum ipu7_msg_err_graph {
388 	IPU_MSG_ERR_GRAPH_OK = IA_GOFO_MSG_ERR_OK,
389 	IPU_MSG_ERR_GRAPH_GRAPH_STATE = 1,
390 	IPU_MSG_ERR_GRAPH_MAX_GRAPHS = 2,
391 	IPU_MSG_ERR_GRAPH_GRAPH_ID = 3,
392 	IPU_MSG_ERR_GRAPH_NODE_CTX_ID = 4,
393 	IPU_MSG_ERR_GRAPH_NODE_RSRC_ID = 5,
394 	IPU_MSG_ERR_GRAPH_PROFILE_IDX = 6,
395 	IPU_MSG_ERR_GRAPH_TERM_ID = 7,
396 	IPU_MSG_ERR_GRAPH_TERM_PAYLOAD_SIZE = 8,
397 	IPU_MSG_ERR_GRAPH_LINK_NODE_CTX_ID = 9,
398 	IPU_MSG_ERR_GRAPH_LINK_TERM_ID = 10,
399 	IPU_MSG_ERR_GRAPH_PROFILE_TYPE = 11,
400 	IPU_MSG_ERR_GRAPH_NUM_FRAGS = 12,
401 	IPU_MSG_ERR_GRAPH_QUEUE_ID_USAGE = 13,
402 	IPU_MSG_ERR_GRAPH_QUEUE_OPEN = 14,
403 	IPU_MSG_ERR_GRAPH_QUEUE_CLOSE = 15,
404 	IPU_MSG_ERR_GRAPH_QUEUE_ID_TASK_REQ_MISMATCH = 16,
405 	IPU_MSG_ERR_GRAPH_CTX_MEMORY_FGRAPH = 17,
406 	IPU_MSG_ERR_GRAPH_CTX_MEMORY_NODE = 18,
407 	IPU_MSG_ERR_GRAPH_CTX_MEMORY_NODE_PROFILE = 19,
408 	IPU_MSG_ERR_GRAPH_CTX_MEMORY_TERM = 20,
409 	IPU_MSG_ERR_GRAPH_CTX_MEMORY_LINK = 21,
410 	IPU_MSG_ERR_GRAPH_CTX_MSG_MAP = 22,
411 	IPU_MSG_ERR_GRAPH_CTX_FOREIGN_KEY = 23,
412 	IPU_MSG_ERR_GRAPH_CTX_STREAMING_MODE = 24,
413 	IPU_MSG_ERR_GRAPH_CTX_PBK_RSRC = 25,
414 	IPU_MSG_ERR_GRAPH_UNSUPPORTED_EVENT_TYPE = 26,
415 	IPU_MSG_ERR_GRAPH_TOO_MANY_EVENTS = 27,
416 	IPU_MSG_ERR_GRAPH_CTX_MEMORY_CMPRS = 28,
417 	IPU_MSG_ERR_GRAPH_CTX_CMPRS_ALIGN_INTERVAL = 29,
418 	IPU_MSG_ERR_GRAPH_CTX_CMPRS_PLANE_ID = 30,
419 	IPU_MSG_ERR_GRAPH_CTX_CMPRS_UNSUPPORTED_MODE = 31,
420 	IPU_MSG_ERR_GRAPH_CTX_CMPRS_BIT_DEPTH = 32,
421 	IPU_MSG_ERR_GRAPH_CTX_CMPRS_STRIDE_ALIGNMENT = 33,
422 	IPU_MSG_ERR_GRAPH_CTX_CMPRS_SUB_BUFFER_ALIGNMENT = 34,
423 	IPU_MSG_ERR_GRAPH_CTX_CMPRS_LAYOUT_ORDER = 35,
424 	IPU_MSG_ERR_GRAPH_CTX_CMPRS_LAYOUT_OVERLAP = 36,
425 	IPU_MSG_ERR_GRAPH_CTX_CMPRS_BUFFER_TOO_SMALL = 37,
426 	IPU_MSG_ERR_GRAPH_CTX_DELAYED_LINK = 38,
427 	IPU_MSG_ERR_GRAPH_N
428 };
429 
430 #pragma pack(pop)
431 
432 #define FWPS_MSG_ABI_MAX_INPUT_QUEUES	(60U)
433 #define FWPS_MSG_ABI_MAX_OUTPUT_QUEUES	(2U)
434 #define FWPS_MSG_ABI_MAX_QUEUES \
435 	(FWPS_MSG_ABI_MAX_OUTPUT_QUEUES + FWPS_MSG_ABI_MAX_INPUT_QUEUES)
436 
437 #define FWPS_MSG_ABI_OUT_ACK_QUEUE_ID	(IA_GOFO_MSG_ABI_OUT_ACK_QUEUE_ID)
438 #define FWPS_MSG_ABI_OUT_LOG_QUEUE_ID	(IA_GOFO_MSG_ABI_OUT_LOG_QUEUE_ID)
439 #if (FWPS_MSG_ABI_OUT_LOG_QUEUE_ID >= FWPS_MSG_ABI_MAX_OUTPUT_QUEUES)
440 #error "Maximum output queues configuration is too small to fit ACK and LOG \
441 queues"
442 #endif
443 #define FWPS_MSG_ABI_IN_DEV_QUEUE_ID	(IA_GOFO_MSG_ABI_IN_DEV_QUEUE_ID)
444 #define FWPS_MSG_ABI_IN_RESERVED_QUEUE_ID	(3U)
445 #define FWPS_MSG_ABI_IN_FIRST_TASK_QUEUE_ID \
446 	(FWPS_MSG_ABI_IN_RESERVED_QUEUE_ID + 1U)
447 
448 #if (FWPS_MSG_ABI_IN_FIRST_TASK_QUEUE_ID >= FWPS_MSG_ABI_MAX_INPUT_QUEUES)
449 #error "Maximum queues configuration is too small to fit minimum number of \
450 useful queues"
451 #endif
452 
453 #define FWPS_MSG_ABI_IN_LAST_TASK_QUEUE_ID	(FWPS_MSG_ABI_MAX_QUEUES - 1U)
454 #define FWPS_MSG_ABI_IN_MAX_TASK_QUEUES \
455 	(FWPS_MSG_ABI_IN_LAST_TASK_QUEUE_ID - \
456 	FWPS_MSG_ABI_IN_FIRST_TASK_QUEUE_ID + 1U)
457 #define FWPS_MSG_ABI_OUT_FIRST_QUEUE_ID		(FWPS_MSG_ABI_OUT_ACK_QUEUE_ID)
458 #define FWPS_MSG_ABI_OUT_LAST_QUEUE_ID	(FWPS_MSG_ABI_MAX_OUTPUT_QUEUES - 1U)
459 #define FWPS_MSG_ABI_IN_FIRST_QUEUE_ID		(FWPS_MSG_ABI_IN_DEV_QUEUE_ID)
460 #define FWPS_MSG_ABI_IN_LAST_QUEUE_ID	(FWPS_MSG_ABI_IN_LAST_TASK_QUEUE_ID)
461 
462 #define FWPS_MSG_HOST2FW_MAX_SIZE	(2U * 1024U)
463 #define FWPS_MSG_FW2HOST_MAX_SIZE	(256U)
464 
465 #endif
466