summaryrefslogtreecommitdiff
path: root/drivers/media/platform/chips-media/wave5/wave5-vpu.h
diff options
context:
space:
mode:
authorandy.hu <andy.hu@starfivetech.com>2024-01-26 12:44:43 +0300
committerandy.hu <andy.hu@starfivetech.com>2024-01-26 12:44:43 +0300
commit78a1c3f491648c3fc61a2332e6ece00c4bee5273 (patch)
treea171e71c30f99fd6d15af7f7aa33e25d12ed9fe1 /drivers/media/platform/chips-media/wave5/wave5-vpu.h
parent5afb8f9d4e82aa557a3d47da6955e2162a7a654d (diff)
parentdf379f44f0d553cd2887d155accc379c2b5c3620 (diff)
downloadlinux-78a1c3f491648c3fc61a2332e6ece00c4bee5273.tar.xz
Merge branch 'CR_9096_wave5_v4l2_v14-5.15_Som.Qin' into 'jh7110-5.15.y-devel'
CR 9096 porting wave5 v4l2 driver v14 See merge request sdk/linux!1017
Diffstat (limited to 'drivers/media/platform/chips-media/wave5/wave5-vpu.h')
-rw-r--r--drivers/media/platform/chips-media/wave5/wave5-vpu.h21
1 files changed, 16 insertions, 5 deletions
diff --git a/drivers/media/platform/chips-media/wave5/wave5-vpu.h b/drivers/media/platform/chips-media/wave5/wave5-vpu.h
index e83c186a498e..fe1de3e8a22c 100644
--- a/drivers/media/platform/chips-media/wave5/wave5-vpu.h
+++ b/drivers/media/platform/chips-media/wave5/wave5-vpu.h
@@ -2,7 +2,7 @@
/*
* Wave5 series multi-standard codec IP - basic types
*
- * Copyright (C) 2021 CHIPS&MEDIA INC
+ * Copyright (C) 2021-2023 CHIPS&MEDIA INC
*/
#ifndef __VPU_DRV_H__
#define __VPU_DRV_H__
@@ -23,9 +23,15 @@
#define VDI_SRAM_BASE_ADDR 0x00000000
#define VDI_WAVE511_SRAM_SIZE 0x2D000
-struct vpu_buffer {
+struct vpu_src_buffer {
+ struct v4l2_m2m_buffer v4l2_m2m_buf;
+ struct list_head list;
+ bool consumed;
+};
+
+struct vpu_dst_buffer {
struct v4l2_m2m_buffer v4l2_m2m_buf;
- bool consumed;
+ bool display;
};
enum vpu_fmt_type {
@@ -51,9 +57,14 @@ static inline struct vpu_instance *wave5_ctrl_to_vpu_inst(struct v4l2_ctrl *vctr
return container_of(vctrl->handler, struct vpu_instance, v4l2_ctrl_hdl);
}
-static inline struct vpu_buffer *wave5_to_vpu_buf(struct vb2_v4l2_buffer *vbuf)
+static inline struct vpu_src_buffer *wave5_to_vpu_src_buf(struct vb2_v4l2_buffer *vbuf)
+{
+ return container_of(vbuf, struct vpu_src_buffer, v4l2_m2m_buf.vb);
+}
+
+static inline struct vpu_dst_buffer *wave5_to_vpu_dst_buf(struct vb2_v4l2_buffer *vbuf)
{
- return container_of(vbuf, struct vpu_buffer, v4l2_m2m_buf.vb);
+ return container_of(vbuf, struct vpu_dst_buffer, v4l2_m2m_buf.vb);
}
int wave5_vpu_wait_interrupt(struct vpu_instance *inst, unsigned int timeout);