[PATCH v5 07/12] media: mediatek: jpeg: refactor jpeg dst buffer layout

Kyrie Wu (吴晗) Kyrie.Wu at mediatek.com
Thu Jun 5 19:54:13 PDT 2025


On Fri, 2025-05-30 at 13:38 -0400, Nicolas Dufresne wrote:
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> 
> 
> Hi,
> 
> Le vendredi 30 mai 2025 à 15:45 +0800, Kyrie Wu a écrit :
> > 1. change dst buffer size to same as struct mtk_jpeg_src_buf
> > to make sure all params of mtk_jpeg_src_buf could get a memory.
> > 2. For memory alloc operation:
> > the v4l2 framework malloc a memory, the base addr is vb2_buffer and
> > the size is sizeof(struct mtk_jpeg_src_buf), mtk_jpeg_src_buf could
> > get
> > itself addr by container_of like that:
> > vb2_buffer -> vb2_v4l2_buffer -> mtk_jpeg_src_buf.
> > vb2_v4l2_buffer must keep on the top of mtk_jpeg_src_buf.
> 
> The subject imply a refactoring, but the most important change in
> your
> patch is to fix the wrong buf strut size. Can you rework the subject
> and message to state what you are fixing please.
> 
> Add a Fixes tag, and moved it at the start of the series to show this
> isn't a problem you have introduced in previous patch.

Dear Nicolas,

Thanks for your suggestion and I will change the tag from "refactoring"
to "fixes" and add the tag.

Thanks.
> 
> > 
> > Signed-off-by: Kyrie Wu <kyrie.wu at mediatek.com>
> > ---
> >  drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c | 2 +-
> >  drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h | 2 +-
> >  2 files changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
> > b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
> > index 52d59bb5c9ad..7e3509be6f69 100644
> > --- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
> > +++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
> > @@ -1103,7 +1103,7 @@ static int mtk_jpeg_queue_init(void *priv,
> > struct vb2_queue *src_vq,
> >       dst_vq->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
> >       dst_vq->io_modes = VB2_DMABUF | VB2_MMAP;
> >       dst_vq->drv_priv = ctx;
> > -     dst_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer);
> > +     dst_vq->buf_struct_size = sizeof(struct mtk_jpeg_src_buf);
> >       dst_vq->ops = jpeg->variant->qops;
> >       dst_vq->mem_ops = &vb2_dma_contig_memops;
> >       dst_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY;
> > diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
> > b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
> > index 655dc9c3280c..186cd1862028 100644
> > --- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
> > +++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
> > @@ -96,10 +96,10 @@ struct mtk_jpeg_variant {
> >  };
> > 
> >  struct mtk_jpeg_src_buf {
> > -     u32 frame_num;
> >       struct vb2_v4l2_buffer b;
> >       struct list_head list;
> >       u32 bs_size;
> > +     u32 frame_num;
> 
> This "refactoring" should be split, it does not fix anything.

Thanks. I will change it in the coming version 6.
> 
> Nicolas

Regards,
Kyrie.
> 
> >       struct mtk_jpeg_dec_param dec_param;
> > 
> >       struct mtk_jpeg_ctx *curr_ctx;


More information about the Linux-mediatek mailing list