summaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/qcom/iris/iris_utils.h
diff options
context:
space:
mode:
authorDikshita Agarwal <quic_dikshita@quicinc.com>2025-02-07 13:24:49 +0530
committerHans Verkuil <hverkuil@xs4all.nl>2025-02-07 11:51:24 +0100
commit38fc8beaba55e06c8831f21a96ec5e33e2f1978f (patch)
treeecb6e30cf3721b484ef68ecf4f0f8a23a5c5998a /drivers/media/platform/qcom/iris/iris_utils.h
parentbb8a95aa038e099f5ec82c466e996b006e05abd7 (diff)
downloadlinux-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.h34
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