mbox series

[v3,00/11] media: renesas: rcar-csi2: Use the subdev active state

Message ID 20240509161403.111789-1-jacopo.mondi@ideasonboard.com (mailing list archive)
Headers show
Series media: renesas: rcar-csi2: Use the subdev active state | expand

Message

Jacopo Mondi May 9, 2024, 4:13 p.m. UTC
v2->v3:
- rcar-csi2: Collect v2.2 of [4/11]
- adv748x: enum_mbus_code: reduce the number of formats to the ones supported
  by the HDMI and Analog front ends;
- adv748x: enum_mbus_code: enumerate all formats on sink pad; enumerate the
  active format on the source pad
- max9286: Apply the format to all pads to enforce all links to have the same
  format
- max9286: Remove max9286_set_fsync_period() from setup

v2->v1:
  - Remove "media: adv748x-csi2: Initialize subdev format"
  - Add "media: adv748x-afe: Use 1X16 media bus code"
  - Tested with CVBS
  - address comments from Laurent and Niklas

A branch is available at
https://git.kernel.org/pub/scm/linux/kernel/git/jmondi/linux.git/
jmondi/renesas-drivers-2024-04-23-v6.9-rc5/multistream-prep

As a follow-up to the recently sent
"media: renesas: rcar-csi2: Support multiple streams" series, this smaller
version collects some fixes and implement usage of the subdev active state
to simplify the R-Car CSI-2, ADV748x and MAX9286 drivers implementations.

Tested with GMSL on Eagle V3M
Tested with HDMI on Salvator-X
Tested with CVBS on Salvator-X
Boot tested on WhiteHawk V4H


Jacopo Mondi (11):
  media: rcar-vin: Fix YUYV8_1X16 handling for CSI-2
  media: rcar-csi2: Disable runtime_pm in probe error
  media: rcar-csi2: Cleanup subdevice in remove()
  media: rcar-csi2: Use the subdev active state
  media: adv748x-csi2: Implement enum_mbus_codes
  media: adv748x-csi2: Validate the image format
  media: adv748x-csi2: Use the subdev active state
  media: adv748x-afe: Use 1X16 media bus code
  media: max9286: Fix enum_mbus_code
  media: max9286: Use the subdev active state
  media: max9286: Use frame interval from subdev state

 drivers/media/i2c/adv748x/adv748x-afe.c       |   4 +-
 drivers/media/i2c/adv748x/adv748x-csi2.c      | 145 +++++++++-----
 drivers/media/i2c/adv748x/adv748x.h           |   1 -
 drivers/media/i2c/max9286.c                   | 182 +++++++-----------
 drivers/media/platform/renesas/rcar-csi2.c    | 155 +++++++++------
 .../platform/renesas/rcar-vin/rcar-dma.c      |  16 +-
 6 files changed, 271 insertions(+), 232 deletions(-)

--
2.44.0

Comments

Laurent Pinchart May 9, 2024, 8:51 p.m. UTC | #1
Hello,

On Thu, May 09, 2024 at 06:13:50PM +0200, Jacopo Mondi wrote:
> v2->v3:
> - rcar-csi2: Collect v2.2 of [4/11]
> - adv748x: enum_mbus_code: reduce the number of formats to the ones supported
>   by the HDMI and Analog front ends;
> - adv748x: enum_mbus_code: enumerate all formats on sink pad; enumerate the
>   active format on the source pad
> - max9286: Apply the format to all pads to enforce all links to have the same
>   format
> - max9286: Remove max9286_set_fsync_period() from setup
> 
> v2->v1:
>   - Remove "media: adv748x-csi2: Initialize subdev format"
>   - Add "media: adv748x-afe: Use 1X16 media bus code"
>   - Tested with CVBS
>   - address comments from Laurent and Niklas
> 
> A branch is available at
> https://git.kernel.org/pub/scm/linux/kernel/git/jmondi/linux.git/
> jmondi/renesas-drivers-2024-04-23-v6.9-rc5/multistream-prep
> 
> As a follow-up to the recently sent
> "media: renesas: rcar-csi2: Support multiple streams" series, this smaller
> version collects some fixes and implement usage of the subdev active state
> to simplify the R-Car CSI-2, ADV748x and MAX9286 drivers implementations.
> 
> Tested with GMSL on Eagle V3M
> Tested with HDMI on Salvator-X
> Tested with CVBS on Salvator-X
> Boot tested on WhiteHawk V4H

