From patchwork Fri Dec 8 01:08:36 2017 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: 10101381 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id C63246056F for ; Fri, 8 Dec 2017 01:09:33 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B917728969 for ; Fri, 8 Dec 2017 01:09:33 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id AE07128977; Fri, 8 Dec 2017 01:09:33 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 67F0E28969 for ; Fri, 8 Dec 2017 01:09:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752452AbdLHBJb (ORCPT ); Thu, 7 Dec 2017 20:09:31 -0500 Received: from smtp-4.sys.kth.se ([130.237.48.193]:44910 "EHLO smtp-4.sys.kth.se" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752407AbdLHBJE (ORCPT ); Thu, 7 Dec 2017 20:09:04 -0500 Received: from smtp-4.sys.kth.se (localhost.localdomain [127.0.0.1]) by smtp-4.sys.kth.se (Postfix) with ESMTP id 8F1F23A6C; Fri, 8 Dec 2017 02:09:03 +0100 (CET) X-Virus-Scanned: by amavisd-new at kth.se Received: from smtp-4.sys.kth.se ([127.0.0.1]) by smtp-4.sys.kth.se (smtp-4.sys.kth.se [127.0.0.1]) (amavisd-new, port 10024) with LMTP id QQ-086eJ8ft1; Fri, 8 Dec 2017 02:09:02 +0100 (CET) X-KTH-Auth: niso [89.233.230.99] X-KTH-mail-from: niklas.soderlund+renesas@ragnatech.se Received: from bismarck.berto.se (89-233-230-99.cust.bredband2.com [89.233.230.99]) by smtp-4.sys.kth.se (Postfix) with ESMTPSA id 7BC9141A4; Fri, 8 Dec 2017 02:09:02 +0100 (CET) From: =?UTF-8?q?Niklas=20S=C3=B6derlund?= To: Laurent Pinchart , Hans Verkuil , linux-media@vger.kernel.org Cc: linux-renesas-soc@vger.kernel.org, tomoharu.fukawa.eb@renesas.com, Kieran Bingham , =?UTF-8?q?Niklas=20S=C3=B6derlund?= Subject: [PATCH v9 22/28] rcar-vin: add chsel information to rvin_info Date: Fri, 8 Dec 2017 02:08:36 +0100 Message-Id: <20171208010842.20047-23-niklas.soderlund+renesas@ragnatech.se> X-Mailer: git-send-email 2.15.0 In-Reply-To: <20171208010842.20047-1-niklas.soderlund+renesas@ragnatech.se> References: <20171208010842.20047-1-niklas.soderlund+renesas@ragnatech.se> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Each Gen3 SoC has a limited set of predefined routing possibilities for which CSI-2 device and virtual channel can be routed to which VIN instance. Prepare to store this information in the struct rvin_info. Signed-off-by: Niklas Söderlund Reviewed-by: Hans Verkuil --- drivers/media/platform/rcar-vin/rcar-vin.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/drivers/media/platform/rcar-vin/rcar-vin.h b/drivers/media/platform/rcar-vin/rcar-vin.h index 5f736a3500b6e10f..41bf24aa8a1a0aed 100644 --- a/drivers/media/platform/rcar-vin/rcar-vin.h +++ b/drivers/media/platform/rcar-vin/rcar-vin.h @@ -35,6 +35,9 @@ /* Max number on VIN instances that can be in a system */ #define RCAR_VIN_NUM 8 +/* Max number of CHSEL values for any Gen3 SoC */ +#define RCAR_CHSEL_MAX 6 + enum chip_id { RCAR_H1, RCAR_M1, @@ -91,6 +94,22 @@ struct rvin_graph_entity { struct rvin_group; +/** struct rvin_group_chsel - Map a CSI-2 receiver and channel to a CHSEL value + * @csi: VIN internal number for CSI-2 device + * @chan: Output channel of the CSI-2 receiver. Each R-Car CSI-2 + * receiver has four output channels facing the VIN + * devices, each channel can carry one CSI-2 Virtual + * Channel (VC) and there are no correlation between + * output channel number and CSI-2 VC. It's up to the + * CSI-2 receiver driver to configure which VC is + * outputted on which channel, the VIN devices only + * cares about output channels. + */ +struct rvin_group_chsel { + enum rvin_csi_id csi; + unsigned int chan; +}; + /** * struct rvin_info - Information about the particular VIN implementation * @chip: type of VIN chip @@ -98,6 +117,9 @@ struct rvin_group; * * max_width: max input width the VIN supports * max_height: max input height the VIN supports + * + * num_chsels: number of possible chsel values for this VIN + * chsels: routing table VIN <-> CSI-2 for the chsel values */ struct rvin_info { enum chip_id chip; @@ -105,6 +127,9 @@ struct rvin_info { unsigned int max_width; unsigned int max_height; + + unsigned int num_chsels; + struct rvin_group_chsel chsels[RCAR_VIN_NUM][RCAR_CHSEL_MAX]; }; /**