mbox series

[0/5] media: rcar-vin: Remove emulated SEQ_{TB,BT}

Message ID 20250121231927.187463-1-niklas.soderlund+renesas@ragnatech.se (mailing list archive)
Headers show
Series media: rcar-vin: Remove emulated SEQ_{TB,BT} | expand

Message

Niklas Söderlund Jan. 21, 2025, 11:19 p.m. UTC
Hello,

When the driver was converted from soc_camera emulated support for
V4L2_FIELD_SEQ_TB and V4L2_FIELD_SEQ_BT where added. This was done by
capturing twice to the same VB2 buffer, but at different offsets.

This trend out to be a bad idea and the wrong place to try and emulate 
this kind of thing. Further more it is fragile when it comes to things 
like suspend/resume and scaling. Just how fragile it was have been made 
more apparent when more features where added to the driver for things 
the hardware really can do.

If user-space really want to capture things in a SEQ_{TB,BT} fashion 
this emulation of capturing twice to the same buffer with a different 
offset can be emulated their instead of the kernel, where it always 
should have been.

This series removes this emulation in patch 1/5 and then proceeds to 
remove a lot of cruft code needed to support it. The primary cleanups in 
patch 2/5 - 4/5 revolve around simplifying the VIN internal state 
tracking from 5 to 2 states needed to support the emulation.

Finally patch 5/5 removes a hack in the R-Car CSI-2 driver which was 
added to support this emulation, and is no longer needed.

I have tested this on Gen2, Gen3 and Gen4 without hitting any 
regressions or other issues, other then of course SEQ_{TB,BT} are no 
longer enumerated as output formats.

Niklas Söderlund (5):
  media: rcar-vin: Remove emulated SEQ_{TB,BT}
  media: rcar-vin: Remove superfluous suspended state
  media: rcar-vin: Remove superfluous starting state
  media: rcar-vin: Simplify the shutdown process
  media: rcar-csi2: Remove hack to detect NTSC content

 drivers/media/platform/renesas/rcar-csi2.c    |   8 +-
 .../platform/renesas/rcar-vin/rcar-core.c     |   6 +-
 .../platform/renesas/rcar-vin/rcar-dma.c      | 129 ++++--------------
 .../platform/renesas/rcar-vin/rcar-v4l2.c     |   7 -
 .../platform/renesas/rcar-vin/rcar-vin.h      |  40 +-----
 5 files changed, 33 insertions(+), 157 deletions(-)