Niklas, would you be able to runtime-test this on V4H ? The series is
otherwise ready to be merged in my opinion.

> Jacopo Mondi (11):
>   media: rcar-vin: Fix YUYV8_1X16 handling for CSI-2
>   media: rcar-csi2: Disable runtime_pm in probe error
>   media: rcar-csi2: Cleanup subdevice in remove()
>   media: rcar-csi2: Use the subdev active state
>   media: adv748x-csi2: Implement enum_mbus_codes
>   media: adv748x-csi2: Validate the image format
>   media: adv748x-csi2: Use the subdev active state
>   media: adv748x-afe: Use 1X16 media bus code
>   media: max9286: Fix enum_mbus_code
>   media: max9286: Use the subdev active state
>   media: max9286: Use frame interval from subdev state
> 
>  drivers/media/i2c/adv748x/adv748x-afe.c       |   4 +-
>  drivers/media/i2c/adv748x/adv748x-csi2.c      | 145 +++++++++-----
>  drivers/media/i2c/adv748x/adv748x.h           |   1 -
>  drivers/media/i2c/max9286.c                   | 182 +++++++-----------
>  drivers/media/platform/renesas/rcar-csi2.c    | 155 +++++++++------
>  .../platform/renesas/rcar-vin/rcar-dma.c      |  16 +-
>  6 files changed, 271 insertions(+), 232 deletions(-)
Niklas Söderlund May 9, 2024, 10:48 p.m. UTC | #2
Hello,

On 2024-05-09 23:51:29 +0300, Laurent Pinchart wrote:
> Hello,
> 
> On Thu, May 09, 2024 at 06:13:50PM +0200, Jacopo Mondi wrote:
> > v2->v3:
> > - rcar-csi2: Collect v2.2 of [4/11]
> > - adv748x: enum_mbus_code: reduce the number of formats to the ones supported
> >   by the HDMI and Analog front ends;
> > - adv748x: enum_mbus_code: enumerate all formats on sink pad; enumerate the
> >   active format on the source pad
> > - max9286: Apply the format to all pads to enforce all links to have the same
> >   format
> > - max9286: Remove max9286_set_fsync_period() from setup
> > 
> > v2->v1:
> >   - Remove "media: adv748x-csi2: Initialize subdev format"
> >   - Add "media: adv748x-afe: Use 1X16 media bus code"
> >   - Tested with CVBS
> >   - address comments from Laurent and Niklas
> > 
> > A branch is available at
> > https://git.kernel.org/pub/scm/linux/kernel/git/jmondi/linux.git/
> > jmondi/renesas-drivers-2024-04-23-v6.9-rc5/multistream-prep
> > 
> > As a follow-up to the recently sent
> > "media: renesas: rcar-csi2: Support multiple streams" series, this smaller
> > version collects some fixes and implement usage of the subdev active state
> > to simplify the R-Car CSI-2, ADV748x and MAX9286 drivers implementations.
> > 
> > Tested with GMSL on Eagle V3M
> > Tested with HDMI on Salvator-X
> > Tested with CVBS on Salvator-X
> > Boot tested on WhiteHawk V4H
> 
> Niklas, would you be able to runtime-test this on V4H ? The series is
> otherwise ready to be merged in my opinion.

I have run-time tested this on Gen4 and it works as expected. I also 
tested on Gen2 and Gen3 and all looks good.

Patch 7 needs to be moved earlier in the series to avoid breaking git 
bisect, but that move causes no conflicts so should be easy. With that 
fixed I too think this is ready to be merged. Nice work Jacopo!

