at v6.19 55 lines 1.3 kB view raw
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