mbox series

[v2,0/4] rcar-csi2: Update handling of transfer error

Message ID 20210115002148.4079591-1-niklas.soderlund+renesas@ragnatech.se
Headers show
Series rcar-csi2: Update handling of transfer error | expand

Message

Niklas Söderlund Jan. 15, 2021, 12:21 a.m. UTC
Hello,

This series adapts the R-Car CSI-2 receiver recovery logic to match
updates in the datasheet. The later datasheets recommend that the whole
video pipeline shall be stopped if an transmission error is detected
instead of just restarting the CSI-2 receiver.

To do this we leverage the recent changes to support suspend/resume of
time the whole pipeline and inform the C-Car VIN driver of the detected
error so it can stop the whole pipeline and inform user-space of the
detected fault.

Patch 1/4 and 2/4 fixes faults in the VIN driver that where detected
when working on this. Patch 3/4 prepares the VIN driver to deal with the
EOS event from R-Car CSI-2 driver And patch 4/4 changes the error logic
of the CSI-2 receiver to match the datasheet.

This is tested on M3-N and a fault is injected by quickly removing and
re-inserting the HDMI cable while streaming. This method does not always
hit and is time consuming. To consistently prove correctness of handling
a fake fault was introduced by a HACK and a debugfs entry.

Niklas Söderlund (4):
  rcar-vin: Do not try to stop stream if not running
  rcar-vin: Route events to correct video device
  rcar-vin: Stop stream when subdevice signal EOS
  rcar-csi2: Do not try to recover after transfer error

 drivers/media/platform/rcar-vin/rcar-csi2.c | 14 +++--
 drivers/media/platform/rcar-vin/rcar-dma.c  |  5 ++
 drivers/media/platform/rcar-vin/rcar-v4l2.c | 58 ++++++++++++++++++---
 3 files changed, 63 insertions(+), 14 deletions(-)