lkml.org 
[lkml]   [2022]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 273/779] media: imx-jpeg: Refactor function mxc_jpeg_parse
    Date
    From: Ming Qian <ming.qian@nxp.com>

    [ Upstream commit 8dd504a3a0a5f73b4c137ce3afc35936a4ecd871 ]

    Refine code to support dynamic resolution change

    Signed-off-by: Ming Qian <ming.qian@nxp.com>
    Reviewed-by: Mirela Rabulea <mirela.rabulea@nxp.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/media/platform/imx-jpeg/mxc-jpeg.c | 13 ++++++-------
    1 file changed, 6 insertions(+), 7 deletions(-)

    diff --git a/drivers/media/platform/imx-jpeg/mxc-jpeg.c b/drivers/media/platform/imx-jpeg/mxc-jpeg.c
    index 2d0c1307180f..5064a994a42e 100644
    --- a/drivers/media/platform/imx-jpeg/mxc-jpeg.c
    +++ b/drivers/media/platform/imx-jpeg/mxc-jpeg.c
    @@ -1236,8 +1236,7 @@ static void mxc_jpeg_sizeimage(struct mxc_jpeg_q_data *q)
    }
    }

    -static int mxc_jpeg_parse(struct mxc_jpeg_ctx *ctx,
    - u8 *src_addr, u32 size, bool *dht_needed)
    +static int mxc_jpeg_parse(struct mxc_jpeg_ctx *ctx, struct vb2_buffer *vb)
    {
    struct device *dev = ctx->mxc_jpeg->dev;
    struct mxc_jpeg_q_data *q_data_out, *q_data_cap;
    @@ -1247,6 +1246,9 @@ static int mxc_jpeg_parse(struct mxc_jpeg_ctx *ctx,
    struct v4l2_jpeg_header header;
    struct mxc_jpeg_sof *psof = NULL;
    struct mxc_jpeg_sos *psos = NULL;
    + struct mxc_jpeg_src_buf *jpeg_src_buf = vb2_to_mxc_buf(vb);
    + u8 *src_addr = (u8 *)vb2_plane_vaddr(vb, 0);
    + u32 size = vb2_get_plane_payload(vb, 0);
    int ret;

    memset(&header, 0, sizeof(header));
    @@ -1257,7 +1259,7 @@ static int mxc_jpeg_parse(struct mxc_jpeg_ctx *ctx,
    }

    /* if DHT marker present, no need to inject default one */
    - *dht_needed = (header.num_dht == 0);
    + jpeg_src_buf->dht_needed = (header.num_dht == 0);

    q_data_out = mxc_jpeg_get_q_data(ctx,
    V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE);
    @@ -1372,10 +1374,7 @@ static void mxc_jpeg_buf_queue(struct vb2_buffer *vb)

    jpeg_src_buf = vb2_to_mxc_buf(vb);
    jpeg_src_buf->jpeg_parse_error = false;
    - ret = mxc_jpeg_parse(ctx,
    - (u8 *)vb2_plane_vaddr(vb, 0),
    - vb2_get_plane_payload(vb, 0),
    - &jpeg_src_buf->dht_needed);
    + ret = mxc_jpeg_parse(ctx, vb);
    if (ret)
    jpeg_src_buf->jpeg_parse_error = true;

    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-15 20:50    [W:2.896 / U:0.108 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site