diff options
author | Dikshita Agarwal <quic_dikshita@quicinc.com> | 2025-02-07 13:24:49 +0530 |
---|---|---|
committer | Hans Verkuil <hverkuil@xs4all.nl> | 2025-02-07 11:51:24 +0100 |
commit | 38fc8beaba55e06c8831f21a96ec5e33e2f1978f (patch) | |
tree | ecb6e30cf3721b484ef68ecf4f0f8a23a5c5998a /drivers/media/platform/qcom/iris/iris_utils.h | |
parent | bb8a95aa038e099f5ec82c466e996b006e05abd7 (diff) | |
download | linux-38fc8beaba55e06c8831f21a96ec5e33e2f1978f.tar.gz linux-38fc8beaba55e06c8831f21a96ec5e33e2f1978f.tar.bz2 linux-38fc8beaba55e06c8831f21a96ec5e33e2f1978f.zip |
media: iris: implement reqbuf ioctl with vb2_queue_setup
Implement the reqbuf IOCTL op and the vb2_queue_setup vb2 op in the
driver with necessary hooks.
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Tested-by: Stefan Schmidt <stefan.schmidt@linaro.org> # x1e80100 (Dell XPS 13 9345)
Reviewed-by: Stefan Schmidt <stefan.schmidt@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-HDK
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Diffstat (limited to 'drivers/media/platform/qcom/iris/iris_utils.h')
-rw-r--r-- | drivers/media/platform/qcom/iris/iris_utils.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/drivers/media/platform/qcom/iris/iris_utils.h b/drivers/media/platform/qcom/iris/iris_utils.h new file mode 100644 index 000000000000..26649b66d978 --- /dev/null +++ b/drivers/media/platform/qcom/iris/iris_utils.h @@ -0,0 +1,34 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +#ifndef __IRIS_UTILS_H__ +#define __IRIS_UTILS_H__ + +struct iris_core; +#include "iris_buffer.h" + +struct iris_hfi_rect_desc { + u32 left; + u32 top; + u32 width; + u32 height; +}; + +#define NUM_MBS_PER_FRAME(height, width) \ + (DIV_ROUND_UP(height, 16) * DIV_ROUND_UP(width, 16)) + +static inline enum iris_buffer_type iris_v4l2_type_to_driver(u32 type) +{ + if (type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) + return BUF_INPUT; + else + return BUF_OUTPUT; +} + +int iris_get_mbpf(struct iris_inst *inst); +struct iris_inst *iris_get_instance(struct iris_core *core, u32 session_id); +int iris_wait_for_session_response(struct iris_inst *inst); + +#endif |