[PATCH 00/14] media: rzg2l-cru: Rework slot programming for V2H/G3E

Jacopo Mondi posted 14 patches 5 days, 21 hours ago
There is a newer version of this series
.../platform/renesas/rzg2l-cru/rzg2l-cru-regs.h    |   2 +
.../media/platform/renesas/rzg2l-cru/rzg2l-cru.h   |  28 +-
.../media/platform/renesas/rzg2l-cru/rzg2l-video.c | 328 ++++++++-------------
3 files changed, 140 insertions(+), 218 deletions(-)
[PATCH 00/14] media: rzg2l-cru: Rework slot programming for V2H/G3E
Posted by Jacopo Mondi 5 days, 21 hours ago
This patch series starts by collecting a patch sent from Dan in the past
which improves the HW slot programming on V2H(P) to avoid losing frames
under heavy system load conditions.

Tommaso also sent a series a few months ago for the CRU from which I
collected the first two patches.

Around it, I've reworked a bit the locking in the driver which is a bit
coarse and causes lost of frames under heavy system load conditions.

Along with these, bit of drive-by cometic changes here and there to
modernize the driver code.

I've tested on V2H(P) but I've also modified the G2L IRQ handler, so if
anyone could test on G2L and G3E it would be great!

Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
---
Daniel Scally (1):
      media: rzg2l-cru: Rework rzg2l_cru_fill_hw_slot()

Jacopo Mondi (11):
      media: rzg2l-cru: Modernize spin_lock usage with cleanup.h
      media: rzg2l-cru: Use proper guard() in irq handler
      media: rzg2l-cru: Remove locking from start/stop routines
      media: rzg2l-cru: Do not use irqsave when not needed
      media: rzg2l-cru: Remove wrong locking comment
      media: rz2gl-cru: Introduce a spinlock for hw operations
      media: rzg2l-cru: Split hw locking from buffers
      media: rzg2l-cru: Manually track active slot number
      media: rz2gl-cru: Return pending buffers in order
      media: rzg2l-cru: Remove the 'state' variable
      media: rzg2l-cru: Simplify irq return value handling

Tommaso Merciai (2):
      media: rzg2l-cru: Skip ICnMC configuration when ICnSVC is used
      media: rzg2l-cru: Use only frame end interrupts

 .../platform/renesas/rzg2l-cru/rzg2l-cru-regs.h    |   2 +
 .../media/platform/renesas/rzg2l-cru/rzg2l-cru.h   |  28 +-
 .../media/platform/renesas/rzg2l-cru/rzg2l-video.c | 328 ++++++++-------------
 3 files changed, 140 insertions(+), 218 deletions(-)
---
base-commit: 4fbeef21f5387234111b5d52924e77757626faa5
change-id: 20260326-b4-cru-rework-ba3b712bc715

Best regards,
-- 
Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Re: [PATCH 00/14] media: rzg2l-cru: Rework slot programming for V2H/G3E
Posted by Lad, Prabhakar 5 days, 20 hours ago
Hi Jacopo,

Thank you for the patches.

On Fri, Mar 27, 2026 at 5:19 PM Jacopo Mondi
<jacopo.mondi@ideasonboard.com> wrote:
>
> This patch series starts by collecting a patch sent from Dan in the past
> which improves the HW slot programming on V2H(P) to avoid losing frames
> under heavy system load conditions.
>
> Tommaso also sent a series a few months ago for the CRU from which I
> collected the first two patches.
>
> Around it, I've reworked a bit the locking in the driver which is a bit
> coarse and causes lost of frames under heavy system load conditions.
>
> Along with these, bit of drive-by cometic changes here and there to
> modernize the driver code.
>
> I've tested on V2H(P) but I've also modified the G2L IRQ handler, so if
> anyone could test on G2L and G3E it would be great!
>
> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> ---
> Daniel Scally (1):
>       media: rzg2l-cru: Rework rzg2l_cru_fill_hw_slot()
>
> Jacopo Mondi (11):
>       media: rzg2l-cru: Modernize spin_lock usage with cleanup.h
>       media: rzg2l-cru: Use proper guard() in irq handler
>       media: rzg2l-cru: Remove locking from start/stop routines
>       media: rzg2l-cru: Do not use irqsave when not needed
>       media: rzg2l-cru: Remove wrong locking comment
>       media: rz2gl-cru: Introduce a spinlock for hw operations
>       media: rzg2l-cru: Split hw locking from buffers
>       media: rzg2l-cru: Manually track active slot number
You beat me to it, I had a similar patch internally.

