mbox series

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

Message ID 20201112225147.1672622-1-niklas.soderlund+renesas@ragnatech.se (mailing list archive)
Headers show
Series rcar-csi2: Update handling of transfer error | expand

Message

Niklas Söderlund Nov. 12, 2020, 10:51 p.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(-)