From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Cc: Benoit Parrot <bparrot@ti.com>, Pratyush Yadav <p.yadav@ti.com>,
Lokesh Vutla <lokeshvutla@ti.com>,
linux-media@vger.kernel.org
Subject: Re: [PATCH 14/28] media: ti-vpe: cal: catch VC errors
Date: Thu, 29 Apr 2021 02:44:01 +0300 [thread overview]
Message-ID: <YInzQTnAknPWN5RN@pendragon.ideasonboard.com> (raw)
In-Reply-To: <0e4bcb84-8acf-2bb2-85be-fb96599b3c3c@ideasonboard.com>
Hi Tomi,
On Mon, Apr 19, 2021 at 02:19:01PM +0300, Tomi Valkeinen wrote:
> On 18/04/2021 15:38, Laurent Pinchart wrote:
> > On Mon, Apr 12, 2021 at 02:34:43PM +0300, Tomi Valkeinen wrote:
> >> CAL driver currently ignores VC related errors. To help catch error
> >> conditions, enable all the VC error interrupts and handle them in the
> >> interrupt handler by printing an error.
> >>
> >> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
> >> ---
> >> drivers/media/platform/ti-vpe/cal-camerarx.c | 23 ++++++++++++++++----
> >> drivers/media/platform/ti-vpe/cal.c | 9 ++++++++
> >> 2 files changed, 28 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/drivers/media/platform/ti-vpe/cal-camerarx.c b/drivers/media/platform/ti-vpe/cal-camerarx.c
> >> index 974fcbb19547..0354f311c5d2 100644
> >> --- a/drivers/media/platform/ti-vpe/cal-camerarx.c
> >> +++ b/drivers/media/platform/ti-vpe/cal-camerarx.c
> >> @@ -226,24 +226,39 @@ static void cal_camerarx_enable_irqs(struct cal_camerarx *phy)
> >> CAL_CSI2_COMPLEXIO_IRQ_FIFO_OVR_MASK |
> >> CAL_CSI2_COMPLEXIO_IRQ_SHORT_PACKET_MASK |
> >> CAL_CSI2_COMPLEXIO_IRQ_ECC_NO_CORRECTION_MASK;
> >> -
> >> - /* Enable CIO error IRQs. */
> >> + const u32 vc_err_mask =
> >> + CAL_CSI2_VC_IRQ_CS_IRQ_MASK(0) |
> >> + CAL_CSI2_VC_IRQ_CS_IRQ_MASK(1) |
> >> + CAL_CSI2_VC_IRQ_CS_IRQ_MASK(2) |
> >> + CAL_CSI2_VC_IRQ_CS_IRQ_MASK(3) |
> >> + CAL_CSI2_VC_IRQ_ECC_CORRECTION_IRQ_MASK(0) |
> >> + CAL_CSI2_VC_IRQ_ECC_CORRECTION_IRQ_MASK(1) |
> >> + CAL_CSI2_VC_IRQ_ECC_CORRECTION_IRQ_MASK(2) |
> >> + CAL_CSI2_VC_IRQ_ECC_CORRECTION_IRQ_MASK(3);
> >> +
> >> + /* Enable CIO & VC error IRQs. */
> >> cal_write(phy->cal, CAL_HL_IRQENABLE_SET(0),
> >> - CAL_HL_IRQ_CIO_MASK(phy->instance));
> >> + CAL_HL_IRQ_CIO_MASK(phy->instance) | CAL_HL_IRQ_VC_MASK(phy->instance));
> >
> > Line wrap ? Same in multiple places below. I know there's no strict 80
> > columns limit anymore, but I don't think longer lines help with
> > readability in this patch (not to mention the coding style inconsistency
> > with the rest of the driver).
>
> Well, I disagree, but I guess that's in the eye of the beholder.
>
> If we have a coding style with strict 80 column limit, then there are
> other places I need to start fixing too. My personal coding style is
> such that around 80 columns I start thinking about splitting if it can
> be done without any messiness, around 100 I seriously try to split it,
> and around 120 I think it's broken.
It then all depends on your messiness gauge :-) For the code above,
cal_write(phy->cal, CAL_HL_IRQENABLE_SET(0),
CAL_HL_IRQ_CIO_MASK(phy->instance) |
CAL_HL_IRQ_VC_MASK(phy->instance));
doesn't seem messy at all to me (quite the contrary actually).
> I can change this and the other similar line, the end result is only
> slightly messier, but...
>
> >> +
> >> + if (status & CAL_HL_IRQ_VC_MASK(i)) {
> >> + u32 vc_stat = cal_read(cal, CAL_CSI2_VC_IRQSTATUS(i));
> >> +
> >> + dev_err_ratelimited(cal->dev,
> >> + "CIO%u VC error: %#08x\n", i, vc_stat);
> >> +
> >> + cal_write(cal, CAL_CSI2_VC_IRQSTATUS(i), vc_stat);
> >> + }
>
> ...especially for this part sticking to 80 columns uglifies the code.
>
> u32 vc_stat =
> cal_read(cal,
> CAL_CSI2_VC_IRQSTATUS(i));
>
> or
>
> u32 cio_stat = cal_read(cal,
> CAL_CSI2_COMPLEXIO_IRQSTATUS(i));
That would be messy, and I think it should either stay as-is, or the
function should be refactored with code broken out in multiple functions
(probably overkill for this specific example).
The next line, however, I would have written as
dev_err_ratelimited(cal->dev,
"CIO%u VC error: %#08x\n",
i, vc_stat);
> I could split parts to a separate function, but I don't think the end
> result would be better.
>
> I think we discuss the 80-column problem almost in every series. Maybe
> we need to agree to some clear predefined rules to avoid future
> discussions about this? =)
So all we need is a metric that measure code mess, right ? :-)
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2021-04-28 23:44 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-12 11:34 [PATCH 00/28] media: ti-vpe: cal: prepare for multistream support Tomi Valkeinen
2021-04-12 11:34 ` [PATCH 01/28] media: ti-vpe: cal: add g/s_parm for legacy API Tomi Valkeinen
2021-04-17 23:01 ` Laurent Pinchart
2021-04-12 11:34 ` [PATCH 02/28] media: ti-vpe: cal: fix error handling in cal_camerarx_create Tomi Valkeinen
2021-04-17 23:05 ` Laurent Pinchart
2021-04-19 8:24 ` Tomi Valkeinen
2021-04-19 8:31 ` Laurent Pinchart
2021-04-12 11:34 ` [PATCH 03/28] media: ti-vpe: cal: remove unused cal_camerarx->dev field Tomi Valkeinen
2021-04-18 0:43 ` Laurent Pinchart
2021-04-12 11:34 ` [PATCH 04/28] media: ti-vpe: cal: rename "sensor" to "source" Tomi Valkeinen
2021-04-17 23:18 ` Laurent Pinchart
2021-04-12 11:34 ` [PATCH 05/28] media: ti-vpe: cal: move global config from cal_ctx_wr_dma_config to runtime resume Tomi Valkeinen
2021-04-17 23:27 ` Laurent Pinchart
2021-04-12 11:34 ` [PATCH 06/28] media: ti-vpe: cal: use v4l2_get_link_freq Tomi Valkeinen
2021-04-18 11:48 ` Laurent Pinchart
2021-04-12 11:34 ` [PATCH 07/28] media: ti-vpe: cal: add cal_ctx_prepare/unprepare Tomi Valkeinen
2021-04-18 13:30 ` Laurent Pinchart
2021-04-12 11:34 ` [PATCH 08/28] media: ti-vpe: cal: change index and cport to u8 Tomi Valkeinen
2021-04-18 11:55 ` Laurent Pinchart
2021-04-12 11:34 ` [PATCH 09/28] media: ti-vpe: cal: Add PPI context Tomi Valkeinen
2021-04-18 12:17 ` Laurent Pinchart
2021-04-19 9:01 ` Tomi Valkeinen
2021-04-12 11:34 ` [PATCH 10/28] media: ti-vpe: cal: Add pixel processing context Tomi Valkeinen
2021-04-18 12:20 ` Laurent Pinchart
2021-04-18 12:23 ` Laurent Pinchart
2021-04-19 9:17 ` Tomi Valkeinen
2021-04-12 11:34 ` [PATCH 11/28] media: ti-vpe: cal: rename cal_ctx->index to dma_ctx Tomi Valkeinen
2021-04-18 12:22 ` Laurent Pinchart
2021-04-12 11:34 ` [PATCH 12/28] media: ti-vpe: cal: rename CAL_HL_IRQ_MASK Tomi Valkeinen
2021-04-18 12:29 ` Laurent Pinchart
2021-04-12 11:34 ` [PATCH 13/28] media: ti-vpe: cal: clean up CAL_CSI2_VC_IRQ_* macros Tomi Valkeinen
2021-04-18 12:32 ` Laurent Pinchart
2021-04-19 10:29 ` Tomi Valkeinen
2021-04-12 11:34 ` [PATCH 14/28] media: ti-vpe: cal: catch VC errors Tomi Valkeinen
2021-04-18 12:38 ` Laurent Pinchart
2021-04-19 11:19 ` Tomi Valkeinen
2021-04-28 23:44 ` Laurent Pinchart [this message]
2021-04-12 11:34 ` [PATCH 15/28] media: ti-vpe: cal: remove wait when stopping camerarx Tomi Valkeinen
2021-04-18 12:46 ` Laurent Pinchart
2021-04-19 11:29 ` Tomi Valkeinen
2021-04-28 23:57 ` Laurent Pinchart
2021-05-04 7:56 ` Tomi Valkeinen
2021-06-04 13:44 ` Laurent Pinchart
2021-06-07 10:41 ` Tomi Valkeinen
2021-06-09 12:31 ` Laurent Pinchart
2021-04-12 11:34 ` [PATCH 16/28] media: ti-vpe: cal: disable ppi and pix proc at ctx_stop Tomi Valkeinen
2021-04-18 12:49 ` Laurent Pinchart
2021-04-12 11:34 ` [PATCH 17/28] media: ti-vpe: cal: allocate pix proc dynamically Tomi Valkeinen
2021-04-18 12:59 ` Laurent Pinchart
2021-04-19 11:45 ` Tomi Valkeinen
2021-04-29 0:04 ` Laurent Pinchart
2021-04-12 11:34 ` [PATCH 18/28] media: ti-vpe: cal: add 'use_pix_proc' field Tomi Valkeinen
2021-04-18 13:00 ` Laurent Pinchart
2021-04-19 11:53 ` Tomi Valkeinen
2021-04-29 0:07 ` Laurent Pinchart
2021-04-12 11:34 ` [PATCH 19/28] media: ti-vpe: cal: add cal_ctx_wr_dma_enable and fix a race Tomi Valkeinen
2021-04-18 13:04 ` Laurent Pinchart
2021-04-19 12:02 ` Tomi Valkeinen
2021-04-12 11:34 ` [PATCH 20/28] media: ti-vpe: cal: add vc and datatype fields to cal_ctx Tomi Valkeinen
2021-04-18 13:06 ` Laurent Pinchart
2021-04-19 12:07 ` Tomi Valkeinen
2021-04-12 11:34 ` [PATCH 21/28] media: ti-vpe: cal: fix cal_ctx_v4l2_register error handling Tomi Valkeinen
2021-04-18 13:09 ` Laurent Pinchart
2021-04-20 10:50 ` Tomi Valkeinen
2021-04-20 11:17 ` Tomi Valkeinen
2021-04-29 0:10 ` Laurent Pinchart
2021-04-12 11:34 ` [PATCH 22/28] media: ti-vpe: cal: set field always to V4L2_FIELD_NONE Tomi Valkeinen
2021-04-18 13:14 ` Laurent Pinchart
2021-04-19 12:34 ` Tomi Valkeinen
2021-04-12 11:34 ` [PATCH 23/28] media: ti-vpe: cal: fix typo in a comment Tomi Valkeinen
2021-04-18 13:14 ` Laurent Pinchart
2021-04-12 11:34 ` [PATCH 24/28] media: ti-vpe: cal: add mbus_code support to cal_mc_enum_fmt_vid_cap Tomi Valkeinen
2021-04-18 13:17 ` Laurent Pinchart
2021-04-19 12:50 ` Tomi Valkeinen
2021-04-12 11:34 ` [PATCH 25/28] media: ti-vpe: cal: rename non-MC funcs to cal_legacy_* Tomi Valkeinen
2021-04-18 13:18 ` Laurent Pinchart
2021-04-12 11:34 ` [PATCH 26/28] media: ti-vpe: cal: init ctx->v_fmt correctly in MC mode Tomi Valkeinen
2021-04-18 13:21 ` Laurent Pinchart
2021-04-19 13:01 ` Tomi Valkeinen
2021-04-12 11:34 ` [PATCH 27/28] media: ti-vpe: cal: remove cal_camerarx->fmtinfo Tomi Valkeinen
2021-04-18 13:24 ` Laurent Pinchart
2021-04-19 13:08 ` Tomi Valkeinen
2021-04-12 11:34 ` [PATCH 28/28] media: ti-vpe: cal: support 8 DMA contexts Tomi Valkeinen
2021-04-18 13:29 ` Laurent Pinchart
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=YInzQTnAknPWN5RN@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=bparrot@ti.com \
--cc=linux-media@vger.kernel.org \
--cc=lokeshvutla@ti.com \
--cc=p.yadav@ti.com \
--cc=tomi.valkeinen@ideasonboard.com \
/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).