[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250428112516.GG3371@pendragon.ideasonboard.com>
Date: Mon, 28 Apr 2025 14:25:16 +0300
From: Laurent Pinchart <laurent.pinchart@...asonboard.com>
To: "Lad, Prabhakar" <prabhakar.csengg@...il.com>
Cc: Mauro Carvalho Chehab <mchehab@...nel.org>,
Hans Verkuil <hverkuil@...all.nl>, linux-media@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-renesas-soc@...r.kernel.org,
Biju Das <biju.das.jz@...renesas.com>,
Fabrizio Castro <fabrizio.castro.jz@...esas.com>,
Tommaso Merciai <tommaso.merciai.xr@...renesas.com>,
Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>,
Dan Carpenter <dan.carpenter@...aro.org>
Subject: Re: [PATCH] media: renesas: rzg2l-cru: Simplify FIFO empty check
On Mon, Apr 28, 2025 at 12:17:54PM +0100, Lad, Prabhakar wrote:
> On Mon, Apr 28, 2025 at 10:59 AM Laurent Pinchart wrote:
> > On Mon, Apr 28, 2025 at 10:52:08AM +0100, Prabhakar wrote:
> > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
> > >
> > > Simplify the `rzg2l_fifo_empty()` helper by removing the redundant
> > > comparison in the return path. Now the function explicitly returns `true`
> > > if the FIFO write and read pointers match, and `false` otherwise, improving
> > > readability without changing behavior.
> > >
> > > Reported-by: Dan Carpenter <dan.carpenter@...aro.org>
> > > Closes: https://lore.kernel.org/all/aAtQThCibZCROETx@stanley.mountain/
> > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
> > > ---
> > > drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c
> > > index 067c6af14e95..97faefcd6019 100644
> > > --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c
> > > +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c
> > > @@ -348,7 +348,7 @@ bool rzg2l_fifo_empty(struct rzg2l_cru_dev *cru)
> > > if (amnfifopntr_w == amnfifopntr_r_y)
> > > return true;
> > >
> > > - return amnfifopntr_w == amnfifopntr_r_y;
> > > + return false;
> >
> > So the function always returned true. This seems to be a bug fix, please
> > add a Fixes: tag. The commit message should also make it clear that
> > you're fixing an issue, not just simplifying the code.
>
> No, the function returned true only if the pointers matched;
> otherwise, amnfifopntr_w == amnfifopntr_r_y would return false. I was
> simply removing the repetitive pointer check and directly returning
> false at the end of the function, as we can be certain at that point.
> Hence, I did not add a Fixes tag. Am I missing something?
Oops, you're right, my bad.
> > Personally I'd have written
> >
> > diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c
> > index 067c6af14e95..3d0810b3c35e 100644
> > --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c
> > +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c
> > @@ -345,8 +345,6 @@ bool rzg2l_fifo_empty(struct rzg2l_cru_dev *cru)
> > amnfifopntr_w = amnfifopntr & AMnFIFOPNTR_FIFOWPNTR;
> > amnfifopntr_r_y =
> > (amnfifopntr & AMnFIFOPNTR_FIFORPNTR_Y) >> 16;
> > - if (amnfifopntr_w == amnfifopntr_r_y)
> > - return true;
> >
> > return amnfifopntr_w == amnfifopntr_r_y;
> > }
> >
> > but that's also a bit of a style preference.
>
> I wanted to keep this consistent with the rz3e_fifo_empty(). If you
> prefer the above I'll do that in v2.
Up to you.
--
Regards,
Laurent Pinchart
Powered by blists - more mailing lists