From patchwork Fri Jan 15 00:21:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Niklas_S=C3=B6derlund?= X-Patchwork-Id: 364914 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5898BC433DB for ; Fri, 15 Jan 2021 00:30:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 1843823A9D for ; Fri, 15 Jan 2021 00:30:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731176AbhAOAaY (ORCPT ); Thu, 14 Jan 2021 19:30:24 -0500 Received: from bin-mail-out-05.binero.net ([195.74.38.228]:61554 "EHLO bin-mail-out-05.binero.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731034AbhAOAaX (ORCPT ); Thu, 14 Jan 2021 19:30:23 -0500 X-Greylist: delayed 442 seconds by postgrey-1.27 at vger.kernel.org; Thu, 14 Jan 2021 19:30:23 EST X-Halon-ID: b83682b3-56c7-11eb-b73f-0050569116f7 Authorized-sender: niklas.soderlund@fsdn.se Received: from bismarck.berto.se (p4fca2458.dip0.t-ipconnect.de [79.202.36.88]) by bin-vsp-out-03.atm.binero.net (Halon) with ESMTPA id b83682b3-56c7-11eb-b73f-0050569116f7; Fri, 15 Jan 2021 01:22:19 +0100 (CET) From: =?utf-8?q?Niklas_S=C3=B6derlund?= To: linux-media@vger.kernel.org Cc: linux-renesas-soc@vger.kernel.org, =?utf-8?q?Niklas_S=C3=B6derlund?= Subject: [PATCH v2 0/4] rcar-csi2: Update handling of transfer error Date: Fri, 15 Jan 2021 01:21:44 +0100 Message-Id: <20210115002148.4079591-1-niklas.soderlund+renesas@ragnatech.se> X-Mailer: git-send-email 2.30.0 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org 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(-)