> 
> > Jacopo Mondi (11):
> >   media: rcar-vin: Fix YUYV8_1X16 handling for CSI-2
> >   media: rcar-csi2: Disable runtime_pm in probe error
> >   media: rcar-csi2: Cleanup subdevice in remove()
> >   media: rcar-csi2: Use the subdev active state
> >   media: adv748x-csi2: Implement enum_mbus_codes
> >   media: adv748x-csi2: Validate the image format
> >   media: adv748x-csi2: Use the subdev active state
> >   media: adv748x-afe: Use 1X16 media bus code
> >   media: max9286: Fix enum_mbus_code
> >   media: max9286: Use the subdev active state
> >   media: max9286: Use frame interval from subdev state
> > 
> >  drivers/media/i2c/adv748x/adv748x-afe.c       |   4 +-
> >  drivers/media/i2c/adv748x/adv748x-csi2.c      | 145 +++++++++-----
> >  drivers/media/i2c/adv748x/adv748x.h           |   1 -
> >  drivers/media/i2c/max9286.c                   | 182 +++++++-----------
> >  drivers/media/platform/renesas/rcar-csi2.c    | 155 +++++++++------
> >  .../platform/renesas/rcar-vin/rcar-dma.c      |  16 +-
> >  6 files changed, 271 insertions(+), 232 deletions(-)
> 
> -- 
> Regards,
> 
> Laurent Pinchart
Laurent Pinchart May 9, 2024, 11:06 p.m. UTC | #3
On Fri, May 10, 2024 at 12:48:48AM +0200, Niklas Söderlund wrote:
> On 2024-05-09 23:51:29 +0300, Laurent Pinchart wrote:
> > On Thu, May 09, 2024 at 06:13:50PM +0200, Jacopo Mondi wrote:
> > > v2->v3:
> > > - rcar-csi2: Collect v2.2 of [4/11]
> > > - adv748x: enum_mbus_code: reduce the number of formats to the ones supported
> > >   by the HDMI and Analog front ends;
> > > - adv748x: enum_mbus_code: enumerate all formats on sink pad; enumerate the
> > >   active format on the source pad
> > > - max9286: Apply the format to all pads to enforce all links to have the same
> > >   format
> > > - max9286: Remove max9286_set_fsync_period() from setup
> > > 
> > > v2->v1:
> > >   - Remove "media: adv748x-csi2: Initialize subdev format"
> > >   - Add "media: adv748x-afe: Use 1X16 media bus code"
> > >   - Tested with CVBS
> > >   - address comments from Laurent and Niklas
> > > 
> > > A branch is available at
> > > https://git.kernel.org/pub/scm/linux/kernel/git/jmondi/linux.git/
> > > jmondi/renesas-drivers-2024-04-23-v6.9-rc5/multistream-prep
> > > 
> > > As a follow-up to the recently sent
> > > "media: renesas: rcar-csi2: Support multiple streams" series, this smaller
> > > version collects some fixes and implement usage of the subdev active state
> > > to simplify the R-Car CSI-2, ADV748x and MAX9286 drivers implementations.
> > > 
> > > Tested with GMSL on Eagle V3M
> > > Tested with HDMI on Salvator-X
> > > Tested with CVBS on Salvator-X
> > > Boot tested on WhiteHawk V4H
> > 
> > Niklas, would you be able to runtime-test this on V4H ? The series is
> > otherwise ready to be merged in my opinion.
> 
> I have run-time tested this on Gen4 and it works as expected. I also 
> tested on Gen2 and Gen3 and all looks good.

Can I add your Tested-by ? :-)

> Patch 7 needs to be moved earlier in the series to avoid breaking git 
> bisect, but that move causes no conflicts so should be easy. With that 
> fixed I too think this is ready to be merged. Nice work Jacopo!

I've reordered the patches in my tree already.