>       media: rz2gl-cru: Return pending buffers in order
>       media: rzg2l-cru: Remove the 'state' variable
>       media: rzg2l-cru: Simplify irq return value handling
>
> Tommaso Merciai (2):
>       media: rzg2l-cru: Skip ICnMC configuration when ICnSVC is used
>       media: rzg2l-cru: Use only frame end interrupts
>
>  .../platform/renesas/rzg2l-cru/rzg2l-cru-regs.h    |   2 +
>  .../media/platform/renesas/rzg2l-cru/rzg2l-cru.h   |  28 +-
>  .../media/platform/renesas/rzg2l-cru/rzg2l-video.c | 328 ++++++++-------------
>  3 files changed, 140 insertions(+), 218 deletions(-)

I'll test these patches with ISP enabled next week.

Cheers,
Prabhakar
Re: [PATCH 00/14] media: rzg2l-cru: Rework slot programming for V2H/G3E
Posted by Jacopo Mondi 5 days, 2 hours ago
Hi Prabhakar

On Fri, Mar 27, 2026 at 05:25:30PM +0000, Lad, Prabhakar wrote:
> Hi Jacopo,
>
> Thank you for the patches.
>
> On Fri, Mar 27, 2026 at 5:19 PM Jacopo Mondi
> <jacopo.mondi@ideasonboard.com> wrote:
> >
> > This patch series starts by collecting a patch sent from Dan in the past
> > which improves the HW slot programming on V2H(P) to avoid losing frames
> > under heavy system load conditions.
> >
> > Tommaso also sent a series a few months ago for the CRU from which I
> > collected the first two patches.
> >
> > Around it, I've reworked a bit the locking in the driver which is a bit
> > coarse and causes lost of frames under heavy system load conditions.
> >
> > Along with these, bit of drive-by cometic changes here and there to
> > modernize the driver code.
> >
> > I've tested on V2H(P) but I've also modified the G2L IRQ handler, so if
> > anyone could test on G2L and G3E it would be great!
> >
> > Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> > ---
> > Daniel Scally (1):
> >       media: rzg2l-cru: Rework rzg2l_cru_fill_hw_slot()
> >
> > Jacopo Mondi (11):
> >       media: rzg2l-cru: Modernize spin_lock usage with cleanup.h
> >       media: rzg2l-cru: Use proper guard() in irq handler
> >       media: rzg2l-cru: Remove locking from start/stop routines
> >       media: rzg2l-cru: Do not use irqsave when not needed
> >       media: rzg2l-cru: Remove wrong locking comment
> >       media: rz2gl-cru: Introduce a spinlock for hw operations
> >       media: rzg2l-cru: Split hw locking from buffers
> >       media: rzg2l-cru: Manually track active slot number
> You beat me to it, I had a similar patch internally.

Oh that's great, I wasn't sure how this was going to be received!

>
> >       media: rz2gl-cru: Return pending buffers in order
> >       media: rzg2l-cru: Remove the 'state' variable
> >       media: rzg2l-cru: Simplify irq return value handling
> >
> > Tommaso Merciai (2):
> >       media: rzg2l-cru: Skip ICnMC configuration when ICnSVC is used
> >       media: rzg2l-cru: Use only frame end interrupts
> >
> >  .../platform/renesas/rzg2l-cru/rzg2l-cru-regs.h    |   2 +
> >  .../media/platform/renesas/rzg2l-cru/rzg2l-cru.h   |  28 +-
> >  .../media/platform/renesas/rzg2l-cru/rzg2l-video.c | 328 ++++++++-------------
> >  3 files changed, 140 insertions(+), 218 deletions(-)
>
> I'll test these patches with ISP enabled next week.

