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_UTILS_H__
7 #define __IRIS_UTILS_H__
8 
9 struct iris_core;
10 #include "iris_buffer.h"
11 
12 struct iris_hfi_rect_desc {
13 	u32 left;
14 	u32 top;
15 	u32 width;
16 	u32 height;
17 };
18 
19 #define NUM_MBS_PER_FRAME(height, width) \
20 	(DIV_ROUND_UP(height, 16) * DIV_ROUND_UP(width, 16))
21 
22 static inline enum iris_buffer_type iris_v4l2_type_to_driver(u32 type)
23 {
24 	if (type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE)
25 		return BUF_INPUT;
26 	else
27 		return BUF_OUTPUT;
28 }
29 
30 int iris_get_mbpf(struct iris_inst *inst);
31 struct iris_inst *iris_get_instance(struct iris_core *core, u32 session_id);
32 int iris_wait_for_session_response(struct iris_inst *inst);
33 
34 #endif
35