> > > Jacopo Mondi (11):
> > >   media: rcar-vin: Fix YUYV8_1X16 handling for CSI-2
> > >   media: rcar-csi2: Disable runtime_pm in probe error
> > >   media: rcar-csi2: Cleanup subdevice in remove()
> > >   media: rcar-csi2: Use the subdev active state
> > >   media: adv748x-csi2: Implement enum_mbus_codes
> > >   media: adv748x-csi2: Validate the image format
> > >   media: adv748x-csi2: Use the subdev active state
> > >   media: adv748x-afe: Use 1X16 media bus code
> > >   media: max9286: Fix enum_mbus_code
> > >   media: max9286: Use the subdev active state
> > >   media: max9286: Use frame interval from subdev state
> > > 
> > >  drivers/media/i2c/adv748x/adv748x-afe.c       |   4 +-
> > >  drivers/media/i2c/adv748x/adv748x-csi2.c      | 145 +++++++++-----
> > >  drivers/media/i2c/adv748x/adv748x.h           |   1 -
> > >  drivers/media/i2c/max9286.c                   | 182 +++++++-----------
> > >  drivers/media/platform/renesas/rcar-csi2.c    | 155 +++++++++------
> > >  .../platform/renesas/rcar-vin/rcar-dma.c      |  16 +-
> > >  6 files changed, 271 insertions(+), 232 deletions(-)
Niklas Söderlund May 10, 2024, 8:36 a.m. UTC | #4
On 2024-05-10 02:06:04 +0300, Laurent Pinchart wrote:
> On Fri, May 10, 2024 at 12:48:48AM +0200, Niklas Söderlund wrote:
> > On 2024-05-09 23:51:29 +0300, Laurent Pinchart wrote:
> > > On Thu, May 09, 2024 at 06:13:50PM +0200, Jacopo Mondi wrote:
> > > > v2->v3:
> > > > - rcar-csi2: Collect v2.2 of [4/11]
> > > > - adv748x: enum_mbus_code: reduce the number of formats to the ones supported
> > > >   by the HDMI and Analog front ends;
> > > > - adv748x: enum_mbus_code: enumerate all formats on sink pad; enumerate the
> > > >   active format on the source pad
> > > > - max9286: Apply the format to all pads to enforce all links to have the same
> > > >   format
> > > > - max9286: Remove max9286_set_fsync_period() from setup
> > > > 
> > > > v2->v1:
> > > >   - Remove "media: adv748x-csi2: Initialize subdev format"
> > > >   - Add "media: adv748x-afe: Use 1X16 media bus code"
> > > >   - Tested with CVBS
> > > >   - address comments from Laurent and Niklas
> > > > 
> > > > A branch is available at
> > > > https://git.kernel.org/pub/scm/linux/kernel/git/jmondi/linux.git/
> > > > jmondi/renesas-drivers-2024-04-23-v6.9-rc5/multistream-prep
> > > > 
> > > > As a follow-up to the recently sent
> > > > "media: renesas: rcar-csi2: Support multiple streams" series, this smaller
> > > > version collects some fixes and implement usage of the subdev active state
> > > > to simplify the R-Car CSI-2, ADV748x and MAX9286 drivers implementations.
> > > > 
> > > > Tested with GMSL on Eagle V3M
> > > > Tested with HDMI on Salvator-X
> > > > Tested with CVBS on Salvator-X
> > > > Boot tested on WhiteHawk V4H
> > > 
> > > Niklas, would you be able to runtime-test this on V4H ? The series is
> > > otherwise ready to be merged in my opinion.
> > 
> > I have run-time tested this on Gen4 and it works as expected. I also 
> > tested on Gen2 and Gen3 and all looks good.
> 
> Can I add your Tested-by ? :-)

For patches 1-8,

Tested-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

I'm afraid I don't have a turn-key setup to test max9286.

> 
> > Patch 7 needs to be moved earlier in the series to avoid breaking git 
> > bisect, but that move causes no conflicts so should be easy. With that 
> > fixed I too think this is ready to be merged. Nice work Jacopo!
> 
> I've reordered the patches in my tree already.
> 
> > > > Jacopo Mondi (11):
> > > >   media: rcar-vin: Fix YUYV8_1X16 handling for CSI-2
> > > >   media: rcar-csi2: Disable runtime_pm in probe error
> > > >   media: rcar-csi2: Cleanup subdevice in remove()
> > > >   media: rcar-csi2: Use the subdev active state
> > > >   media: adv748x-csi2: Implement enum_mbus_codes
> > > >   media: adv748x-csi2: Validate the image format
> > > >   media: adv748x-csi2: Use the subdev active state
> > > >   media: adv748x-afe: Use 1X16 media bus code
> > > >   media: max9286: Fix enum_mbus_code
> > > >   media: max9286: Use the subdev active state
> > > >   media: max9286: Use frame interval from subdev state
> > > > 
> > > >  drivers/media/i2c/adv748x/adv748x-afe.c       |   4 +-
> > > >  drivers/media/i2c/adv748x/adv748x-csi2.c      | 145 +++++++++-----
> > > >  drivers/media/i2c/adv748x/adv748x.h           |   1 -
> > > >  drivers/media/i2c/max9286.c                   | 182 +++++++-----------
> > > >  drivers/media/platform/renesas/rcar-csi2.c    | 155 +++++++++------
> > > >  .../platform/renesas/rcar-vin/rcar-dma.c      |  16 +-
> > > >  6 files changed, 271 insertions(+), 232 deletions(-)
> 
> -- 
> Regards,
> 
> Laurent Pinchart