From: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
To: Paul Kocialkowski <contact@paulk.fr>
Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, devel@driverdev.osuosl.org,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Maxime Ripard <maxime.ripard@bootlin.com>,
Chen-Yu Tsai <wens@csie.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Paul Kocialkowski <paul.kocialkowski@bootlin.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
linux-sunxi@googlegroups.com, Randy Li <ayaka@soulik.info>,
Hans Verkuil <hverkuil@xs4all.nl>,
Ezequiel Garcia <ezequiel@collabora.com>,
Tomasz Figa <tfiga@chromium.org>,
Alexandre Courbot <acourbot@chromium.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
Laurent
Subject: Re: [PATCH v9 5/9] media: platform: Add Cedrus VPU decoder driver
Date: Tue, 11 Sep 2018 12:46:25 -0300 [thread overview]
Message-ID: <20180911124625.6759e429@coco.lan> (raw)
In-Reply-To: <20180906222442.14825-6-contact@paulk.fr>
Em Fri, 7 Sep 2018 00:24:38 +0200
Paul Kocialkowski <contact@paulk.fr> escreveu:
> From: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
>
> This introduces the Cedrus VPU driver that supports the VPU found in
> Allwinner SoCs, also known as Video Engine. It is implemented through
> a V4L2 M2M decoder device and a media device (used for media requests).
> So far, it only supports MPEG-2 decoding.
>
> Since this VPU is stateless, synchronization with media requests is
> required in order to ensure consistency between frame headers that
> contain metadata about the frame to process and the raw slice data that
> is used to generate the frame.
>
> This driver was made possible thanks to the long-standing effort
> carried out by the linux-sunxi community in the interest of reverse
> engineering, documenting and implementing support for the Allwinner VPU.
>
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
There are several checkpatch issues here. Ok, some can be
ignored, but there are at least some of them that sounda relevant.
Please address them.
CHECK: Comparison to NULL could be written "ctx->ctrls[i]"
#214: FILE: drivers/staging/media/sunxi/cedrus/cedrus.c:51:
+ for (i = 0; ctx->ctrls[i] != NULL; i++)
CHECK: Alignment should match open parenthesis
#304: FILE: drivers/staging/media/sunxi/cedrus/cedrus.c:141:
+ ctrl_test = v4l2_ctrl_request_hdl_ctrl_find(hdl,
+ cedrus_controls[i].id);
CHECK: Alignment should match open parenthesis
#468: FILE: drivers/staging/media/sunxi/cedrus/cedrus.c:305:
+ ret = v4l2_m2m_register_media_controller(dev->m2m_dev,
+ vfd, MEDIA_ENT_F_PROC_VIDEO_DECODER);
CHECK: Avoid using bool structure members because of possible alignment issues - see: https://lkml.org/lkml/2017/11/21/384
#638: FILE: drivers/staging/media/sunxi/cedrus/cedrus.h:47:
+ bool required;
WARNING: line over 80 characters
#744: FILE: drivers/staging/media/sunxi/cedrus/cedrus.h:153:
+static inline struct cedrus_buffer *vb2_v4l2_to_cedrus_buffer(const struct vb2_v4l2_buffer *p)
WARNING: line over 80 characters
#749: FILE: drivers/staging/media/sunxi/cedrus/cedrus.h:158:
+static inline struct cedrus_buffer *vb2_to_cedrus_buffer(const struct vb2_buffer *p)
CHECK: Alignment should match open parenthesis
#809: FILE: drivers/staging/media/sunxi/cedrus/cedrus_dec.c:47:
+ run.mpeg2.slice_params = cedrus_find_control_data(ctx,
+ V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS);
CHECK: Alignment should match open parenthesis
#811: FILE: drivers/staging/media/sunxi/cedrus/cedrus_dec.c:49:
+ run.mpeg2.quantization = cedrus_find_control_data(ctx,
+ V4L2_CID_MPEG_VIDEO_MPEG2_QUANTIZATION);
WARNING: line over 80 characters
#1368: FILE: drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c:133:
+ reg |= VE_DEC_MPEG_MP12HDR_INTRA_DC_PRECISION(picture->intra_dc_precision);
WARNING: line over 80 characters
#1369: FILE: drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c:134:
+ reg |= VE_DEC_MPEG_MP12HDR_INTRA_PICTURE_STRUCTURE(picture->picture_structure);
WARNING: line over 80 characters
#1371: FILE: drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c:136:
+ reg |= VE_DEC_MPEG_MP12HDR_FRAME_PRED_FRAME_DCT(picture->frame_pred_frame_dct);
WARNING: line over 80 characters
#1372: FILE: drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c:137:
+ reg |= VE_DEC_MPEG_MP12HDR_CONCEALMENT_MOTION_VECTORS(picture->concealment_motion_vectors);
WARNING: line over 80 characters
#1395: FILE: drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c:160:
+ fwd_luma_addr = cedrus_dst_buf_addr(ctx, slice_params->forward_ref_index, 0);
WARNING: line over 80 characters
#1396: FILE: drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c:161:
+ fwd_chroma_addr = cedrus_dst_buf_addr(ctx, slice_params->forward_ref_index, 1);
WARNING: line over 80 characters
#1401: FILE: drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c:166:
+ bwd_luma_addr = cedrus_dst_buf_addr(ctx, slice_params->backward_ref_index, 0);
WARNING: line over 80 characters
#1402: FILE: drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c:167:
+ bwd_chroma_addr = cedrus_dst_buf_addr(ctx, slice_params->backward_ref_index, 1);
WARNING: line over 80 characters
#1417: FILE: drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c:182:
+ cedrus_write(dev, VE_DEC_MPEG_VLD_OFFSET, slice_params->data_bit_offset);
CHECK: Macro argument reuse 'x' - possible side-effects?
#1552: FILE: drivers/staging/media/sunxi/cedrus/cedrus_regs.h:74:
+#define VE_DEC_MPEG_MP12HDR_F_CODE_MASK(x, y) \
+ GENMASK(VE_DEC_MPEG_MP12HDR_F_CODE_SHIFT(x, y) + 3, \
+ VE_DEC_MPEG_MP12HDR_F_CODE_SHIFT(x, y))
CHECK: Macro argument reuse 'y' - possible side-effects?
#1552: FILE: drivers/staging/media/sunxi/cedrus/cedrus_regs.h:74:
+#define VE_DEC_MPEG_MP12HDR_F_CODE_MASK(x, y) \
+ GENMASK(VE_DEC_MPEG_MP12HDR_F_CODE_SHIFT(x, y) + 3, \
+ VE_DEC_MPEG_MP12HDR_F_CODE_SHIFT(x, y))
CHECK: Macro argument reuse 'x' - possible side-effects?
#1555: FILE: drivers/staging/media/sunxi/cedrus/cedrus_regs.h:77:
+#define VE_DEC_MPEG_MP12HDR_F_CODE(x, y, v) \
+ (((v) << VE_DEC_MPEG_MP12HDR_F_CODE_SHIFT(x, y)) & \
+ VE_DEC_MPEG_MP12HDR_F_CODE_MASK(x, y))
CHECK: Macro argument reuse 'y' - possible side-effects?
#1555: FILE: drivers/staging/media/sunxi/cedrus/cedrus_regs.h:77:
+#define VE_DEC_MPEG_MP12HDR_F_CODE(x, y, v) \
+ (((v) << VE_DEC_MPEG_MP12HDR_F_CODE_SHIFT(x, y)) & \
+ VE_DEC_MPEG_MP12HDR_F_CODE_MASK(x, y))
CHECK: Macro argument reuse 'a' - possible side-effects?
#1685: FILE: drivers/staging/media/sunxi/cedrus/cedrus_regs.h:207:
+#define VE_DEC_MPEG_VLD_ADDR_BASE(a) \
+ (((a) & GENMASK(27, 4)) | (((a) >> 28) & GENMASK(3, 0)))
CHECK: Comparison to NULL could be written "fmt"
#1805: FILE: drivers/staging/media/sunxi/cedrus/cedrus_video.c:88:
+ return fmt != NULL;
CHECK: Please use a blank line after function/struct/union/enum declarations
#2214: FILE: drivers/staging/media/sunxi/cedrus/cedrus_video.c:497:
+}
+static struct vb2_ops cedrus_qops = {
total: 0 errors, 11 warnings, 13 checks, 2139 lines checked
Thanks,
Mauro
next prev parent reply other threads:[~2018-09-11 15:46 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-06 22:24 [PATCH v9 0/9] Cedrus driver for the Allwinner Video Engine, using media requests Paul Kocialkowski
[not found] ` <20180906222442.14825-1-contact-W9ppeneeCTY@public.gmane.org>
2018-09-06 22:24 ` [PATCH v9 1/9] media: videobuf2-core: Rework and rename helper for request buffer count Paul Kocialkowski
2018-09-06 22:24 ` [PATCH v9 2/9] media: v4l: Add definitions for MPEG-2 slice format and metadata Paul Kocialkowski
[not found] ` <20180906222442.14825-3-contact-W9ppeneeCTY@public.gmane.org>
2018-09-10 9:41 ` Hans Verkuil
[not found] ` <9a7fd34d-50e3-4db6-4752-9e62bb160655-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2018-09-10 9:47 ` Paul Kocialkowski
[not found] ` <2409ba6607e85acf3dbbaed394487fa8e92d93df.camel-W9ppeneeCTY@public.gmane.org>
2018-09-10 10:33 ` Hans Verkuil
2018-09-10 9:45 ` Hans Verkuil
2018-09-06 22:24 ` [PATCH v9 4/9] dt-bindings: media: Document bindings for the Cedrus VPU driver Paul Kocialkowski
2018-09-06 22:24 ` [PATCH v9 5/9] media: platform: Add Cedrus VPU decoder driver Paul Kocialkowski
[not found] ` <20180906222442.14825-6-contact-W9ppeneeCTY@public.gmane.org>
2018-09-07 7:33 ` Priit Laes
[not found] ` <20180907073346.jd2c2pcxpwngq6tv-q/aMd4JkU83YtjvyW6yDsg@public.gmane.org>
2018-09-07 9:14 ` Paul Kocialkowski
2018-09-07 13:13 ` Hans Verkuil
[not found] ` <4b30c0bf-e525-1868-f625-569d4a104aa0-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2018-09-07 13:26 ` Maxime Ripard
2018-09-07 13:52 ` Hans Verkuil
[not found] ` <2c9689b2-c5a6-58b7-b467-fc53208ecd2d-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2018-09-07 14:25 ` Maxime Ripard
2018-09-07 15:15 ` Paul Kocialkowski
2018-09-07 15:24 ` Paul Kocialkowski
2018-09-11 15:24 ` Mauro Carvalho Chehab
2018-09-11 15:46 ` Mauro Carvalho Chehab [this message]
[not found] ` <20180911124625.6759e429-qA1ZUp+OV9c@public.gmane.org>
2018-09-12 7:23 ` Maxime Ripard
2018-09-12 7:56 ` Hans Verkuil
2018-09-06 22:24 ` [PATCH v9 7/9] ARM: dts: sun7i-a20: Add Video Engine and reserved memory nodes Paul Kocialkowski
2018-09-06 22:24 ` [PATCH v9 9/9] ARM: dts: sun8i-h3: " Paul Kocialkowski
2018-09-11 8:53 ` [PATCH v9 0/9] Cedrus driver for the Allwinner Video Engine, using media requests Maxime Ripard
2018-09-06 22:24 ` [PATCH v9 3/9] media: v4l: Add definition for the Sunxi tiled NV12 format Paul Kocialkowski
2018-09-06 22:24 ` [PATCH v9 6/9] ARM: dts: sun5i: Add Video Engine and reserved memory nodes Paul Kocialkowski
2018-09-06 22:24 ` [PATCH v9 8/9] ARM: dts: sun8i-a33: " Paul Kocialkowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180911124625.6759e429@coco.lan \
--to=mchehab+samsung@kernel.org \
--cc=acourbot@chromium.org \
--cc=ayaka@soulik.info \
--cc=contact@paulk.fr \
--cc=devel@driverdev.osuosl.org \
--cc=devicetree@vger.kernel.org \
--cc=ezequiel@collabora.com \
--cc=gregkh@linuxfoundation.org \
--cc=hverkuil@xs4all.nl \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-sunxi@googlegroups.com \
--cc=mark.rutland@arm.com \
--cc=maxime.ripard@bootlin.com \
--cc=mchehab@kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=paul.kocialkowski@bootlin.com \
--cc=robh+dt@kernel.org \
--cc=tfiga@chromium.org \
--cc=thomas.petazzoni@bootlin.com \
--cc=wens@csie.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).