My testing platform is v2h with the ISP, if you have a G2L could you
maybe give it a spin there as I don't have any board with that SoC ?

Thanks
   j

>
> Cheers,
> Prabhakar
Re: [PATCH 00/14] media: rzg2l-cru: Rework slot programming for V2H/G3E
Posted by Lad, Prabhakar 5 days, 1 hour ago
Hi Jacopo,

On Sat, Mar 28, 2026 at 11:55 AM Jacopo Mondi
<jacopo.mondi@ideasonboard.com> wrote:
>
> Hi Prabhakar
>
> On Fri, Mar 27, 2026 at 05:25:30PM +0000, Lad, Prabhakar wrote:
> > Hi Jacopo,
> >
> > Thank you for the patches.
> >
> > On Fri, Mar 27, 2026 at 5:19 PM Jacopo Mondi
> > <jacopo.mondi@ideasonboard.com> wrote:
> > >
> > > This patch series starts by collecting a patch sent from Dan in the past
> > > which improves the HW slot programming on V2H(P) to avoid losing frames
> > > under heavy system load conditions.
> > >
> > > Tommaso also sent a series a few months ago for the CRU from which I
> > > collected the first two patches.
> > >
> > > Around it, I've reworked a bit the locking in the driver which is a bit
> > > coarse and causes lost of frames under heavy system load conditions.
> > >
> > > Along with these, bit of drive-by cometic changes here and there to
> > > modernize the driver code.
> > >
> > > I've tested on V2H(P) but I've also modified the G2L IRQ handler, so if
> > > anyone could test on G2L and G3E it would be great!
> > >
> > > Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> > > ---
> > > Daniel Scally (1):
> > >       media: rzg2l-cru: Rework rzg2l_cru_fill_hw_slot()
> > >
> > > Jacopo Mondi (11):
> > >       media: rzg2l-cru: Modernize spin_lock usage with cleanup.h
> > >       media: rzg2l-cru: Use proper guard() in irq handler
> > >       media: rzg2l-cru: Remove locking from start/stop routines
> > >       media: rzg2l-cru: Do not use irqsave when not needed
> > >       media: rzg2l-cru: Remove wrong locking comment
> > >       media: rz2gl-cru: Introduce a spinlock for hw operations
> > >       media: rzg2l-cru: Split hw locking from buffers
> > >       media: rzg2l-cru: Manually track active slot number
> > You beat me to it, I had a similar patch internally.
>
> Oh that's great, I wasn't sure how this was going to be received!
>
> >
> > >       media: rz2gl-cru: Return pending buffers in order
> > >       media: rzg2l-cru: Remove the 'state' variable
> > >       media: rzg2l-cru: Simplify irq return value handling
> > >
> > > Tommaso Merciai (2):
> > >       media: rzg2l-cru: Skip ICnMC configuration when ICnSVC is used
> > >       media: rzg2l-cru: Use only frame end interrupts
> > >
> > >  .../platform/renesas/rzg2l-cru/rzg2l-cru-regs.h    |   2 +
> > >  .../media/platform/renesas/rzg2l-cru/rzg2l-cru.h   |  28 +-
> > >  .../media/platform/renesas/rzg2l-cru/rzg2l-video.c | 328 ++++++++-------------
> > >  3 files changed, 140 insertions(+), 218 deletions(-)
> >
> > I'll test these patches with ISP enabled next week.
>
> My testing platform is v2h with the ISP, if you have a G2L could you
> maybe give it a spin there as I don't have any board with that SoC ?
>
Sure I will.

Cheers,
Prabhakar