From nobody Tue Dec 16 22:28:15 2025 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2064.outbound.protection.outlook.com [40.107.93.64]) (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 0E63F221F2E; Fri, 30 May 2025 13:34:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.64 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748612079; cv=fail; b=l3BOGyDO55MzamUk1e9f3h+pqW6mQAwWCtSuChDCuHau7quwU+qPB3TpZMsdcZMd/chPQeVNA28ennZnHy5WUbO4W4Ac7CRK/J98kUTCglk2nY+ukgsMCzK2lZkiAVq4teUtqB+Y1bYyQ2ZxgJDLapsLo3o+UuxvMY+HykHPNM4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748612079; c=relaxed/simple; bh=Kumzdb5/svUa3a9Ux2XluA+p8+adP34LBGm2XB8WEkQ=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=WbwGEtPQSZNP2NMYteRBz0HPBrqESfylF6CnbQ7Ff1ZMEtnRJC0OVBmTpIN6j9NQPccnqcEzbnU9qZgKiKKfnD5zb1SfP8SmM1b+d7WmiLw3AScthRBDA8GxbBYUS8UyPw+gGSlUizRxRaIkEfUMS4/URljy1ZqGy2wOP7qG100= 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=t4wVZeS/; arc=fail smtp.client-ip=40.107.93.64 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="t4wVZeS/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IAvi7Y0gNcq4XmJrIX6BezwvzahmkvDdkYHBD2+JgiwmMApFchSv61B0N9ePvggIvSk/rzyabz8S696nqcWq8Sv5W/imQzqXo9wWh3B/1g3DYAdLdoAjSZ1tzy6V9/VqoBLfHYD8URyrkRnng/2C4SxXx+9wKNndGQ2FIsKJRaJiF6Fvi1aIMNSMF4o44XMss68qmpjVrMtvg026vSA9pya3HaravM/j33CfUnk9LIug4UYDEG7QqVzJzmSg6ypD5WkyX2MRwxqwHYFfgFG+rr+kwdY+Hq/bTNnBG1IebDiK5Bxo1ROaXLYRrPyF1iVMujFrhPedQW4z1oJZ5VCqBg== 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=VA1NsBbg0UsGo0lP2yT2kXkmCRBNvFccvOhb8w/De6o=; b=wSnpK85i/A8FkvJuehuU0soz0PBIEgv/SwwW87MTFpzlSDSy0nZwX9Bf/JWbb9pCzMfPimmuB7JRjY0ajD3WgzfsFWqG+yXJQENWAzbVNbjXcsHzEueBcBzH0XL+dQOrQvFM+CtCzoH/3mjh1HBs8qw0vEfx6uQm+3i/cMTfbGTGu74UoNpt5T7qvE37bdKf7uH8h0ikVi2M/g5ivEiwz68wLYFpZVOd1zsmS5lhh7ncEjfkF/vk6EdQDgfmiOWMu9TzqoRB0EriLyfTucbL1bonTDnFLRIfHiIz2gIzOkL2tO2ToGLiHXowZvC4nJUD8OieaPilHQe+cy7Bt7WrQA== 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=VA1NsBbg0UsGo0lP2yT2kXkmCRBNvFccvOhb8w/De6o=; b=t4wVZeS/tMKrqmWSx4Q3qzxdpX7QAqfXBgEclz7DpExMliwGA0kBQDQj3lwOvvuokUj/2Ej+6uWdVGojWh+5/PbM+b3HH/FaGVK6BqBvDrrFxEwXL+iQAmYc1L6zGZah614HUNkfB6dH/6OGrb+IUegBGMEbnjnb6jCPTJbkTgMzrlcNmJ8LHvzBj/VHjLiagphka2loxZfDP/a3rcU77QUICEuk/PLx894xPWiZrrUfYgIyr2ou7OF62HjyWovQc+x/DT3Y8btbk+t9xW5n32mQPuUq4INUAc7weI4JzJJ/UraF/RhdqBYXvKhpbX1tdYYlvVQxVN/X028Ym66nZw== Received: from DM6PR06CA0088.namprd06.prod.outlook.com (2603:10b6:5:336::21) by SN7PR12MB7251.namprd12.prod.outlook.com (2603:10b6:806:2ab::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.24; Fri, 30 May 2025 13:34:35 +0000 Received: from DS1PEPF00017097.namprd05.prod.outlook.com (2603:10b6:5:336:cafe::9e) by DM6PR06CA0088.outlook.office365.com (2603:10b6:5:336::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8769.18 via Frontend Transport; Fri, 30 May 2025 13:34:35 +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 DS1PEPF00017097.mail.protection.outlook.com (10.167.18.101) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.18 via Frontend Transport; Fri, 30 May 2025 13:34:34 +0000 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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; Fri, 30 May 2025 06:34:17 -0700 Received: from rnnvmail202.nvidia.com (10.129.68.7) 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; Fri, 30 May 2025 06:34:16 -0700 Received: from sumitg-l4t.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.7) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Fri, 30 May 2025 06:34:13 -0700 From: Sumit Gupta To: , , , , , , , CC: <--to=tbergstrom@nvidia.com>, , Subject: [Patch 1/8] soc: tegra: cbb: clear err force register with err status Date: Fri, 30 May 2025 19:03:29 +0530 Message-ID: <20250530133336.1419971-2-sumitg@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250530133336.1419971-1-sumitg@nvidia.com> References: <20250530133336.1419971-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: DS1PEPF00017097:EE_|SN7PR12MB7251:EE_ X-MS-Office365-Filtering-Correlation-Id: 6caf1d49-6e69-4910-f271-08dd9f7eb77c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?1Hjdu3g8B0NXm3oNzJGwMrCpIA0uTHDQKFx378dk/eV2v/Tta21uSdMSWhMg?= =?us-ascii?Q?j6Xna6MkEhXgVedk3uvZNSwO3gqfrRDBo6Vfhnv0jSAFfFGtXx+areauzC68?= =?us-ascii?Q?cxYYu+g4xJB+WxiThwzElCGZVBTJ+qLa+QayXkvijiD1NGiALaWuAkSSKmDD?= =?us-ascii?Q?M5KQChGoqOY9VepmfBRA9a6RahQk5U9v66XmjPtaZjmZPA/Q4JK3uGJc5Gzz?= =?us-ascii?Q?0eYzKaFVvnYzao05JNNzliR7N3ZNOhnJnWo+yYNhjC+uYHlB1jQgPaK+K8s7?= =?us-ascii?Q?6a5UgLhrXW6zUbXFYCQ8vympAU6h+VURQJ/dO9chGYzmq7WzxSx8EFi2CDco?= =?us-ascii?Q?+/DOk+p9zShsjtbKYsUklkLma7PV1fNatIIgQDEPsrWf30lVeMF9d52AGF3T?= =?us-ascii?Q?qhQkldasiImXT/eLoNvd7laUM1p+RRpyiAri+6lTgPkJMm0q6sLWjS4Q3yx4?= =?us-ascii?Q?uNWq9euPSRNKHzqB4TloYK540qQH1o4lVhapCxaUce1b6i5WdVcfrrqj4GjI?= =?us-ascii?Q?J5iSlfSvIBO22q6d+/kAEmRuzFGJVZdkz34cP3HV2Jhn568ZXCotfUUuzXAS?= =?us-ascii?Q?8+I/1BljiCc6yaJm5oqDfmoC+5fgMSn1G21qtfy2Hf3ZQE8es/0PM0pDoqjF?= =?us-ascii?Q?/EJel7gaLvVlrihdm905fRECWiVg5mRDILBlhq1vtgSpFUFoSQKNwOixIVOV?= =?us-ascii?Q?7WqbTG/TKmBwSkDks7mcOhI5fKlANzfkDJHZYZ3zyAq/EROkA0Rb36g6vN48?= =?us-ascii?Q?X7bGMG7m/mII7ezTzkq70ZiEYyo3Npr6+WqohYbjjKTceJboYDs5mWApGEfM?= =?us-ascii?Q?ym8+ZX+s+dwLrqD2Ej+JLZ6Erf+GVMwbgdASfVTCAtG3LrXFToD7qF6NPooS?= =?us-ascii?Q?Q6SZ/pcTSFXXvQH5LKpXlMhU5jg8DnPaUZWgm8nDV9iOCZWr9tsXN6tTmIaz?= =?us-ascii?Q?mmSAeLolZEHBdSUcG93wEy9jaWTEfN/9V3Qq1M3Fk+mO2W/AZpviq07pWPDP?= =?us-ascii?Q?u4LZlrt1J+UqxIzxj/EnlJNvI2hbFVuhQSN5hO1kzhNLWqrUY8PAmhUNPRn4?= =?us-ascii?Q?FvQrfmPbU47N5Y5Fz/TzCo8dALsWs0YTd/aeglW6a6A57hy6Ytd3dO2AB85+?= =?us-ascii?Q?Fm8omT0iGLPLLudU2Q+YWgRtEODAHp/nC9ehbXzCBre021nYqyH3H4ASXjIJ?= =?us-ascii?Q?JA0Hxn4z8UoJ38gHleFYXuNa7BqI2CYSc23aWXdjNDQvVpxjgaGt8bdfbegU?= =?us-ascii?Q?PGtpaV2Tyfd4htb4EgmyKV1QSRFdp9MmSwi2XOsx33eH2e/pXpeYIWVkSdyC?= =?us-ascii?Q?ZRiY2t7dMYeuiOI5M2+k/rbT+gzsNrco+1rPWGMkhXgom78RyTv3LKagOaFZ?= =?us-ascii?Q?iexruQnyGjCx5kxbkJOwghwIVXcjEB6mrdx4Lg15p+i80iSZnnmNIwRwO+pD?= =?us-ascii?Q?2OwEr7R6y9LtX8lTvi7da1WfL5GqhvW4OGfAiAmZpGfJAx8ErJ/n0PE39Is+?= =?us-ascii?Q?5dPLY6vgjP61nuY2GNgesvS4e/Dcu3fSSs4S?= 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)(1800799024)(36860700013)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2025 13:34:34.8570 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6caf1d49-6e69-4910-f271-08dd9f7eb77c 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: DS1PEPF00017097.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7251 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 c74629af9bb5..1da31ead2b5e 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.25.1 From nobody Tue Dec 16 22:28:15 2025 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2049.outbound.protection.outlook.com [40.107.94.49]) (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 B72F91E1DE3; Fri, 30 May 2025 13:34:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.94.49 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748612091; cv=fail; b=l2nRuOW226omU52wjCD4T0Xnxf0fLH0dz9ndtxxlVIvYkqadzns78XcPYsaMNU51e4cZhWfxx59NNOQddLAaZbq0A3zUSqd8h7vtZz5lVNgyRVYRKeAzoLxwfOHoAMr5LV2GZLrrI++UUzywDJFX1giEFDznQf7SZHxAVW98jIU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748612091; c=relaxed/simple; bh=KhmxtnvkBsC0lwn4iO77AGmTsqe3dxeT3CUVxua4bIE=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=RdSGCv339IZomi/q5IFwgI3g8I30PEd8P1wQOVxrmicBAANfzgLSCPTMgxDRy5qhZtfKJz7l9XcAYBYn6GD4Zcb4MkKAq8AWO6E3XE4eosvn4jwwjquQq0ZS3sEcqQCYrto2b1SVsPEOx61xJh5PZAsuTQIXW2bPrgNB8k3RFZE= 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=WgJNYiXk; arc=fail smtp.client-ip=40.107.94.49 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="WgJNYiXk" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qTThqk9BHFQlY9A/eOvmy6mc9c+l6v/+DEMBOBPTYv/qi5cvYwasjIrtK5OWy829CrrQHk0SBqx6ihWe0f4rkjPjw5V9Opy9+rGVz4zqMk9nHFQXg1taesrHERJQCOBVdSoadJdIuKFO2fptIgOImU4s7j1TZi60EjxsZqPDVXHD9YuD2cfGdoBYCcHkQmFR5sWsb8/Tei1D1gGrckdtKZRYmaK5zLAu3lGYTtx2fIX3JqRGktFwOe94zcQEu+AS63MGUDqXqQ+AFY2adtkv8MmptQFIUmi2GIeULwESiZIzo6tYdn3HLA7kh0+3GehRCaGKDgv8GB7zaMgaiG+VwQ== 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=8gGwkgwOUCt/2U5V+HsATQ2436gyW4dCWzBj+4fiv0U=; b=Lim697e6y86nXEalyJQAFtUDSzuGvHpvRbmvNc8m4/NLJDO0KHKevAMeYd1JBfPLZewAhT9eXQiKkCXBmixCMCpDyopxjUV8oKB/9aSHUbtgdd5ywL5764sS5VrGsi+hBgSyHVJu3uDFlaI/8YEgxc30G1f26REVLRYYNOu102xlVQxnqLDpXphek3nFfKbKEMNJCM1KdSDh+dcBpRZXoRQVVd4KnUHtgOQTmorMTcX7Y0L7DdL8j8Mh5nQsM2zYYWGXURyozpP2gXx9O0JA0Da/ap8O1KyaBReuEu/xmK4ih0S2IU5v6xmMvhugrgKbdaVfWcbfb1oGzPwqesLsvA== 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=8gGwkgwOUCt/2U5V+HsATQ2436gyW4dCWzBj+4fiv0U=; b=WgJNYiXkehfCdjNp2kjHxAQSKtO/jNGtRRrKHcjrx/U8lkNPGnoMdh3mzF/9WKh9taPHt7JKilAHuEEt/PQbxEYMGx4cB+0cVj1uhJqN7aVU9206Mz+/G6IGi9QTeM7UiCY9Xhl2NNTZcHKQGTE5UInMuVL8/XqeqG23k6TfqWZw1sdlEpa8lAlk9h1YsQTOhb2i7EsDAJRw9gkgjQdsxQSJOx/QJRlvo9HO1o7EXR7y0yqEIy4uUuzkhZKNl8LoMJackvgvgyXPq81dG9UVRSIlr5TmSJ1/dTsoLqYQrESzaqMhGXwK1b5UOD+0Jg81Ieo/lBckMAGzN+85qpSFsA== Received: from PH8P220CA0007.NAMP220.PROD.OUTLOOK.COM (2603:10b6:510:345::22) by SA3PR12MB7806.namprd12.prod.outlook.com (2603:10b6:806:31d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.29; Fri, 30 May 2025 13:34:39 +0000 Received: from CO1PEPF000044FD.namprd21.prod.outlook.com (2603:10b6:510:345:cafe::d4) by PH8P220CA0007.outlook.office365.com (2603:10b6:510:345::22) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8769.20 via Frontend Transport; Fri, 30 May 2025 13:34:39 +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 CO1PEPF000044FD.mail.protection.outlook.com (10.167.241.203) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.0 via Frontend Transport; Fri, 30 May 2025 13:34:39 +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; Fri, 30 May 2025 06:34:22 -0700 Received: from rnnvmail202.nvidia.com (10.129.68.7) 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; Fri, 30 May 2025 06:34:22 -0700 Received: from sumitg-l4t.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.7) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Fri, 30 May 2025 06:34:18 -0700 From: Sumit Gupta To: , , , , , , , CC: <--to=tbergstrom@nvidia.com>, , Subject: [Patch 2/8] soc: tegra: cbb: change master-slave to initiator-target Date: Fri, 30 May 2025 19:03:30 +0530 Message-ID: <20250530133336.1419971-3-sumitg@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250530133336.1419971-1-sumitg@nvidia.com> References: <20250530133336.1419971-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: CO1PEPF000044FD:EE_|SA3PR12MB7806:EE_ X-MS-Office365-Filtering-Correlation-Id: 23550b34-a473-4c69-f539-08dd9f7eba29 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?WcERS0o7mJdqUwMs7lAGJ+FVB5Yd+JwX3lMp2rQWYvpyBxjlt0cnsf9cssIv?= =?us-ascii?Q?nW7kPOpSfThqOe6JvyE5Y5kS3CLiLSqA5qugCbH0gixMmL6Oz0BQnuw1DevY?= =?us-ascii?Q?M79YTqDi0n6jOhRJ987sIH6yvG8/4uxyjJmtb4PYD6wsjKAbmrn4EGlvFN2u?= =?us-ascii?Q?53H4ehtZ2u+qP2fEcKijrbFLNGpwmQJnBsl13i3nNVfAvxluzgRZzsjv0TSN?= =?us-ascii?Q?fBrkkZZK+C0uuooc7UP8Gp3DoiosvNIbe0s4Itad586tL22y/9fqQ/iIOwv2?= =?us-ascii?Q?hhDspCAc8hITt7tLXlKq3HFZSANDFcwlneGCLbEAo+cK+yKjdH7zzf0vqawv?= =?us-ascii?Q?FqXqL++VXZ8GDkxI8wqhERjQVFoyqTP9cuBU2aCQRWaiHd32FSU+TktqhVFa?= =?us-ascii?Q?cLMM0pZsoDpXJqNt2zXpIC/oa0YyDh1u0TRV4MhXASfrGBYNkSnGwK1cdY8q?= =?us-ascii?Q?mTJ34N00Yn37Jlb8othX2WxL+nXylPBC+Qlv7DCKzEZQWN/m8W+Mj0YTLxZm?= =?us-ascii?Q?CtVJBBO3OZHaY+CYmquA0e7I93Pa1IGdvx7K+UFOuARzea08xWGI8EMCP/cU?= =?us-ascii?Q?RRgGxePN2kTrUQ/gm1JBok2wK3QzsP0x4M0tfKTRzjZ42SuRS9vbs20xtpee?= =?us-ascii?Q?wFYFk/YBsM+PMrEIP7aGGi90KdzLSUepuASL6A10Xo3r0qPuCP3aGMldOcLS?= =?us-ascii?Q?U+eNkVSJLrqrAW9L/YRP1FdgsQTSiWa/4np+qG5knu2C/mHAUX3VcFuDd6PT?= =?us-ascii?Q?zNmvf8UA8PNj1XPXmZzAlmx226ON8dhiEwBVZJqFdOtgfN74YjjNFUSvwurU?= =?us-ascii?Q?wHDE9WkbGJ42DXtNEBLMe26tVeE6TorF2rlOj4mbOxWFs5wWSo/cgpQ2ZIYq?= =?us-ascii?Q?x9V5+V7l3Xq5f1ZgLHcYYvo1iTrw/K7LioJz6HZJVZG1wN/7INw21LjYKEkj?= =?us-ascii?Q?ASWEFaXNGCq8ZljRc6iYjULcDJhb7V8aKeKLjg5Yczd8PC4NaKdJhnyodMHG?= =?us-ascii?Q?BzGT5LI+gz+TDo6DigD8yJado1mm2HyQVxq0RfwZ4YOxTsYXAwZwAhDHg8/l?= =?us-ascii?Q?CnrpLYnWfXmyb9/SRfMEmpZahAIpY3MgrVFpNs0U/YzJPgXetcCsd96yU5aE?= =?us-ascii?Q?QBfc8DxJmWf1gBVLdeNk71xpjhX27Wx+HUUpedHxl8+3jm8srqJJagzBYkXD?= =?us-ascii?Q?miBRxspnXt6D/uWfo20SCUIOqc2Z4w2CtncnaKDDjkJWi10lnnl1jssJT/ia?= =?us-ascii?Q?VGEhE+2fTKxFkbAD9Tviu+EalNrvGUhx4lJRjMyaUgE574maHtFTqG06CWSK?= =?us-ascii?Q?/MEthVo4Ai7D8451cMmW9b+FQXKZYcdkwdUqxwuRwgA03Q9wGckxnV2weCXJ?= =?us-ascii?Q?B31ZDN5WbiCM/MEncIw2HUQXr9bEBS06oLkyhxqNY1fzBBt+wiUuPq+/r5Z1?= =?us-ascii?Q?e8XIrso7cKRcwyiEBcy4ahQyCf6gxdYwa5Z9wcOCkzIJl0YENwtL8XNf1U/9?= =?us-ascii?Q?HulDg2JhN2HrDFMhQQ8DuFjOErbf0fy4niwH?= 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: 30 May 2025 13:34:39.3039 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 23550b34-a473-4c69-f539-08dd9f7eba29 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: CO1PEPF000044FD.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7806 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 846b17ffc2f9..c1bdea8c853f 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 1da31ead2b5e..5d04ed3b2d50 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.25.1 From nobody Tue Dec 16 22:28:15 2025 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2064.outbound.protection.outlook.com [40.107.212.64]) (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 6062620A5F3; Fri, 30 May 2025 13:34:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.212.64 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748612092; cv=fail; b=YRo638QSA5kP5cvNlUvHUCkR+fZIuFErs9nDlOu8ovb+IFgr1NM7kznMdHNxb+qZi4LVauXwgSde9pj2k5ApTVYGukmTc/YNRxU/auZ3i9sOo90GOvltRUkLn6z9JampVatuHmUYMjtoN/5ssLtOK5+JpfBuy6hfj8GqmYcZi/A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748612092; c=relaxed/simple; bh=IwkPJa9fAI1NHLLe5K8DkL28DBgQi4JSpdr+owSf5Mk=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=I8WWv04EEd+gJKzfbn0QKNFHHexrzwX42yFCmBuSGthNrrPgB8T1wYJ3d7WryDtxsq5jnbJmTprHR5nPaWm5VzZ2H/DaW4jxLsI38qqNsQBDjf40TYrusQRTWSFnVl5oVGGfdaJg2396XVSRI6HJDWgQj4O8B4Lo3N8qPY9xvcs= 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=nFN2qkxt; arc=fail smtp.client-ip=40.107.212.64 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="nFN2qkxt" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SD3RtetyAKLtH9P2pjHxHYQJgfPuy8pKmNVzQaiIG1q1A9xLgHqBPfbRASKf/yReSfByuFzpKRxKUn0KtJi/j+2vRwZtO7P5hsiKRhZLNrj7zk+DJOV/tsM+qaBd8PNY3Ja9hPC7fY61wpx39WWyBbken5WJfIeXbT9MI36ttubtn1CsSS4xZhjkhJDWm02pvqTVcfkcqkGfwhX1uUM1vlZiKJTPZY6PUXeV29aIK2LZP1NLXcm0LBj6wNM+pP5rFOkoYFW/iaRQBFsT7p+sZYIokaI/6ySf1eAAUjjxgP/RPwC6AD0fNAsqOHH+JD680veH3YKrHwTlWkm61anTkA== 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=hT34DqN9ln814cAQC8J6jVE+UO5xCIroW5NM5SeU58M=; b=O0qiJCuSngRp4bwRhB3P+iYKmcdJ+l1ARjP6cOnRC4od4l+zinkuhlagwO3cRJJSAzfHT5xPZnLW+cl0Tc5x50WayeOtVbqg2muAUyk3xtmfSz8sEJ4eRqZJaDzMKh7v+hMMeve9cvVMz8Jp8/epO9rGervxRqd/lwsK7U95HkWGhvW3zZEU8s5wQjaPljctYFRufcfhTzUg+OafsOcNEyXD3pSCXWp6j22WUYGYr9olEFMyM8n7cr46dxUNNXuQnoc+u8WzYPPg/GKnOFf2AaonZhdFMLM1n9jXHkNy+1eGUmWhg3g6J14kgdGp/CnpAsbiN8tPpRWOeJtyQ+5NZw== 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=hT34DqN9ln814cAQC8J6jVE+UO5xCIroW5NM5SeU58M=; b=nFN2qkxt4UzUmERGUe80VlwaJmJdlHJItHNqPGYAIGq+hRnXMCKO6btXyv3zPt61IRtKCdeJdhFGJE6Hzpb1F+Sv9xvgHYyn0reQS79Q6UHUOP+uc9FieKvMSLiXw2tNntg8X8s+27xIcF3oFvhKkjAnmzV34t+s/O75FbJLQ51yoIjoGz/tGa60BLAVhGZzpMKC8/2yMEG5r8hSXIsVYkOA2nVXPnZjQ2c0ahK1xth7LbPBs/CXaZw5lBAIYP+8xl/h2Yt8n8/msjoWn5/LdrNbwy1frl33mRCz0YL75K/UN85vCLhGKdKhqGpMNRRNRpdsxOTDscTzY0RgQZmddQ== Received: from DS2PEPF00004560.namprd21.prod.outlook.com (2603:10b6:f:fc00::50e) by SA1PR12MB9245.namprd12.prod.outlook.com (2603:10b6:806:3a7::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8746.30; Fri, 30 May 2025 13:34:45 +0000 Received: from DS1PEPF00017098.namprd05.prod.outlook.com (2603:10b6:2c:400:0:1007:0:6) by DS2PEPF00004560.outlook.office365.com (2603:10b6:f:fc00::50e) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8792.9 via Frontend Transport; Fri, 30 May 2025 13:34:45 +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 DS1PEPF00017098.mail.protection.outlook.com (10.167.18.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.18 via Frontend Transport; Fri, 30 May 2025 13:34:44 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) 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; Fri, 30 May 2025 06:34:28 -0700 Received: from rnnvmail202.nvidia.com (10.129.68.7) by rnnvmail203.nvidia.com (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Fri, 30 May 2025 06:34:27 -0700 Received: from sumitg-l4t.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.7) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Fri, 30 May 2025 06:34:24 -0700 From: Sumit Gupta To: , , , , , , , CC: <--to=tbergstrom@nvidia.com>, , Subject: [Patch 3/8] soc: tegra: cbb: make error interrupt enable and status per SoC Date: Fri, 30 May 2025 19:03:31 +0530 Message-ID: <20250530133336.1419971-4-sumitg@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250530133336.1419971-1-sumitg@nvidia.com> References: <20250530133336.1419971-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: DS1PEPF00017098:EE_|SA1PR12MB9245:EE_ X-MS-Office365-Filtering-Correlation-Id: 54585be9-eade-4252-7ace-08dd9f7ebd72 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?uD7dxAvFQhX76hKnt7elf1YIzcjfUuS2jjfnPQAlhK54e2pQ/l/wN3cIkoXX?= =?us-ascii?Q?rCh2o+ozbSmutiKTznyupkfOjOUu9ghM0255a3cJUUUlTeF25unHuLZdOZMN?= =?us-ascii?Q?aWDkotdXwVVvjOO/siZ8QSVSmgYBwaGEDrHml0H6YQULTtjkebayPEV/G1b4?= =?us-ascii?Q?iH6byRvGjlhSA/MM8lcB4uDVJiqUrydGGbvT/Eu/sqUF5QGI5YesgouYVbiX?= =?us-ascii?Q?I3YmoHQ6JcmDaNO+QYGgHQTP/UXK9PlqohggJ/HgzJZrDAUmUKz5RrTG350a?= =?us-ascii?Q?W234gfikVuLfhMDO8viVbrgUNC2GYsTMfLX+TvHXpUVixKJnGKTEY883RmSk?= =?us-ascii?Q?kXv7pC42UOm8aL536aoafdaEvu5c6yp+7Pe1f7jhBmXosXSPsK5S3hpx1tvX?= =?us-ascii?Q?w3iBy0s4JmgSJ9OyPV/zdCMwZUzUorm12sz4Qk/nqSE5FYXOZoeicIb0PPw+?= =?us-ascii?Q?zVE8xl0hOW4Sb8AP8LSS7PqNzqWdRIeGUQeaaFNqI74Tz+ZmJtNwqHwFTBXk?= =?us-ascii?Q?OqyvZemdKHDf4UaEJr9U3lYFqP9tE8q4T/OQKg/ZIycUCSrG1ahvEtBaBTNn?= =?us-ascii?Q?qqUh3hpHghb0qy0nh/nMqrz243sLK7tSlunbOBIqeNdMC8a6GndbwIqod8w5?= =?us-ascii?Q?uPQCbSmoUTWiAjeSBk5dlRhVUcnd9Quzp8Mpy3qxlRKRK1FluB1uZwzNl/bL?= =?us-ascii?Q?CDXFXTM1IjZomvIpX3amyx+g7IQo+7G459nhYk9fN30wZwv/HXIBQ84FH5rF?= =?us-ascii?Q?zRiSczXcNUcgjd0V+3XWgrjP9j/UIiTbHwYvcZxi4X4hbMF5WUTVD99mfd7m?= =?us-ascii?Q?2uen1wQYZ1zAV2m/BTjXCvsy24Bayv+6Uf8UnUAzbQm63zVEBQ3EN8a8NDA3?= =?us-ascii?Q?2URUn917odumQ38b4e8XlJZTbwf2kAGTZH+TOyIW59z0T6tJ/2e6CQfwXmNu?= =?us-ascii?Q?46VoETdP3m499u15VvDOy1ALA2HclJCU49fiisCYshsXXwy6nZ/H2JHtJ9V0?= =?us-ascii?Q?DVfMoh8Vj/KtfGn8Lcsqh1xkrXFjasqVreJ7Df6trTsS2AQfcwWihCW1BAUe?= =?us-ascii?Q?+Yli1y10NwhjgpiHGcU+aRCYWbAmXUInIBjsc7ux3UCRD+mS8gmxtjlxDQi7?= =?us-ascii?Q?S8ZdaQo6pq3MTs0YLkYcceItToPEA93pgVOGQn3YX8NfmEqeJ+WUMRMeh/2w?= =?us-ascii?Q?O23eJX3NKA91MhBEwS1hcDZzbPpkUJdop+LF/KdoGb5YQ+8pf7RU/IwmfS+S?= =?us-ascii?Q?XE8+Z12dKoiYRxY2Tf3ZW249mgFDl9BsAXW/km7wvplsfTclxkOLrnqBuvxC?= =?us-ascii?Q?5Sa+EzzJHP8yZljYNtI/6/ODtPVXdHtAnLM8Q+Ig6P3+gAZEES/5xLfOhqih?= =?us-ascii?Q?Ldo1pw+2GqaPKd8c+4xg9PrUnUYspsrmgXhR4/MS2AABWB86V9zCXQtqiGat?= =?us-ascii?Q?mlc9q1jsZCFEb3H1hJyJUwo8cvFMzh7d4RUVjCzCdOqZyMtyQuxu/w1xlj0c?= =?us-ascii?Q?rS37ef4TWgqRCOYfGTUwxSlubaO0gjlvBlWM?= 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)(1800799024)(376014)(82310400026)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2025 13:34:44.8457 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 54585be9-eade-4252-7ace-08dd9f7ebd72 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: DS1PEPF00017098.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB9245 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 5d04ed3b2d50..6116221f0ca6 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.25.1 From nobody Tue Dec 16 22:28:15 2025 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2072.outbound.protection.outlook.com [40.107.94.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 3F7F9176ADB; Fri, 30 May 2025 13:34:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.94.72 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748612095; cv=fail; b=kS2BZdB1hOa4CBFakxE148AEYp8qygBx3ABITrplXyHam8w0nhpn3STx/UFTvgBcaEQWAECu64eXUFpINFPXJFe4zR4ymMTElhuP4cSKgqmp9CwW1wrliSilEkFIQmq/1a7v90pV/rLa4eDkVPCJ7HT5YhD/MQJcIfVqsbm8pcE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748612095; c=relaxed/simple; bh=2j+SMuxC2HNRIGtfgCFDYFCauzY+pHhIUPLmsqeECp8=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=U1bQSvb8bxinKnBFvWJKoiIfmqPL1NbYqn1jFY5LjiPgvPyl7B2xIszUVY8XCWeF0s+xzjnbOBmZx3712unmHEZzUTjIVoHmaCLBxMZRky51WkCtoeJf7gg6uVu2v3FCu6tfdiaGfZqk2yxj9WY5iwUbi8li1dDngNX0sxCe/ho= 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=jgs1ZwOA; arc=fail smtp.client-ip=40.107.94.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="jgs1ZwOA" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HOWsPtW7IxbVUS3F9TNLig5NHj57fUTCA6Ybj1T5XfzjR4HbbEvvdmFm1Mcs/x1YWj7p1w5vYwJ9viVDssXrk0s/2jym8Ke4Hv64iL2vzjSVfQ8buRrvqttv1F3aNeiL7vvctPiHG88HoLdnkxv+LgRR2/WrkV2Me8t4COLkWEGA5rwSi1qy+46b7vWEXEfdL5V+9nrAvUpxmzM9ZNfBYndePW7c+/5eftmLQ1vxJjqRYNmlQEuMFfKFrjbro7PkXtXfTh55fnfpcbK68D4l0vGlKdEldmrq3FZoSYstNlbMYYtXHmx4VY4OyN4bWpvnDKqIpPaClBeHN2tF4PKJAw== 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=DqV9/I+OtHzn4Lnh7q2ybxNyTN9GQ4xlUKD/KmxUC60=; b=UOZQOaLBaVE7eg/rDinBazODeKeXn2Nq2UeNjwwlWocZPGCFCteKo7O2FC3B7YbsKUNtrs5eejRR0OLYUAWFPPgFt8x0nX/I+DQQkRb+mN9uXMxyqqG8Au+LzEQq3gJ3SjGo2M25IPDNDjJN5O7g4dBw78K0scIPSSLYeAzmCfpqV3hcfyQx6fMY3ma+JYNmSKp76GkoZezpogNy0sKQuLp96CbrPGOXbn1bcuOk7iow9XO8+tlyBdCBWN2x+rwz7iRN5QQMLmZpNTxnN7aBhf729cPMW1R/i4wNtH70WtYNpJBZce7w3/rd3QfIk1N7Ap8L9o4QGNZUsIWXTczutg== 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=DqV9/I+OtHzn4Lnh7q2ybxNyTN9GQ4xlUKD/KmxUC60=; b=jgs1ZwOAW9NRdDe/pJ5/Xjt0VnKGhB1BbiCBKgHLPDK3o76c/sc3FMmwj7ChpEd3bPjkXWMv/TqbxTqV1UkPPCAJphASq2pfqOhHY9rLz94zuF+DIXIme/fD6Zy1GkC9qst9xasfDvt1X/PsEzVSZYbc7rRF6LyL9SX7NRIQjCYDV4d8qgpsmx+tJ26r8X1KCiObF+ni1j5kFb7nZErmUXOgR32ZZCqea26OwAr8xsLIFnXmgyWX/aCeZfzi/vvNarfKdqSTACw3e4tVH3JkqX23tB805YzkZ3cgT7TjJclo2wg/V8ne6XCIxJ4hQa/XazCIvPNN1LeiBKJGArAqCA== Received: from MW4PR04CA0085.namprd04.prod.outlook.com (2603:10b6:303:6b::30) by SA1PR12MB7150.namprd12.prod.outlook.com (2603:10b6:806:2b4::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8722.33; Fri, 30 May 2025 13:34:46 +0000 Received: from CO1PEPF000044FA.namprd21.prod.outlook.com (2603:10b6:303:6b:cafe::be) by MW4PR04CA0085.outlook.office365.com (2603:10b6:303:6b::30) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8746.31 via Frontend Transport; Fri, 30 May 2025 13:34:46 +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 CO1PEPF000044FA.mail.protection.outlook.com (10.167.241.200) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.0 via Frontend Transport; Fri, 30 May 2025 13:34:46 +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; Fri, 30 May 2025 06:34:33 -0700 Received: from rnnvmail202.nvidia.com (10.129.68.7) 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; Fri, 30 May 2025 06:34:33 -0700 Received: from sumitg-l4t.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.7) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Fri, 30 May 2025 06:34:29 -0700 From: Sumit Gupta To: , , , , , , , CC: <--to=tbergstrom@nvidia.com>, , Subject: [Patch 4/8] soc: tegra: cbb: improve handling for per SoC fabric data Date: Fri, 30 May 2025 19:03:32 +0530 Message-ID: <20250530133336.1419971-5-sumitg@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250530133336.1419971-1-sumitg@nvidia.com> References: <20250530133336.1419971-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: CO1PEPF000044FA:EE_|SA1PR12MB7150:EE_ X-MS-Office365-Filtering-Correlation-Id: 90b3f1b4-f6a9-4035-ea47-08dd9f7ebe47 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?fqz+eufH3jVm8HaqVFxtIC2Z9lYbQPdpVTULzrEwr8czjEgQJglgGPTy0wNp?= =?us-ascii?Q?8VCk2zqwMjK+YYtRgmGCgK12WDw7ljLRtQysAfAk4ENzAoFOvQpWz3Cg53QE?= =?us-ascii?Q?Y0mm4hvVcrxDKRbkDF0HwyToI17x3kl4i64CiIeCnG3uEiIszimrs9SlGRqq?= =?us-ascii?Q?KwCpelMVF1DU7BWRWBEuDVaoFOw+EEn3XVmmqN2FZFDPU3QevpxXLTagOLsS?= =?us-ascii?Q?6YYwPg0BRw1bILKOOBlXC38nWb42CMcSkiO8pAcJCq8iL1uo5QH/8CzVapdW?= =?us-ascii?Q?3DfRDxJLsbSq3B2MSQhRqYBS7haS41RheBeuHdF4xt9EStpiQZaWgGEJbZ3G?= =?us-ascii?Q?QOC+UPr5yUJZ6bkM4TLv/IpDZ852RmMNQm6l8dXvj8Z5blU9MeZdtvNeetZL?= =?us-ascii?Q?GNJgd3akSlNHmoZRd7TwAS4VKPImU1I3LE6oKgrZBef/hgWgbhRLyefj08Xd?= =?us-ascii?Q?otFOCgQ/ySiyg1e6+LyMSHbar+F8sTOrQ3L96Tletph2MGMsbVYDK+4lt6LT?= =?us-ascii?Q?SCqRxt9kMSwzGwLn3llHtF8pgXqL6+x813T31nERjuD4ohz2s3WpvaENlLFq?= =?us-ascii?Q?e+s0miD8ndA+AmWHeYeTVkFUhNQiPQLWt2o9xs7JhK0J0SaDAsMXfIHCpXCU?= =?us-ascii?Q?TAeEqA30Lav/SmWvQkpck+57535ELfyQigSwC3tlJTXXClXBvyOBwGyZED7x?= =?us-ascii?Q?yEbOHi1yBYUI/pnor4pO0adWtWXtARVh2kp8fP1AF6lp4LwPqdR6PfOFnmHz?= =?us-ascii?Q?iopCClQeSRsaD7QPC8TAMHYrWcvkj9G1yKGllxeAhHnPAoE+/uhoT+Nal///?= =?us-ascii?Q?t9DaJsOfMFkOPsOihCpPqe/A3BG7XFpPf1T0ZttJVgYAKZ5QfzArOk/F24qh?= =?us-ascii?Q?gOXSdbiCvr+v9KebkVp39LTYk9w8X2tfMB5+lxiuRgp2sl0zRHpOzWKH6Hr2?= =?us-ascii?Q?SJPpHxWZL42kbUGx7B+nylHhqGXmDLU3S7DdcwZLN1ox+nCu+RkXeKjlBzxm?= =?us-ascii?Q?eS1H3897IbrZVSw0Q+4JNmUja5x/zI5EvroHLNpFqnLHXOWSVT+mZPAhlYkk?= =?us-ascii?Q?TMVJ/FQ0y+nLQymLKUHHG8X3F5uyfwan4aHzFYJSgeAZH5DcchDEZFt3p+xf?= =?us-ascii?Q?q+mU7lpwrrLv5nsNWTVBpoGnVRtEqInkGtWaKcUgYo4vtPSNN3X+hjfaSPNu?= =?us-ascii?Q?8xnTgM3vEGBiGDlCzYZMD72K6atmcC6vx11lhdIqNUo5sL8BjCTnVykulU3N?= =?us-ascii?Q?O62Odlni/sJ/V3UTqbeaO4ZqFuav3bCGVUwyWeEHioYURoNSWXfa4LejMq/b?= =?us-ascii?Q?kNcv5skS+lfQcIuVQw3A9S7wqASWCgRrImC1blTBvUXkqL3yUfInUiYDET30?= =?us-ascii?Q?XjupRiPuYpU/keIUuiJD6un/LWquW12F1CElTJEpCrzL6fEi5FpDNqH7EVn0?= =?us-ascii?Q?qzCzuCO9lXaWPGq+qO7BFLkI1xliMhe2meUFORakv6JsVzgzwPTbAI3YdKbO?= =?us-ascii?Q?FC0Nm+Oa+B/xk+ScBFpUjzn3u6fpPg+309sB?= 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)(1800799024)(36860700013)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2025 13:34:46.2133 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 90b3f1b4-f6a9-4035-ea47-08dd9f7ebe47 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: CO1PEPF000044FA.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7150 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 6116221f0ca6..10f57f17fee8 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.25.1 From nobody Tue Dec 16 22:28:15 2025 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2071.outbound.protection.outlook.com [40.107.223.71]) (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 A4F5B22D4E5; Fri, 30 May 2025 13:35:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.71 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748612102; cv=fail; b=DB9pdCSFBbn3NZ8Na82WtY9//bvpH0mItnp2wRj9Nrzeq58C2/fzHk6dAz+FBQiRc0A0ww4o1/ZoYqEKCTkHuXkMvmpTLsIN4cDCTsdZIQ8MN13+dspjIg3z6vvPeDncWxdz4ss9LKugn5VzoZcpQwAchPnrrrV2kk2fgIULxEc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748612102; c=relaxed/simple; bh=ADdpy39RVPEfUqvZul35h+fQFjzwkuYLsGjYjbufnY0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=bIJplX2NogS5HA+QmNOkIsFyvDMKbSTGIx2j/4fltOf38N1KniJoD4HaaygzfW6Gycb+JGuxSDW+QfaY5tZePnOUx9HjHoTZz3jED1gpLntUGZcEwCDDDIK+F8HotLnqlXSv693act+6E3DsU3lSUoEMsD6PmDrkSeK6uAgu1SM= 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=SU+5qCro; arc=fail smtp.client-ip=40.107.223.71 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="SU+5qCro" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lWps1v/OsuzbtBawiAkbfxSMcsbSY5htIKApJc5xMzEkQHLBONWMiRuyp2mFsh7vtgbnSeqhiK3a1rrF8CBeLnhSnj183vF4gxWwWCIWpjqFSlUyuCa9JdvoA6UfUoHIf9Xxi7WdyafWdlxRJ6CcesvbZtj3VNrxkHQblcuabdJdta+0TU/KhZvNvxoUFnCk8HIhb9XC9c4Jr5aDQyTn/htUvlkIkUHYNQcoW+POod3W7ujHY7diNutruYJtU1DnnHx8v2gGtvOlR4XZfwB9AU/zwzuH5B4bwZin0guw8Huav5SoUOlYExrkzIgdnLQUqo41WQ513+Xjt2klxyQvTg== 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=x98IFyX1sKhvLGQ3lEctjtLjUGR7SVZn6uugNWx8Kbc=; b=nbFaycTvU+gq/jONW/5t3Cnh40fROx33T8x9rRgJDxk5RkcQraBy1eZT/5xSbx8iYJAtBReCTH0n0LnG2EDjA7Am+nLwuLc7OYM8N1Fvf10ZA0D4o7M2aC9B+U8q0o84lLK/aFb4dSdKR0OllPlChNCz+D0zmEOI/7UqjZ9fKZun+zSBxUHinR/hd3EMWeM14d7CJfCXhIjolPHaEm5Ph1+8u9tRanXUgLFwtucqNOBPmWaIbIlMgaG3QhJIrwtUPrbhy4fgkiLmXDCNlew5bXMNhcGJo/OoL720OrrqUu+nEjYqcguxA2+D7jAG+2fto/NcevFZwKYsaWbDs0MpBw== 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=x98IFyX1sKhvLGQ3lEctjtLjUGR7SVZn6uugNWx8Kbc=; b=SU+5qCroV+3RqsgaFg3fgXP3s0dWHuHTYgyNdZWeb71JVdWwsMTqOHwZ+pWc9AuKhw+wcYX1L0rCXXmwOxQ163m3pWM3ZgVNRul6Xa8G6VeZ4b8b+3G+Qfhb0RN/Suf4f1FVzhsviKovaX7f3RWrtkdyCjbMnc3Vfc1fmNAmtllg2u5tq/SHthmMptFvbuPzj2U62ZvNNkm3TZ5HfcXCTXAvnnzyf1jpVVeVjlxalxzq1++vsEdZZfG8TfvoA8Jn2ExVCpnV6MTKcdPT6nlUJxytiUzdtaW+Z954HpDL4tUsEqd/+pCa4jI4wEqxjlCSJJkgwR73TWiVwmRwYGI7uA== Received: from SJ0PR13CA0120.namprd13.prod.outlook.com (2603:10b6:a03:2c5::35) by PH8PR12MB6747.namprd12.prod.outlook.com (2603:10b6:510:1c3::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8722.31; Fri, 30 May 2025 13:34:52 +0000 Received: from CO1PEPF000044FC.namprd21.prod.outlook.com (2603:10b6:a03:2c5:cafe::f0) by SJ0PR13CA0120.outlook.office365.com (2603:10b6:a03:2c5::35) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8769.18 via Frontend Transport; Fri, 30 May 2025 13:34:52 +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 CO1PEPF000044FC.mail.protection.outlook.com (10.167.241.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.0 via Frontend Transport; Fri, 30 May 2025 13:34:51 +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; Fri, 30 May 2025 06:34:38 -0700 Received: from rnnvmail202.nvidia.com (10.129.68.7) 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; Fri, 30 May 2025 06:34:38 -0700 Received: from sumitg-l4t.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.7) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Fri, 30 May 2025 06:34:34 -0700 From: Sumit Gupta To: , , , , , , , CC: <--to=tbergstrom@nvidia.com>, , Subject: [Patch 5/8] soc: tegra: cbb: support hw lookup to get timed out target address Date: Fri, 30 May 2025 19:03:33 +0530 Message-ID: <20250530133336.1419971-6-sumitg@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250530133336.1419971-1-sumitg@nvidia.com> References: <20250530133336.1419971-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: CO1PEPF000044FC:EE_|PH8PR12MB6747:EE_ X-MS-Office365-Filtering-Correlation-Id: 3a271f7a-0773-44a1-ab5f-08dd9f7ec1b8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|376014|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ySmx9C1RTKq39S2ZQn9lqnS3JxmcXWQlgK55G6JyhppwgFjRCrIYnl3cmDkG?= =?us-ascii?Q?WLvwJhwofzu3L4/w53MLYz5hYZc1pQ8fZqQWIBm7SRLrQDh0Dlw8Sm6L/6YQ?= =?us-ascii?Q?opLtUmyaqF162om+Txjwt7sKqSdF9DxZGcYnMOb1vgag247FRZGBsmiUrYG3?= =?us-ascii?Q?qJWfvs13xStgezrJQqTZMEDGzGhG/bOI/lIkuPc7lxHDuI3uP5JGpyhnAgdS?= =?us-ascii?Q?9TzO4Ugqrxab4KzBG8EnJIydGBmfFj7r9HkulLhiqGTKvbX317SKQ8ZgKQUl?= =?us-ascii?Q?+BoNsApgk4naaHX0gOldkp6F6d2DQENEGOvtAFvgcyNJWdMtiW5dbwq4WYZ9?= =?us-ascii?Q?S41ujilz/ol+JlqBjgTOVWJ3x6QBCgjoLUsmGlbC95wQGdwJfkPSVOknFNin?= =?us-ascii?Q?HM5hrk2Vj+c/rPqV69tr8iWAi0MWROsadhxPJGvUF4VK0pfJQ/lpSj1bIJga?= =?us-ascii?Q?p6I/tHws+H7LQhC4vr4Hh8XrY68Q1DIUJmxZjjI6H6IXMcstPzLKk+p8nb4t?= =?us-ascii?Q?0pMbuoXfu4K/SNH8p5jawzITfOQXeKDkYrbFdyYpFHhV1vtW4I58JgISRJNB?= =?us-ascii?Q?AKC52caObrpFWcEaMtbI3iLNLfo2PGvKviDj66B98Fvwp2YrxacwOXYKXCxo?= =?us-ascii?Q?wtVvD8Umu6Mv0uXePzr4jL1oARDDHfEBWO6i+ZuSbX6kowvaulAf2EP22ncd?= =?us-ascii?Q?XLyNoKktJaiglNmcJsrNMzNRgSRhiIH8kPNB9InE9wUJp8dxRfYC72ldxvby?= =?us-ascii?Q?clIcZhKHzJd7SU127R+ZxIx19iJ1phKulXJ5TKi/DM9nJPx9eQOCc2F1CBU2?= =?us-ascii?Q?4AFfxbrqoskpOwcPvBd9x5TZ1TBQePEXWjhCeDmpyHt9UmUpJfjq16Ur9W6n?= =?us-ascii?Q?OnJ14Kms4HLpAbW5+bIUJ6Z8ncxn26WIKzrf8ZVq7gngnW2gzWtxv3mmdvVF?= =?us-ascii?Q?AQ/avmKNPiaJ3h4S47KybjF15FO0Xrulf/xCWfZ9mX5aMQhi1mbU91cDuSrr?= =?us-ascii?Q?8bwxbEKIHANi/cxW8t1363u8mp00RsVPfQPtvG/z2DC2TFMn6PjJFNc6SG9N?= =?us-ascii?Q?0J7bcZCH3y3PhAcReVSjd3Dzb5RRxa1DciIQ3d0TVxfwmpNlV+GaTsfZXDf4?= =?us-ascii?Q?TDk3Tjdtl5L7KbzDjSKUNVxuqLO8SS8F8GBwX/5h2pwu2WBGOwa3v3WJhwpC?= =?us-ascii?Q?30ECeXub2x2brX1GOJs2Ggw3abe172csxtrH65D1ySQypZka4YzdWm/XGZPB?= =?us-ascii?Q?gB8VnYSjwMe1S+S+irTyqVFbhQYP/X6ghwabdi6N3gAFc2K/LLtGrspiqU0e?= =?us-ascii?Q?w1V3I6bTQc6ghPVatknn6t0OPSeL4MxuEeMT7y0xoc7dp758Mn5jmQshpSf8?= =?us-ascii?Q?d7fIzosooZsj/A52YFtKpApewksRxcVKa+icUP9rNcP+D6RurW5nOzhzAg7r?= =?us-ascii?Q?2TPa8lMj0sLs20sOuaTxyHE6zsl8I1szl8g467fLd/6ssvsgP/p+gQPDfInl?= =?us-ascii?Q?frouul+sZAt8wt36OZjwEVQAF9F9liV65qR8?= 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)(82310400026)(1800799024)(376014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2025 13:34:51.9900 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3a271f7a-0773-44a1-ab5f-08dd9f7ec1b8 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: CO1PEPF000044FC.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6747 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 10f57f17fee8..aab0cd85dea5 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.25.1 From nobody Tue Dec 16 22:28:15 2025 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2066.outbound.protection.outlook.com [40.107.100.66]) (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 454D822D7B1; Fri, 30 May 2025 13:35:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.100.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748612104; cv=fail; b=Yry1AfsnMSVu6Xa0+MDcKODXkKyyEKZBOjJCRdwA/r6uVCzFM0YOOHfke4aEWMM0aZkwC6T8kBhjaVmhaUrwgCB9mrlCLWiUh8OkD8K/pCQAvRLbIM0qAvp9CrxoUYD+37p9Hu/DzSmtAG2wzhTQH2SsZJEtFRAH3WG82YgUWKY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748612104; c=relaxed/simple; bh=+1ZonidiUtWFh7D9/IGvBvGve/I43h96tsujlq12ulQ=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=pcmRcxQ7TwtppfeeX3g1efYcEOQGi4dxiAE/PAiux7lAgRTr4bhNpdGI9Hn38nbyhaRTeCreX6SyMb05yOSvsq14cpZwqann59thaSFxcz0OYq5WSiP6uwA5LNDRW/B0Icv03TdAJK7zNpW1HAVUCUY7vi+jATLllPa7GIdPuX8= 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=SJY4ynV5; arc=fail smtp.client-ip=40.107.100.66 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="SJY4ynV5" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ct1zqNRDF7IBOexIAZyXdjIxL3VZvzRosjEaBEQHn61UXoQyXz1ofhA3apRI18ZHvOPhNXiI72SLzcvLQz/Nbh1YUwy6HssPCL150QKnD9VfAx3U6YxWoOiiuQc1X2OTVOZBNA/VEU49R+Z6sTPAibhSy3Dw5s0bHsqVt3iNEfu+EkhxyKzZuHiWE85ROE1/Rd2wrgd+d4OeJ2fZp3ybE2rws9OVK5wRK3gfdDxTHVRNyfcgxpt8JDiwm1lNnbbjixf6CHE2yiewR3MYUwgVIrYwIHsd+vYtt4Pyf/5KUqhTUxJPfQLpOImA7ntblXtfjZv7YhBzugqZLMTlbg2HUA== 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=YY+p9X/0Rb039oLPQ37fDmKssKoZLa4ATEbnOrXvzxQ=; b=ZUzKjrE94fhLseUaiP1qFFxSY/laIU9DcFj2zKOesMRsMFlZQv7wOejXj6JU8ERTAkfE/+BIpGr4U0UESaIP7aattTK8pK48vaUlQwXWY6pQap1dQSwBNHXEfl54lFYQafM4OSL+h2F5J6sxmWTFPP/akS+c2h7UBBe8pDftcFQOj16lWKiGIIvPERDGIzLadYRAcg73bpmssN41B6BdB+9q9T6b+hJBqdVsPnBf/w+9aFjcMjXUcJewBaX5J+F1owh4jss8jlOqC2CsCiz8ROvzNMx+SDdVd4JowiIyqA4MznkSvQGCiXTWezr4+Bf9SfiAp1SnPUyCjmZSPmH6SQ== 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=YY+p9X/0Rb039oLPQ37fDmKssKoZLa4ATEbnOrXvzxQ=; b=SJY4ynV52koz6AjmabjPKFizAiEwUINknbRbvZePj7sh941ovQwWa4ZIGyMFh3eklO78Ws134kp8JrGx1x9wjjiVewtYe1D7D2s3ihpk2N3i5zfvHYVJ8Xxs8XWU0lfEuT+uiyHt8oJA8p8ikaOBwINltZX/jJleOZgm203czqGqI/vYQo9iDlirYu0bRSiSrP/HvNiTFQfeI+aEZ8z3IDrbBqjUpwuoFwumQdZh04IhcWzWuBwborOUONOp/OPRAnFuYye+YBXrf1WgldR3xbG8OjWi86XBD2CHPFDLoxmd14uuGiXUOHtmOeoHfXqU30edqQhVziT9JQmyceCR2Q== Received: from DM6PR07CA0072.namprd07.prod.outlook.com (2603:10b6:5:74::49) by CH3PR12MB8510.namprd12.prod.outlook.com (2603:10b6:610:15b::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.32; Fri, 30 May 2025 13:34:58 +0000 Received: from DS1PEPF0001709D.namprd05.prod.outlook.com (2603:10b6:5:74:cafe::df) by DM6PR07CA0072.outlook.office365.com (2603:10b6:5:74::49) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8769.18 via Frontend Transport; Fri, 30 May 2025 13:34:58 +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 DS1PEPF0001709D.mail.protection.outlook.com (10.167.18.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.18 via Frontend Transport; Fri, 30 May 2025 13:34:58 +0000 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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; Fri, 30 May 2025 06:34:43 -0700 Received: from rnnvmail202.nvidia.com (10.129.68.7) 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; Fri, 30 May 2025 06:34:43 -0700 Received: from sumitg-l4t.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.7) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Fri, 30 May 2025 06:34:40 -0700 From: Sumit Gupta To: , , , , , , , CC: <--to=tbergstrom@nvidia.com>, , Subject: [Patch 6/8] dt-bindings: arm: tegra: Add NVIDIA Tegra264 CBB 2.0 binding Date: Fri, 30 May 2025 19:03:34 +0530 Message-ID: <20250530133336.1419971-7-sumitg@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250530133336.1419971-1-sumitg@nvidia.com> References: <20250530133336.1419971-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: DS1PEPF0001709D:EE_|CH3PR12MB8510:EE_ X-MS-Office365-Filtering-Correlation-Id: c0b07ab3-eec0-4640-02e5-08dd9f7ec58e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700013|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?JK0nq+132/RYOdUPgOKJoXnqVwKZ1w1Gr2iDwUto+jzvvaJ0eS3n4c5CQroV?= =?us-ascii?Q?AXCdPIEmZ1XKmMg5LyxKOeZ6FzQwWU+H7yprl8z6mEkhWDFzUBf88T2gLJqm?= =?us-ascii?Q?2GZdm6zayHUC3Xt7JYAkTKHsvpW7bRI8Oi7V+E54CAn/exijSqpe06YOWp6s?= =?us-ascii?Q?hoyKPCMOG7SbGQOR1mx/4TzXFjoaJzJb8Fa2JnfxdeYQ8kW8rR537e++T09t?= =?us-ascii?Q?uuGKSRS5nR9Wjs0Lgr4OQAT7iVqWOHMFCR7bIR0grlU1N/F59M0WBVJKlgnK?= =?us-ascii?Q?92lPRprrV6CHKjLW5rywv80qlLQjQ6NlYajhuL2EoG4CyXk9XnBmmrtlbqE1?= =?us-ascii?Q?wAJ6PAl0TTA5GLxfAzrdtWnsLLUfT5IZ2G64rkE8FNYc0pyQtePUL7/0WRNj?= =?us-ascii?Q?F/N4QkphieNE/aWJ+7Cfcj79Ay9YAG9INZNvZ3GalvJNg7nEBuKLS42fyEHW?= =?us-ascii?Q?piqHiOBz7bpuaLQRX+aGSyzvSN8OTaOGqUXObw+fhyHZYbLF41swNgDN18Zk?= =?us-ascii?Q?p4Q96bLLka/pMdAv5Gow9gyWXQgXR+vXW9du3602tXTCcKkec1i+LmfiQ1zv?= =?us-ascii?Q?KeGY6VxInQfkt/2g7MmWM1nnXRRjiWfsVC54ODFDhFn3q1wu9kSPrfixX3Yy?= =?us-ascii?Q?FeQrXV6wv0mjK0wYc/eIelxWB5aJQrPqK7DzNboX+HJWDMni1qzawhRJ8NQN?= =?us-ascii?Q?UVoD+RLpjZfbcG61NP4ZnalxH43R8p54HkCj51hL5fsEJUD/40zNITjmLd2u?= =?us-ascii?Q?zEjYZJMei8FprT4ee4UG9zTOi0HqWDvfBNiEI3CmWAHmzL0EMEM/0JqCADmB?= =?us-ascii?Q?jkKc2badhDnvF8/XEFjSroCVAiPjpmgUbwQv+KtWjZcrrhd7Tw6xUKEKjP2H?= =?us-ascii?Q?WRlj96YEbnQGIPA4twAD4XCPtVNkdTbYipP4XOb+Bwdw9XkwI8bNUD5kPDgp?= =?us-ascii?Q?4eUlKodDlmLFsZwu7voz5rMk6vd/D3un1723ZcS1DcpNs4WM9Sir1sH9j6Su?= =?us-ascii?Q?E6/BdAmJw037hNM+UYT1S5910vLY6glBcOg5fgAKiUuaDaHRPRrzdvkM5NTu?= =?us-ascii?Q?mZ2ROi1iey1KAd46xAJroafhIeeNlIGUeoCpGdhtFBWFzKMerRe+FboEWDEK?= =?us-ascii?Q?UBC1nUjMAGVbN8Pm4N7KY9giEdMql5158Db3W6WNRn4xxWN9hnjo3Ca6SgTZ?= =?us-ascii?Q?Xh84rAHn8ynMUtQ0fkC9anXrh0pNvPwN30omFlqWFZjhfXPFFdDhhPjjQN8r?= =?us-ascii?Q?DNq3RhUDsQVZ7/uPN66HHGCtCN/y33Mx5PXMO9QSZJJJTFilZg63/6m0+JLd?= =?us-ascii?Q?wvuA1k45wphajWKQ8BU/lajtQ+vBGTucOTz1/7yKkpyDoDTHpcpUVPAqprXX?= =?us-ascii?Q?6Hg9Vx3JOnlzfeTbmhcNLzqRhpW9A/M5t18f9RiwsP/b3pLzZy+15Sl9IIQg?= =?us-ascii?Q?gA9SdXRUD7AlRHy5Tf52ZpO4b4jbOiHWEboRGI0yhI4COgK0pkHaRuHDxzei?= =?us-ascii?Q?/FnhVUx9PU8L93jHU5a8FIf4DCPp3wg8+Phk?= 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)(36860700013)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2025 13:34:58.4213 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c0b07ab3-eec0-4640-02e5-08dd9f7ec58e 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: DS1PEPF0001709D.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8510 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 fcdf03131323..28227dfbb1c7 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.25.1 From nobody Tue Dec 16 22:28:15 2025 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2076.outbound.protection.outlook.com [40.107.223.76]) (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 85F952C18A; Fri, 30 May 2025 13:36:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.76 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748612181; cv=fail; b=rYMyqqQSFJdanAoTmd6ww7rOsmc5cIPSR1Ct+FH+F/ybBjI1NFCHjuXMnIeJkjBcvHay8bGa3oS76eeqyQ1m11WFdueER6TsqsDVY+4lBNk+P/WdAqf9+AFkAT3j6wfKnKeIJwlyWWvgI5q6L9Xlz5oNuVLlE2+r/zKtDMFfTgc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748612181; c=relaxed/simple; bh=Dz3n4RMvZlG6xYbjEN1asngI+EggurWSAePK1lv+YfI=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Ig6AL3DeDN8T7y1BhsWeqTowZzUNuzx1K9CjH1X0IeH8l+pGaeaSDnZ2TlSy1Tiwh66uTlUNAt6SYsGLCtK+jY7D9QWqe/Q+TGhvMB3QCH9r9NW1CZIkMLtj20F0WS147vN8yEkcDev1VwLjXLCcXA/Drl3xDKHij0S8j93LUmc= 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=MxWw162X; arc=fail smtp.client-ip=40.107.223.76 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="MxWw162X" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=O1cm1Eg5pdiz1qxvAP1CMooLLYd35J2Z0a2Zik+3/NIdrOSWAL7Sf9k1EGgcufE95h7nsEOwn3hZhF49fFOUtYGrP2uQYJExaxiZbgszsBpo9XGLY5OOmemxGDMxz5RrBKBoX+XYitShPuWdr/sQHlJl1LzZMclWHCGRBoge2HTXGgUIMBbV+TwhktqgD4N4SEz17tYwRaCSvpzHvBUNlDmL4z94FpuU5HLg4MNAfbq1DjD/RtgfQR2GbgjE4OG7KwCC+aI6w9UEl9XoDj4utE6UmTWrkY7tThVjEGhqhbwIInVS2qEZeRXDTWw6KjKKbGpIDxLGu9WnyFaTq/2vwg== 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=9PKR8VQVRqQTb/ef4q1d3GRonuEjXA7Mb8RgnwHCH7w=; b=j43DVjYJYrZy7tKqzGC0H0r8srHR4DmZUpbRP7yDjStjvMCnkjQ0ygr1kvMQTF+ke0pBGbX7zT1UjTAQXSx5+qTqnPIHmCncOs7Z0CJ99njLmkpl6nWyyP0tzBjL7SwrLEVZiJjvOOINEIgal+2TU/+CLbJmib4ki+MSQJuX2eAWZ1T6jJUKpSHr+JPIk8q/TgliM1hKb2+JMqYNICv+AUYtFo79x8SYtDkAxCOxw63GZ6FIyR9mVeUe5auZnXpAr7nxwYAmh6usJE0FNJJPEbhuMwd5O69iJxOa9NT6ma5w7ztaJ5pYO/YfSXf6WtE1Wg0oAmpqPOvzps7TauM0XQ== 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=9PKR8VQVRqQTb/ef4q1d3GRonuEjXA7Mb8RgnwHCH7w=; b=MxWw162XJaoTFYP4zzYYDU4OdgmX1S5MmsmlS0Ohm7eCm85A2Wq4J3ZGifQjs7luNDlcSHeypc8rJ0n8u8nbYOuw22bBkmNIDKeCbQOk0VmJulmlGNXFN7cP4yOClHWEIbSYTQNGMArjAQZdlIHxfNKdG92VqiRrCVP8YBPof/26wt9HLWSUVLRf3zOJlw91qtqW1X/5qBcbP7LHZNGJ3e55plCV4AZcnrJfgY/DqdK3NuUdNvmLmV3LaDc76ptiFeWuIBrjdmXa3wz/zXuPlCyVxbiyDSOfKMgN0VL9CUxoPXdYST5JJ7SammADHuqZVuxB0gHO+eV8+yml6sbOEA== Received: from MN2PR07CA0005.namprd07.prod.outlook.com (2603:10b6:208:1a0::15) by LV8PR12MB9335.namprd12.prod.outlook.com (2603:10b6:408:1fc::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.30; Fri, 30 May 2025 13:36:14 +0000 Received: from BL6PEPF0001AB78.namprd02.prod.outlook.com (2603:10b6:208:1a0:cafe::d1) by MN2PR07CA0005.outlook.office365.com (2603:10b6:208:1a0::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8769.19 via Frontend Transport; Fri, 30 May 2025 13:36:14 +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 BL6PEPF0001AB78.mail.protection.outlook.com (10.167.242.171) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.18 via Frontend Transport; Fri, 30 May 2025 13:36:14 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) 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; Fri, 30 May 2025 06:35:56 -0700 Received: from rnnvmail202.nvidia.com (10.129.68.7) by rnnvmail203.nvidia.com (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Fri, 30 May 2025 06:35:56 -0700 Received: from sumitg-l4t.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.7) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Fri, 30 May 2025 06:35:53 -0700 From: Sumit Gupta To: , , , , , , , CC: <--to=tbergstrom@nvidia.com>, , Subject: [Patch 7/8] soc: tegra: cbb: add support for cbb fabrics in Tegra264 Date: Fri, 30 May 2025 19:03:35 +0530 Message-ID: <20250530133336.1419971-8-sumitg@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250530133336.1419971-1-sumitg@nvidia.com> References: <20250530133336.1419971-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: BL6PEPF0001AB78:EE_|LV8PR12MB9335:EE_ X-MS-Office365-Filtering-Correlation-Id: 7fdc2c6d-1dc6-4c98-ee00-08dd9f7ef2d5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700013|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?GCcMZL1YLrzbSp3AkaFb0NeX/zIQpY5PF9MQYvlarx+v8+TgExaxbCEoyz9c?= =?us-ascii?Q?iOQQCnKZG4OjGjCvXy99k9zcFqp4y1AmV3Z3xkqQblmCL+S3PbIa3oXXpePG?= =?us-ascii?Q?YtRjMQv8vyqV4nl8ER00Gy8qbDAMSUE7R0YonmALK2/rDAKTDAgPRdgiPCLq?= =?us-ascii?Q?DMaf6M2Iic6+9XjiK8bSGt0TAD/pI3FtFTyjY+L0m/2fe1QV32FwmH/JgnOm?= =?us-ascii?Q?ivSlf1jnpj8ukhuZCysMso63vJI4w7Qk6L0QXe2G3XFfMq5M05PD2lT8kvqo?= =?us-ascii?Q?JZcgkfQwfzkKCTOA0gZxIA/3qar5MOTZwnHXRgzzN1Ff5+crbF4/6WPCbtz0?= =?us-ascii?Q?n/vKUWnTGvoRrt2gl0+Qmuu38Bcpr8sOnJHIk+iIC9ITyur9r7iRY2QvZB25?= =?us-ascii?Q?WsneI8TdFR5o8AjTOiY5x3NjUM3xZ53wke4BgL6m5jcAubVDArQngPulZ80u?= =?us-ascii?Q?PpGs5Zc1wgXIKrDQR/a6i2drDWmH4k5wGMD31YtoK3DcGjRe6dgrrREph8xU?= =?us-ascii?Q?k8ee56qASgKv9fIz/S6JDiREkbM/RXtDwd4tACiM06ijzMKxXjG3PAov6GN6?= =?us-ascii?Q?iIQtn5D+4t4HPCzSiHLfHToFyGA205cR5RGTMXRWHv6flZ706QFb6gWCEe/g?= =?us-ascii?Q?wpXa86ahkmidHlXdhL2sZU+8zDjnnTP3gdGomnFz6eV2KAFuonLckcNh6gc0?= =?us-ascii?Q?7EY4LlJ4Ck/h+/V8QGsKkd727Ja9a6BuwT+O3bMlZhwGwet2WuSywYR0cLTi?= =?us-ascii?Q?VFeylmldz2aqnRQHPNc/Yhv8Z2gD77+iC0yeihHg8tu5qj2t3lw8L3Pq1FHG?= =?us-ascii?Q?IHN6ufx96bTFzfz6Nda8GDxOM1nVLLu+VsC6NgTPKbl1I79BlddDy/YA4tdK?= =?us-ascii?Q?vNe48p8gfQstMYQSFP/nmITyHvQn5Sntse0dpZmdezUUoEliNtwky5YDobaa?= =?us-ascii?Q?KbyoP7v8XoJ5oE9O7PVnhCP0fnZNIU/1QDK3TxT0CRcyBpZ6IajFR9XCFWoW?= =?us-ascii?Q?Qus1584y8bWVx2N0foTF/jxLmXnExQTuL5zjcSdRWdaG9lxZX25j1o1roMpZ?= =?us-ascii?Q?cI1qKnhaBpISkGP6qoO2wgiZSicHa9mdvTU8Y7JB3Z32YZUGCnRyXgUVbEn4?= =?us-ascii?Q?DPjfLcBGXKm8A0DSxyP9OzpbTa6WqnbYngrhCTL1nCs0zKAPNEiFfbuC03DZ?= =?us-ascii?Q?hGoCp9Ug8qHTmBANC1KJBjxCLOVyf689xN9PniLuvGChUh+wGwNPuX3E2yVd?= =?us-ascii?Q?Wni0AZQ8xZw9fix8IN2Ww/QiCQRnSyL07e2E8IOGEmiZGyTR/z8oHBgdxPvc?= =?us-ascii?Q?CqoaF3ufDc6AyukGaHKekHTKToueXJ0OoyeHrms8BbuFnmtURL/ZxcvHFPIA?= =?us-ascii?Q?3vQPTPPLdEVUbUmwx9zimjeLju6Gkyfk0FDStuunB1j8N74g0Aq+1qaQOX4/?= =?us-ascii?Q?boU9fONOrQRoRzoJGErEC9duLEDzWnn2XJxn+gKdAkvh2vWiPKs6YI7ahYYW?= =?us-ascii?Q?eYfl1TkoG4sCG7lNSnWBnVXdKGGtc2ROjqgu?= 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)(36860700013)(1800799024)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2025 13:36:14.3765 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7fdc2c6d-1dc6-4c98-ee00-08dd9f7ef2d5 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: BL6PEPF0001AB78.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9335 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 aab0cd85dea5..69c704938679 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.25.1 From nobody Tue Dec 16 22:28:15 2025 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2059.outbound.protection.outlook.com [40.107.223.59]) (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 81D4618DB34; Fri, 30 May 2025 13:36:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.59 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748612183; cv=fail; b=slA3Ka1B5kNNb+/ugQ67kPeiNu3t2w4rdZzwHMeyxxtiIbJruLhoBO61Zz+4czgwvpBF6yLm+6oURF2iOH3J7zaTdaZ4RaWRjg8df7atzsrGdp7YkIp4UgvSNRnZ2ELB/BxMA2w/juTOyBPqhifpQXFlnsSTnpbQutGyFS5z7Iw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748612183; c=relaxed/simple; bh=hlOffJ8O9EsUjjp2yaTyvVKDK7N1kRzN985RtrEQGBs=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=PFt4CKxVIF8yfIia6mJ9pFH+5+vpjZ/MFvb8zr/OQgwU2e4Ax0+8O+FH8rltOq6V4UYfmWiKoMuJ+bKZqpEY09gwY8W+nOGwWVvGjBUiV1wVmngaV5EU5tZO+innTLlAgWNhVN1FKZTa1HmqoQY7SLK/DMoV88GXYffjT/ZhlBU= 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=cfk5vrZy; arc=fail smtp.client-ip=40.107.223.59 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="cfk5vrZy" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=I+lbllWRkyeE6WW4Gj+JC+7OA3zz5kB4GlPX6n8SpakJQFow5DIYN8TBV4N6lBOweEoW2aVLI9C6IamVgohxeWHblfLuA1VgzDXkjYWhxdeR2hbcwMFhziaVriOX2DdzyhsQYEbUmyv3YfqthHwhWviRUYw2KqPZaDCmIB57YKOeZikIKMDqN6sTK8bVThgWAoBdUv6etM6tSajFTCkus19JSGvQBkgTv9nQNT+xlRIblnsHZnvvOZQNya+X14qTHfATQppq5+hH9Qg2sFN8ucPqwPuhZaJCGieMJz9AlsDymmu8y4AO0C+yqy9+Q0lCLiwBPIdKzl4kt59lyg1MTA== 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=uZZcif8gFtyfz8IjxUPZVBSqXELmGVCu5UvJfn/Impw=; b=B+GmZtBvgWHH5Ogcppxudyd/fxziI4+qJINjLsiUBTRzRuTow+6qujddVene4D9BvMdCTKSc+/2ZHIbdvzdUvMKFNIr1M54jH3e78Dz0J9bNyQ/ZvHhBARpKvAbQ7zAaEgYIatNOld1NK54ZeUrx7cjj6uD4ITe2gC2slNsD1CcHTiRmJL3LnoLnUj/0U6R+tLEOBivnxzDNAEQpiRCzoTIXawHaySc0psZ5wyIF9jkGko35ME0oXuGnkAvG72EoN83X/gQnuwA6+zZIPDdnT64bbYJHaOCr7QTJZjSbdOz+2W7ptSZBuTtSuoCM5dkBig/e2I+o7MsnYqlrj8RnxA== 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=uZZcif8gFtyfz8IjxUPZVBSqXELmGVCu5UvJfn/Impw=; b=cfk5vrZy/t+t6blWHSEUnmqYLWlxAUg/Uo7Ih/ctDYXrCPx1LSouL+kJeZ64xmNSNyxalN4I7kM37mVkSerUDwznNbj2MIM8Z93NzhdVFR7CvlVjknaSBIxJCk8xvm78GtIG/Qn7kEkTTZr5Go1VS0j8d952mATbY3sV61LvjBFlanlg3x3YTyIHKmMM5WL8lISZhRKSAhrE+klHXLE7OkadEtqCK6jtL25NYL7D1ZjAU9D69AS/ywMK+c075aKpEF36DVMNLbpepkJ1Bd/40I5/hJLmPKcE3S62/Uev52C/WzNm/nUtTakQAhGcJ6wyX2xK8o0mCm9MkJBr5A0cJQ== Received: from BN9PR03CA0572.namprd03.prod.outlook.com (2603:10b6:408:10d::7) by SJ0PR12MB6782.namprd12.prod.outlook.com (2603:10b6:a03:44d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8722.33; Fri, 30 May 2025 13:36:13 +0000 Received: from DS1PEPF0001709B.namprd05.prod.outlook.com (2603:10b6:408:10d:cafe::a0) by BN9PR03CA0572.outlook.office365.com (2603:10b6:408:10d::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8769.18 via Frontend Transport; Fri, 30 May 2025 13:36:13 +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 DS1PEPF0001709B.mail.protection.outlook.com (10.167.18.105) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.18 via Frontend Transport; Fri, 30 May 2025 13:36:12 +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; Fri, 30 May 2025 06:36:02 -0700 Received: from rnnvmail202.nvidia.com (10.129.68.7) 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; Fri, 30 May 2025 06:36:01 -0700 Received: from sumitg-l4t.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.7) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Fri, 30 May 2025 06:35:58 -0700 From: Sumit Gupta To: , , , , , , , CC: <--to=tbergstrom@nvidia.com>, , Subject: [Patch 8/8] soc: tegra: cbb: add support for cbb fabrics in GB10 Date: Fri, 30 May 2025 19:03:36 +0530 Message-ID: <20250530133336.1419971-9-sumitg@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250530133336.1419971-1-sumitg@nvidia.com> References: <20250530133336.1419971-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: DS1PEPF0001709B:EE_|SJ0PR12MB6782:EE_ X-MS-Office365-Filtering-Correlation-Id: 35db59a4-6b7c-40a1-716f-08dd9f7ef1d5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700013|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?xwEmGb8EFGUd5H4L8wF7kZNhC8cIIWACm4jTdAZQCFzPvclW6x4PzOYVq1v1?= =?us-ascii?Q?oQmcEZYjyxdisCKUA4muEI0RWLKr7lDIYbWTUR7MQdKyHy1qcPJH1yELefAs?= =?us-ascii?Q?yRjKs4OvV65jR7OZVcWQeH9veGf+7FJkaJXY0K7EHQbLzFTlS9WzLJcSxs/H?= =?us-ascii?Q?O/jgLhHoGUPO6DeNhUEasynBZ3NvfD6eXlBokhRq5ov8auq3OhD/Qs7JttW5?= =?us-ascii?Q?XWiKuwd23I32PIHWswH2szJLROntPX6o7Wt70LiBJM6hq7Ia8uRgyy4jUKBk?= =?us-ascii?Q?eImHWtGysn5pCNpSkFx6J3l+CfSwxcToMN3Pr5RPOEFYeh8WLjcjEjtZxY6X?= =?us-ascii?Q?HY3o7YZuhZKvbzdAmoBZ4NvstANpky9rScBDSdYB2QCUa3x/3ZrhPThgIt2H?= =?us-ascii?Q?LT1oBoBhd/0ai8I56b3UVKf2kfA+9bPVIDY/1PAWhHVS6fvXCOzg6P0IVtlP?= =?us-ascii?Q?GHcOHnBvIQX7aYYttbcfqT0P81NLZoQdztPbLzqcrWGPZGBJXXElog6/Dmud?= =?us-ascii?Q?35h2DVb26e5mz14HwE+p58BRXehovDpIlyP//yx253IbqFgf9EmZYEvQ9zSC?= =?us-ascii?Q?iPSA7yucURRgqBWJgy2GVYhm8PmNdjEOXToTZsSIzrn8o3p8+HH37baQ15tL?= =?us-ascii?Q?1J1VFK7w58DggAc8U0npMFJXdNkML75kwE5MrJVykd3iREuUkPDnhzenSosY?= =?us-ascii?Q?KGttgyIYpHTcTw32DJ5i3uWZBRTtgLDOM/pK9hgrT0RUdUxy6QseEQbawe+R?= =?us-ascii?Q?EuG7+S/T5TiIt8Lcg+jEYs03+gxA0EupY6La9TEjLcWUozzUbVNRGZUClREM?= =?us-ascii?Q?30Jsal6c8wQcWW/4pwp4HFb1j2XBXOdndZK0LGWcNKu8FORPKqIP3+n0Ft51?= =?us-ascii?Q?0cWxsrqxxdnj/yzBGq2TOIIyQ5Joyq/52tXnK2WwcY1t9hoWZ9bK9nMgPVpv?= =?us-ascii?Q?2cxlF2hjyim7IWKIJiQZX1Nhj9KgabLuioVWZxBxnK8bTI4gYHSOcGkmitqp?= =?us-ascii?Q?+Yl4/X+cmkUn6PMiD7y7UoVVGMK+nvQ388gISI99QnepE/DLjgPv6BuvI6qH?= =?us-ascii?Q?5CyFRiowGgDJcDqFAC2o7hGqNpweSaWsXRjKqGW/wdH9BobhBik4FBVLzbHI?= =?us-ascii?Q?lZAq0wAQacMTx0missh/6mDCq+CClk/EtJnNs34YbWYo1qo4VZQIO7TtrTXe?= =?us-ascii?Q?HNuCBirkiBvU2PdnGYvRcpApvH0+oducuupRxotKDoM0XZC5OJjzTBNpjpBT?= =?us-ascii?Q?23VhpApAbpKYbUqlgdCJ+eyxZmvwAiKEWPpXBJCe7Ab7iOdLADMS0a304kh2?= =?us-ascii?Q?/GwGCNrM+qmRfbNQilIIKVJD3/8sBBjDciCx6kZ4GaU2Pcjnr/UD+Hj76qr/?= =?us-ascii?Q?zu3tywnMGYc8o6jOfrrO8gYNJYkBO8aSNx5fdWm+30JAldmxV985kdzR3loM?= =?us-ascii?Q?ygbzXZNI3sO6/Ff1Ms/+znW6pTTBlyHRhpKAF7HTGrAoJeZRvu5FdswfF80k?= =?us-ascii?Q?TPOw8oalKwX5oKv6H7ph+24F3gnDiWRzS8T+?= 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)(36860700013)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2025 13:36:12.7030 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 35db59a4-6b7c-40a1-716f-08dd9f7ef1d5 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: DS1PEPF0001709B.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6782 Content-Type: text/plain; charset="utf-8" Add support for CBB 2.0 based fabrics in GB10 SoC using ACPI. Fabrics reporting errors are: C2C, GPU, Display_Cluster. GB10 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 69c704938679..99a4a636a04c 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 gb10_cbb_fabric_ids { + GB10_DCE_FABRIC_ID =3D 19, + GB10_DISP_CLUSTER_FABRIC_ID =3D 25, + GB10_C2C_FABRIC_ID =3D 26, + GB10_GPU_FABRIC_ID =3D 27, + GB10_DISP_CLUSTER_1_FABRIC_ID =3D 28, + GB10_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 gb10_cbb_fab_list[] =3D { + [GB10_C2C_FABRIC_ID] =3D { "c2c-fabric", true }, + [GB10_DISP_CLUSTER_FABRIC_ID] =3D { "display-cluster-fabric", true }, + [GB10_GPU_FABRIC_ID] =3D { "gpu-fabric", true }, +}; + +static const struct tegra234_cbb_fabric gb10s_c2c_fabric =3D { + .fab_id =3D GB10_C2C_FABRIC_ID, + .fab_list =3D gb10_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 gb10s_disp_fabric =3D { + .fab_id =3D GB10_DISP_CLUSTER_FABRIC_ID, + .fab_list =3D gb10_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 gb10g_gpu_fabric =3D { + .fab_id =3D GB10_GPU_FABRIC_ID, + .fab_list =3D gb10_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", &gb10s_c2c_fabric }, + { "NVDA1070", "4", &gb10s_disp_fabric }, + { "NVDA1070", "5", &gb10g_gpu_fabric }, { }, }; =20 --=20 2.25.1