From nobody Wed Oct 8 02:01:45 2025 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2065.outbound.protection.outlook.com [40.107.94.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D229F293C52; Thu, 3 Jul 2025 10:38:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.94.65 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751539139; cv=fail; b=CWDdI0l2y0S0pNojMgmDR3sRbNVLzuno0C+lCA/g7n7zeIdV8vKmut5BWpIMAV69zPIB71hSVWB+pBHV+8avoJvZOQ1p0PJRBH8MfiizKEhHMfnuzN5MbmLhERBczG9q8vd/3RIDLfh1I8ZeAoIebrSQGVUNhiVegKu5J4emU5w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751539139; c=relaxed/simple; bh=4fDaNbGW9N5aDuDDRfuhvODskWe3XjVwpCJQTb8p1k4=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ovQ8BIhH8HmZrR5h1t21SmFcXBI0ZnwLm9q0LuhoJKyNiAuYSTEYAlNWvPHwKNko6Y4ugQQiRKDL2Wvz8HXBTyery9Xyx+By5yPYhTVSwrHHNgeIJfPClhZvGgvEEhNxcgYt6gh0DW+agVdS1wY8TFXByZc9Rjf6AB2LZyWfEu4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=r2PZF69X; arc=fail smtp.client-ip=40.107.94.65 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="r2PZF69X" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pB33YgDdIEx7QrWz9BL5a87broYB8THt7sMSaAdWE5aadHDRzmPWwBwGEeWFa/c+36MaTqKhOtFcnYnj//ZOM1viOyrdQXKWU6k3t8+xLjKX05PucB/W2vT/bSrAHdfkU+sb3usLEtMAoXwtMy8pCdMHLrq6jXrRElhmWIhXnmMb2UepH8/7lDNl6mwBIdRQ81VW8pr9HSzEJcSuOS8PJS/QvUM/WFMS+3fzUH8bn96pTiseUN0Mo1xYfw9U8oLRJTc5X4LMj1jV3lyBdAtAT9Jt+OZi5pcOaQ5xrUyiJwSmBrVUmxv6H2+XkVUgJdtZMPWkbrIUNOqjupE4toJB6A== 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=So850jWhEnPCOPDO8yoQ0O6xWkBxXhVUb9yqnM5etls=; b=t4CwjlxBIxEt4zY7RptpawzWIpIKzJ9br+0u09o+vE8Ee4CGQJTZ1Rg1BV71pVYIwOt8yjjLzqQ0TIORPPXCcfZUhgE4HCXTplf4opzcFB40+gZPxqSkMgfHe5RD9KjW6dvqWlLjIweGuk8JHLnf5ismK3+rOadNq6WPAEUBx4rZeZ1e3D0kB6wfnxsKFBPeyZdbrZk60/tlkujGU2uAIenD0zr8zSjM0KRQFxwQUdsLhtZRz9T2rkC/0Hv1BDOl9g3onbU55Y5+xLeH9v/KOEFQ2jC7LLsPfXAgK+FkV+VYkDG3pPCk8Jn6uUUZsWMcp3dOKZNmAPjSFyGgWVcx7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=So850jWhEnPCOPDO8yoQ0O6xWkBxXhVUb9yqnM5etls=; b=r2PZF69X+5Kxl4vpVVs9KNFibyELPeST+fa/UdaN04eKoHRtRfHhwpacoxshckb4YI5q41LY00Urm1rYxn+E6Yi/Hu7+WW+X8N5wOsEP6nt/pZNJC6UCETupeN5pM7uslVarwDi2OSqh5rTTbuezytfoUTBwIf7tjr3g5MhKjyg/UhK9FK//6VbUokqYLbHHFM0Mv1ng9wTe/I6yPHCHH7zur2WGKjlXQG+FI+Z87y6ciM5/N3SdVqaY2myChVV+PM8UL+371N2ViafaoUIH+MM2uZ44DzERJWVJ8Hgzx0n+zyvBi0XjoMNiwniRiTGkj0jj9Kv35dg5iYIeigrBgw== Received: from CH0PR04CA0119.namprd04.prod.outlook.com (2603:10b6:610:75::34) by SN7PR12MB8435.namprd12.prod.outlook.com (2603:10b6:806:2e2::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8835.34; Thu, 3 Jul 2025 10:38:55 +0000 Received: from CH2PEPF00000141.namprd02.prod.outlook.com (2603:10b6:610:75:cafe::2c) by CH0PR04CA0119.outlook.office365.com (2603:10b6:610:75::34) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.20 via Frontend Transport; Thu, 3 Jul 2025 10:38:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CH2PEPF00000141.mail.protection.outlook.com (10.167.244.74) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.15 via Frontend Transport; Thu, 3 Jul 2025 10:38:55 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Thu, 3 Jul 2025 03:38:45 -0700 Received: from rnnvmail201.nvidia.com (10.129.68.8) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Thu, 3 Jul 2025 03:38:45 -0700 Received: from sumitg-l4t.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.8) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Thu, 3 Jul 2025 03:38:42 -0700 From: Sumit Gupta To: , , , , , , , CC: , , Subject: [PATCH v2 1/8] soc: tegra: cbb: clear err force register with err status Date: Thu, 3 Jul 2025 16:08:22 +0530 Message-ID: <20250703103829.1721024-2-sumitg@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250703103829.1721024-1-sumitg@nvidia.com> References: <20250703103829.1721024-1-sumitg@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NVConfidentiality: public Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: AnonymousSubmission X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PEPF00000141:EE_|SN7PR12MB8435:EE_ X-MS-Office365-Filtering-Correlation-Id: f200d268-18d2-4979-dd30-08ddba1dcfb1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|1800799024|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?VLeqkLV7MCZe0f8WLThdBXenzGYKJ8A1glQGE6WYwwU/S+1VThrKP9BbWQv5?= =?us-ascii?Q?fME/1khZaL31y0/1W7JfWjUo5PzX1XrJWToj1lvTRdz9qD+XLjhbl+9MBiVD?= =?us-ascii?Q?0yMLkiayyu+/hqlx3a6/mBTaoGtwKN/M/WY5YpUOkC/NCtD9z2YS6nNgP2v3?= =?us-ascii?Q?ymDfOb4rmCWmXx144meXrqzOIBrPZbIr9FqL63jjGRLCp37aaJof3NHDtkv1?= =?us-ascii?Q?pfOSemvKbv7JQU/Bz7qiGeZ74PUfdgnonnQx1X3Cs7If+iJCbX88tgNB92vH?= =?us-ascii?Q?97oiNy4qjq2NeaICinia3PW/dsIBApQDAvgyW9nlvLD6yPHh6O845R77B2GC?= =?us-ascii?Q?4kWa5tFJBF1WSM16ukwfNbyycS32dS06IOG7MiFXHERI6ZZwitJGjoobiY4W?= =?us-ascii?Q?ENiITj45ZW+wW6jWNk9XFFcoZsim2tPvGWenHbvfjvXucU7/fTWZ0f5RDyRX?= =?us-ascii?Q?ud81+7fcGN9Er9t3QDvFDakRCzjOr7YgtE/GUR2TqJNdi0ng2d2g0L6vI7U5?= =?us-ascii?Q?j72tVHu4JWYd+N09u88S9IOJ3+epRViYHa7xDlO5uH21j4+Bwa6aOaw38AEd?= =?us-ascii?Q?A1tbxceAynTSNvJQtxhr3GGlVzD33/DcnEDDSbTm5Qq5v1NQEhpbNeKb3YHq?= =?us-ascii?Q?F/ycQaBynAwNilLtSCa3/gT7yjF39D+HebVLT82hB6ZAxujmKgOqIwro9gAn?= =?us-ascii?Q?RjRZ4vw/GszCQE5c1B8DWvXOoGpvAhK6ynEKKDT0/PGpnhfKp+zgbDInKiCq?= =?us-ascii?Q?XmhmE9yT1c5TRUv3yYo/P0kP98ZLa7aCyczHqTanabkwRMmhz7AQriGFDBLq?= =?us-ascii?Q?Q0ZgvMvN66y8EW3j76kZjCR0GRnjzHdd49hXuRbjhX9tZJm8xZkoFia9IeVx?= =?us-ascii?Q?0G/qOcXHtk2zhglXQnimuxcNWLAz7aTzc5EP2McW66inydy29o+xtRrOU3gV?= =?us-ascii?Q?OaMOhFFYOLoKEVcMkl2BIT7MeOgrQdzG7BnCdmCpVuRThRWWZBp0BLbAMPIQ?= =?us-ascii?Q?nI5wiFstazsc+ci7fi6krZDgmsMl5I8WZxhUPM/TTFTE/we/ddqtcelbw6R4?= =?us-ascii?Q?HjWmBRgFvywQc2LKtdFZTQcXVKWJArwcjr6irkhRy2BzBj2CWOgHW2V6UL4+?= =?us-ascii?Q?nHPXLw3Ql6LPuBYFFvnZZBKcMZMtr2UfWDDfyyOTaw8s2kEbH8L9y+wh+2gf?= =?us-ascii?Q?2Lv/eguJET7c9DjOO6AwRdVbUznqrMFMKXiz17LndCe9V+BOTS5UC/i4sNpK?= =?us-ascii?Q?r/lMdyH9z+OSKIU8DQWpt+xIUULwqbQW11UsvrzU5aIuaCUQduSSW4tFaPn8?= =?us-ascii?Q?USjZThTSqjc+0Xqoljj65xEvB4R3fC5pTC5RYy88hMq9AscLkmnURtWxeaID?= =?us-ascii?Q?b9tuge9axf/Ub4eJUJxsTBx/slyiA2hVzc4Uwhns+hoU7w5whbEtlY6grmb4?= =?us-ascii?Q?ZU39T51SNGkQTLETC2rPtNaYwrpGeE6KLm/LfANAKM4KQqjwQep4HL6hExpA?= =?us-ascii?Q?k/1kCIQHpJNNJlCgWkbyn9w0qLgJ+qAUItYC?= X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(376014)(82310400026)(1800799024)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2025 10:38:55.6305 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f200d268-18d2-4979-dd30-08ddba1dcfb1 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH2PEPF00000141.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8435 Content-Type: text/plain; charset="utf-8" When error is injected with the ERR_FORCE register, then this register is not auto cleared on clearing the ERR_STATUS register. This causes repeated interrupts on error injection. To fix, set the ERR_FORCE to zero along with clearing the ERR_STATUS register after handling error. Fixes: fc2f151d2314 ("soc/tegra: cbb: Add driver for Tegra234 CBB 2.0") Signed-off-by: Sumit Gupta --- drivers/soc/tegra/cbb/tegra234-cbb.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/soc/tegra/cbb/tegra234-cbb.c b/drivers/soc/tegra/cbb/t= egra234-cbb.c index c74629af9bb5d..1da31ead2b5eb 100644 --- a/drivers/soc/tegra/cbb/tegra234-cbb.c +++ b/drivers/soc/tegra/cbb/tegra234-cbb.c @@ -185,6 +185,8 @@ static void tegra234_cbb_error_clear(struct tegra_cbb *= cbb) { struct tegra234_cbb *priv =3D to_tegra234_cbb(cbb); =20 + writel(0, priv->mon + FABRIC_MN_MASTER_ERR_FORCE_0); + writel(0x3f, priv->mon + FABRIC_MN_MASTER_ERR_STATUS_0); dsb(sy); } --=20 2.34.1 From nobody Wed Oct 8 02:01:45 2025 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2084.outbound.protection.outlook.com [40.107.92.84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9ACA62E266C; Thu, 3 Jul 2025 10:39:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.92.84 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751539155; cv=fail; b=O8MSRCCrwYmwb+asiP5j2vh6rpbp3qm/m3G+9SBwKBta4IUzjfQzjaCfx9eH1UvrZsqd3ZO7LKnlzi6vnr6I71WflWxNOi5bF8HgAij3iTQqeapbi4717cO6vP52zGGpj6d/RGyfwXIzPHL86YmvZ5hMDOOoRLtLCcXDPHLiiKM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751539155; c=relaxed/simple; bh=/KoiG9oC+6ukrdJWb5wCW7P0Yld2yfCJy1U/CmPg3Po=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=V87IWDZw3Pz/G0YgywsxA/Z7YCUAsVBM2mjFgmeHZAzG9RKOufm0Dj7ct4fMcZsm1zncWmYiO3u+7ct7AdUU1v1VugqTNqmIhdzl/F7d+g+d9pSs65xNgnpmGors9k58PaZrDO1swpL+o7uVwIxn8pdTRkGx+RmVKQsuersyAoY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=CSl7fZzx; arc=fail smtp.client-ip=40.107.92.84 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="CSl7fZzx" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CMSBQBXWe+7RtaVKkEsgZUQZzTpJGn+NX14yWLBgOibOE9FGhNZBSH+ZOyu4C8vTO1te6zYNIkWKY+eu47ljN8LLYIp3BIvJ31C2DEGILmPUWUYw1iSHsjm63sooi313usuIDMuNQZ36yATZh6B4Z7tsSCGmMHOkaaR7Xy9eEhQh/zTbA6pM+/YQfJWzkoDBMPkGgRb1f4LD8hnHmmMtmd0V/ewpwyET7VTUVoRhduF551f2iSm0tNGFD2Lys1BSR7r2SnCarXoLOMEcAQbhA0+KXMsayFFzDJr7UUIml37zcbEseZc/FiEz9TF3GeJuPqNrHEULS1mNdmGowuz51g== 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=t6dP2dVoePfydBdEWYS4xlVlzrxilNkumpA/eLn7Dc0=; b=y41h8435gZ99hu4Ax8UvH2Gk1JXlFfhGDEKBlTdz1+jQMQYkBpGcjlSWQIj6pyn0hdjw2oL4U87e7TQiiA9u8BsVXG/IwOAJ1j4zS5ElgP4NOBOGG/VXunBE11J/gR9J6mS5yFoPZaS7lOqdR9+Lp1xNiTlkuKSqldL9d01hWHoMq+SAFRraXI/z6/OxOHFSA4js55snIRsWyQySIySv0vM768Ww4JwukkPaCg+ZpBUkAQns742nVlwHzhjeHwv5/GOy325hOBvf68CDs7VWguTZsVUeTGiQPk7v1uhrtHByJZ8EWtbKRuGdSl9S6UaE6GTnF7e9kwj7WmtJyUI6Vg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t6dP2dVoePfydBdEWYS4xlVlzrxilNkumpA/eLn7Dc0=; b=CSl7fZzxihb5mp2WGRKyFKCXAnN86vRtWkG9DiMxWQY4lICBqWRzJKhY9NVbNdBWuBmbyPimiSwa0b1Tb9ITdpDOPy4v2rkm1K+IAlVayC7f87/STsuXS/HqCm/XPFXIyv4pQM0c9f31kA1L0zdT5l6XUDhqEtfvK70pt1OlkkH7Ig78WFgxJpN4AKRZyPp4O4kqhd0ai5+AIEIEZJV1ywJYxZ4jgFPMiUzH5EfCaGptKG1XMReXeZh2f6zrN95TKJL2jZSlmSN9vmRv7OalPeI4V7EnP2GrMnx9lSqaFUu0b43wcfaq5Eqr689123696ZAqj59mroxbfbmWNl5prw== Received: from CH2PR10CA0021.namprd10.prod.outlook.com (2603:10b6:610:4c::31) by IA1PR12MB9061.namprd12.prod.outlook.com (2603:10b6:208:3ab::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.20; Thu, 3 Jul 2025 10:39:01 +0000 Received: from CH2PEPF0000013C.namprd02.prod.outlook.com (2603:10b6:610:4c:cafe::b8) by CH2PR10CA0021.outlook.office365.com (2603:10b6:610:4c::31) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.21 via Frontend Transport; Thu, 3 Jul 2025 10:39:01 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CH2PEPF0000013C.mail.protection.outlook.com (10.167.244.73) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.15 via Frontend Transport; Thu, 3 Jul 2025 10:39:01 +0000 Received: from rnnvmail204.nvidia.com (10.129.68.6) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Thu, 3 Jul 2025 03:38:51 -0700 Received: from rnnvmail201.nvidia.com (10.129.68.8) by rnnvmail204.nvidia.com (10.129.68.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Thu, 3 Jul 2025 03:38:50 -0700 Received: from sumitg-l4t.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.8) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Thu, 3 Jul 2025 03:38:47 -0700 From: Sumit Gupta To: , , , , , , , CC: , , Subject: [PATCH v2 2/8] soc: tegra: cbb: change master-slave to initiator-target Date: Thu, 3 Jul 2025 16:08:23 +0530 Message-ID: <20250703103829.1721024-3-sumitg@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250703103829.1721024-1-sumitg@nvidia.com> References: <20250703103829.1721024-1-sumitg@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NVConfidentiality: public Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: AnonymousSubmission X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PEPF0000013C:EE_|IA1PR12MB9061:EE_ X-MS-Office365-Filtering-Correlation-Id: 06b1ca13-1219-4ea3-dcca-08ddba1dd2e8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|1800799024|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?yZ6HEjjie/g0gUHiqij4PdIyppVJSvP+X3b54npgUgQbOvIDWZTYPGtQOt9i?= =?us-ascii?Q?g4/GfDPv7cJ8llNCfWA/f/l/v/kdR/QMWK1FOXijudI58tSzKim+dicqJNHx?= =?us-ascii?Q?7hGfVGdFow6farH+lDUGpxP5fYgmpub5ELGaMaMJ7LHIHB+yVnwO0Ao6kQ0k?= =?us-ascii?Q?zdb5Dh/sHSjjak9/AyNeV6euhXDQIY0ou53+KuWv77SuMDw8B4IVBcF0u+mA?= =?us-ascii?Q?7p4jMBinY/7mmuWSq1h79IP2apxqJAGTrVdgHEi8Gr0MvD/uEMTgM8fGw3UM?= =?us-ascii?Q?h6JEUMgxdFE6avCeZGbCN5NS4RTmwpjq3NGcRgKoDlrDgsavwjqhQgiggiHW?= =?us-ascii?Q?OLY9jOuS4B9H4BxCsctIDR15hgcpx78/v6K/D8cWpD1vxRYULckfvRRlhEoy?= =?us-ascii?Q?tb2+5SuRDyvaEMvsHbux51lpeI0r5TZ9U9Nh7IFqAEha8vI3jNj7YzeoBACI?= =?us-ascii?Q?/Rde72JigPzj9edqW8p+CK1eEuNTIHShup9YnQ2GroetJouFwMmHGYE/2N6j?= =?us-ascii?Q?25IRycreNRteQyabhD6Ox5CZJ00WhjdR0o2b4wDOeKF6HrNdGEtcB6v+tK8F?= =?us-ascii?Q?P5nla6Rwy5QHZl+wOmhCdVYg3ITdz541tqxiFbt90fTRF7lcmWk6Qiqtg+89?= =?us-ascii?Q?LZtPRSYl/4UjF7TVYOvjJNw6O8voz3c0ZYajSbDGbKQXAY+kbs2IkkjDByeE?= =?us-ascii?Q?xtjMFEUVxgLKCYnDFWYpvxVEv8EPuoDfTG/lWK+rSiPMvALexmYJbhfvg/Yf?= =?us-ascii?Q?fQCyz/abL0KUH81jdnOu7aFVPeWGcdnfLYF9nvlzzoAItHOszqMh/RwLY8Yp?= =?us-ascii?Q?UeQ7Y1yJPXsHQmsTY34hcTz306AoAzVvou0/fdVIEusNWR1qs5PH2ypk6Iu/?= =?us-ascii?Q?n5OmjqBPkiE9ijKJocsvX6aQoZC3qqBzb/x+OTXjqCZ4ZQsFgxYF8DkS/IK0?= =?us-ascii?Q?FRyCmFJiNcFxOKDWHYI5SGEpll5uPAyhNDdSNSz+EpgwHLk+TYHbmoSXcG/U?= =?us-ascii?Q?ohF+92/ODX/ZMsHvfuv4SjFucW1yw8pbQN2HJMwRqcEysVQn07jvdFIu/ZW/?= =?us-ascii?Q?b7PEnXF2QnxqR276nwBKrNzezXd738IpBad23TuzV/rpi1pV1agwNrV549oX?= =?us-ascii?Q?+B6VgEjGsynGyhcfdzFHctiGtQSC00U20VaNgQiELknnCf/v9uEuGbzsjAdz?= =?us-ascii?Q?X8KdVe+IiOOOOZPE3rY9FF/LRsmnO+HhH2atfKRoV83wBSYDiy60s9Qv1Sqv?= =?us-ascii?Q?wfnCwIgM/37ibZOMo1sBeFpO0x/rOHMs5LsC12TktPZoNo3uiOh8+cAUpDRA?= =?us-ascii?Q?wc5YSUjvxflwrtPvy3MT+xZRpOk8+KuoAUlykRM/4v6EAQmBD9wkI2d85Opq?= =?us-ascii?Q?kPxERbAy4yeiASRM7Y9ZGCVQ8bkzpxXFnxgH/v6do4Rj6xGx4rxT33rabew/?= =?us-ascii?Q?v3oDsBVZOX2qXmYWu/DKIGmHJlxg6G/ka6mPXrr5E5xfSg3WR7Z5V4zCBDoB?= =?us-ascii?Q?JFwdI3YkWQXlvJsdzyowKP9T1PIIjVgd1+Jr?= X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(376014)(82310400026)(1800799024)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2025 10:39:01.0201 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 06b1ca13-1219-4ea3-dcca-08ddba1dd2e8 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH2PEPF0000013C.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB9061 Content-Type: text/plain; charset="utf-8" Change usage of 'Master/Slave' to 'Initiator/Target' as per the new convention. Signed-off-by: Sumit Gupta --- drivers/soc/tegra/cbb/tegra194-cbb.c | 34 ++--- drivers/soc/tegra/cbb/tegra234-cbb.c | 205 ++++++++++++++------------- 2 files changed, 120 insertions(+), 119 deletions(-) diff --git a/drivers/soc/tegra/cbb/tegra194-cbb.c b/drivers/soc/tegra/cbb/t= egra194-cbb.c index 846b17ffc2f97..c1bdea8c853fe 100644 --- a/drivers/soc/tegra/cbb/tegra194-cbb.c +++ b/drivers/soc/tegra/cbb/tegra194-cbb.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 /* - * Copyright (c) 2021-2022, NVIDIA CORPORATION. All rights reserved + * Copyright (c) 2021-2025, NVIDIA CORPORATION. All rights reserved * * The driver handles Error's from Control Backbone(CBB) generated due to * illegal accesses. When an error is reported from a NOC within CBB, @@ -138,7 +138,7 @@ struct tegra194_cbb_userbits { struct tegra194_cbb_noc_data { const char *name; bool erd_mask_inband_err; - const char * const *master_id; + const char * const *initiator_id; unsigned int max_aperture; const struct tegra194_cbb_aperture *noc_aperture; const char * const *routeid_initflow; @@ -216,7 +216,7 @@ static const char * const tegra194_axi2apb_error[] =3D { "CH2RFIFOF - Ch2 Request FIFO Full interrupt" }; =20 -static const char * const tegra194_master_id[] =3D { +static const char * const tegra194_initiator_id[] =3D { [0x0] =3D "CCPLEX", [0x1] =3D "CCPLEX_DPMU", [0x2] =3D "BPMP", @@ -238,7 +238,7 @@ static const struct tegra_cbb_error tegra194_cbb_errors= [] =3D { { .code =3D "SLV", .source =3D "Target", - .desc =3D "Target error detected by CBB slave" + .desc =3D "Target error detected by CBB target" }, { .code =3D "DEC", .source =3D "Initiator NIU", @@ -1774,8 +1774,8 @@ static void print_errlog5(struct seq_file *file, stru= ct tegra194_cbb *cbb) tegra_cbb_print_err(file, "\t AXI ID\t\t: %#x\n", userbits.axi_id); } =20 - tegra_cbb_print_err(file, "\t Master ID\t\t: %s\n", - cbb->noc->master_id[userbits.mstr_id]); + tegra_cbb_print_err(file, "\t Initiator ID\t\t: %s\n", + cbb->noc->initiator_id[userbits.mstr_id]); tegra_cbb_print_err(file, "\t Security Group(GRPSEC): %#x\n", userbits.g= rpsec); tegra_cbb_print_cache(file, userbits.axcache); tegra_cbb_print_prot(file, userbits.axprot); @@ -1837,14 +1837,14 @@ print_errlog1_2(struct seq_file *file, struct tegra= 194_cbb *cbb, =20 /* * Print transcation type, error code and description from ErrLog0 for all - * errors. For NOC slave errors, all relevant error info is printed using + * errors. For NOC target errors, all relevant error info is printed using * ErrLog0 only. But additional information is printed for errors from - * APB slaves because for them: - * - All errors are logged as SLV(slave) errors due to APB having only si= ngle + * APB targets because for them: + * - All errors are logged as SLV(target) errors due to APB having only s= ingle * bit pslverr to report all errors. * - Exact cause is printed by reading DMAAPB_X_RAW_INTERRUPT_STATUS regi= ster. * - The driver prints information showing AXI2APB bridge and exact error - * only if there is error in any AXI2APB slave. + * only if there is error in any AXI2APB target. * - There is still no way to disambiguate a DEC error from SLV error typ= e. */ static bool print_errlog0(struct seq_file *file, struct tegra194_cbb *cbb) @@ -1884,8 +1884,8 @@ static bool print_errlog0(struct seq_file *file, stru= ct tegra194_cbb *cbb) /* For all SLV errors, read DMAAPB_X_RAW_INTERRUPT_STATUS * register to get error status for all AXI2APB bridges. * Print bridge details if a bit is set in a bridge's - * status register due to error in a APB slave connected - * to that bridge. For other NOC slaves, none of the status + * status register due to error in a APB target connected + * to that bridge. For other NOC targets, none of the status * register will be set. */ =20 @@ -2118,7 +2118,7 @@ static const struct tegra_cbb_ops tegra194_cbb_ops = =3D { static struct tegra194_cbb_noc_data tegra194_cbb_central_noc_data =3D { .name =3D "cbb-noc", .erd_mask_inband_err =3D true, - .master_id =3D tegra194_master_id, + .initiator_id =3D tegra194_initiator_id, .noc_aperture =3D tegra194_cbbcentralnoc_apert_lookup, .max_aperture =3D ARRAY_SIZE(tegra194_cbbcentralnoc_apert_lookup), .routeid_initflow =3D tegra194_cbbcentralnoc_routeid_initflow, @@ -2130,7 +2130,7 @@ static struct tegra194_cbb_noc_data tegra194_cbb_cent= ral_noc_data =3D { static struct tegra194_cbb_noc_data tegra194_aon_noc_data =3D { .name =3D "aon-noc", .erd_mask_inband_err =3D false, - .master_id =3D tegra194_master_id, + .initiator_id =3D tegra194_initiator_id, .noc_aperture =3D tegra194_aonnoc_aperture_lookup, .max_aperture =3D ARRAY_SIZE(tegra194_aonnoc_aperture_lookup), .routeid_initflow =3D tegra194_aonnoc_routeid_initflow, @@ -2142,7 +2142,7 @@ static struct tegra194_cbb_noc_data tegra194_aon_noc_= data =3D { static struct tegra194_cbb_noc_data tegra194_bpmp_noc_data =3D { .name =3D "bpmp-noc", .erd_mask_inband_err =3D false, - .master_id =3D tegra194_master_id, + .initiator_id =3D tegra194_initiator_id, .noc_aperture =3D tegra194_bpmpnoc_apert_lookup, .max_aperture =3D ARRAY_SIZE(tegra194_bpmpnoc_apert_lookup), .routeid_initflow =3D tegra194_bpmpnoc_routeid_initflow, @@ -2154,7 +2154,7 @@ static struct tegra194_cbb_noc_data tegra194_bpmp_noc= _data =3D { static struct tegra194_cbb_noc_data tegra194_rce_noc_data =3D { .name =3D "rce-noc", .erd_mask_inband_err =3D false, - .master_id =3D tegra194_master_id, + .initiator_id =3D tegra194_initiator_id, .noc_aperture =3D tegra194_scenoc_apert_lookup, .max_aperture =3D ARRAY_SIZE(tegra194_scenoc_apert_lookup), .routeid_initflow =3D tegra194_scenoc_routeid_initflow, @@ -2166,7 +2166,7 @@ static struct tegra194_cbb_noc_data tegra194_rce_noc_= data =3D { static struct tegra194_cbb_noc_data tegra194_sce_noc_data =3D { .name =3D "sce-noc", .erd_mask_inband_err =3D false, - .master_id =3D tegra194_master_id, + .initiator_id =3D tegra194_initiator_id, .noc_aperture =3D tegra194_scenoc_apert_lookup, .max_aperture =3D ARRAY_SIZE(tegra194_scenoc_apert_lookup), .routeid_initflow =3D tegra194_scenoc_routeid_initflow, diff --git a/drivers/soc/tegra/cbb/tegra234-cbb.c b/drivers/soc/tegra/cbb/t= egra234-cbb.c index 1da31ead2b5eb..5d04ed3b2d50d 100644 --- a/drivers/soc/tegra/cbb/tegra234-cbb.c +++ b/drivers/soc/tegra/cbb/tegra234-cbb.c @@ -1,13 +1,13 @@ // SPDX-License-Identifier: GPL-2.0 /* - * Copyright (c) 2021-2022, NVIDIA CORPORATION. All rights reserved + * Copyright (c) 2021-2025, NVIDIA CORPORATION. All rights reserved * * The driver handles Error's from Control Backbone(CBB) version 2.0. * generated due to illegal accesses. The driver prints debug information * about failed transaction on receiving interrupt from Error Notifier. * Error types supported by CBB2.0 are: * UNSUPPORTED_ERR, PWRDOWN_ERR, TIMEOUT_ERR, FIREWALL_ERR, DECODE_ERR, - * SLAVE_ERR + * TARGET_ERR */ =20 #include @@ -30,18 +30,18 @@ #define FABRIC_EN_CFG_ADDR_LOW_0 0x80 #define FABRIC_EN_CFG_ADDR_HI_0 0x84 =20 -#define FABRIC_MN_MASTER_ERR_EN_0 0x200 -#define FABRIC_MN_MASTER_ERR_FORCE_0 0x204 -#define FABRIC_MN_MASTER_ERR_STATUS_0 0x208 -#define FABRIC_MN_MASTER_ERR_OVERFLOW_STATUS_0 0x20c +#define FABRIC_MN_INITIATOR_ERR_EN_0 0x200 +#define FABRIC_MN_INITIATOR_ERR_FORCE_0 0x204 +#define FABRIC_MN_INITIATOR_ERR_STATUS_0 0x208 +#define FABRIC_MN_INITIATOR_ERR_OVERFLOW_STATUS_0 0x20c =20 -#define FABRIC_MN_MASTER_LOG_ERR_STATUS_0 0x300 -#define FABRIC_MN_MASTER_LOG_ADDR_LOW_0 0x304 -#define FABRIC_MN_MASTER_LOG_ADDR_HIGH_0 0x308 -#define FABRIC_MN_MASTER_LOG_ATTRIBUTES0_0 0x30c -#define FABRIC_MN_MASTER_LOG_ATTRIBUTES1_0 0x310 -#define FABRIC_MN_MASTER_LOG_ATTRIBUTES2_0 0x314 -#define FABRIC_MN_MASTER_LOG_USER_BITS0_0 0x318 +#define FABRIC_MN_INITIATOR_LOG_ERR_STATUS_0 0x300 +#define FABRIC_MN_INITIATOR_LOG_ADDR_LOW_0 0x304 +#define FABRIC_MN_INITIATOR_LOG_ADDR_HIGH_0 0x308 +#define FABRIC_MN_INITIATOR_LOG_ATTRIBUTES0_0 0x30c +#define FABRIC_MN_INITIATOR_LOG_ATTRIBUTES1_0 0x310 +#define FABRIC_MN_INITIATOR_LOG_ATTRIBUTES2_0 0x314 +#define FABRIC_MN_INITIATOR_LOG_USER_BITS0_0 0x318 =20 #define AXI_SLV_TIMEOUT_STATUS_0_0 0x8 #define APB_BLOCK_TMO_STATUS_0 0xc00 @@ -53,7 +53,7 @@ #define FAB_EM_EL_FALCONSEC GENMASK(1, 0) =20 #define FAB_EM_EL_FABID GENMASK(20, 16) -#define FAB_EM_EL_SLAVEID GENMASK(7, 0) +#define FAB_EM_EL_TARGETID GENMASK(7, 0) =20 #define FAB_EM_EL_ACCESSID GENMASK(7, 0) =20 @@ -85,7 +85,7 @@ enum tegra234_cbb_fabric_ids { MAX_FAB_ID, }; =20 -struct tegra234_slave_lookup { +struct tegra234_target_lookup { const char *name; unsigned int offset; }; @@ -96,12 +96,12 @@ struct tegra234_cbb_fabric { phys_addr_t firewall_base; unsigned int firewall_ctl; unsigned int firewall_wr_ctl; - const char * const *master_id; + const char * const *initiator_id; unsigned int notifier_offset; const struct tegra_cbb_error *errors; const int max_errors; - const struct tegra234_slave_lookup *slave_map; - const int max_slaves; + const struct tegra234_target_lookup *target_map; + const int max_targets; }; =20 struct tegra234_cbb { @@ -185,9 +185,9 @@ static void tegra234_cbb_error_clear(struct tegra_cbb *= cbb) { struct tegra234_cbb *priv =3D to_tegra234_cbb(cbb); =20 - writel(0, priv->mon + FABRIC_MN_MASTER_ERR_FORCE_0); + writel(0, priv->mon + FABRIC_MN_INITIATOR_ERR_FORCE_0); =20 - writel(0x3f, priv->mon + FABRIC_MN_MASTER_ERR_STATUS_0); + writel(0x3f, priv->mon + FABRIC_MN_INITIATOR_ERR_STATUS_0); dsb(sy); } =20 @@ -218,13 +218,13 @@ static u32 tegra234_cbb_get_tmo_slv(void __iomem *add= r) return timeout; } =20 -static void tegra234_cbb_tmo_slv(struct seq_file *file, const char *slave,= void __iomem *addr, +static void tegra234_cbb_tmo_slv(struct seq_file *file, const char *target= , void __iomem *addr, u32 status) { - tegra_cbb_print_err(file, "\t %s : %#x\n", slave, status); + tegra_cbb_print_err(file, "\t %s : %#x\n", target, status); } =20 -static void tegra234_cbb_lookup_apbslv(struct seq_file *file, const char *= slave, +static void tegra234_cbb_lookup_apbslv(struct seq_file *file, const char *= target, void __iomem *base) { unsigned int block =3D 0; @@ -234,7 +234,7 @@ static void tegra234_cbb_lookup_apbslv(struct seq_file = *file, const char *slave, =20 status =3D tegra234_cbb_get_tmo_slv(base); if (status) - tegra_cbb_print_err(file, "\t %s_BLOCK_TMO_STATUS : %#x\n", slave, stat= us); + tegra_cbb_print_err(file, "\t %s_BLOCK_TMO_STATUS : %#x\n", target, sta= tus); =20 while (status) { if (status & BIT(0)) { @@ -249,7 +249,7 @@ static void tegra234_cbb_lookup_apbslv(struct seq_file = *file, const char *slave, if (clients !=3D 0xffffffff) clients &=3D BIT(client); =20 - sprintf(name, "%s_BLOCK%d_TMO", slave, block); + sprintf(name, "%s_BLOCK%d_TMO", target, block); =20 tegra234_cbb_tmo_slv(file, name, addr, clients); } @@ -264,16 +264,16 @@ static void tegra234_cbb_lookup_apbslv(struct seq_fil= e *file, const char *slave, } } =20 -static void tegra234_lookup_slave_timeout(struct seq_file *file, struct te= gra234_cbb *cbb, - u8 slave_id, u8 fab_id) +static void tegra234_lookup_target_timeout(struct seq_file *file, struct t= egra234_cbb *cbb, + u8 target_id, u8 fab_id) { - const struct tegra234_slave_lookup *map =3D cbb->fabric->slave_map; + const struct tegra234_target_lookup *map =3D cbb->fabric->target_map; void __iomem *addr; =20 /* - * 1) Get slave node name and address mapping using slave_id. - * 2) Check if the timed out slave node is APB or AXI. - * 3) If AXI, then print timeout register and reset axi slave + * 1) Get target node name and address mapping using target_id. + * 2) Check if the timed out target node is APB or AXI. + * 3) If AXI, then print timeout register and reset axi target * using _SN_<>_SLV_TIMEOUT_STATUS_0_0 register. * 4) If APB, then perform an additional lookup to find the client * which timed out. @@ -287,12 +287,12 @@ static void tegra234_lookup_slave_timeout(struct seq_= file *file, struct tegra234 * e) Goto step-a till all bits are set. */ =20 - addr =3D cbb->regs + map[slave_id].offset; + addr =3D cbb->regs + map[target_id].offset; =20 - if (strstr(map[slave_id].name, "AXI2APB")) { + if (strstr(map[target_id].name, "AXI2APB")) { addr +=3D APB_BLOCK_TMO_STATUS_0; =20 - tegra234_cbb_lookup_apbslv(file, map[slave_id].name, addr); + tegra234_cbb_lookup_apbslv(file, map[target_id].name, addr); } else { char name[64]; u32 status; @@ -301,7 +301,7 @@ static void tegra234_lookup_slave_timeout(struct seq_fi= le *file, struct tegra234 =20 status =3D tegra234_cbb_get_tmo_slv(addr); if (status) { - sprintf(name, "%s_SLV_TIMEOUT_STATUS", map[slave_id].name); + sprintf(name, "%s_SLV_TIMEOUT_STATUS", map[target_id].name); tegra234_cbb_tmo_slv(file, name, addr, status); } } @@ -351,7 +351,7 @@ static void tegra234_cbb_print_error(struct seq_file *f= ile, struct tegra234_cbb static void print_errlog_err(struct seq_file *file, struct tegra234_cbb *c= bb) { u8 cache_type, prot_type, burst_length, mstr_id, grpsec, vqc, falconsec, = beat_size; - u8 access_type, access_id, requester_socket_id, local_socket_id, slave_id= , fab_id; + u8 access_type, access_id, requester_socket_id, local_socket_id, target_i= d, fab_id; char fabric_name[20]; bool is_numa =3D false; u8 burst_type; @@ -366,7 +366,7 @@ static void print_errlog_err(struct seq_file *file, str= uct tegra234_cbb *cbb) =20 /* * For SOC with multiple NUMA nodes, print cross socket access - * errors only if initiator/master_id is CCPLEX, CPMU or GPU. + * errors only if initiator_id is CCPLEX, CPMU or GPU. */ if (is_numa) { local_socket_id =3D numa_node_id(); @@ -379,7 +379,7 @@ static void print_errlog_err(struct seq_file *file, str= uct tegra234_cbb *cbb) } =20 fab_id =3D FIELD_GET(FAB_EM_EL_FABID, cbb->mn_attr2); - slave_id =3D FIELD_GET(FAB_EM_EL_SLAVEID, cbb->mn_attr2); + target_id =3D FIELD_GET(FAB_EM_EL_TARGETID, cbb->mn_attr2); =20 access_id =3D FIELD_GET(FAB_EM_EL_ACCESSID, cbb->mn_attr1); =20 @@ -397,7 +397,7 @@ static void print_errlog_err(struct seq_file *file, str= uct tegra234_cbb *cbb) else tegra_cbb_print_err(file, "\t Wrong type index:%u\n", cbb->type); =20 - tegra_cbb_print_err(file, "\t MASTER_ID\t\t: %s\n", cbb->fabric->master_= id[mstr_id]); + tegra_cbb_print_err(file, "\t Initiator_Id\t\t: %s\n", cbb->fabric->init= iator_id[mstr_id]); tegra_cbb_print_err(file, "\t Address\t\t: %#llx\n", cbb->access); =20 tegra_cbb_print_cache(file, cache_type); @@ -423,7 +423,7 @@ static void print_errlog_err(struct seq_file *file, str= uct tegra234_cbb *cbb) } =20 tegra_cbb_print_err(file, "\t Fabric\t\t: %s\n", fabric_name); - tegra_cbb_print_err(file, "\t Slave_Id\t\t: %#x\n", slave_id); + tegra_cbb_print_err(file, "\t Target_Id\t\t: %#x\n", target_id); tegra_cbb_print_err(file, "\t Burst_length\t\t: %#x\n", burst_length); tegra_cbb_print_err(file, "\t Burst_type\t\t: %#x\n", burst_type); tegra_cbb_print_err(file, "\t Beat_size\t\t: %#x\n", beat_size); @@ -434,24 +434,25 @@ static void print_errlog_err(struct seq_file *file, s= truct tegra234_cbb *cbb) if ((fab_id =3D=3D PSC_FAB_ID) || (fab_id =3D=3D FSI_FAB_ID)) return; =20 - if (slave_id >=3D cbb->fabric->max_slaves) { - tegra_cbb_print_err(file, "\t Invalid slave_id:%d\n", slave_id); + if (target_id >=3D cbb->fabric->max_targets) { + tegra_cbb_print_err(file, "\t Invalid target_id:%d\n", target_id); return; } =20 if (!strcmp(cbb->fabric->errors[cbb->type].code, "TIMEOUT_ERR")) { - tegra234_lookup_slave_timeout(file, cbb, slave_id, fab_id); + tegra234_lookup_target_timeout(file, cbb, target_id, fab_id); return; } =20 - tegra_cbb_print_err(file, "\t Slave\t\t\t: %s\n", cbb->fabric->slave_map= [slave_id].name); + tegra_cbb_print_err(file, "\t Target\t\t\t: %s\n", + cbb->fabric->target_map[target_id].name); } =20 static int print_errmonX_info(struct seq_file *file, struct tegra234_cbb *= cbb) { u32 overflow, status, error; =20 - status =3D readl(cbb->mon + FABRIC_MN_MASTER_ERR_STATUS_0); + status =3D readl(cbb->mon + FABRIC_MN_INITIATOR_ERR_STATUS_0); if (!status) { pr_err("Error Notifier received a spurious notification\n"); return -ENODATA; @@ -462,11 +463,11 @@ static int print_errmonX_info(struct seq_file *file, = struct tegra234_cbb *cbb) return -EINVAL; } =20 - overflow =3D readl(cbb->mon + FABRIC_MN_MASTER_ERR_OVERFLOW_STATUS_0); + overflow =3D readl(cbb->mon + FABRIC_MN_INITIATOR_ERR_OVERFLOW_STATUS_0); =20 tegra234_cbb_print_error(file, cbb, status, overflow); =20 - error =3D readl(cbb->mon + FABRIC_MN_MASTER_LOG_ERR_STATUS_0); + error =3D readl(cbb->mon + FABRIC_MN_INITIATOR_LOG_ERR_STATUS_0); if (!error) { pr_info("Error Monitor doesn't have Error Logger\n"); return -EINVAL; @@ -478,15 +479,15 @@ static int print_errmonX_info(struct seq_file *file, = struct tegra234_cbb *cbb) if (error & BIT(0)) { u32 hi, lo; =20 - hi =3D readl(cbb->mon + FABRIC_MN_MASTER_LOG_ADDR_HIGH_0); - lo =3D readl(cbb->mon + FABRIC_MN_MASTER_LOG_ADDR_LOW_0); + hi =3D readl(cbb->mon + FABRIC_MN_INITIATOR_LOG_ADDR_HIGH_0); + lo =3D readl(cbb->mon + FABRIC_MN_INITIATOR_LOG_ADDR_LOW_0); =20 cbb->access =3D (u64)hi << 32 | lo; =20 - cbb->mn_attr0 =3D readl(cbb->mon + FABRIC_MN_MASTER_LOG_ATTRIBUTES0_0); - cbb->mn_attr1 =3D readl(cbb->mon + FABRIC_MN_MASTER_LOG_ATTRIBUTES1_0); - cbb->mn_attr2 =3D readl(cbb->mon + FABRIC_MN_MASTER_LOG_ATTRIBUTES2_0); - cbb->mn_user_bits =3D readl(cbb->mon + FABRIC_MN_MASTER_LOG_USER_BITS0_= 0); + cbb->mn_attr0 =3D readl(cbb->mon + FABRIC_MN_INITIATOR_LOG_ATTRIBUTES0_= 0); + cbb->mn_attr1 =3D readl(cbb->mon + FABRIC_MN_INITIATOR_LOG_ATTRIBUTES1_= 0); + cbb->mn_attr2 =3D readl(cbb->mon + FABRIC_MN_INITIATOR_LOG_ATTRIBUTES2_= 0); + cbb->mn_user_bits =3D readl(cbb->mon + FABRIC_MN_INITIATOR_LOG_USER_BIT= S0_0); =20 print_errlog_err(file, cbb); } @@ -591,7 +592,7 @@ static irqreturn_t tegra234_cbb_isr(int irq, void *data) goto unlock; =20 /* - * If illegal request is from CCPLEX(id:0x1) master then call WARN() + * If illegal request is from CCPLEX(id:0x1) initiator then call WARN() */ if (priv->fabric->off_mask_erd) { mstr_id =3D FIELD_GET(USRBITS_MSTR_ID, priv->mn_user_bits); @@ -643,7 +644,7 @@ static const struct tegra_cbb_ops tegra234_cbb_ops =3D { #endif }; =20 -static const char * const tegra234_master_id[] =3D { +static const char * const tegra234_initiator_id[] =3D { [0x00] =3D "TZ", [0x01] =3D "CCPLEX", [0x02] =3D "CCPMU", @@ -674,8 +675,8 @@ static const char * const tegra234_master_id[] =3D { =20 static const struct tegra_cbb_error tegra234_cbb_errors[] =3D { { - .code =3D "SLAVE_ERR", - .desc =3D "Slave being accessed responded with an error" + .code =3D "TARGET_ERR", + .desc =3D "Target being accessed responded with an error" }, { .code =3D "DECODE_ERR", .desc =3D "Attempt to access an address hole" @@ -684,17 +685,17 @@ static const struct tegra_cbb_error tegra234_cbb_erro= rs[] =3D { .desc =3D "Attempt to access a region which is firewall protected" }, { .code =3D "TIMEOUT_ERR", - .desc =3D "No response returned by slave" + .desc =3D "No response returned by target" }, { .code =3D "PWRDOWN_ERR", .desc =3D "Attempt to access a portion of fabric that is powered down" }, { .code =3D "UNSUPPORTED_ERR", - .desc =3D "Attempt to access a slave through an unsupported access" + .desc =3D "Attempt to access a target through an unsupported access" } }; =20 -static const struct tegra234_slave_lookup tegra234_aon_slave_map[] =3D { +static const struct tegra234_target_lookup tegra234_aon_target_map[] =3D { { "AXI2APB", 0x00000 }, { "AST", 0x14000 }, { "CBB", 0x15000 }, @@ -703,9 +704,9 @@ static const struct tegra234_slave_lookup tegra234_aon_= slave_map[] =3D { =20 static const struct tegra234_cbb_fabric tegra234_aon_fabric =3D { .name =3D "aon-fabric", - .master_id =3D tegra234_master_id, - .slave_map =3D tegra234_aon_slave_map, - .max_slaves =3D ARRAY_SIZE(tegra234_aon_slave_map), + .initiator_id =3D tegra234_initiator_id, + .target_map =3D tegra234_aon_target_map, + .max_targets =3D ARRAY_SIZE(tegra234_aon_target_map), .errors =3D tegra234_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), .notifier_offset =3D 0x17000, @@ -714,7 +715,7 @@ static const struct tegra234_cbb_fabric tegra234_aon_fa= bric =3D { .firewall_wr_ctl =3D 0x8c8, }; =20 -static const struct tegra234_slave_lookup tegra234_bpmp_slave_map[] =3D { +static const struct tegra234_target_lookup tegra234_bpmp_target_map[] =3D { { "AXI2APB", 0x00000 }, { "AST0", 0x15000 }, { "AST1", 0x16000 }, @@ -724,9 +725,9 @@ static const struct tegra234_slave_lookup tegra234_bpmp= _slave_map[] =3D { =20 static const struct tegra234_cbb_fabric tegra234_bpmp_fabric =3D { .name =3D "bpmp-fabric", - .master_id =3D tegra234_master_id, - .slave_map =3D tegra234_bpmp_slave_map, - .max_slaves =3D ARRAY_SIZE(tegra234_bpmp_slave_map), + .initiator_id =3D tegra234_initiator_id, + .target_map =3D tegra234_bpmp_target_map, + .max_targets =3D ARRAY_SIZE(tegra234_bpmp_target_map), .errors =3D tegra234_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), .notifier_offset =3D 0x19000, @@ -735,7 +736,7 @@ static const struct tegra234_cbb_fabric tegra234_bpmp_f= abric =3D { .firewall_wr_ctl =3D 0x8e8, }; =20 -static const struct tegra234_slave_lookup tegra234_cbb_slave_map[] =3D { +static const struct tegra234_target_lookup tegra234_cbb_target_map[] =3D { { "AON", 0x40000 }, { "BPMP", 0x41000 }, { "CBB", 0x42000 }, @@ -801,9 +802,9 @@ static const struct tegra234_slave_lookup tegra234_cbb_= slave_map[] =3D { =20 static const struct tegra234_cbb_fabric tegra234_cbb_fabric =3D { .name =3D "cbb-fabric", - .master_id =3D tegra234_master_id, - .slave_map =3D tegra234_cbb_slave_map, - .max_slaves =3D ARRAY_SIZE(tegra234_cbb_slave_map), + .initiator_id =3D tegra234_initiator_id, + .target_map =3D tegra234_cbb_target_map, + .max_targets =3D ARRAY_SIZE(tegra234_cbb_target_map), .errors =3D tegra234_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), .notifier_offset =3D 0x60000, @@ -813,7 +814,7 @@ static const struct tegra234_cbb_fabric tegra234_cbb_fa= bric =3D { .firewall_wr_ctl =3D 0x23e8, }; =20 -static const struct tegra234_slave_lookup tegra234_common_slave_map[] =3D { +static const struct tegra234_target_lookup tegra234_common_target_map[] = =3D { { "AXI2APB", 0x00000 }, { "AST0", 0x15000 }, { "AST1", 0x16000 }, @@ -824,9 +825,9 @@ static const struct tegra234_slave_lookup tegra234_comm= on_slave_map[] =3D { =20 static const struct tegra234_cbb_fabric tegra234_dce_fabric =3D { .name =3D "dce-fabric", - .master_id =3D tegra234_master_id, - .slave_map =3D tegra234_common_slave_map, - .max_slaves =3D ARRAY_SIZE(tegra234_common_slave_map), + .initiator_id =3D tegra234_initiator_id, + .target_map =3D tegra234_common_target_map, + .max_targets =3D ARRAY_SIZE(tegra234_common_target_map), .errors =3D tegra234_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), .notifier_offset =3D 0x19000, @@ -837,9 +838,9 @@ static const struct tegra234_cbb_fabric tegra234_dce_fa= bric =3D { =20 static const struct tegra234_cbb_fabric tegra234_rce_fabric =3D { .name =3D "rce-fabric", - .master_id =3D tegra234_master_id, - .slave_map =3D tegra234_common_slave_map, - .max_slaves =3D ARRAY_SIZE(tegra234_common_slave_map), + .initiator_id =3D tegra234_initiator_id, + .target_map =3D tegra234_common_target_map, + .max_targets =3D ARRAY_SIZE(tegra234_common_target_map), .errors =3D tegra234_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), .notifier_offset =3D 0x19000, @@ -850,9 +851,9 @@ static const struct tegra234_cbb_fabric tegra234_rce_fa= bric =3D { =20 static const struct tegra234_cbb_fabric tegra234_sce_fabric =3D { .name =3D "sce-fabric", - .master_id =3D tegra234_master_id, - .slave_map =3D tegra234_common_slave_map, - .max_slaves =3D ARRAY_SIZE(tegra234_common_slave_map), + .initiator_id =3D tegra234_initiator_id, + .target_map =3D tegra234_common_target_map, + .max_targets =3D ARRAY_SIZE(tegra234_common_target_map), .errors =3D tegra234_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), .notifier_offset =3D 0x19000, @@ -861,7 +862,7 @@ static const struct tegra234_cbb_fabric tegra234_sce_fa= bric =3D { .firewall_wr_ctl =3D 0x288, }; =20 -static const char * const tegra241_master_id[] =3D { +static const char * const tegra241_initiator_id[] =3D { [0x0] =3D "TZ", [0x1] =3D "CCPLEX", [0x2] =3D "CCPMU", @@ -879,22 +880,22 @@ static const char * const tegra241_master_id[] =3D { }; =20 /* - * Possible causes for Slave and Timeout errors. - * SLAVE_ERR: - * Slave being accessed responded with an error. Slave could return + * Possible causes for Target and Timeout errors. + * TARGET_ERR: + * Target being accessed responded with an error. Target could return * an error for various cases : * Unsupported access, clamp setting when power gated, register - * level firewall(SCR), address hole within the slave, etc + * level firewall(SCR), address hole within the target, etc * * TIMEOUT_ERR: - * No response returned by slave. Can be due to slave being clock - * gated, under reset, powered down or slave inability to respond - * for an internal slave issue + * No response returned by target. Can be due to target being clock + * gated, under reset, powered down or target inability to respond + * for an internal target issue */ static const struct tegra_cbb_error tegra241_cbb_errors[] =3D { { - .code =3D "SLAVE_ERR", - .desc =3D "Slave being accessed responded with an error." + .code =3D "TARGET_ERR", + .desc =3D "Target being accessed responded with an error." }, { .code =3D "DECODE_ERR", .desc =3D "Attempt to access an address hole or Reserved region of memor= y." @@ -903,16 +904,16 @@ static const struct tegra_cbb_error tegra241_cbb_erro= rs[] =3D { .desc =3D "Attempt to access a region which is firewalled." }, { .code =3D "TIMEOUT_ERR", - .desc =3D "No response returned by slave." + .desc =3D "No response returned by target." }, { .code =3D "PWRDOWN_ERR", .desc =3D "Attempt to access a portion of the fabric that is powered dow= n." }, { .code =3D "UNSUPPORTED_ERR", - .desc =3D "Attempt to access a slave through an unsupported access." + .desc =3D "Attempt to access a target through an unsupported access." }, { .code =3D "POISON_ERR", - .desc =3D "Slave responds with poison error to indicate error in data." + .desc =3D "Target responds with poison error to indicate error in data." }, { .code =3D "RSVD" }, { @@ -970,7 +971,7 @@ static const struct tegra_cbb_error tegra241_cbb_errors= [] =3D { }, }; =20 -static const struct tegra234_slave_lookup tegra241_cbb_slave_map[] =3D { +static const struct tegra234_target_lookup tegra241_cbb_target_map[] =3D { { "RSVD", 0x00000 }, { "PCIE_C8", 0x51000 }, { "PCIE_C9", 0x52000 }, @@ -1034,9 +1035,9 @@ static const struct tegra234_slave_lookup tegra241_cb= b_slave_map[] =3D { =20 static const struct tegra234_cbb_fabric tegra241_cbb_fabric =3D { .name =3D "cbb-fabric", - .master_id =3D tegra241_master_id, - .slave_map =3D tegra241_cbb_slave_map, - .max_slaves =3D ARRAY_SIZE(tegra241_cbb_slave_map), + .initiator_id =3D tegra241_initiator_id, + .target_map =3D tegra241_cbb_target_map, + .max_targets =3D ARRAY_SIZE(tegra241_cbb_target_map), .errors =3D tegra241_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra241_cbb_errors), .notifier_offset =3D 0x60000, @@ -1046,7 +1047,7 @@ static const struct tegra234_cbb_fabric tegra241_cbb_= fabric =3D { .firewall_wr_ctl =3D 0x2368, }; =20 -static const struct tegra234_slave_lookup tegra241_bpmp_slave_map[] =3D { +static const struct tegra234_target_lookup tegra241_bpmp_target_map[] =3D { { "RSVD", 0x00000 }, { "RSVD", 0x00000 }, { "RSVD", 0x00000 }, @@ -1059,9 +1060,9 @@ static const struct tegra234_slave_lookup tegra241_bp= mp_slave_map[] =3D { =20 static const struct tegra234_cbb_fabric tegra241_bpmp_fabric =3D { .name =3D "bpmp-fabric", - .master_id =3D tegra241_master_id, - .slave_map =3D tegra241_bpmp_slave_map, - .max_slaves =3D ARRAY_SIZE(tegra241_bpmp_slave_map), + .initiator_id =3D tegra241_initiator_id, + .target_map =3D tegra241_bpmp_target_map, + .max_targets =3D ARRAY_SIZE(tegra241_bpmp_target_map), .errors =3D tegra241_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra241_cbb_errors), .notifier_offset =3D 0x19000, --=20 2.34.1 From nobody Wed Oct 8 02:01:45 2025 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2067.outbound.protection.outlook.com [40.107.93.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A80A12E1744; Thu, 3 Jul 2025 10:39:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.67 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751539152; cv=fail; b=QNAsCf7k0c6LUhSqW+7KX7lj+OfFEiJI4jfZbppC45Y47buVftfm5W5Hx6HIZFW/BN69Ds5XOacqqnBpldB+dOSGHeji1vlEIqS7U3iEi/DEnSAkoy8OqUAXU1T166GmHRs1DWTzEWA6huedIGWmWcz86DfE78yeEpK9jgg+fz4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751539152; c=relaxed/simple; bh=isPVhJl4x/7FQOqXKy+6AbSeBV0vjLk3b/fxMgHn1Pk=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=lfff+5KS0xsFkBSqOu7J3OROK5om5W1kNDmRY2dv0T71g6bBChtgDq+AWK9ANmqzBQRkv7+0dJZtav25r4v4mjWVq692tOACwM9lUlRSo/Ri31Rq2bAvXBRD7vHY0Svx3zzDMxa+Lf+UHMAckXRjJbnpsM/+0IklM8Yx4RSNNf4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=MBnqk9NK; arc=fail smtp.client-ip=40.107.93.67 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="MBnqk9NK" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=u0+hfzIvk04S6U9FK6agHoTqFdFxAKQCSkwLHUxKz1hHd+CkwIVklfQNDCwBGvUs/+TZv572L7YgHgOoaxNT2Q1dxPXTX5Q9UDzhmYun6ZGdBwHH+jw3nJOJ70+GtS1+Vr9yGsLziJTw45KE13JnAjlY7Ng/hsmssEkWRwl7+YbLyZWwZjVZy6uF3srRfJWxjX7GxckwLYLAsjfHNY5AFceXu3QZX7slGqaSk3tcAh4elF+7HNVGCtqeFFgh0GqXwkIDq60+xz10zkHr10pwXwIcHly+N4jkUsZ7oGbzRxLHp/XRYyFWlYHv8EOoRxsthnP4OmeplfOpdOHwQcDeUA== 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=JdVWeBjW7ObsP5pxumootoPWr5aU+iF1lLH0W/FA1/k=; b=pCdbrA0l1nhDj5t5gNVyzv2THqxccTSn5UPC0LgxbnpZc57IChSi/E/S7KVXxSYn5eO7EAkmfaERVr/GTv1uwINMs0YoJ/84nMgBJ8TPc+hVhpbA/JOT5VRP2Xwm++aDs+/vd8Pcm9TrPnZaPDjgBEIEEc1yHHopCfNHrtnFO4RvCYSLZ2VLHtMbcPxOAUqLnoIilAF3yDKKlj6qE6mewKjyw9t3QxD8x/qzxjHoJv1S5ICTFyoY8sL92NZQzte2hshYdIjmMUp9hyUv5Wyp9hbEdEq135blhDEtOobBHpLNVVp6PfrTEQedbld0/mWDJ/TCZJoAqmoFl/CxswsDwg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JdVWeBjW7ObsP5pxumootoPWr5aU+iF1lLH0W/FA1/k=; b=MBnqk9NKIfn/HDNuhDDB7TNyDJ+f4EGfeV7HRMB38TuUX/r6d8oLtjQt2AJC0N4RnBzYdW1IKHD72JbefW1gEtGZ0KNS0+EMl8jontd6x9ZnReVsX0QIn4ZDWRDTSru7onfMTV5KMsYIrRK8K351I7mGvjFdqhTWOgEe3JzaE9vaI8dcyfXmkEpHQg8RTxYpF5fvb9LH0Qp392qzxeP3+r20XPDPo9CNfPJIgvBAX1Bs26EtLNeBRnz7PcIF8cEeG/TlNbyJDO58bhSk5kWbWZCaFYf+5ocIx5rTy/yDyR8dEDHOOb/xzGUN1u05TSHw8cQf5xO183wY9UJ+TaSBKg== Received: from SA1P222CA0130.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c2::21) by DM4PR12MB6615.namprd12.prod.outlook.com (2603:10b6:8:8d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.20; Thu, 3 Jul 2025 10:39:06 +0000 Received: from SN1PEPF00026369.namprd02.prod.outlook.com (2603:10b6:806:3c2:cafe::8c) by SA1P222CA0130.outlook.office365.com (2603:10b6:806:3c2::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.21 via Frontend Transport; Thu, 3 Jul 2025 10:39:06 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SN1PEPF00026369.mail.protection.outlook.com (10.167.241.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.15 via Frontend Transport; Thu, 3 Jul 2025 10:39:06 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Thu, 3 Jul 2025 03:38:54 -0700 Received: from rnnvmail201.nvidia.com (10.129.68.8) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Thu, 3 Jul 2025 03:38:54 -0700 Received: from sumitg-l4t.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.8) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Thu, 3 Jul 2025 03:38:51 -0700 From: Sumit Gupta To: , , , , , , , CC: , , Subject: [PATCH v2 3/8] soc: tegra: cbb: make error interrupt enable and status per SoC Date: Thu, 3 Jul 2025 16:08:24 +0530 Message-ID: <20250703103829.1721024-4-sumitg@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250703103829.1721024-1-sumitg@nvidia.com> References: <20250703103829.1721024-1-sumitg@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NVConfidentiality: public Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: AnonymousSubmission X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF00026369:EE_|DM4PR12MB6615:EE_ X-MS-Office365-Filtering-Correlation-Id: 4150f4cc-5c63-4407-b6c1-08ddba1dd643 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?K2s0S/7dXKo0vYpnCRR68knV6TpJJSZdRdl09TYgUtGFXofabXtOLho0z2uC?= =?us-ascii?Q?u0AEeIAXlade9YhKWXMXh6GM9fnVJ0t0nsoWEmL0JFcf8/MrjWJ0PsbLkov2?= =?us-ascii?Q?f6BCqYAs70lKq77h2mFanztx1IDXLcmxppR/qK+QZ1/CuLjf5vuNGKzURKGa?= =?us-ascii?Q?GbMm/XMuPTW09Uj9hO7cmHE3zAT6d0O1AEg0zyowSBEl5uekZOos9ZUu4kmr?= =?us-ascii?Q?Ps12Hry3Cs5/Z1avnvy1Yvu5qxERkdLM7YdZcX2JSbvMn8FkXaRVBtbuvMES?= =?us-ascii?Q?W83ksOA28+uPqr2c9qcyD8g0i/CWqTzEmnX9FbYxFq3LD9bITHBDTjdHcnFF?= =?us-ascii?Q?8AJPE1GtODcRtbYI67tAZp5uQ4HZ9KBju5gnubZQ10xYGvXUwIcxH9dk6kh2?= =?us-ascii?Q?LCUnazBw3uolKTOTI7Z9RbKIS45h5EdMi4m4xE3ivaOZspbKXnGD8UghGIjl?= =?us-ascii?Q?qyuu5yhV5Jy9DY8/Y3hetb8KdaY+SaqeqMuMxOSrXha6n4OvL1nikX97P1Oj?= =?us-ascii?Q?y5Zd520+LCRfLNRpUhcRURKeioJQlRX1+YhOafFF146CLCVUJYQmKDDQYfTV?= =?us-ascii?Q?3hUZ1/P2enbyk0uAL15EX0r3gGYEZC3Yz9lBN3DnzoerC1ZN02heOzvPJJJm?= =?us-ascii?Q?AOClKj86Q+t7J7I7nG1tmrtghwkKZaAJfhpUl3PE85i+da9r0Q0Pi6XXNc7W?= =?us-ascii?Q?WYF5723zvrf+m007PrZpq5n1Xu4xv69G4pAEHhyYSNoNJXRlBRDgleNMb33U?= =?us-ascii?Q?IQ23AbiYIzr7KG6caAXB7xYJ9Gl2U7hgrFSoN4FofCdnRKnDE2EULGyT9BBn?= =?us-ascii?Q?/wpT+czb5qdY6s2udQBXJzIciFOy4ZKeAvXBs+PU4ttjQ8G399/GX4AoYQN8?= =?us-ascii?Q?9C/LMj7KMUpz9pBGhJZOLVhb47w+BXg0mgNgqG1nePdo+oaIpECySA4RQTTL?= =?us-ascii?Q?a2dnqS13TGIBiPlHhRlFRTWPIwEig5SJbZsAND3zetQzaS+C6+xsR5zZlgHk?= =?us-ascii?Q?q9Dnjcfl05dLTT28SDvzWBvnmKiP/YffNEk+dM91HtBQH+uoxp0q5r1JlIfT?= =?us-ascii?Q?9Qgzle4clQTwb8YxUYG+141r25Uv5JBF6z5rW+BMtxLhKiGoIquMoyUM5sMV?= =?us-ascii?Q?Pv6hZolNt7+7viARFxhpu3Ht0mb06pEuDD8Gm7OFSOHcw4yI8nh7YhmfNzkx?= =?us-ascii?Q?i0DFRJLFlcycrEvxLd1zI7U70YdfdL1FhdHeX/zp14xyQQkHenEFQu0TmSNB?= =?us-ascii?Q?9Nuv2r76H32691w3i85+jWTZmU+G6PUkq62O824KwGSVK5dC1Gc64c0dAKoe?= =?us-ascii?Q?L/a9CaB6c0CZCp4fAKOT8Q66MZrgrc4veZR1L5cstotWZhn61fDreCP0ZSGp?= =?us-ascii?Q?0Q7KbhOh3PqbbAfVqhvxyRTdFYIiaDYqEAWwewrLg24xvGJg2ZO8kFjRAIqS?= =?us-ascii?Q?C2xydw1rgDZqtVxXNJHv2jiIMf70ukAAdbZNSKabDf53xKGTzYcPpVhQpQhN?= =?us-ascii?Q?r1iHEpsLtbxCwZ7cvLc9emha8Lwfd3lfBgML?= X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2025 10:39:06.6978 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4150f4cc-5c63-4407-b6c1-08ddba1dd643 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF00026369.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6615 Content-Type: text/plain; charset="utf-8" Make the error interrupt enable and error status fields as per SoC. Both these fields can change for different SoC's. Moving them to per SoC data helps to set or clear the required bits only for a SoC. Signed-off-by: Sumit Gupta --- drivers/soc/tegra/cbb/tegra234-cbb.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/drivers/soc/tegra/cbb/tegra234-cbb.c b/drivers/soc/tegra/cbb/t= egra234-cbb.c index 5d04ed3b2d50d..6116221f0ca61 100644 --- a/drivers/soc/tegra/cbb/tegra234-cbb.c +++ b/drivers/soc/tegra/cbb/tegra234-cbb.c @@ -102,6 +102,8 @@ struct tegra234_cbb_fabric { const int max_errors; const struct tegra234_target_lookup *target_map; const int max_targets; + const u32 err_intr_enbl; + const u32 err_status_clr; }; =20 struct tegra234_cbb { @@ -177,7 +179,7 @@ static void tegra234_cbb_fault_enable(struct tegra_cbb = *cbb) void __iomem *addr; =20 addr =3D priv->regs + priv->fabric->notifier_offset; - writel(0x1ff, addr + FABRIC_EN_CFG_INTERRUPT_ENABLE_0_0); + writel(priv->fabric->err_intr_enbl, addr + FABRIC_EN_CFG_INTERRUPT_ENABLE= _0_0); dsb(sy); } =20 @@ -187,7 +189,7 @@ static void tegra234_cbb_error_clear(struct tegra_cbb *= cbb) =20 writel(0, priv->mon + FABRIC_MN_INITIATOR_ERR_FORCE_0); =20 - writel(0x3f, priv->mon + FABRIC_MN_INITIATOR_ERR_STATUS_0); + writel(priv->fabric->err_status_clr, priv->mon + FABRIC_MN_INITIATOR_ERR_= STATUS_0); dsb(sy); } =20 @@ -709,6 +711,8 @@ static const struct tegra234_cbb_fabric tegra234_aon_fa= bric =3D { .max_targets =3D ARRAY_SIZE(tegra234_aon_target_map), .errors =3D tegra234_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), + .err_intr_enbl =3D 0x7, + .err_status_clr =3D 0x3f, .notifier_offset =3D 0x17000, .firewall_base =3D 0x30000, .firewall_ctl =3D 0x8d0, @@ -730,6 +734,8 @@ static const struct tegra234_cbb_fabric tegra234_bpmp_f= abric =3D { .max_targets =3D ARRAY_SIZE(tegra234_bpmp_target_map), .errors =3D tegra234_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), + .err_intr_enbl =3D 0xf, + .err_status_clr =3D 0x3f, .notifier_offset =3D 0x19000, .firewall_base =3D 0x30000, .firewall_ctl =3D 0x8f0, @@ -807,6 +813,8 @@ static const struct tegra234_cbb_fabric tegra234_cbb_fa= bric =3D { .max_targets =3D ARRAY_SIZE(tegra234_cbb_target_map), .errors =3D tegra234_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), + .err_intr_enbl =3D 0x7f, + .err_status_clr =3D 0x3f, .notifier_offset =3D 0x60000, .off_mask_erd =3D 0x3a004, .firewall_base =3D 0x10000, @@ -830,6 +838,8 @@ static const struct tegra234_cbb_fabric tegra234_dce_fa= bric =3D { .max_targets =3D ARRAY_SIZE(tegra234_common_target_map), .errors =3D tegra234_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), + .err_intr_enbl =3D 0xf, + .err_status_clr =3D 0x3f, .notifier_offset =3D 0x19000, .firewall_base =3D 0x30000, .firewall_ctl =3D 0x290, @@ -843,6 +853,8 @@ static const struct tegra234_cbb_fabric tegra234_rce_fa= bric =3D { .max_targets =3D ARRAY_SIZE(tegra234_common_target_map), .errors =3D tegra234_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), + .err_intr_enbl =3D 0xf, + .err_status_clr =3D 0x3f, .notifier_offset =3D 0x19000, .firewall_base =3D 0x30000, .firewall_ctl =3D 0x290, @@ -856,6 +868,8 @@ static const struct tegra234_cbb_fabric tegra234_sce_fa= bric =3D { .max_targets =3D ARRAY_SIZE(tegra234_common_target_map), .errors =3D tegra234_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), + .err_intr_enbl =3D 0xf, + .err_status_clr =3D 0x3f, .notifier_offset =3D 0x19000, .firewall_base =3D 0x30000, .firewall_ctl =3D 0x290, @@ -1040,6 +1054,8 @@ static const struct tegra234_cbb_fabric tegra241_cbb_= fabric =3D { .max_targets =3D ARRAY_SIZE(tegra241_cbb_target_map), .errors =3D tegra241_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra241_cbb_errors), + .err_intr_enbl =3D 0x7, + .err_status_clr =3D 0x1ff007f, .notifier_offset =3D 0x60000, .off_mask_erd =3D 0x40004, .firewall_base =3D 0x20000, @@ -1065,6 +1081,8 @@ static const struct tegra234_cbb_fabric tegra241_bpmp= _fabric =3D { .max_targets =3D ARRAY_SIZE(tegra241_bpmp_target_map), .errors =3D tegra241_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra241_cbb_errors), + .err_intr_enbl =3D 0xf, + .err_status_clr =3D 0x1ff007f, .notifier_offset =3D 0x19000, .firewall_base =3D 0x30000, .firewall_ctl =3D 0x8f0, --=20 2.34.1 From nobody Wed Oct 8 02:01:45 2025 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2046.outbound.protection.outlook.com [40.107.100.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1E3B62E174A; Thu, 3 Jul 2025 10:39:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.100.46 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751539154; cv=fail; b=rUHkhgSUdg23+Z6peBNxoHA9FC4DZZhw9lJV3ijTE1jWomHmI9p5sgFNAqdMqvRoTOWjvb9NBgoNcQNyWFB0dRlnAzFgeODzFdzpZv6IQvC5N+qrhm8w63aLB6s4mcAEb33PZnA0S5/Ri/R6ApeiRDbg/GTbw0uzU9PnHpBdmck= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751539154; c=relaxed/simple; bh=Gt7poHbAR6dlcELZgkW39jU80OD6VGfL/i+zTXakfwg=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=h1NOyWhq8RTvfnQUapGVnat0wKFJmzNcf8aYBQKejpE/PMfxwDC6Tc9DZIu7UmHYyY70euGAKsjgrEiIthOhCPRZtz8xAuJyBfSEcXrbyh59hL9Bl1LUumP2L2xmXx+xMU2mKCSLMgkJBeCUDUYWFLYEhPxm+TlFXNfvlxMdxGk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=ttZ6N61B; arc=fail smtp.client-ip=40.107.100.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="ttZ6N61B" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MzZFgF2+W1CVZ0j8bucQDgeT7XEbOb55zVi34jHyCO7Ws5oiYr5OgnwQ0yLDbGrZ6mHYWDisPoRxBR4DcbC0TPifxEgjAV4hbN9myF978TfTl8ktFBNsySpv20czb3kV9AOrm76TVyEo5YpxV+iQvoCg76ascYxDRhRED9DUxTbrSZxfQlEjhsTIB3okawpe5TE7ziST81d/q3d1nxgdEzjVE8qv3Lhaeot6j4kGVYTg0HkW+TVeOfqYSnsULJTmAP6S/EufP2UMFx83r/nZx2PBkMRYTlLrNMbuv8L59Df51RMd9oJlpnk7kjogewJZ/pV1IO35tNN/dxHqqqpKdQ== 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=Vvz38SLuB2zflJkQzFJjY/e9+yEZHeS05S3/ai4Y6QY=; b=jcI5+UfNnfyfBe0CEYt/zHsIX+zkljEjzmQQ6OsiobABz/J3INpiT894z0PZfwvVf8KV8oXhD3Qd8Lmk+mNYCd1ZIY5miQ9tiP7pJZ7fWUdfTtm1LUuNy1Ba0pijtJhI3tbscQPkV0o/ZKeB1mm5X1hxh+4U3cXO0sNi/FZjof5/Un8GWyhVljkFrGVY2+0+8mksa30O7NclL9rEpkpcLxdBEAmqC6pSwhTFZ4nD035GRyCbZ2hICmCCxOq95iBOq6U4FRWHw0LBpGN0iFccEykPk0TNAEZQyHH1zOulBnJX7TNirqDHcJl+01WdHq6sgRFzvVTWqBOvAoMMSLu2Wg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Vvz38SLuB2zflJkQzFJjY/e9+yEZHeS05S3/ai4Y6QY=; b=ttZ6N61B2/UY3KEI+BedD3a2Jv+SXJs7Tj0neX5fviLebqnpfy5rPE/NnHw1095BUGGBR493lOGZIvA0nS/f0RBbRCgIGZIRzWV9g9iMDNdrTg88j0cb7nSAYTn0W4/JRWe5Zt0I1CBIXKCu8y5Lx+9/FBjWaEbGcwRAOGB1jkmppFF9rkTZSwmZ7IK3uEvVH91Qumdwl0kPCgBhNhtgTYqvLBG1YBL5v59aQMnYQ2m+uZl10/ZHxSskFIoNjyaCPqjRH00KDDbgHNmrrqk7UhWs8gt7q5stI4kgQR1IRjAobsHlcY2qX9NfewKPUanfea3sm1Rj/uEyoVOuHLfIuQ== Received: from SN6PR01CA0010.prod.exchangelabs.com (2603:10b6:805:b6::23) by SJ2PR12MB9085.namprd12.prod.outlook.com (2603:10b6:a03:564::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.34; Thu, 3 Jul 2025 10:39:08 +0000 Received: from SN1PEPF0002636A.namprd02.prod.outlook.com (2603:10b6:805:b6:cafe::42) by SN6PR01CA0010.outlook.office365.com (2603:10b6:805:b6::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.21 via Frontend Transport; Thu, 3 Jul 2025 10:38:53 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SN1PEPF0002636A.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.15 via Frontend Transport; Thu, 3 Jul 2025 10:39:08 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Thu, 3 Jul 2025 03:38:58 -0700 Received: from rnnvmail201.nvidia.com (10.129.68.8) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Thu, 3 Jul 2025 03:38:57 -0700 Received: from sumitg-l4t.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.8) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Thu, 3 Jul 2025 03:38:54 -0700 From: Sumit Gupta To: , , , , , , , CC: , , Subject: [PATCH v2 4/8] soc: tegra: cbb: improve handling for per SoC fabric data Date: Thu, 3 Jul 2025 16:08:25 +0530 Message-ID: <20250703103829.1721024-5-sumitg@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250703103829.1721024-1-sumitg@nvidia.com> References: <20250703103829.1721024-1-sumitg@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NVConfidentiality: public Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: AnonymousSubmission X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002636A:EE_|SJ2PR12MB9085:EE_ X-MS-Office365-Filtering-Correlation-Id: 42f58988-0919-4fae-2916-08ddba1dd72d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?DnzDpH24NjBkhNOuG7bFRXGcacrOJ0yPYdR3WTRzpH/BGmgp424RDf8edFkm?= =?us-ascii?Q?04t3t4f6NqZ7GsfIOWFDT/uvXftFKZ0wFt1vVY6s6PiiJmlGuPTt5GgHZE7R?= =?us-ascii?Q?zfu9+bVfAR/FXRTdtbUjJIxvFGHVPuubGv7Nha2lWU2FYEwbQPiVYEiOd88o?= =?us-ascii?Q?BF4cy9x1oUrigaBhBM6G2ajfsZ8/klVmW5wnuW7THXESjcxghrHsYPJxFbHM?= =?us-ascii?Q?pgpv7IF2Cg6YZlbbM/5/2xtvR+rmt3TW8UNvoVt1sU5cOmbWWtb/jtcmP7vu?= =?us-ascii?Q?AM2jX52pgGEq4Lt5E5fGVsnfqNN4/+C6SimYstIwXKvpW5wcUyVm59/147sV?= =?us-ascii?Q?IlDWQloepdPkhgxvtdUL4W/PIogyUVywX9tRL2zEuZ5tirwaAxPqb0ZOAdMz?= =?us-ascii?Q?B+HPsstYlOBEhqSNEhdFpKrFGKFd2y4hJ62UC03ZdvkSKkN1ORoJL1CHbW3B?= =?us-ascii?Q?vj8ocDVXodqz/NmvUbfyIMJ0+ZqEQZU0eov59taqxI11xr+hqDyVnkAixj3i?= =?us-ascii?Q?YuAMSZbq9FLHc2ywn06galn/F318WMbdHmiEs0wJVp0rLMfoVc7jNHDPtdrN?= =?us-ascii?Q?jQPKctpUEz68hLUd7eSghMH5DaHYNmnU/C13WSsVg4xya5hvRoHPxkFzo+8R?= =?us-ascii?Q?P+WaSsFVbNS26hMMVD/Quucf3WtTlLKoDipZsi+S5aOuXRAJdjijs0RGOGuK?= =?us-ascii?Q?DFIP9XtToyl/x863XPUk0peH8xIZDBtKQvIDDK7UH+wexu8TUf4VtD+xJvQz?= =?us-ascii?Q?LrTRnbiIvJ9PsKkQvOy90C3PFs2fKY4qeAcLQQ8Q0fbbvuaWDNyDKw080nq9?= =?us-ascii?Q?B/CMJrKuTSrYErtusr1JArantk0bLEnd4IXFVzsjp6GSduEjPji/3o3S8Lph?= =?us-ascii?Q?MQWSr8w3erEIoDFG7vqxy6NgJgRa9oKfpZHXZVOo4HbSz7TIiOstXj6/WVpf?= =?us-ascii?Q?eEOG4vR9hbHE2aAW2F/CjAmF3RFV7HhCbT3D1BrVevHd9cNoxj+3MEj4KaRt?= =?us-ascii?Q?Hd1Wtp8J4kK8M54HC5fSE/yOgocqTFW1ZCfWgWyCwU9jcj6+h4ngsdACqAk7?= =?us-ascii?Q?SQ2pRSEKtkArMne64ve619rXvloioaoZGwnjCLYQKHkK8XkeSAELrcggiN7Q?= =?us-ascii?Q?0P1PSEYggfs9Li0RBzAyncJsJcY/ja5GlFVkaWyx14WXaWDOusVFhBLMb++H?= =?us-ascii?Q?xEeMDBjVJDYgg7J/3QpMLjUklxIp5GKBqm0BVEr3PmBs94Hajhlp7Fuisyg2?= =?us-ascii?Q?Lhml1/P4R4nisYNKoucp8lo35fCoXc0LEYo/ICl1kUZBCI7wHAs0TngYwEso?= =?us-ascii?Q?4O3u3154t99mUDEy1KVQMX1LVYBavkHDEhNMg2Ni8U9GSZOGZEFIv0LsvSs1?= =?us-ascii?Q?C6Z6/LcvvNUY0Bvo4hkOr0YvdGE2Vr97haAix+6YrRz2OsGMjMS+uiXbRAKw?= =?us-ascii?Q?cuyzjXtRk0GHaL3JD7pxEFB0qLNtyWqlr8pEv66caBYhE1Ms4scuKlt4PaPI?= =?us-ascii?Q?cj+LChsneFzz4v/CmFQhbdHjz3WxaXa0TR/e?= X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2025 10:39:08.2095 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 42f58988-0919-4fae-2916-08ddba1dd72d X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002636A.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9085 Content-Type: text/plain; charset="utf-8" Improve handling for the per soc fabrics and targets. The below changes make them more flexible and ready for future SoC's. - Added SoC prefix to Fabric_ID enums. - Rename *lookup_target_timeout() to *sw_lookup_target_timeout() to make it separate from HW based lookup function to be added later. - Moved target_map within fabric_lookup table to make it easy to check whether SW vs HW lookup is supported and handle accordingly. - Slight improvements to some error prints. Signed-off-by: Sumit Gupta --- drivers/soc/tegra/cbb/tegra234-cbb.c | 239 +++++++++++++++------------ 1 file changed, 131 insertions(+), 108 deletions(-) diff --git a/drivers/soc/tegra/cbb/tegra234-cbb.c b/drivers/soc/tegra/cbb/t= egra234-cbb.c index 6116221f0ca61..10f57f17fee8d 100644 --- a/drivers/soc/tegra/cbb/tegra234-cbb.c +++ b/drivers/soc/tegra/cbb/tegra234-cbb.c @@ -74,15 +74,15 @@ #define WEN 0x20000 =20 enum tegra234_cbb_fabric_ids { - CBB_FAB_ID, - SCE_FAB_ID, - RCE_FAB_ID, - DCE_FAB_ID, - AON_FAB_ID, - PSC_FAB_ID, - BPMP_FAB_ID, - FSI_FAB_ID, - MAX_FAB_ID, + T234_CBB_FABRIC_ID, + T234_SCE_FABRIC_ID, + T234_RCE_FABRIC_ID, + T234_DCE_FABRIC_ID, + T234_AON_FABRIC_ID, + T234_PSC_FABRIC_ID, + T234_BPMP_FABRIC_ID, + T234_FSI_FABRIC_ID, + T234_MAX_FABRIC_ID, }; =20 struct tegra234_target_lookup { @@ -90,8 +90,15 @@ struct tegra234_target_lookup { unsigned int offset; }; =20 -struct tegra234_cbb_fabric { +struct tegra234_fabric_lookup { const char *name; + bool is_lookup; + const struct tegra234_target_lookup *target_map; + const int max_targets; +}; + +struct tegra234_cbb_fabric { + int fab_id; phys_addr_t off_mask_erd; phys_addr_t firewall_base; unsigned int firewall_ctl; @@ -100,8 +107,7 @@ struct tegra234_cbb_fabric { unsigned int notifier_offset; const struct tegra_cbb_error *errors; const int max_errors; - const struct tegra234_target_lookup *target_map; - const int max_targets; + const struct tegra234_fabric_lookup *fab_list; const u32 err_intr_enbl; const u32 err_status_clr; }; @@ -266,12 +272,17 @@ static void tegra234_cbb_lookup_apbslv(struct seq_fil= e *file, const char *target } } =20 -static void tegra234_lookup_target_timeout(struct seq_file *file, struct t= egra234_cbb *cbb, - u8 target_id, u8 fab_id) +static void tegra234_sw_lookup_target_timeout(struct seq_file *file, struc= t tegra234_cbb *cbb, + u8 target_id, u8 fab_id) { - const struct tegra234_target_lookup *map =3D cbb->fabric->target_map; + const struct tegra234_target_lookup *map =3D cbb->fabric->fab_list[fab_id= ].target_map; void __iomem *addr; =20 + if (target_id >=3D cbb->fabric->fab_list[fab_id].max_targets) { + tegra_cbb_print_err(file, "\t Invalid target_id:%d\n", target_id); + return; + } + /* * 1) Get target node name and address mapping using target_id. * 2) Check if the timed out target node is APB or AXI. @@ -354,7 +365,6 @@ static void print_errlog_err(struct seq_file *file, str= uct tegra234_cbb *cbb) { u8 cache_type, prot_type, burst_length, mstr_id, grpsec, vqc, falconsec, = beat_size; u8 access_type, access_id, requester_socket_id, local_socket_id, target_i= d, fab_id; - char fabric_name[20]; bool is_numa =3D false; u8 burst_type; =20 @@ -399,21 +409,18 @@ static void print_errlog_err(struct seq_file *file, s= truct tegra234_cbb *cbb) else tegra_cbb_print_err(file, "\t Wrong type index:%u\n", cbb->type); =20 - tegra_cbb_print_err(file, "\t Initiator_Id\t\t: %s\n", cbb->fabric->init= iator_id[mstr_id]); + tegra_cbb_print_err(file, "\t Initiator_Id\t\t: %#x\n", mstr_id); + if (cbb->fabric->initiator_id) + tegra_cbb_print_err(file, "\t Initiator\t\t: %s\n", + cbb->fabric->initiator_id[mstr_id]); + tegra_cbb_print_err(file, "\t Address\t\t: %#llx\n", cbb->access); =20 tegra_cbb_print_cache(file, cache_type); tegra_cbb_print_prot(file, prot_type); =20 tegra_cbb_print_err(file, "\t Access_Type\t\t: %s", (access_type) ? "Wri= te\n" : "Read\n"); - tegra_cbb_print_err(file, "\t Access_ID\t\t: %#x", access_id); - - if (fab_id =3D=3D PSC_FAB_ID) - strcpy(fabric_name, "psc-fabric"); - else if (fab_id =3D=3D FSI_FAB_ID) - strcpy(fabric_name, "fsi-fabric"); - else - strcpy(fabric_name, cbb->fabric->name); + tegra_cbb_print_err(file, "\t Access_ID\t\t: %#x\n", access_id); =20 if (is_numa) { tegra_cbb_print_err(file, "\t Requester_Socket_Id\t: %#x\n", @@ -424,7 +431,9 @@ static void print_errlog_err(struct seq_file *file, str= uct tegra234_cbb *cbb) num_possible_nodes()); } =20 - tegra_cbb_print_err(file, "\t Fabric\t\t: %s\n", fabric_name); + tegra_cbb_print_err(file, "\t Fabric\t\t: %s (id:%#x)\n", + cbb->fabric->fab_list[fab_id].name, fab_id); + tegra_cbb_print_err(file, "\t Target_Id\t\t: %#x\n", target_id); tegra_cbb_print_err(file, "\t Burst_length\t\t: %#x\n", burst_length); tegra_cbb_print_err(file, "\t Burst_type\t\t: %#x\n", burst_type); @@ -433,21 +442,13 @@ static void print_errlog_err(struct seq_file *file, s= truct tegra234_cbb *cbb) tegra_cbb_print_err(file, "\t GRPSEC\t\t: %#x\n", grpsec); tegra_cbb_print_err(file, "\t FALCONSEC\t\t: %#x\n", falconsec); =20 - if ((fab_id =3D=3D PSC_FAB_ID) || (fab_id =3D=3D FSI_FAB_ID)) + if (!cbb->fabric->fab_list[fab_id].is_lookup) return; =20 - if (target_id >=3D cbb->fabric->max_targets) { - tegra_cbb_print_err(file, "\t Invalid target_id:%d\n", target_id); - return; - } - - if (!strcmp(cbb->fabric->errors[cbb->type].code, "TIMEOUT_ERR")) { - tegra234_lookup_target_timeout(file, cbb, target_id, fab_id); - return; - } + if (!strcmp(cbb->fabric->errors[cbb->type].code, "TIMEOUT_ERR")) + tegra234_sw_lookup_target_timeout(file, cbb, target_id, fab_id); =20 - tegra_cbb_print_err(file, "\t Target\t\t\t: %s\n", - cbb->fabric->target_map[target_id].name); + return; } =20 static int print_errmonX_info(struct seq_file *file, struct tegra234_cbb *= cbb) @@ -508,7 +509,7 @@ static int print_err_notifier(struct seq_file *file, st= ruct tegra234_cbb *cbb, u =20 pr_crit("**************************************\n"); pr_crit("CPU:%d, Error:%s, Errmon:%d\n", smp_processor_id(), - cbb->fabric->name, status); + cbb->fabric->fab_list[cbb->fabric->fab_id].name, status); =20 while (status) { if (status & BIT(0)) { @@ -531,13 +532,13 @@ static int print_err_notifier(struct seq_file *file, = struct tegra234_cbb *cbb, u tegra234_cbb_error_clear(&cbb->base); if (err) return err; + tegra_cbb_print_err(file, "\t**************************************\n"); } =20 status >>=3D 1; index++; } =20 - tegra_cbb_print_err(file, "\t**************************************\n"); return 0; } =20 @@ -586,7 +587,8 @@ static irqreturn_t tegra234_cbb_isr(int irq, void *data) =20 if (status && (irq =3D=3D priv->sec_irq)) { tegra_cbb_print_err(NULL, "CPU:%d, Error: %s@0x%llx, irq=3D%d\n", - smp_processor_id(), priv->fabric->name, + smp_processor_id(), + priv->fabric->fab_list[priv->fabric->fab_id].name, priv->res->start, irq); =20 err =3D print_err_notifier(NULL, priv, status); @@ -704,21 +706,6 @@ static const struct tegra234_target_lookup tegra234_ao= n_target_map[] =3D { { "CPU", 0x16000 }, }; =20 -static const struct tegra234_cbb_fabric tegra234_aon_fabric =3D { - .name =3D "aon-fabric", - .initiator_id =3D tegra234_initiator_id, - .target_map =3D tegra234_aon_target_map, - .max_targets =3D ARRAY_SIZE(tegra234_aon_target_map), - .errors =3D tegra234_cbb_errors, - .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), - .err_intr_enbl =3D 0x7, - .err_status_clr =3D 0x3f, - .notifier_offset =3D 0x17000, - .firewall_base =3D 0x30000, - .firewall_ctl =3D 0x8d0, - .firewall_wr_ctl =3D 0x8c8, -}; - static const struct tegra234_target_lookup tegra234_bpmp_target_map[] =3D { { "AXI2APB", 0x00000 }, { "AST0", 0x15000 }, @@ -727,19 +714,13 @@ static const struct tegra234_target_lookup tegra234_b= pmp_target_map[] =3D { { "CPU", 0x18000 }, }; =20 -static const struct tegra234_cbb_fabric tegra234_bpmp_fabric =3D { - .name =3D "bpmp-fabric", - .initiator_id =3D tegra234_initiator_id, - .target_map =3D tegra234_bpmp_target_map, - .max_targets =3D ARRAY_SIZE(tegra234_bpmp_target_map), - .errors =3D tegra234_cbb_errors, - .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), - .err_intr_enbl =3D 0xf, - .err_status_clr =3D 0x3f, - .notifier_offset =3D 0x19000, - .firewall_base =3D 0x30000, - .firewall_ctl =3D 0x8f0, - .firewall_wr_ctl =3D 0x8e8, +static const struct tegra234_target_lookup tegra234_common_target_map[] = =3D { + { "AXI2APB", 0x00000 }, + { "AST0", 0x15000 }, + { "AST1", 0x16000 }, + { "CBB", 0x17000 }, + { "RSVD", 0x00000 }, + { "CPU", 0x18000 }, }; =20 static const struct tegra234_target_lookup tegra234_cbb_target_map[] =3D { @@ -806,11 +787,61 @@ static const struct tegra234_target_lookup tegra234_c= bb_target_map[] =3D { { "AXI2APB_3", 0x91000 }, }; =20 +static const struct tegra234_fabric_lookup tegra234_cbb_fab_list[] =3D { + [T234_CBB_FABRIC_ID] =3D { "cbb-fabric", true, + tegra234_cbb_target_map, + ARRAY_SIZE(tegra234_cbb_target_map) }, + [T234_SCE_FABRIC_ID] =3D { "sce-fabric", true, + tegra234_common_target_map, + ARRAY_SIZE(tegra234_common_target_map) }, + [T234_RCE_FABRIC_ID] =3D { "rce-fabric", true, + tegra234_common_target_map, + ARRAY_SIZE(tegra234_common_target_map) }, + [T234_DCE_FABRIC_ID] =3D { "dce-fabric", true, + tegra234_common_target_map, + ARRAY_SIZE(tegra234_common_target_map) }, + [T234_AON_FABRIC_ID] =3D { "aon-fabric", true, + tegra234_aon_target_map, + ARRAY_SIZE(tegra234_bpmp_target_map) }, + [T234_PSC_FABRIC_ID] =3D { "psc-fabric" }, + [T234_BPMP_FABRIC_ID] =3D { "bpmp-fabric", true, + tegra234_bpmp_target_map, + ARRAY_SIZE(tegra234_bpmp_target_map) }, + [T234_FSI_FABRIC_ID] =3D { "fsi-fabric" }, +}; + +static const struct tegra234_cbb_fabric tegra234_aon_fabric =3D { + .fab_id =3D T234_AON_FABRIC_ID, + .fab_list =3D tegra234_cbb_fab_list, + .initiator_id =3D tegra234_initiator_id, + .errors =3D tegra234_cbb_errors, + .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), + .err_intr_enbl =3D 0x7, + .err_status_clr =3D 0x3f, + .notifier_offset =3D 0x17000, + .firewall_base =3D 0x30000, + .firewall_ctl =3D 0x8d0, + .firewall_wr_ctl =3D 0x8c8, +}; + +static const struct tegra234_cbb_fabric tegra234_bpmp_fabric =3D { + .fab_id =3D T234_BPMP_FABRIC_ID, + .fab_list =3D tegra234_cbb_fab_list, + .initiator_id =3D tegra234_initiator_id, + .errors =3D tegra234_cbb_errors, + .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), + .err_intr_enbl =3D 0xf, + .err_status_clr =3D 0x3f, + .notifier_offset =3D 0x19000, + .firewall_base =3D 0x30000, + .firewall_ctl =3D 0x8f0, + .firewall_wr_ctl =3D 0x8e8, +}; + static const struct tegra234_cbb_fabric tegra234_cbb_fabric =3D { - .name =3D "cbb-fabric", + .fab_id =3D T234_CBB_FABRIC_ID, + .fab_list =3D tegra234_cbb_fab_list, .initiator_id =3D tegra234_initiator_id, - .target_map =3D tegra234_cbb_target_map, - .max_targets =3D ARRAY_SIZE(tegra234_cbb_target_map), .errors =3D tegra234_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), .err_intr_enbl =3D 0x7f, @@ -822,20 +853,10 @@ static const struct tegra234_cbb_fabric tegra234_cbb_= fabric =3D { .firewall_wr_ctl =3D 0x23e8, }; =20 -static const struct tegra234_target_lookup tegra234_common_target_map[] = =3D { - { "AXI2APB", 0x00000 }, - { "AST0", 0x15000 }, - { "AST1", 0x16000 }, - { "CBB", 0x17000 }, - { "RSVD", 0x00000 }, - { "CPU", 0x18000 }, -}; - static const struct tegra234_cbb_fabric tegra234_dce_fabric =3D { - .name =3D "dce-fabric", + .fab_id =3D T234_DCE_FABRIC_ID, + .fab_list =3D tegra234_cbb_fab_list, .initiator_id =3D tegra234_initiator_id, - .target_map =3D tegra234_common_target_map, - .max_targets =3D ARRAY_SIZE(tegra234_common_target_map), .errors =3D tegra234_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), .err_intr_enbl =3D 0xf, @@ -847,10 +868,9 @@ static const struct tegra234_cbb_fabric tegra234_dce_f= abric =3D { }; =20 static const struct tegra234_cbb_fabric tegra234_rce_fabric =3D { - .name =3D "rce-fabric", + .fab_id =3D T234_RCE_FABRIC_ID, + .fab_list =3D tegra234_cbb_fab_list, .initiator_id =3D tegra234_initiator_id, - .target_map =3D tegra234_common_target_map, - .max_targets =3D ARRAY_SIZE(tegra234_common_target_map), .errors =3D tegra234_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), .err_intr_enbl =3D 0xf, @@ -862,10 +882,9 @@ static const struct tegra234_cbb_fabric tegra234_rce_f= abric =3D { }; =20 static const struct tegra234_cbb_fabric tegra234_sce_fabric =3D { - .name =3D "sce-fabric", + .fab_id =3D T234_SCE_FABRIC_ID, + .fab_list =3D tegra234_cbb_fab_list, .initiator_id =3D tegra234_initiator_id, - .target_map =3D tegra234_common_target_map, - .max_targets =3D ARRAY_SIZE(tegra234_common_target_map), .errors =3D tegra234_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra234_cbb_errors), .err_intr_enbl =3D 0xf, @@ -985,6 +1004,17 @@ static const struct tegra_cbb_error tegra241_cbb_erro= rs[] =3D { }, }; =20 +static const struct tegra234_target_lookup tegra241_bpmp_target_map[] =3D { + { "RSVD", 0x00000 }, + { "RSVD", 0x00000 }, + { "RSVD", 0x00000 }, + { "CBB", 0x15000 }, + { "CPU", 0x16000 }, + { "AXI2APB", 0x00000 }, + { "DBB0", 0x17000 }, + { "DBB1", 0x18000 }, +}; + static const struct tegra234_target_lookup tegra241_cbb_target_map[] =3D { { "RSVD", 0x00000 }, { "PCIE_C8", 0x51000 }, @@ -1047,11 +1077,16 @@ static const struct tegra234_target_lookup tegra241= _cbb_target_map[] =3D { { "AXI2APB_32", 0x8F000 }, }; =20 +static const struct tegra234_fabric_lookup tegra241_cbb_fab_list[] =3D { + [T234_CBB_FABRIC_ID] =3D { "cbb-fabric", true, + tegra241_cbb_target_map, ARRAY_SIZE(tegra241_cbb_target_map) }, + [T234_BPMP_FABRIC_ID] =3D { "bpmp-fabric", true, + tegra241_bpmp_target_map, ARRAY_SIZE(tegra241_cbb_target_map) }, +}; static const struct tegra234_cbb_fabric tegra241_cbb_fabric =3D { - .name =3D "cbb-fabric", + .fab_id =3D T234_CBB_FABRIC_ID, + .fab_list =3D tegra241_cbb_fab_list, .initiator_id =3D tegra241_initiator_id, - .target_map =3D tegra241_cbb_target_map, - .max_targets =3D ARRAY_SIZE(tegra241_cbb_target_map), .errors =3D tegra241_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra241_cbb_errors), .err_intr_enbl =3D 0x7, @@ -1063,22 +1098,10 @@ static const struct tegra234_cbb_fabric tegra241_cb= b_fabric =3D { .firewall_wr_ctl =3D 0x2368, }; =20 -static const struct tegra234_target_lookup tegra241_bpmp_target_map[] =3D { - { "RSVD", 0x00000 }, - { "RSVD", 0x00000 }, - { "RSVD", 0x00000 }, - { "CBB", 0x15000 }, - { "CPU", 0x16000 }, - { "AXI2APB", 0x00000 }, - { "DBB0", 0x17000 }, - { "DBB1", 0x18000 }, -}; - static const struct tegra234_cbb_fabric tegra241_bpmp_fabric =3D { - .name =3D "bpmp-fabric", + .fab_id =3D T234_BPMP_FABRIC_ID, + .fab_list =3D tegra241_cbb_fab_list, .initiator_id =3D tegra241_initiator_id, - .target_map =3D tegra241_bpmp_target_map, - .max_targets =3D ARRAY_SIZE(tegra241_bpmp_target_map), .errors =3D tegra241_cbb_errors, .max_errors =3D ARRAY_SIZE(tegra241_cbb_errors), .err_intr_enbl =3D 0xf, @@ -1197,7 +1220,7 @@ static int __maybe_unused tegra234_cbb_resume_noirq(s= truct device *dev) =20 tegra234_cbb_error_enable(&cbb->base); =20 - dev_dbg(dev, "%s resumed\n", cbb->fabric->name); + dev_dbg(dev, "%s resumed\n", cbb->fabric->fab_list[cbb->fabric->fab_id].n= ame); =20 return 0; } --=20 2.34.1 From nobody Wed Oct 8 02:01:45 2025 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2070.outbound.protection.outlook.com [40.107.102.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AA8492E3AED; Thu, 3 Jul 2025 10:39:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.102.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751539157; cv=fail; b=qsBjf28/mG4qj+HxogUGV0Iwa9TekpNW32f/0amPq/l5uPdb2P5GXaQUc9xf+SVKo1yEtVqnPDmt/A+EJZgTOMCZFsMTH567k6tH/GYl+hdQzD8iLjdFFwzdNRljQFYXszjPvhrmQ6/kTWmwAFOn2o2qxgWOqGfqjtlDWPNM1tk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751539157; c=relaxed/simple; bh=GAd3Hu9DwxYJziad3smIK9XQIX83WSA458K0FDZ2Dn0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=hz7qwIOQXmYG6MukcYehnlDrYFDnXpf/t23oaZ4jII72KuOUnSGfo69TsRS6D2A59h/5mdNa6ei+O7P0o/l+BEOItRnNYHIxV5jS9jevlfaQVLepgYLAmNrl3hOJwDUUAYDNBV20qaIxrwQxLWcu+BNKQi9btYbIJzzbP4U+rs8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=ZxkjrWgP; arc=fail smtp.client-ip=40.107.102.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="ZxkjrWgP" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nXG/m/7pR3Q2Gga2znplquXMbaqqCXbJmQRftZfGAf592rPrSZgDFRZ00v6dyBaHwPmLVbFy4gdFcBelKRcP1HruwhRhw7QMWuorbOCJh4QPfVkr0c3zhx95ltVK08cKb4RuWvsTyBRT1IXhcuMJ60eaxbZpKHT+DHaR/iHNpGhLjhlpZwf1UZKM4IkKDdQ/qkKNM6iSfC12ZHLepnGR74/23Uiz3uQoJX83phVB4F4ZR8Iw/JGLC7g+hD6DpR6xPl5I8gkc0OWjNaITQlPj9K9NLnNiCnrQE5InddGsTGkb5RwAb2fX2LY3YrMzagl7AIHN0adCu/DRYZ60r3CMnw== 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=mX94FYAOioId3W59YqPFeA889HLqKEb1R7tsmPrrbTE=; b=s7tq3vLCtoLKwhOOSyojnBDzLxjIucVMvCfHS8DDsas1s+o+WrYbl5Nbz49vDtuoytpssnyH5pqbvImcM10jvf1zHKj+JVb+u7IqXYbPVLFn8pxHr4QcH6/hGRj/0roJBqKa9lYYQ15L3oZVhijPK6CvfB3uiJRjVUMB8/ZLnbVhiZnx41Z/k6GVCvJLNKcWdvTrAUrcIRtEV13qfPLwJv/4JAzlYIw5hT46KeWnpKpJUfn3Kgv4LrnU5auifzLggY7ydJYtIsMzSQY1htneId0ogBauBaGA9ppYS3VP6lKgmCfEYWum1TcYGCo+wkV6fOzlfzYHLX3Et5YnGyqB8A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mX94FYAOioId3W59YqPFeA889HLqKEb1R7tsmPrrbTE=; b=ZxkjrWgPe/UlzZHzmnGUIVQymQxd/jVdMjjNdGrd1zs+BnHUojDRVdoFI3Bo9/j5RpO5VaHT7lmM7o4r/OuM4kz8LTjRH/UonMdhGkMbSTM1fGg5Hm1TQTCH9gZ25NWLYMOtSHWerH5FjjOQQSGs5xyNVp5QOCW9Ji/WpjHiRtGqID46H+ZTOiqy04+iC01KT1nZovX3nYx1uWyhMPomntYhruFcgd9tOdIuCq+m8phn7cutq8Hc2bKg2CezSeW9ZVrtmLNOyDQFYPFlPUDQ3oO52/36M9rICINkS6ZtGC/FgV0mn6n4obaeAL/V32VrqpWrYhKc3ylEMbp9V4cv1g== Received: from SA0PR13CA0011.namprd13.prod.outlook.com (2603:10b6:806:130::16) by LV3PR12MB9144.namprd12.prod.outlook.com (2603:10b6:408:19d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8835.30; Thu, 3 Jul 2025 10:39:12 +0000 Received: from SN1PEPF0002636B.namprd02.prod.outlook.com (2603:10b6:806:130:cafe::c8) by SA0PR13CA0011.outlook.office365.com (2603:10b6:806:130::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.12 via Frontend Transport; Thu, 3 Jul 2025 10:39:11 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SN1PEPF0002636B.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.20 via Frontend Transport; Thu, 3 Jul 2025 10:39:11 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Thu, 3 Jul 2025 03:39:01 -0700 Received: from rnnvmail201.nvidia.com (10.129.68.8) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Thu, 3 Jul 2025 03:39:01 -0700 Received: from sumitg-l4t.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.8) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Thu, 3 Jul 2025 03:38:58 -0700 From: Sumit Gupta To: , , , , , , , CC: , , Subject: [PATCH v2 5/8] soc: tegra: cbb: support hw lookup to get timed out target address Date: Thu, 3 Jul 2025 16:08:26 +0530 Message-ID: <20250703103829.1721024-6-sumitg@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250703103829.1721024-1-sumitg@nvidia.com> References: <20250703103829.1721024-1-sumitg@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NVConfidentiality: public Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: AnonymousSubmission X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002636B:EE_|LV3PR12MB9144:EE_ X-MS-Office365-Filtering-Correlation-Id: ae52d5af-05b4-471a-7d14-08ddba1dd935 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?rpagjnTY+6FfdeReGOuZ4veRHPUjrnBiuqkEd7emDph/5A27vCjgBe3QibKb?= =?us-ascii?Q?JiFcswd9RxoA8NaIl8FRLWxGB6wRo2iPpRJ3UTJQyNyawcmP3HxLPE0NDJCi?= =?us-ascii?Q?c7S83aD21ZQLkY+AxHQ7UYRqPkhO2SmcnZGZRb/Wuk7ELhn+JtLcuRrxxBEf?= =?us-ascii?Q?0vUJ6sfP6yrtEM1joWZ/d7ahL+EWcSZCoV+CcZLipuQbE2T7zgkT3K7l4wjA?= =?us-ascii?Q?VzDB33i/AcXS9orcV9QTqHGuWW+Jew/v5KIKgeNYz2xVRAITbjupAYHR4kmG?= =?us-ascii?Q?bCcuUOWCgx5Ff//wt6raLNqEd7XVi3kXrG4GO40ZY8WNuGOR79d3IJQUUBGx?= =?us-ascii?Q?XtDY8PBsNUfKDwPYsiDHp46fkm6b6skrVomP0rdTlx/KmrzIfCUsEUgSXEmx?= =?us-ascii?Q?cxyhl1ox3LQivr6jlpSWuUgeLlvhhOWdc388TYVnpLMADIyETqVyVwLMeCqr?= =?us-ascii?Q?vpXlDcciF4nzHOdPI7fIOqtd5afUme5+aO52WzPPbmKMfOssWczcLWKXL9mV?= =?us-ascii?Q?2uWXj3h8lTr1bYn8mntMiMY0ANoLEW98fjDC7LJYsuNmxKt0Hba9KWat1iBu?= =?us-ascii?Q?MwW2NDJhbRynJIFEgGuEALV/2iYf9zgee5+pfCpR73ltMkYUEL7XU+rh/18j?= =?us-ascii?Q?X5Twc1S1hTk4DCvry07O+SCpnhJEtu3ffihcNnvs/+SGAC2W4rv3UlBDjBQG?= =?us-ascii?Q?xeSZ9EMEH6pFbBCzO2exP/yfio0N3FFblZBx9qWNxFIq5mAlMytGHkxrrmU/?= =?us-ascii?Q?X6Eowjjdx1b9uZEcdVAtg8nyfP9UPdjrznBvSN/esRt8HUzPkJlZgGWRUTmf?= =?us-ascii?Q?L/1ebZ4gJTkCMSd3NquxFLltkRdZ498VXe3F9FC/rs6vKgqTNiIPjOaW4USk?= =?us-ascii?Q?0D/oEov5aAmMhL+kJtE7wjcCw/TjaN6mzqwQ2hbkmrNi3zkiNML8ltmb4wpk?= =?us-ascii?Q?+OZHRihOmLdWwJ6ouwZzWvidJvQpTXw+qr8uEGnkVr0ePWwg96rXAWxmlXNw?= =?us-ascii?Q?MFqpshwnnxM+RxahmcA59cczpEZth5aeIRdcHB7D/sQLU+vC10K+gUTjn+gf?= =?us-ascii?Q?N+G/GQQSnJxpv13PWoe9LRqr+3dvF5JNuTLPwqPXtasEzCvalX9UyEN7QrVj?= =?us-ascii?Q?bhOBt/Ygd7t6MvHYDw9nq8iGhgTHa2A9CZz7B6jf96IPAZGociISuCHq+uxL?= =?us-ascii?Q?nwWTpx+vX1AB5ilT7DhApPoXFox9burLQQEdeyrMmHCjiZWODMmcnpczD7ei?= =?us-ascii?Q?6JdfhDb72FXzRWlfj7vpkyx6dC0eNC9OA/QcilQ1khMXvsgJrb2t4kEKQJis?= =?us-ascii?Q?0oGKFtIM3YaJbej/q2giD+zc6V+KkfmxUrJKrBbLkcQdJYQM3C8x1du5UuoG?= =?us-ascii?Q?ORenqrY27TIFTnCd6EYkmTy1QNNUZQARqmKfi8yapF2rCSffqznyMqEMV+G4?= =?us-ascii?Q?7q8ydlF4iD/i6zASTCE8FZtz+7eVQtYfun38kcEghmKQsGuASrxpmwBl/3+D?= =?us-ascii?Q?5JNCnB3o//unq4F4B5DeZ7O7gqWlVKXMFeVh?= X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2025 10:39:11.5970 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ae52d5af-05b4-471a-7d14-08ddba1dd935 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002636B.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9144 Content-Type: text/plain; charset="utf-8" Add support for hardware based lookup to get address of timed out target node. This features is added in upcoming SoCs and avoids need of creating per fabric target_map tables in driver. Signed-off-by: Sumit Gupta --- drivers/soc/tegra/cbb/tegra234-cbb.c | 41 ++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/drivers/soc/tegra/cbb/tegra234-cbb.c b/drivers/soc/tegra/cbb/t= egra234-cbb.c index 10f57f17fee8d..aab0cd85dea5e 100644 --- a/drivers/soc/tegra/cbb/tegra234-cbb.c +++ b/drivers/soc/tegra/cbb/tegra234-cbb.c @@ -30,13 +30,17 @@ #define FABRIC_EN_CFG_ADDR_LOW_0 0x80 #define FABRIC_EN_CFG_ADDR_HI_0 0x84 =20 +#define FABRIC_EN_CFG_TARGET_NODE_ADDR_INDEX_0_0 0x100 +#define FABRIC_EN_CFG_TARGET_NODE_ADDR_LOW_0 0x140 +#define FABRIC_EN_CFG_TARGET_NODE_ADDR_HI_0 0x144 + #define FABRIC_MN_INITIATOR_ERR_EN_0 0x200 #define FABRIC_MN_INITIATOR_ERR_FORCE_0 0x204 -#define FABRIC_MN_INITIATOR_ERR_STATUS_0 0x208 -#define FABRIC_MN_INITIATOR_ERR_OVERFLOW_STATUS_0 0x20c +#define FABRIC_MN_INITIATOR_ERR_STATUS_0 0x208 +#define FABRIC_MN_INITIATOR_ERR_OVERFLOW_STATUS_0 0x20c =20 #define FABRIC_MN_INITIATOR_LOG_ERR_STATUS_0 0x300 -#define FABRIC_MN_INITIATOR_LOG_ADDR_LOW_0 0x304 +#define FABRIC_MN_INITIATOR_LOG_ADDR_LOW_0 0x304 #define FABRIC_MN_INITIATOR_LOG_ADDR_HIGH_0 0x308 #define FABRIC_MN_INITIATOR_LOG_ATTRIBUTES0_0 0x30c #define FABRIC_MN_INITIATOR_LOG_ATTRIBUTES1_0 0x310 @@ -320,6 +324,23 @@ static void tegra234_sw_lookup_target_timeout(struct s= eq_file *file, struct tegr } } =20 +static void tegra234_hw_lookup_target_timeout(struct seq_file *file, struc= t tegra234_cbb *cbb, + u8 target_id, u8 fab_id) +{ + unsigned int notifier =3D cbb->fabric->notifier_offset; + u32 hi, lo; + u64 addr; + + writel(target_id, cbb->regs + notifier + FABRIC_EN_CFG_TARGET_NODE_ADDR_I= NDEX_0_0); + + hi =3D readl(cbb->regs + notifier + FABRIC_EN_CFG_TARGET_NODE_ADDR_HI_0); + lo =3D readl(cbb->regs + notifier + FABRIC_EN_CFG_TARGET_NODE_ADDR_LOW_0); + + addr =3D (u64)hi << 32 | lo; + + tegra_cbb_print_err(file, "\t Target Node Addr : %#llx\n", addr); +} + static void tegra234_cbb_print_error(struct seq_file *file, struct tegra23= 4_cbb *cbb, u32 status, u32 overflow) { @@ -445,8 +466,18 @@ static void print_errlog_err(struct seq_file *file, st= ruct tegra234_cbb *cbb) if (!cbb->fabric->fab_list[fab_id].is_lookup) return; =20 - if (!strcmp(cbb->fabric->errors[cbb->type].code, "TIMEOUT_ERR")) - tegra234_sw_lookup_target_timeout(file, cbb, target_id, fab_id); + /* + * If is_lookup field is set in fabric_lookup table of soc data, it + * means that address lookup of target is supported for Timeout errors. + * If is_lookup is set and the target_map is not populated making + * max_targets as zero, then it means HW lookup is to be performed. + */ + if (!strcmp(cbb->fabric->errors[cbb->type].code, "TIMEOUT_ERR")) { + if (cbb->fabric->fab_list[fab_id].max_targets) + tegra234_sw_lookup_target_timeout(file, cbb, target_id, fab_id); + else + tegra234_hw_lookup_target_timeout(file, cbb, target_id, fab_id); + } =20 return; } --=20 2.34.1 From nobody Wed Oct 8 02:01:45 2025 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2045.outbound.protection.outlook.com [40.107.101.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 816772E5418; Thu, 3 Jul 2025 10:39:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.101.45 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751539163; cv=fail; b=ZQzVpa+vKQ3Ph3azb0XE3XliDbnkux6Z3nLZ4dMQads3apBYXHDYk82Ii93nT0lJTFc8q28SxOoEto0Eh7GbU1ST9ZgmeTESVQAWapIoXgBMMI9FKoI3P0GprJh5hgj/Q/e0CKioua4CcAsXS7Z3CCoyAI1PpZc+NAZG8L9jzL0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751539163; c=relaxed/simple; bh=6/7rhnZWIpHqrF/Wc35G1F6jhFCOBHLHDRuFVSXyl7I=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=PIk75FroJEiOwb+KgLyMhSjNkFyh+N9GstTmpb9APpLY62jzW3pgNWiF5ATjilVRdgmxC3mkh4WkTwdkPH5nFeMDZp6Uytcd+Q+f2H2DlXTDrO/kJjzK743XRHgQPJ6ljFF8lcST3WJq/I48oSvwDomcrsZq3dTtMoYEKApFZpA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=KuezRk05; arc=fail smtp.client-ip=40.107.101.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="KuezRk05" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MX1cwTadw1OeDV1LhR4q0UxaOCfEl/WXGtk5MEY8JV0i4kpr0Q7batnHTtNJrpidwLOVnxInvAjW/wU5Fh7D151KqIRUctjwrxoDiyX0obea6qAongvQ3dxxu2prK+0cshNXMN4/YBAW6oovBRs026wGUUHGYkxqi6wSKzvHCflNprE6FlMoIsQ08H5VhimOtkJwSa5Gdb0anQR32HKRqDk72o2MH5uzWJAy/rCUfKLeofZm+ouFQbY27W5OwDLPnisN6ybJiIf4EdL6NZDA3zjGlwjPpeLqt/HsM+u/YBbIn50Hv3MAK1GBDXtOvaDu7tcdEigCd4pGOmkIP2K/Kw== 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=dIX9GOBru9T4BLwYt0IzAy8lxmgdXB887ttbYm3B4Ds=; b=xZoeFYgSpI2ahyrm4M0gw69eWVwVCJZozBJETMCb65V7ls1vf/nlTOwjo7MDbc3GubbUE5GIA/6fP+0BPP0f67yWMoMJflhA2S53g3D5qLltuCnG3NOgnt+eWYiVH1Ezr5svqvNfVXIUQt6VlrIunlmzA9WnLvYG5/gFncjMVz0Qj9Vd4JxoGo/m9tBQXVifPQl6JI6uSfVSO9W18LQeNSfkNSvKeNPCkiVwQddFklTXf6VaVnRHUxW1qXZr1y6jQQAEtR/QucOpOL2KtTEZuOmG0+wlck4eadWd00iEEcjT/RsCxrt75d4WfSU+e6AVEYDzGisvx6cB57wJOtJzQQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dIX9GOBru9T4BLwYt0IzAy8lxmgdXB887ttbYm3B4Ds=; b=KuezRk053wOl316oxiZxHy0+S8ff935KNWu+ghG/+OsqTEgpWGu63Eg6xHAlts2EGru0MU7PPSgbiP/QTYYENSN86qJEBBbqJhFWxh5tZnsc1saqnUxxg96pWsd04LNC84HY3Ign7Z55Xo/xvm5aNHTIGVNSYihnEQJ9qPva61INCqUgh8jybMohHKF1FgKTISihVxPZheNEJmubkeG8Y8PwBSlHWARrWRMkf+ToFNSs0k/pCK13DFYTP42zTufb22rSvof7+aRDhuAdFUGF8ZRbkJLJY7j0KrAV7CgUqCrv1bffAsWQfglwR5hAUo8hwnqRDp6dF45mLChMhFB1hQ== Received: from SN7PR04CA0014.namprd04.prod.outlook.com (2603:10b6:806:f2::19) by CY5PR12MB6033.namprd12.prod.outlook.com (2603:10b6:930:2f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.34; Thu, 3 Jul 2025 10:39:17 +0000 Received: from SN1PEPF00026367.namprd02.prod.outlook.com (2603:10b6:806:f2:cafe::a3) by SN7PR04CA0014.outlook.office365.com (2603:10b6:806:f2::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.22 via Frontend Transport; Thu, 3 Jul 2025 10:39:17 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SN1PEPF00026367.mail.protection.outlook.com (10.167.241.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.15 via Frontend Transport; Thu, 3 Jul 2025 10:39:17 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Thu, 3 Jul 2025 03:39:05 -0700 Received: from rnnvmail201.nvidia.com (10.129.68.8) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Thu, 3 Jul 2025 03:39:05 -0700 Received: from sumitg-l4t.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.8) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Thu, 3 Jul 2025 03:39:02 -0700 From: Sumit Gupta To: , , , , , , , CC: , , , Krzysztof Kozlowski Subject: [PATCH v2 6/8] dt-bindings: arm: tegra: Add NVIDIA Tegra264 CBB 2.0 binding Date: Thu, 3 Jul 2025 16:08:27 +0530 Message-ID: <20250703103829.1721024-7-sumitg@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250703103829.1721024-1-sumitg@nvidia.com> References: <20250703103829.1721024-1-sumitg@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NVConfidentiality: public Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: AnonymousSubmission X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF00026367:EE_|CY5PR12MB6033:EE_ X-MS-Office365-Filtering-Correlation-Id: f946ed6d-6837-4a16-84b4-08ddba1ddc78 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|1800799024|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?cUSh5N4h8GQmAvtOLH5eQlmVn87bNT2HMEJSV5r/ql0DSJJNypHRDG5AgDe8?= =?us-ascii?Q?jnEnSqVOM4saRGgmMKxvd6Lj8v70yqDCHSoS87yhU1CyhcTmTAtUZtmei1sv?= =?us-ascii?Q?mhpIghg8+ll3YgRlAPFsEH2yt+iQBMQTWkNqk/vrWOgS9MHx2kCLNsakDLrg?= =?us-ascii?Q?AYe1OguFeY1BHUcuSxo5eWyATeApTNSoN7+FfWGT1nar14qysl2wPfj8TGGn?= =?us-ascii?Q?qjyYn9BIgXTNQetuJkrYNF+4QhMRZEM7QwFTypVc0hvnzqWo6NozbHdmXogR?= =?us-ascii?Q?F75VhutfLSEQPL938mCQjF/AtpMF406a6rVt1jkhDKVz2FX71JJUzHIHT07Z?= =?us-ascii?Q?o+qxYDdtFJFDS82E1qMDChHnq150dzBFCCk5/iCBlMsLzkBA9DRF7t3H0hcp?= =?us-ascii?Q?zqJPR2MwHuTYfEfRi8wx7M+6CrWreOzcxr/DpJfFWjnqnuZm6e001lkQcZ3g?= =?us-ascii?Q?zYtRIVrPcQC7+dhgwqbjr0jmcdFHUW61iGpXAmdMTwXgIPiTzR1sd1GJTDct?= =?us-ascii?Q?TGiCrh1xSMa/XT9ZnZYs+pkaPq6zhdAymGNWzRWVeoQnSYF0L7sMFBn6nYXl?= =?us-ascii?Q?9hPXh9zdqcpmgML6S/bhuQ9poguRNvv2aDjyXQTfjTRuIG9TkAGHYSk5JbjL?= =?us-ascii?Q?rfaM8gS8htEgXjMIWMm9pYURJRWqP2N9ILdD+uIc+jmKTyFoXXG86cXmFyQH?= =?us-ascii?Q?nGy1vFELKyX2N1sNRA08bzx2bwm1RXvhin8tAUo2QeEBD8DyJpkBBcfEgf1C?= =?us-ascii?Q?fOyTNDB/+/vthWOG1eYfZgfrc0kKxyApvdyWxIcJaGxJCl0jpmF/mtu5+Noj?= =?us-ascii?Q?HJihE1EwpR+cMGnP0wE9gXV5r0wANlfIO4pltQa3XKr+1vdX2tRwJnS6LJiX?= =?us-ascii?Q?4ve4IeUD0VpMSHR6gY2s0e5O0z0DIwi1xEh6+baac7fWicvEThc6ZcEv65uR?= =?us-ascii?Q?rfOHdMSkw/Kqk76ecwolsnhBhtpm7DkH2792bFmrket02Kace4+lIXBnN9TC?= =?us-ascii?Q?vlnoyiqgv+mDVq3v8F6otouOui19oTOwYo3oJDpo4LpNqNpmzvxSYd8DOVkS?= =?us-ascii?Q?sxn07WBzAVnZV4lLLCbVNKahYhdnUlkS6wrGPaZFTayc0D8fhtkTZ8rvH0/5?= =?us-ascii?Q?a9eNpIvxj7rINMkM1/ymIBJwkiW4HBeflU4ozagmPdGxQmufddRDQztsYr4g?= =?us-ascii?Q?iZzGfe36zLqiWqpjujll4HQ4Vu4dp7Qf+VJHBAOlUdNQLmAcqlE9ncdijwLu?= =?us-ascii?Q?8jZeHZ+6Z5Qi9jrSnHSjkL3JiaobSB4ZC2EmOVxyv3mtrJVHtbowyi+3xgX6?= =?us-ascii?Q?4ZQ/8otJsUrj0DLFkov+eYUpq7NgMRnh9JGpgt0lkpvBA3TLHNyo073uSIrK?= =?us-ascii?Q?6XS3Gg8u9Ou7ImnTCAiDZ04b6Ve8r88YQGhhUfc4XsFl13vhEEVXI8PMMF/z?= =?us-ascii?Q?rusPVxBkxxEjJi8j3U/mS0f3HL1zJjgPYjhQeaE3Vkbe8bSRy3ACB0zgAMo1?= =?us-ascii?Q?miRhD2eUMp59xfqE8cYp2J22aJOBx3hPHajh?= X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(376014)(82310400026)(1800799024)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2025 10:39:17.0723 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f946ed6d-6837-4a16-84b4-08ddba1ddc78 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF00026367.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6033 Content-Type: text/plain; charset="utf-8" Update device-tree bindings documentation to represent the Control Backbone (CBB) 2.0 based fabrics used in Tegra264 SoC. Fabrics reporting errors are: SYSTEM, TOP, UPHY, VISION. Signed-off-by: Sumit Gupta Acked-by: Krzysztof Kozlowski --- .../devicetree/bindings/arm/tegra/nvidia,tegra234-cbb.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra234-cb= b.yaml b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra234-cbb.ya= ml index fcdf03131323f..28227dfbb1c71 100644 --- a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra234-cbb.yaml +++ b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra234-cbb.yaml @@ -48,6 +48,10 @@ properties: - nvidia,tegra234-dce-fabric - nvidia,tegra234-rce-fabric - nvidia,tegra234-sce-fabric + - nvidia,tegra264-sys-cbb-fabric + - nvidia,tegra264-top0-cbb-fabric + - nvidia,tegra264-uphy0-cbb-fabric + - nvidia,tegra264-vision-cbb-fabric =20 reg: maxItems: 1 --=20 2.34.1 From nobody Wed Oct 8 02:01:45 2025 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2063.outbound.protection.outlook.com [40.107.100.63]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 223DD2E6114; Thu, 3 Jul 2025 10:39:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.100.63 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751539169; cv=fail; b=Zq76FaXAlyUxRIiYz60hwqWW1Li3Ijr7S0kud+9SBrWoEPpIWKVONV8Na1/1n24JrQsh2eaPIBqj3s/+2ZNfRtJOmQ1j9uHRY3zLrmojSPsb3KEE13dtgaEa3htDo4tWZJyDB3XYX9PivVZCtxZAqohm22U4EPigjEU5NG8d2FY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751539169; c=relaxed/simple; bh=0w1WRmNrBe9Bk/rOn1eYzRIo1LU/DGDk72oK+CjXhWU=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=nqx02eWpqoKJrt9ABsiNHL2/bOUDNt0iptXiWYsUrav0JVsZ1MO87YhH/g1CFqPRdmPTdYV4WRojtYgDgQ9dzl+WdJje5c771n8tX8cVFOg4x4Mj49WaLxQ6rHUQMLt5Y4gtmlUu6fvHBOnBiv8VHvjq2snnZBiGMpfay1znX8E= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=TrGX9w5k; arc=fail smtp.client-ip=40.107.100.63 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="TrGX9w5k" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BvqHIFkr/hpn3Jit3dkozntruIiGkbSvvD245aAGI1uiiTq7e4y7tWJYGbyPgjy9OQ76jAb5APtlFGj2gIClAbaN++wARtRor3SZ3h9474s3o4Oj4OFBIcjCaDqOW9TZtVeQQ43mvL7Cvvs9KFSWHiUeskQSpMZuSirrydohny+XbzeBagY0/CLMorXd4by8ORNkepoIy9p0FV47LCOSx6vDjsUtobGg6IfP9FxbyihNxDRNRw1kVC141mDwUTFiXgCOnP8XbbLWRZT4LIojz9R8ETBhCA/zPUHPDXFoQn+VJUyc1oSsUzKqYlpT8+76RIiizabxr3KE2xxi1B2luw== 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=61mAfCzyzqeg0/MBhcGJnHKH6gnjph+pclp4P+GT/J8=; b=FPXwV/+4782nKbXksGScABhyGfWBAHe8Pa+xYZJtd9vm14KrgK+f3niRti9/7Bmk5/j1H+Trq1GgJK3qW4boduc+W3GwoWHgOTkIfqUNBuiN7xZF/xiE/CY7G5ASVvhTuFLSROXrp3P29lYef9Z83+O/ut1zODS+ebQOChAtej9hMX9AiJR0lHe3y9epbOTDoK3m5QhfSrCD8tZHYlEtaPVRxpWH/k0Q+k2ImKQ6ytPdCsTrbCh/YYVNLcSU8wwoWm9uHgNn1vYl7YWmvhTxbsGlHoRw5caomMDuaW1ve9HEvcU2e1zDuEKZtvuRlCHM/RZSczJNZYs/+UHtdV0UmA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=61mAfCzyzqeg0/MBhcGJnHKH6gnjph+pclp4P+GT/J8=; b=TrGX9w5k3cnewPoR9tiTa+74/8hoM+KtdLdber2vi9oWf6GNuL0SpQ2e4nMiHFE6O7Cpnk9rzoX7Ue6M9nv+6R1DyMDzn5KO1UpHAgXJLy2cmIuuaR6pkNK/1PdNII3WuqFz6I6kl7SW5xlGFqeP67sW0cjWESJPTObQ1wBUOGhfY22L8rP1y0ZKnNmfz/vMTi+c95Hk41xAf2/7ecDstWynY7MmYdLS96WwzU2/5j/eqw2uW89+xgolq1eJVi1jS0rlBWoK/I7NEH+5gi6DGEXgqurHc0Os6F9Uwxgz9MN4Hm/WOW4RypkhGILbVd0NW9KqTFtS4Z6vvqw/ZLrl9Q== Received: from DM6PR13CA0026.namprd13.prod.outlook.com (2603:10b6:5:bc::39) by IA0PR12MB7530.namprd12.prod.outlook.com (2603:10b6:208:440::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.20; Thu, 3 Jul 2025 10:39:19 +0000 Received: from CY4PEPF0000EE37.namprd05.prod.outlook.com (2603:10b6:5:bc:cafe::d1) by DM6PR13CA0026.outlook.office365.com (2603:10b6:5:bc::39) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.11 via Frontend Transport; Thu, 3 Jul 2025 10:39:19 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CY4PEPF0000EE37.mail.protection.outlook.com (10.167.242.43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.15 via Frontend Transport; Thu, 3 Jul 2025 10:39:19 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Thu, 3 Jul 2025 03:39:09 -0700 Received: from rnnvmail201.nvidia.com (10.129.68.8) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Thu, 3 Jul 2025 03:39:08 -0700 Received: from sumitg-l4t.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.8) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Thu, 3 Jul 2025 03:39:05 -0700 From: Sumit Gupta To: , , , , , , , CC: , , Subject: [PATCH v2 7/8] soc: tegra: cbb: add support for cbb fabrics in Tegra264 Date: Thu, 3 Jul 2025 16:08:28 +0530 Message-ID: <20250703103829.1721024-8-sumitg@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250703103829.1721024-1-sumitg@nvidia.com> References: <20250703103829.1721024-1-sumitg@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NVConfidentiality: public Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: AnonymousSubmission X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE37:EE_|IA0PR12MB7530:EE_ X-MS-Office365-Filtering-Correlation-Id: e908d9f0-4969-4b16-aebd-08ddba1dddbf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?8nZXNEzM+HmVCQfdUoWo6R6WGtlDTN5VvR6rsZykEFOUsHF5KQ0IWQDI5to2?= =?us-ascii?Q?D1BievQeJmWBYTArbAyA5zZ/Nzq8/48hSif6RJgqV1KFe+9WVEDQeZtLPCz0?= =?us-ascii?Q?MDksrCyB/CM4xPjX5ljJUSiK4coLvIk7Fy47gDoGEq4L+GyQMLBZubzm21AM?= =?us-ascii?Q?Uyy6xeNkbxuD0XDRUH74Bztct7zsI69IOHQ5IpqhBOyaMKFZOe/GEII8+4xa?= =?us-ascii?Q?s0GbZQEJBHP0S91rnIkrDr+iUzXaVFezFT8OncIWbzhKBAPzV6fvkxRR9kcK?= =?us-ascii?Q?F+Bc0hJSPfVTc+R5FCPtthAY77J173isVl72E7/wfJ2c3BbeWNtv6tImmGDZ?= =?us-ascii?Q?3jbekWYjQSLXY6CN1HaZYbbPjzibMkvA2IZ5zpP/6Z074t2+TN2qJ1gtdnu3?= =?us-ascii?Q?kYxAWUC2TftUOxC5BQBySzTAOhPoXpfz9CFXd3fmHnJnhDp1JD2z04Khl0Oz?= =?us-ascii?Q?XO61jfJr55VuPMrPxV9KiZVRAYRJOY+sJYE1OfkDCSWTSygpI80HlSrjkNFp?= =?us-ascii?Q?Zes8DLJpV4YLOnJyGR2/dkPjKlc6Ovt5TA9KEnlArrP9PA5Crm1TtuF/2UgU?= =?us-ascii?Q?4op3JLGsGLmEChh+T1I+PkBk/y2GPo813seYM27LYBWOtwWpJY7NWoyvOCUy?= =?us-ascii?Q?p843Nrny/cz7MVuq5FVdcuO41RTfy1Lh9gEu4wLSSIdMNSCSuP7Wc/4kWefo?= =?us-ascii?Q?b8lZQNXulVahUghVtlmHG86u3eVLJ3BM+W7yw2jzyZ2IYeFdznMb+e/umNPf?= =?us-ascii?Q?fp1MPEWOc7u6iuBCV3+En1I59B0locymHoUBvTXhm5KNvMibOdpZXiOQQYNS?= =?us-ascii?Q?WiACpU4aI2ewCROMbYtb/oGLqzwBoVy+MEL4kdRZWZ4vSmJQ4q54nzrz7QGA?= =?us-ascii?Q?1+ujgxYlr6xsPNKarCa96z3xFD2UABK89GQjhbE6vx9+NoxEjYE8GwmdsYXp?= =?us-ascii?Q?zwOx3ZuIO0al6Y1gNtLBfBik9knr1W/Tw9fW3QuWMNaTITStl3sN5IiwaK2M?= =?us-ascii?Q?tala1q0K3WqemqCyx0Dn2yAB7EdYTVJyr64zlU0nyzSQfB48/uoY1odyeqva?= =?us-ascii?Q?x90uDig1xtAuK8Cmb+dutieh6Z2lm47F8NwTv/4Du8YfYPrHz38RiH6kpdJO?= =?us-ascii?Q?mIcXDr6AXSNWeQFqb2Kw2Dt0jIMFDA6TzsDE55jvcCD/W3QENTjY2jG1YOXi?= =?us-ascii?Q?iR07wYUZQIf+32ftfIocuJLAgez0HcmiinxF92iTEMHNi7Y1kcIMn4RqaLeO?= =?us-ascii?Q?QvYvTokg8xwn6c2TJF5YHbMDwLMTdsgYRam0c3ouTnheAYe8cuKbmK3RZcCe?= =?us-ascii?Q?jgZNoZzJAhw6isDXGAEuqWsQ4rtyeQYURhZAT0T2tUtQVm3Jg1qmbN5PYXTq?= =?us-ascii?Q?D4dmhgU2N2kRsQwAjQjHlVVI7hhkd575fmnElIJfPQ1Cj+XMbFXJP7R5nVb0?= =?us-ascii?Q?trzX0o996lWkX2pVNraEh3xq+Ac9xZEhkuYoWYbdAvgc13Lmopf3M62xBvLV?= =?us-ascii?Q?66zsUl3vBnfGCj+kan0X/Gjsh/m4XRMui5WS?= X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2025 10:39:19.2324 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e908d9f0-4969-4b16-aebd-08ddba1dddbf X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE37.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7530 Content-Type: text/plain; charset="utf-8" Add support for CBB 2.0 based fabrics in Tegra264 SoC using DT. Fabrics reporting errors are: SYSTEM, TOP0, UPHY0, VISION. Signed-off-by: Sumit Gupta --- drivers/soc/tegra/cbb/tegra234-cbb.c | 279 +++++++++++++++++++++++++++ 1 file changed, 279 insertions(+) diff --git a/drivers/soc/tegra/cbb/tegra234-cbb.c b/drivers/soc/tegra/cbb/t= egra234-cbb.c index aab0cd85dea5e..69c7049386795 100644 --- a/drivers/soc/tegra/cbb/tegra234-cbb.c +++ b/drivers/soc/tegra/cbb/tegra234-cbb.c @@ -89,6 +89,34 @@ enum tegra234_cbb_fabric_ids { T234_MAX_FABRIC_ID, }; =20 +enum tegra264_cbb_fabric_ids { + T264_SYSTEM_CBB_FABRIC_ID, + T264_TOP_0_CBB_FABRIC_ID, + T264_VISION_CBB_FABRIC_ID, + T264_DISP_USB_CBB_FABRIC_ID, + T264_UPHY0_CBB_FABRIC_ID, + T264_RSVD0_FABRIC_ID, + T264_RSVD1_FABRIC_ID, + T264_RSVD2_FABRIC_ID, + T264_RSVD3_FABRIC_ID, + T264_RSVD4_FABRIC_ID, + T264_RSVD5_FABRIC_ID, + T264_AON_FABRIC_ID, + T264_PSC_FABRIC_ID, + T264_OESP_FABRIC_ID, + T264_APE_FABRIC_ID, + T264_BPMP_FABRIC_ID, + T264_RCE_0_FABRIC_ID, + T264_RCE_1_FABRIC_ID, + T264_RSVD6_FABRIC_ID, + T264_DCE_FABRIC_ID, + T264_FSI_FABRIC_ID, + T264_ISC_FABRIC_ID, + T264_SB_FABRIC_ID, + T264_ISC_CPU_FABRIC_ID, + T264_RSVD7_FABRIC_ID, +}; + struct tegra234_target_lookup { const char *name; unsigned int offset; @@ -455,6 +483,17 @@ static void print_errlog_err(struct seq_file *file, st= ruct tegra234_cbb *cbb) tegra_cbb_print_err(file, "\t Fabric\t\t: %s (id:%#x)\n", cbb->fabric->fab_list[fab_id].name, fab_id); =20 + if (of_machine_is_compatible("nvidia,tegra264") && fab_id =3D=3D T264_UPH= Y0_CBB_FABRIC_ID) { + /* + * In T264, AON Fabric ID value is incorrectly same as UPHY0 fabric ID. + * For 'ID =3D 0x4', we must check for the address which caused the error + * to find the correct fabric which returned error. + */ + tegra_cbb_print_err(file, "\t or Fabric\t\t: %s\n", + cbb->fabric->fab_list[T264_AON_FABRIC_ID].name); + tegra_cbb_print_err(file, "\t Please use Address to determine correct f= abric.\n"); + } + tegra_cbb_print_err(file, "\t Target_Id\t\t: %#x\n", target_id); tegra_cbb_print_err(file, "\t Burst_length\t\t: %#x\n", burst_length); tegra_cbb_print_err(file, "\t Burst_type\t\t: %#x\n", burst_type); @@ -1143,6 +1182,242 @@ static const struct tegra234_cbb_fabric tegra241_bp= mp_fabric =3D { .firewall_wr_ctl =3D 0x8e8, }; =20 +static const char * const tegra264_initiator_id[] =3D { + [0x0] =3D "TZ", + [0x1] =3D "CCPLEX", + [0x2] =3D "ISC", + [0x3] =3D "BPMP_FW", + [0x4] =3D "AON", + [0x5] =3D "MSS_SEQ", + [0x6] =3D "GPCDMA_P", + [0x7] =3D "TSECA_NONSECURE", + [0x8] =3D "TSECA_LIGHTSECURE", + [0x9] =3D "TSECA_HEAVYSECURE", + [0xa] =3D "CORESIGHT", + [0xb] =3D "APE_0", + [0xc] =3D "APE_1", + [0xd] =3D "PEATRANS", + [0xe] =3D "JTAGM_DFT", + [0xf] =3D "RCE", + [0x10] =3D "DCE", + [0x11] =3D "PSC_FW_USER", + [0x12] =3D "PSC_FW_SUPERVISOR", + [0x13] =3D "PSC_FW_MACHINE", + [0x14] =3D "PSC_BOOT", + [0x15] =3D "BPMP_BOOT", + [0x16] =3D "GPU_0", + [0x17] =3D "GPU_1", + [0x18] =3D "GPU_2", + [0x19] =3D "GPU_3", + [0x1a] =3D "GPU_4", + [0x1b] =3D "PSC_EXT_BOOT", + [0x1c] =3D "PSC_EXT_RUNTIME", + [0x1d] =3D "OESP_EXT", + [0x1e] =3D "SB_EXT", + [0x1f] =3D "FSI_SAFETY_0", + [0x20] =3D "FSI_SAFETY_1", + [0x21] =3D "FSI_SAFETY_2", + [0x22] =3D "FSI_SAFETY_3", + [0x23] =3D "FSI_CHSM", + [0x24] =3D "RCE_1", + [0x25] =3D "BPMP_OEM_FW", + [0x26 ... 0x3d] =3D "RSVD", + [0x3e] =3D "CBB_SMN", + [0x3f] =3D "CBB_RSVD" +}; + +static const struct tegra234_target_lookup tegra264_top0_cbb_target_map[] = =3D { + { "RSVD", 0x000000 }, + { "CBB_CENTRAL", 0xC020000 }, + { "AXI2APB_1", 0x80000 }, + { "AXI2APB_10", 0x81000 }, + { "AXI2APB_11", 0x82000 }, + { "RSVD", 0x00000 }, + { "RSVD", 0x00000 }, + { "AXI2APB_14", 0x83000 }, + { "AXI2APB_15", 0x84000 }, + { "AXI2APB_16", 0x85000 }, + { "AXI2APB_17", 0x86000 }, + { "AXI2APB_2", 0x87000 }, + { "AXI2APB_3", 0x88000 }, + { "RSVD", 0x00000 }, + { "AXI2APB_5", 0x8A000 }, + { "AXI2APB_6", 0x8B000 }, + { "AXI2APB_7", 0x8C000 }, + { "AXI2APB_8", 0x8D000 }, + { "AXI2APB_9", 0x8E000 }, + { "FSI_SLAVE", 0x64000 }, + { "DISP_USB_CBB_T", 0x65000 }, + { "SYSTEM_CBB_T", 0x66000 }, + { "UPHY0_CBB_T", 0x67000 }, + { "VISION_CBB_T", 0x68000 }, + { "CCPLEX_SLAVE", 0x69000 }, + { "PCIE_C0", 0x6A000 }, + { "SMN_UCF_RX_0", 0x6B000 }, + { "SMN_UCF_RX_1", 0x6C000 }, + { "AXI2APB_4", 0x89000 }, +}; + +static const struct tegra234_target_lookup tegra264_sys_cbb_target_map[] = =3D { + { "RSVD", 0x00000 }, + { "AXI2APB_1", 0xE1000 }, + { "RSVD", 0x00000 }, + { "AON_SLAVE", 0x79000 }, + { "APE_SLAVE", 0x73000 }, + { "BPMP_SLAVE", 0x74000 }, + { "OESP_SLAVE", 0x75000 }, + { "PSC_SLAVE", 0x76000 }, + { "SB_SLAVE", 0x7A000 }, + { "SMN_SYSTEM_RX", 0x7B000 }, + { "STM", 0x77000 }, + { "RSVD", 0x00000 }, + { "AXI2APB_3", 0xE3000 }, + { "TOP_CBB_T", 0x7C000 }, + { "AXI2APB_2", 0xE4000 }, + { "AXI2APB_4", 0xE5000 }, + { "AXI2APB_5", 0xE6000 }, +}; + +static const struct tegra234_target_lookup tegra264_uphy0_cbb_target_map[]= =3D { + [0 ... 20] =3D { "RSVD", 0x00000 }, + { "AXI2APB_1", 0x71000 }, + { "RSVD", 0x00000 }, + { "AXI2APB_3", 0x75000 }, + { "SMN_UPHY0_RX", 0x53000 }, + { "RSVD", 0x00000 }, + { "RSVD", 0x00000 }, + { "RSVD", 0x00000 }, + { "RSVD", 0x00000 }, + { "PCIE_C4", 0x4B000 }, + { "AXI2APB_2", 0x74000 }, + { "AXI2APB_4", 0x76000 }, + { "AXI2APB_5", 0x77000 }, + { "RSVD", 0x00000 }, + { "AXI2APB_7", 0x79000 }, + { "PCIE_C2", 0x56000 }, + { "RSVD", 0x00000 }, + { "RSVD", 0x00000 }, + { "PCIE_C1", 0x55000 }, + { "RSVD", 0x00000 }, + { "AXI2APB_10", 0x72000 }, + { "AXI2APB_11", 0x7C000 }, + { "AXI2APB_8", 0x7A000 }, + { "AXI2APB_9", 0x7B000 }, + { "RSVD", 0x00000 }, + { "RSVD", 0x00000 }, + { "PCIE_C5", 0x4E000 }, + { "PCIE_C3", 0x58000 }, + { "RSVD", 0x00000 }, + { "ISC_SLAVE", 0x54000 }, + { "TOP_CBB_T", 0x57000 }, + { "AXI2APB_12", 0x7D000 }, + { "AXI2APB_13", 0x70000 }, + { "AXI2APB_6", 0x7E000 }, +}; + +static const struct tegra234_target_lookup tegra264_vision_cbb_target_map[= ] =3D { + [0 ... 5] =3D { "RSVD", 0x0 }, + { "HOST1X", 0x45000 }, + { "RSVD", 0x00000 }, + { "RSVD", 0x00000 }, + { "AXI2APB_2", 0x71000 }, + { "RSVD", 0x00000 }, + { "RSVD", 0x00000 }, + { "SMN_VISION_RX", 0x47000 }, + [13 ... 19] =3D { "RSVD", 0x0 }, + { "RCE_0_SLAVE", 0x4B000 }, + { "RCE_1_SLAVE", 0x4C000 }, + { "AXI2APB_1", 0x72000 }, + { "AXI2APB_3", 0x73000 }, + { "TOP_CBB_T", 0x4D000 }, + +}; + +static const struct tegra234_fabric_lookup tegra264_cbb_fab_list[] =3D { + [T264_SYSTEM_CBB_FABRIC_ID] =3D { "system-cbb-fabric", true, + tegra264_sys_cbb_target_map, + ARRAY_SIZE(tegra264_sys_cbb_target_map) }, + [T264_TOP_0_CBB_FABRIC_ID] =3D { "top0-cbb-fabric", true, + tegra264_top0_cbb_target_map, + ARRAY_SIZE(tegra264_top0_cbb_target_map) }, + [T264_VISION_CBB_FABRIC_ID] =3D { "vision-cbb-fabric", true, + tegra264_vision_cbb_target_map, + ARRAY_SIZE(tegra264_vision_cbb_target_map) }, + [T264_DISP_USB_CBB_FABRIC_ID] =3D { "disp-usb-cbb-fabric" }, + [T264_UPHY0_CBB_FABRIC_ID] =3D { "uphy0-cbb-fabric", true, + tegra264_uphy0_cbb_target_map, + ARRAY_SIZE(tegra264_uphy0_cbb_target_map) }, + [T264_AON_FABRIC_ID] =3D { "aon-fabric" }, + [T264_PSC_FABRIC_ID] =3D { "psc-fabric" }, + [T264_OESP_FABRIC_ID] =3D { "oesp-fabric" }, + [T264_APE_FABRIC_ID] =3D { "ape-fabirc" }, + [T264_BPMP_FABRIC_ID] =3D { "bpmp-fabric" }, + [T264_RCE_0_FABRIC_ID] =3D { "rce0-fabric" }, + [T264_RCE_1_FABRIC_ID] =3D { "rce1-fabric" }, + [T264_DCE_FABRIC_ID] =3D { "dce-fabric" }, + [T264_FSI_FABRIC_ID] =3D { "fsi-fabric" }, + [T264_ISC_FABRIC_ID] =3D { "isc-fabric" }, + [T264_SB_FABRIC_ID] =3D { "sb-fabric" }, + [T264_ISC_CPU_FABRIC_ID] =3D { "isc-cpu-fabric" }, +}; + +static const struct tegra234_cbb_fabric tegra264_top0_cbb_fabric =3D { + .fab_id =3D T264_TOP_0_CBB_FABRIC_ID, + .fab_list =3D tegra264_cbb_fab_list, + .initiator_id =3D tegra264_initiator_id, + .errors =3D tegra241_cbb_errors, + .max_errors =3D ARRAY_SIZE(tegra241_cbb_errors), + .err_intr_enbl =3D 0x7, + .err_status_clr =3D 0x1ff007f, + .notifier_offset =3D 0x90000, + .off_mask_erd =3D 0x4a004, + .firewall_base =3D 0x3c0000, + .firewall_ctl =3D 0x5b0, + .firewall_wr_ctl =3D 0x5a8, +}; + +static const struct tegra234_cbb_fabric tegra264_sys_cbb_fabric =3D { + .fab_id =3D T264_SYSTEM_CBB_FABRIC_ID, + .fab_list =3D tegra264_cbb_fab_list, + .initiator_id =3D tegra264_initiator_id, + .errors =3D tegra241_cbb_errors, + .max_errors =3D ARRAY_SIZE(tegra241_cbb_errors), + .err_intr_enbl =3D 0xf, + .err_status_clr =3D 0x1ff007f, + .notifier_offset =3D 0x40000, + .firewall_base =3D 0x29c000, + .firewall_ctl =3D 0x170, + .firewall_wr_ctl =3D 0x168, +}; + +static const struct tegra234_cbb_fabric tegra264_uphy0_cbb_fabric =3D { + .fab_id =3D T264_UPHY0_CBB_FABRIC_ID, + .fab_list =3D tegra264_cbb_fab_list, + .initiator_id =3D tegra264_initiator_id, + .errors =3D tegra241_cbb_errors, + .max_errors =3D ARRAY_SIZE(tegra241_cbb_errors), + .err_intr_enbl =3D 0x1, + .err_status_clr =3D 0x1ff007f, + .notifier_offset =3D 0x80000, + .firewall_base =3D 0x360000, + .firewall_ctl =3D 0x590, + .firewall_wr_ctl =3D 0x588, +}; + +static const struct tegra234_cbb_fabric tegra264_vision_cbb_fabric =3D { + .fab_id =3D T264_VISION_CBB_FABRIC_ID, + .fab_list =3D tegra264_cbb_fab_list, + .initiator_id =3D tegra264_initiator_id, + .errors =3D tegra241_cbb_errors, + .max_errors =3D ARRAY_SIZE(tegra241_cbb_errors), + .err_intr_enbl =3D 0x1, + .err_status_clr =3D 0x1ff007f, + .notifier_offset =3D 0x80000, + .firewall_base =3D 0x290000, + .firewall_ctl =3D 0x5d0, + .firewall_wr_ctl =3D 0x5c8, +}; + static const struct of_device_id tegra234_cbb_dt_ids[] =3D { { .compatible =3D "nvidia,tegra234-cbb-fabric", .data =3D &tegra234_cbb_f= abric }, { .compatible =3D "nvidia,tegra234-aon-fabric", .data =3D &tegra234_aon_f= abric }, @@ -1150,6 +1425,10 @@ static const struct of_device_id tegra234_cbb_dt_ids= [] =3D { { .compatible =3D "nvidia,tegra234-dce-fabric", .data =3D &tegra234_dce_f= abric }, { .compatible =3D "nvidia,tegra234-rce-fabric", .data =3D &tegra234_rce_f= abric }, { .compatible =3D "nvidia,tegra234-sce-fabric", .data =3D &tegra234_sce_f= abric }, + { .compatible =3D "nvidia,tegra264-sys-cbb-fabric", .data =3D &tegra264_s= ys_cbb_fabric }, + { .compatible =3D "nvidia,tegra264-top0-cbb-fabric", .data =3D &tegra264_= top0_cbb_fabric }, + { .compatible =3D "nvidia,tegra264-uphy0-cbb-fabric", .data =3D &tegra264= _uphy0_cbb_fabric }, + { .compatible =3D "nvidia,tegra264-vision-cbb-fabric", .data =3D &tegra26= 4_vision_cbb_fabric }, { /* sentinel */ }, }; MODULE_DEVICE_TABLE(of, tegra234_cbb_dt_ids); --=20 2.34.1 From nobody Wed Oct 8 02:01:45 2025 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2072.outbound.protection.outlook.com [40.107.223.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BEF28295524; Thu, 3 Jul 2025 10:39:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.72 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751539171; cv=fail; b=P6dMkN6TzAEnz/eOIjqLfzQLYDFKH3P5fnuZg/SroV9KTQZOfRnVFfupUEd1AIUj3+CRiM/wSEnU+vKVRoFubSEhvYg5GLD5ZWAmoXsc6GZE2Xv5JSk4G+n7ItoAoQsd+G2xjMwf/GKEi5aiK1rF29vg22jS4z1n5GSv4zv6dG0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751539171; c=relaxed/simple; bh=E0LrexQ6elyDeFM39ydkOPBnl8RfXBFw49UjG7/+NG8=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=E59ZPffr56HWzpCih1HtVar7tvlWYh4flzvQmizAlnTe7w4pL1BWkZdS8p4fFzhQ4T0VEHrDziRdUeogIzid5Bd64kJW+2a2FVVj+Nfcz/ju2XUgRfRlTuiFmKrkeEvzEn++aM5PBUKcWS9ah1DoUrTHYD5vkkmMrKUXrktbhHM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=sGDfquau; arc=fail smtp.client-ip=40.107.223.72 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="sGDfquau" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wOIRnMd4El1uenq27i2aeRZ+lxe9YMMt/G8CEKwJGZepXbpZP2ywkFc2PGUDPAUOqZE3ZGU4XqUrlqNrZIwYh9hIFT66B8jER11CqKRkVxyChoLqegzm+xllZXbSmg5KULE5fK59M080j3NKlzDRIFa/G3dntS7ACb5vmR1aDiQP8o56K8esPXrVNPg8UfTp2bR3KS6Iu5ze+Duw/32NncZ+icVGdysS4czltftPSccZ5+y8pckPTHTSXs1qzXRXnLwi8Q8JczfvPeDz96pymR0zgcaI7WECqx1k2lF+tzDDPYlptseurPNxndGBFyFd0r78LVGrwGRAXPgdZHydGQ== 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=5gHuX+9BW5f90eIPVpKHQRw8EtbPTwPG7Jq22Lca1Z0=; b=vKQeoE8plDWH9v3g4R1+F9L2zTcTwnAv0gPb4j+hnU/9INGLam4vet1g9RhWmGt18Ytn3CTiUtPSqOsGHdCgl0fO4ArJR0uThRjMFVhVkbxYwrX64Sqt3J6i64MFRgcM7Am7QNKG7g1ZAs+CbD/8VTmPA6qx2fzkVXQ3m0uz17HuZSi+9JTstTYvYgnmc0FJSIFv0TUR0Di47pS/Dwjl2yUkO98fPoHk4rPJIHh+0RlZB9xvsognvOtZ6m8UWVlLm0wDOBupldPcPqi+UAB9sTe56qUGGBmAS8zsGN2s690JuVObpZqJaSGhT2ZzQUvjDHa8lF4rQx8gEyc5p9kPHw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5gHuX+9BW5f90eIPVpKHQRw8EtbPTwPG7Jq22Lca1Z0=; b=sGDfquauKZKQ5Cka4aNf6omnA1ze2nmK62gx4qUFNGvQySeuT56lbMcpHHTQfOvlakRKmmtfC0J7+thdyM2ahhcJqsRQLmE/UI6dttrJeSuXsEyi1D4Lb3fkk/TeuycYPvvVICXP01mBnqU5+bjyZ5ti+ObWpmFRp7DovOtKRE9iIWkxrkjn6BI2oaNzFHHTHQmia38DH637HfRJwkelSWd3UZgSETWXnYtysrAcgS8bq2paVrwF2Z7YBrXHjK6IMIjCLKkurRQRTsWY+Zbm5/uyrElmedWsk5jFW+e0puEMh3DozADVVMB+SyRydUD7dQcn2+Nmv6EQVlq7e7SxUg== Received: from PH8P221CA0002.NAMP221.PROD.OUTLOOK.COM (2603:10b6:510:2d8::27) by PH7PR12MB8179.namprd12.prod.outlook.com (2603:10b6:510:2b8::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.20; Thu, 3 Jul 2025 10:39:23 +0000 Received: from CY4PEPF0000EE35.namprd05.prod.outlook.com (2603:10b6:510:2d8:cafe::6c) by PH8P221CA0002.outlook.office365.com (2603:10b6:510:2d8::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.22 via Frontend Transport; Thu, 3 Jul 2025 10:39:23 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CY4PEPF0000EE35.mail.protection.outlook.com (10.167.242.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.20 via Frontend Transport; Thu, 3 Jul 2025 10:39:23 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Thu, 3 Jul 2025 03:39:13 -0700 Received: from rnnvmail201.nvidia.com (10.129.68.8) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Thu, 3 Jul 2025 03:39:12 -0700 Received: from sumitg-l4t.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.8) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Thu, 3 Jul 2025 03:39:09 -0700 From: Sumit Gupta To: , , , , , , , CC: , , Subject: [PATCH v2 8/8] soc: tegra: cbb: add support for cbb fabrics in Tegra254 Date: Thu, 3 Jul 2025 16:08:29 +0530 Message-ID: <20250703103829.1721024-9-sumitg@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250703103829.1721024-1-sumitg@nvidia.com> References: <20250703103829.1721024-1-sumitg@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NVConfidentiality: public Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: AnonymousSubmission X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE35:EE_|PH7PR12MB8179:EE_ X-MS-Office365-Filtering-Correlation-Id: 0a01f69b-0e13-499f-bc4e-08ddba1de03b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|82310400026|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?4eyjxQ1shADgGaFUBWWY1WPJ1/Gqn7u1Rrs1TgJnLmworLofEUp7xfV6qCwA?= =?us-ascii?Q?gz5R3PtV8W9hLfh6Mj2K04g3OnOFcswLJT0Xol8oe0Wf2seBbS/JL8a8j7W3?= =?us-ascii?Q?Vk/v0/aEfCp/o4oAjVDNk6DyOizlFumR7Ti1jwX1YWOeMTaEsnL2k452rTq9?= =?us-ascii?Q?SvyQS9Y+A+ALWaTMLcJpNQ9aaKVUoDlO13Te0DNtUXo8tDkXbUySKbVN7hJ7?= =?us-ascii?Q?mlk9XTcKblagXabgZDEq24BsGL15kvxl5pg0edbofht4W9kvjDMN0Bjsr7so?= =?us-ascii?Q?8jKRelGjBvOTlBqfmEJIl+ZmFCl6GqNj3wcKxezyI9vCoi4kA42C2CAE3JLY?= =?us-ascii?Q?WlD8k0rOX/K0Im+u3EZugBwMfCOPCbRBWbtSDPr2M9Q3pAwovYjyQVPMD4u8?= =?us-ascii?Q?cF7tzvZZelWPxooa7CnBzm5PWEPTk9xMeMOcHDsMt3PVcJz4w3u/OjRn6bcr?= =?us-ascii?Q?yCAKaC8GKyVYM4chUCs5EiD8WFrMpbj7pXtbTIupFd59XksLPgV1Ymk+XrMC?= =?us-ascii?Q?1cN86tDIt/62wScxh4+MTzUFnPrvuypQHyM5ueqleO91x7vmbQ6ytg07/uci?= =?us-ascii?Q?k1Mo/xAEp/eFHCMQZo9NPXwyLBryta0NCb0xq0NMeROcl2sMVbKCYtjfzO9F?= =?us-ascii?Q?hCht8cXKY3gs1dMPLjJwjTDRRzWN7UzbwxN/9149NZFN992UrsAPHkY2GT2I?= =?us-ascii?Q?7nqMa8ix8WTiHZWSmQqyD+/OuLW26uOcsjVva1rD9s72OKQVGSfgzlRe0SdC?= =?us-ascii?Q?8JK2AhFW7vHeIG7ZkpARtDpXptiWmWie6QsaucO9MJoeRMdIDWgDZuld6t/H?= =?us-ascii?Q?krKEqy8jWccIsR+cO0Wovh+VsbwLYpu+OrpWdlGawGxHS9WJMIO7Fw8wle//?= =?us-ascii?Q?UPU1vlrbWs6DbS2D9p97q6Luwgeu44wwrNWbYfXiTxEAR71T8iy+OteP12UT?= =?us-ascii?Q?9lSGWwrh3RsAkdN7FZstxKDcYKY8P0GQMLs70EhRz4JSJCQquPKaH52ZaS64?= =?us-ascii?Q?Kg3xu1EAfxSpu/CR/kJ0YkQ4zFTekTGSC34Z54f5aX3jHplx9zrLfVFf2fbN?= =?us-ascii?Q?OLak2reiR4iw7VsT/W/VU1mXoOTtqa2y6m9BoCX/09JgfwlCHtPbFkIKZ6+R?= =?us-ascii?Q?F4OAmm3v8WQi164shXgVoseQJYx0CtgqdcATJECcDAtSI8NNZmwTeGK+AaSN?= =?us-ascii?Q?LfX4pubHAemL+fHmy5J+MCp1WR+4bIYM2ofwf7jyqE6q80cXClPMeEYONDZX?= =?us-ascii?Q?hpJed9QWuHf8xPOgwvImIZXkuEx3RNkzFMEIEFFFiOBXGHgxP+vwn4C0o+RX?= =?us-ascii?Q?l39q76jDgZkjY6gXhuVzvzh3Xqa51YHDqqPQsR6eRvVhxVj9wwkcINq9bhGK?= =?us-ascii?Q?OLHQfyQzc1eSrgVUZ/KXaC6Ru/USb6Rs4PFmdZrlKk3geuaqL/9DXzKkqc2p?= =?us-ascii?Q?nIzgqESGobJTATVv/7UA0/Khld8JzIYSvhCF1S+Uz8JU9VbMxUgJYPrlrTES?= =?us-ascii?Q?0OVOZ4ESMNz8AYnsS4l8K9azeGvk5N/3w9IT?= X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2025 10:39:23.4001 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0a01f69b-0e13-499f-bc4e-08ddba1de03b X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE35.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8179 Content-Type: text/plain; charset="utf-8" Add support for CBB 2.0 based fabrics in Tegra254 SoC using ACPI. Fabrics reporting errors are: C2C, GPU, Display_Cluster. Tegra254 is using hardware based lookup to get target node address. So, the target_map tables for each fabric are not needed now. Signed-off-by: Sumit Gupta --- drivers/soc/tegra/cbb/tegra234-cbb.c | 58 ++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/drivers/soc/tegra/cbb/tegra234-cbb.c b/drivers/soc/tegra/cbb/t= egra234-cbb.c index 69c7049386795..a9adbcecd47cc 100644 --- a/drivers/soc/tegra/cbb/tegra234-cbb.c +++ b/drivers/soc/tegra/cbb/tegra234-cbb.c @@ -117,6 +117,15 @@ enum tegra264_cbb_fabric_ids { T264_RSVD7_FABRIC_ID, }; =20 +enum t254_cbb_fabric_ids { + T254_DCE_FABRIC_ID =3D 19, + T254_DISP_CLUSTER_FABRIC_ID =3D 25, + T254_C2C_FABRIC_ID =3D 26, + T254_GPU_FABRIC_ID =3D 27, + T254_DISP_CLUSTER_1_FABRIC_ID =3D 28, + T254_MAX_FABRIC_ID, +}; + struct tegra234_target_lookup { const char *name; unsigned int offset; @@ -1418,6 +1427,52 @@ static const struct tegra234_cbb_fabric tegra264_vis= ion_cbb_fabric =3D { .firewall_wr_ctl =3D 0x5c8, }; =20 +static const struct tegra234_fabric_lookup t254_cbb_fab_list[] =3D { + [T254_C2C_FABRIC_ID] =3D { "c2c-fabric", true }, + [T254_DISP_CLUSTER_FABRIC_ID] =3D { "display-cluster-fabric", true }, + [T254_GPU_FABRIC_ID] =3D { "gpu-fabric", true }, +}; + +static const struct tegra234_cbb_fabric t254_c2c_fabric =3D { + .fab_id =3D T254_C2C_FABRIC_ID, + .fab_list =3D t254_cbb_fab_list, + .errors =3D tegra241_cbb_errors, + .max_errors =3D ARRAY_SIZE(tegra241_cbb_errors), + .err_intr_enbl =3D 0xf, + .err_status_clr =3D 0x1ff007f, + .notifier_offset =3D 0x50000, + .off_mask_erd =3D 0x14004, + .firewall_base =3D 0x40000, + .firewall_ctl =3D 0x9b0, + .firewall_wr_ctl =3D 0x9a8, +}; + +static const struct tegra234_cbb_fabric t254_disp_fabric =3D { + .fab_id =3D T254_DISP_CLUSTER_FABRIC_ID, + .fab_list =3D t254_cbb_fab_list, + .errors =3D tegra241_cbb_errors, + .max_errors =3D ARRAY_SIZE(tegra241_cbb_errors), + .err_intr_enbl =3D 0x1, + .err_status_clr =3D 0x1ff007f, + .notifier_offset =3D 0x50000, + .firewall_base =3D 0x30000, + .firewall_ctl =3D 0x810, + .firewall_wr_ctl =3D 0x808, +}; + +static const struct tegra234_cbb_fabric t254_gpu_fabric =3D { + .fab_id =3D T254_GPU_FABRIC_ID, + .fab_list =3D t254_cbb_fab_list, + .errors =3D tegra241_cbb_errors, + .max_errors =3D ARRAY_SIZE(tegra241_cbb_errors), + .err_intr_enbl =3D 0x1f, + .err_status_clr =3D 0x1ff007f, + .notifier_offset =3D 0x50000, + .firewall_base =3D 0x30000, + .firewall_ctl =3D 0x930, + .firewall_wr_ctl =3D 0x928, +}; + static const struct of_device_id tegra234_cbb_dt_ids[] =3D { { .compatible =3D "nvidia,tegra234-cbb-fabric", .data =3D &tegra234_cbb_f= abric }, { .compatible =3D "nvidia,tegra234-aon-fabric", .data =3D &tegra234_aon_f= abric }, @@ -1442,6 +1497,9 @@ struct tegra234_cbb_acpi_uid { static const struct tegra234_cbb_acpi_uid tegra234_cbb_acpi_uids[] =3D { { "NVDA1070", "1", &tegra241_cbb_fabric }, { "NVDA1070", "2", &tegra241_bpmp_fabric }, + { "NVDA1070", "3", &t254_c2c_fabric }, + { "NVDA1070", "4", &t254_disp_fabric }, + { "NVDA1070", "5", &t254_gpu_fabric }, { }, }; =20 --=20 2.34.1