Re: [PATCH v6 5/5] media: rzg2l-cru: Replace has_stride with stride_align field

"Lad, Prabhakar" <[email protected]>
Newsgroups org.kernel.vger.linux-renesas-soc,org.kernel.vger.linux-kernel,org.kernel.vger.linux-media
Message-ID <CA+V-a8t-cVQdB5WEkvAmGpEriyttaprfjzd+BRaN+QX9Rt-YJQ@mail.gmail.com>
On Wed, Aug 19, 2026 at 3:24 PM Jacopo Mondi
<[email protected]> wrote:
>
> Hi Tommaso,
>    thanks for the update
>
> On Wed, Aug 19, 2026 at 12:28:09PM +0200, Tommaso Merciai wrote:
> > RZG2L_CRU_STRIDE_ALIGN hardcodes an alignment only RZ/G3E and RZ/V2H
> > need, as only they have an AMnIS register.
> >
> > Store the alignment into rzg2l_cru_info instead: 128 on RZ/G3E, 1 on
> > RZ/G2L, and update the code accordingly.
> >
> > No functional change intended.
> >
> > Signed-off-by: Tommaso Merciai <[email protected]>
> > ---
> > v5->v6:
> >  - New patch.
> >
> >  drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c  | 3 ++-
> >  drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h   | 2 +-
> >  drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c | 7 +++----
> >  3 files changed, 6 insertions(+), 6 deletions(-)
> >

Reviewed-by: Lad Prabhakar <[email protected]>

> > diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
> > index 3c5fbd857371..a2b833e2bf9a 100644
> > --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
> > +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
> > @@ -361,7 +361,7 @@ static const struct rzg2l_cru_info rzg3e_cru_info = {
> >       .max_width = 4095,
> >       .max_height = 4095,
> >       .image_conv = ICnIPMC_C0,
> > -     .has_stride = true,
> > +     .stride_align = 128,
>
> We could use a #define here
>
I think to be consistent with most of the members of rzg3e_cru_info
raw value should be OK?

Cheers,
Prabhakar

> Apart from that, the patch looks good, thank you!
> Reviewed-by: Jacopo Mondi <[email protected]>
>
> >       .regs = rzg3e_cru_regs,
> >       .irq_handler = rzg3e_cru_irq,
> >       .enable_interrupts = rzg3e_cru_enable_interrupts,
> > @@ -406,6 +406,7 @@ static const struct rzg2l_cru_info rzg2l_cru_info = {
> >       .max_width = 2800,
> >       .max_height = 4095,
> >       .image_conv = ICnMC,
> > +     .stride_align = 1,
> >       .regs = rzg2l_cru_regs,
> >       .irq_handler = rzg2l_cru_irq,
> >       .enable_interrupts = rzg2l_cru_enable_interrupts,
> > diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h
> > index b426bc7898bf..2c192d370dcb 100644
> > --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h
> > +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h
> > @@ -75,7 +75,7 @@ struct rzg2l_cru_info {
> >       unsigned int max_height;
> >       u16 image_conv;
> >       const u16 *regs;
> > -     bool has_stride;
> > +     u8 stride_align;
> >       irqreturn_t (*irq_handler)(int irq, void *data);
> >       void (*enable_interrupts)(struct rzg2l_cru_dev *cru);
> >       void (*disable_interrupts)(struct rzg2l_cru_dev *cru);
> > diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c
> > index 27a35ef2a6df..a7b6dce66570 100644
> > --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c
> > +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c
> > @@ -32,7 +32,6 @@
> >  #define RZG2L_CRU_DEFAULT_COLORSPACE V4L2_COLORSPACE_SRGB
> >
> >  #define RZG2L_CRU_STRIDE_MAX         32640
> > -#define RZG2L_CRU_STRIDE_ALIGN               128
> >
> >  struct rzg2l_cru_buffer {
> >       struct vb2_v4l2_buffer vb;
> > @@ -277,11 +276,11 @@ static void rzg2l_cru_initialize_axi(struct rzg2l_cru_dev *cru)
> >               rzg2l_cru_fill_hw_slot(cru, cru->num_buf - 1);
> >       }
> >
> > -     if (info->has_stride) {
> > +     if (info->stride_align > 1) {
> >               u32 stride = cru->format.bytesperline;
> >               u32 amnis;
> >
> > -             stride /= RZG2L_CRU_STRIDE_ALIGN;
> > +             stride /= info->stride_align;
> >               amnis = rzg2l_cru_read(cru, AMnIS) & ~AMnIS_IS_MASK;
> >               rzg2l_cru_write(cru, AMnIS, amnis | AMnIS_IS(stride));
> >       }
> > @@ -850,7 +849,7 @@ static void rzg2l_cru_format_align(struct rzg2l_cru_dev *cru,
> >                             &pix->height, 240, info->max_height, 2, 0);
> >
> >       v4l2_fill_pixfmt_aligned(pix, pix->pixelformat, pix->width, pix->height,
> > -                              info->has_stride ? RZG2L_CRU_STRIDE_ALIGN : 1);
> > +                              info->stride_align);
> >
> >       dev_dbg(cru->dev, "Format %ux%u bpl: %u size: %u\n",
> >               pix->width, pix->height, pix->bytesperline, pix->sizeimage);
> > --
> > 2.54.0
> >
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.