File Index
Files and directories
Sign in
FILE

iris_utils.h

File preview with syntax highlighting.

linux-6.19.14/drivers/media/platform/qcom/iris/iris_utils.h C
 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
 9struct iris_core;
10#include "iris_buffer.h"
11
12struct iris_hfi_rect_desc {
13	u32 left;
14	u32 top;
15	u32 width;
16	u32 height;
17};
18
19struct iris_hfi_frame_info {
20	u32 picture_type;
21	u32 no_output;
22	u32 data_corrupt;
23	u32 overflow;
24};
25
26struct iris_ts_metadata {
27	u64 ts_ns;
28	u64 ts_us;
29	u32 flags;
30	struct v4l2_timecode tc;
31};
32
33#define NUM_MBS_PER_FRAME(height, width) \
34	(DIV_ROUND_UP(height, 16) * DIV_ROUND_UP(width, 16))
35
36static inline enum iris_buffer_type iris_v4l2_type_to_driver(u32 type)
37{
38	if (type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE)
39		return BUF_INPUT;
40	else
41		return BUF_OUTPUT;
42}
43
44bool iris_res_is_less_than(u32 width, u32 height,
45			   u32 ref_width, u32 ref_height);
46int iris_get_mbpf(struct iris_inst *inst);
47bool iris_split_mode_enabled(struct iris_inst *inst);
48struct iris_inst *iris_get_instance(struct iris_core *core, u32 session_id);
49void iris_helper_buffers_done(struct iris_inst *inst, unsigned int type,
50			      enum vb2_buffer_state state);
51int iris_wait_for_session_response(struct iris_inst *inst, bool is_flush);
52int iris_check_core_mbpf(struct iris_inst *inst);
53int iris_check_core_mbps(struct iris_inst *inst);
54
55#endif
~/ Read-only file preview.