From patchwork Fri Jun 6 07:34:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antoine Bouyer X-Patchwork-Id: 23472 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id E54D9C31E9 for ; Fri, 6 Jun 2025 07:34:28 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 7B54568DBD; Fri, 6 Jun 2025 09:34:27 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="WfRQ7jGH"; dkim-atps=neutral Received: from AS8PR03CU001.outbound.protection.outlook.com (mail-westeuropeazlp170120005.outbound.protection.outlook.com [IPv6:2a01:111:f403:c201::5]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 0AC3F68DB1 for ; Fri, 6 Jun 2025 09:34:25 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Wy5sLeXE3fbPA+LP/uY4HNbJLLQxKFyI3dSlSt1DN/F4F9idg4jITRcQhRL+bWAhumtHMdVi6Pp/9LTQz3PnoWMGqewn5S7UKQCamxzgRng+Wlgr1AxAHbVIUQynmLAS4Pha5/OLhnE4CuyLyOTBROynWKfCpyeKVja4egBDpRBPK39tBRO6hIXOCG12kSsuESAlqGr5jV1XaeucSruFXRSWk2jGJ1WwE7KyNeR+4f6zOigYn7/wAY4rpA2YNJvSE1l3V+LEpPVKmHw127uHC+nEtBH0WW5SbsOUSPdKdmjFR6greZKstNmZdHXm3wTf3uZsKWYjgxdcftPcQGEjrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=9SOz9Sc45MRq5oI+yQMZDIGGwaowZJUemHeInRLT4Aw=; b=vD9DcmOH0iCxj9Eq9wnProPSOvyJAoVXYRq0boVnnxG4RUcMg4MitIT+Y+3fXYng/LMRiA1WLYngSsbQiDcT0XRjQMGVRQKraPhMrr7n2TeKZ5SY8xttgzT3+UkoIM24QRNTetF+4m0p058Qy2L/YSn/of4PZl60m3cHuSGox1J/zliWihRAt1cd3WnoCIK/UdctXGcx0HWOG16f/AdYbVT+xpCWUlSTANIYsd2S8y9SgxubU/8bmuxqiqtmYlbZrrasljMJZshUbTDJN4lZt4Yfb12mWObcX6a0KNTZYKBgjUY/tnAqgN39MpNIOn864zPasJMD1J/NXM091EOKFA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9SOz9Sc45MRq5oI+yQMZDIGGwaowZJUemHeInRLT4Aw=; b=WfRQ7jGHUbl5nHNHd8rn5GtWvPSVExdmLyzUq/8u6o4yhFAMjOuXF9ezzDQzlRAsi+WciyhK4Js0I9zBbkjvTxt6uZKbuPagPy4ZjqcsT2sOFSUbxd29Fht0pZOAbwIGKqpPQS3M1ugnK7X7WXd3AfrNFVeoNro6gyVFW7dbo+XEzVejRad1B9XUHUiE3sqAor8sbuhBZFqa3g/HUMdyh9yx+OhrEzFvOq8i724RlWqeWNlv5LX14nEGUVvKYvNEH9GnlFHBAgt2oWGbR6BabrGy9qhAS2zUEIt+JwXOHm/R8GYq3cPhl6RpmOPk3QbMMpoS4XVTKfFSg2BT++8WxA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DB9PR04MB9817.eurprd04.prod.outlook.com (2603:10a6:10:4f0::16) by DB9PR04MB9868.eurprd04.prod.outlook.com (2603:10a6:10:4c3::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.20; Fri, 6 Jun 2025 07:34:23 +0000 Received: from DB9PR04MB9817.eurprd04.prod.outlook.com ([fe80::144:cb06:336d:abb3]) by DB9PR04MB9817.eurprd04.prod.outlook.com ([fe80::144:cb06:336d:abb3%4]) with mapi id 15.20.8813.018; Fri, 6 Jun 2025 07:34:23 +0000 From: Antoine Bouyer To: libcamera-devel@lists.libcamera.org Cc: julien.vuillaumier@nxp.com, Antoine Bouyer Subject: [PATCH] pipeline: imx8-isi: Dynamically compute crossbar subdevice's first source. Date: Fri, 6 Jun 2025 09:34:59 +0200 Message-Id: <20250606073459.1869940-1-antoine.bouyer@nxp.com> X-Mailer: git-send-email 2.34.1 X-ClientProxiedBy: AS4PR10CA0011.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:5dc::14) To DB9PR04MB9817.eurprd04.prod.outlook.com (2603:10a6:10:4f0::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9PR04MB9817:EE_|DB9PR04MB9868:EE_ X-MS-Office365-Filtering-Correlation-Id: f3e7ecc9-be3e-4e71-954f-08dda4cc8ed3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|1800799024|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: xRxVvWhZbft/8E64fJsZLnSjU7FY6xWmivrWdH6za9na6Dtp+3kI5SfPjDaK1qHiosulyJJUAJWF6494Fd0CZYILMhNEbSRLlSY7nmsU4ofFvNiE1HgA7sa7Ap/zzwXgjglmvurBUDnlGnHHicD6eestMeYy1A3CdPBpDtGOEiB37llrBxc4ipd9ZpuyD+QpOvY6iseqM00XqzyWHFjLFlIdEgKP8GJ9KBAcxTWtTQ7wt1cBGp3KkYOAm+5eSG9pjwbP1EQY155y99kRZqrGy4tUuHQ+Uv2bDuJN/LAGJMiuin6LVIuacb4u5AMu+rB0479birPP370BP+do8LjCYkrHt+82X5Z+KXhpGjh6euxG8FR5WSZly28BfzgfMtIq8Y4d4lXP39+ESWFJT8xbphU3OR3rioX++UNCxevsyfsJj0FBCj45Q9opChPPIqkmfF+Z2nVIHBhuBRQD0S6Ox2WFtyDt8QwHBzg8vYpjAsE1jvu8fWwGD5+26PwjFrRfDKkF/9gE/a2D6hzb6PcV175GjTOXQT2uoFz8QTztbWuTqetrIosarjJRK2Yh/G7t9hBgPun7E2EWtIR4bnyj80mGURCF3sI0qoXFvL6qau4AizV09r5w/CvMCl/7yIKzhQRUojJm4ykaeYAwOXVcZEptWMXmuyQDuxfq3IFnZZHpJNP+E7QPwlMl3j9+v0qQPxCwWKs7u0avgP4tfMIG6DRCNsPHFa0l934otQw9lVGbqZB5WaLqb9nz+I6E8lmO9hmp68p3eoeibGu9tg20JfBTPLkjR41bC+z1mseYZ4By8YpBsPW0Fs/Bmo2Ds+80FSOn0inXD6jdHs8PbTVZBputSd+BeyqBoLo2TOQCbJVgiEcAkcZhNZUNaOxDWJLh310TmHD0WlmRqgG9BPjqa9rfSfBtmRfV9VGOUgSCq0Nld8F0KjqGq4AVt4l2tNld0jxXIerqFnRMfOq15OaT10OjV+UTn6874hm9gzy4wfsxTqklo5Bw6D2e0KrdYc9WHJAVVXEQejKOAF3fRl7sZTn0zwjEFs+tUcz2Z168WxznGuBvMr7ReJ4ZJUUypWZft5LIBmZZk8KeeZ8E13+4NXLdyVdz9JWEMGU+DD7csroopIRUO3v6HXdtJEmunAl0IoK6qlFmbJHoNfjmfp1gILYTd91fA7VxP0Q8uCRj1l2bgCg2E1j0KqWUeUEvww9XZk7oTYQ9dlkKYEgetgs5NMnAtDj+JEFtz9jPeW3GJtgW/ddfO3ZUt3NH6gG3nXSpkriyd30T8R6yiTZ/5zCQFw8t3IU8ZvY8TM5Yh3iScwmjaOk4snVQuA8y4S9xTwHHj2wMlPZYRgJmU4/vXJqF8sg20lM2AloH/trySTjK9SyNjVegllFqLSsCaIeqjdLxfJcJZlHYA3zt0HEPlTp+D8EMo3h10yPhI7RYqArdGUP4AC7uPtFt5TtZHtuqZTQJ7GEYJ8RpOoF1UFEoe1sK5NUj+2O2y7KXWfZAUdiGsQQ= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR04MB9817.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(52116014)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 6acn78frrb+10mNsAwHruaIdbdwu61/JHTYgPTRikxIMi0cTfr6tBf4Yu/jR/JeNxwQiP4qN2UMyvjt+h1+3oyufLVDzXrAE5IBxoKbaLe7JDQDHCJyYnWLemna/W9u4Gle4suD6TzNVwy+xAEjY3YC0sYik78YF5OPTLlCq3OzNrFdCt137w0GmTXeQy9KnSqgoYg/0dFB459hmMJx/e3vAb6nixbOXPHM5+KO7ITQ/7rZm4WohyNHk/ayh7wm473TYzeROsxms9FHdQJpiEe6HHfESolUYSsdOc7+Rb1vb8c3FBymQFULOAaW6bXqZ5I/GpOn80p7/KsGp9AnDg0+VRQ+VXp1bJ30+HVbhR9hSgeaSBtMKAVfHQdjVtSHtTptbb1ORMR86mBFgAB9rz1Io8B0RG/tpfx7QwokMHi92yTi3jXAGJzJuF5+X0CMSxLOOtM6u0BOReAx0EeXjbm4NRfDb8aSHic+mHjnHpJ1vIhgWeFz5yjiHTLb3XwEkN3STLuCsnRQyodbnthkDABmONkAaGvS8+eOSwQY25kjEYHeEnl1DrJfaXlzXwjdRw2pf+hbiyTFGstymGGk8zuTPIwfA2Yg0R2yz50C4Y5HPsJa6dFr1GhQhmlEUQdN0QWr8hSTc/ISjUY7S5UctoDmv+uYSM0abSYglnMWEMY/e/+bI438fF49Vgk/Fjh/vyPRXuWgIHFQRRZlf/fBg51XR+43we1r6di6LSE9owk8wbTts35eleBhC8BmJYm5Oedif5fos3YdITxKJnt8828azdHYnNAEld7pzn6CCK2JKK5GqsgnVtF3+AKkNmKCIbtZItTNN9kLEpXv3XIXmIWeYLr+FeOawtc21kqeptVYD4LA+lHIGxwPsbb9ioVs3CffJP377vzZvtblLmWCRl2BkFjNHcR5M8WnWwPCcOfGgxYrYYtfakr1ZTKH68rszTg6LvQ2bLgH0KgbTsfD5cmoMva6uiE6XMD8/Ojxq7vvdMy1o/LwI8NfeWou0g/JdOnPg1Jg3ReDJrKiUrDqhRsyc836lc3GK3R7PF9Mpsx6MsrELlHgi3BJdmtEDmApId8jZuqi+JB/6FmO8ikEyw9kdvzV8gNNHw5AZ5Lqk57Ff0BAfyl1Jy4TyEa7A9UaLPLfFfvXV21sQ70VpzATgN/2LiQXp1qb4Xm2FdQVqX+w6Iex/fCHbC1qpilmrFl9B/mr4CKZW0FdHPbPvM4K4moODk5XHDY09FFGI3rc1L2xLK7gAn3WZBxUcPNxXH5rTmo8ML2xURpwm7ObygxBrNLAg3Aoqnbvngsr3FG6nLwrYNtoR5eGmMIv+jEaH9QjcdQOWyWBc1gGmXZlS0HYNn93Xu/CXxWIQ1ctHC1rzkOoEzYGFxZT2UGmog2lBWCY2bXjSDozCCrhUozmCicml6TwU2EmvDxhexEjgzPzBQ7WUNVBedrU+4t8IbpP75kPizauUl0GX6d/5GFLKCYNwTCbKdDImw16ZLl/xkZDEuhKMIVLm22AgxuOzr8VWzTsCVOHlwSCmQ1uGLSbXJ4qD1ULz9c3NA8xsWcbzRsPaSJOlBubvSrN5G5qN7Sx7ttAeqp36pciJvF6E8ZeyAWvypQ== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f3e7ecc9-be3e-4e71-954f-08dda4cc8ed3 X-MS-Exchange-CrossTenant-AuthSource: DB9PR04MB9817.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2025 07:34:23.4724 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: lMvZJ566YdH0SLLhGKNadxDmBwLqRBFe3BTSxbUA/ZsBBVKE2J5VBgnqfjxQPlPGqjJ1Uh1Nk2IkIGrM+ohcKw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9868 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" So far, imx8-isi pipeline supports _symetrical_ crossbar, with same amount of sink and source pads. But for some other imx SoCs, such as i.MX8QM or i.MX95, crossbar is not symetric anymore. Since each crossbar source is already captured as a pipes_ vector entry, we use pipes_ vector's size to compute 1st source index. "1st source index" = "total number of crossbar pads" - pipes_.count() Signed-off-by: Antoine Bouyer --- src/libcamera/pipeline/imx8-isi/imx8-isi.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcamera/pipeline/imx8-isi/imx8-isi.cpp b/src/libcamera/pipeline/imx8-isi/imx8-isi.cpp index ecda426a6021..177097ae21d6 100644 --- a/src/libcamera/pipeline/imx8-isi/imx8-isi.cpp +++ b/src/libcamera/pipeline/imx8-isi/imx8-isi.cpp @@ -822,7 +822,7 @@ int PipelineHandlerISI::configure(Camera *camera, CameraConfiguration *c) * routing table instead of resetting it. */ V4L2Subdevice::Routing routing = {}; - unsigned int xbarFirstSource = crossbar_->entity()->pads().size() / 2 + 1; + unsigned int xbarFirstSource = crossbar_->entity()->pads().size() - pipes_.size(); for (const auto &[idx, config] : utils::enumerate(*c)) { uint32_t sourcePad = xbarFirstSource + idx;