diff options
author | andy.hu <andy.hu@starfivetech.com> | 2024-01-26 12:44:43 +0300 |
---|---|---|
committer | andy.hu <andy.hu@starfivetech.com> | 2024-01-26 12:44:43 +0300 |
commit | 78a1c3f491648c3fc61a2332e6ece00c4bee5273 (patch) | |
tree | a171e71c30f99fd6d15af7f7aa33e25d12ed9fe1 /drivers/media/platform/chips-media/wave5/wave5-vpu.h | |
parent | 5afb8f9d4e82aa557a3d47da6955e2162a7a654d (diff) | |
parent | df379f44f0d553cd2887d155accc379c2b5c3620 (diff) | |
download | linux-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.h | 21 |
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); |