From patchwork Tue Aug 22 23:26:35 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: 9916353 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 4EC0A603FA for ; Tue, 22 Aug 2017 23:29:17 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 41C4A26256 for ; Tue, 22 Aug 2017 23:29:17 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 36AF726E78; Tue, 22 Aug 2017 23:29:17 +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 BCABE26256 for ; Tue, 22 Aug 2017 23:29:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752966AbdHVX3P (ORCPT ); Tue, 22 Aug 2017 19:29:15 -0400 Received: from smtp-3.sys.kth.se ([130.237.48.192]:56038 "EHLO smtp-3.sys.kth.se" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752555AbdHVX2s (ORCPT ); Tue, 22 Aug 2017 19:28:48 -0400 Received: from smtp-3.sys.kth.se (localhost.localdomain [127.0.0.1]) by smtp-3.sys.kth.se (Postfix) with ESMTP id 27D0236A0; Wed, 23 Aug 2017 01:28:47 +0200 (CEST) X-Virus-Scanned: by amavisd-new at kth.se Received: from smtp-3.sys.kth.se ([127.0.0.1]) by smtp-3.sys.kth.se (smtp-3.sys.kth.se [127.0.0.1]) (amavisd-new, port 10024) with LMTP id PxWJrK2_8pyI; Wed, 23 Aug 2017 01:28:46 +0200 (CEST) X-KTH-Auth: niso [89.233.230.99] X-KTH-mail-from: niklas.soderlund+renesas@ragnatech.se Received: from bismarck.berto.se (unknown [89.233.230.99]) by smtp-3.sys.kth.se (Postfix) with ESMTPSA id 4C238369E; Wed, 23 Aug 2017 01:28:46 +0200 (CEST) From: =?UTF-8?q?Niklas=20S=C3=B6derlund?= To: Laurent Pinchart , Hans Verkuil Cc: Kieran Bingham , Sakari Ailus , tomoharu.fukawa.eb@renesas.com, linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org, =?UTF-8?q?Niklas=20S=C3=B6derlund?= Subject: [PATCH v6 20/25] rcar-vin: add chsel information to rvin_info Date: Wed, 23 Aug 2017 01:26:35 +0200 Message-Id: <20170822232640.26147-21-niklas.soderlund+renesas@ragnatech.se> X-Mailer: git-send-email 2.14.0 In-Reply-To: <20170822232640.26147-1-niklas.soderlund+renesas@ragnatech.se> References: <20170822232640.26147-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 --- drivers/media/platform/rcar-vin/rcar-vin.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/drivers/media/platform/rcar-vin/rcar-vin.h b/drivers/media/platform/rcar-vin/rcar-vin.h index 88683aaee3b6acd5..617f254b52fe106d 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,19 @@ struct rvin_graph_entity { struct rvin_group; + +/** struct rvin_group_chsel - Map a CSI2 device and channel for a CHSEL value + * @csi: VIN internal number for CSI2 device + * @chan: CSI-2 channel number on remote. Note that channel + * is not the same as VC. The CSI-2 hardware have 4 + * channels it can output on but which VC is outputted + * on which channel is configurable inside the CSI-2. + */ +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 +114,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 +124,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]; }; /**