From patchwork Wed May 8 05:56:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolin Chen X-Patchwork-Id: 13658090 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6F6D0C04FFE for ; Wed, 8 May 2024 05:57:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=a5gq+eRFp/jKg8bylFeJgh5GmpR4ANKDhKn1kB0mk44=; b=kZJ6T3lSWKsV+7 0+5VqCODEF/VNWLBSFhPGNKvhl9cJiTLNIQfSR+yi6egv0q2P1iHW9O5BF1361xO5htTYmx76MCe1 41ENEmp67pLR/nFRe+QjXgIMAgSLK3B552xdAyVN/0ZYFIbTXdKVm/KFF2zc/luFkgzfwN7UjXIGu hOQ8NiHg2Q5WBSgRMvVP60ZvJVziS9galbjDvz3jVXE1X46q3ewGho8gAEQX4tfQcTUuJcd/6hhMq hLiVWENZWzbcJlVJLatHGUP0oPD8bM/xANcKemzd2tijhNNPZPuka1Dg503EUbhJCAgFb2/g2loA8 7Syb5ok2pL42z1TKIC8Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s4aIz-0000000EAMm-1Fp3; Wed, 08 May 2024 05:57:29 +0000 Received: from mail-bn8nam11on20601.outbound.protection.outlook.com ([2a01:111:f403:2414::601] helo=NAM11-BN8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s4aIp-0000000EAHJ-1C0d for linux-arm-kernel@lists.infradead.org; Wed, 08 May 2024 05:57:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JPgAIwv7z7ENyxZS4aKZ+5ZKCMfJjD/ZsAPw3CIc2wxxiKUky0pjpp7ViuhPFAeHCohkrKStJcI3ojtYfl9Gs4lGcUXn1TYct3vXUMPmJaoHTVqVnMnkWUuitsZjZUueRbxZj1AIQBvlPqFwf5e76lDiOJ3Lo7XZ3uj01e4aB/DOZvlcRW8GDdySoigfuSflolSCiW2ZEuQoleoVrm1keSSvFao3ftM3wEw9dT0F0MAeDNvkSmXkBmBNQe9TKaEz+AtiuKXgBbIVuHdMfiDStONd/iXE2Tv5a3A+vfG5oTjO+UtJ65ilhnWH6RrL+SRN7BbsrvL77WpEfJfCVwmUoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=3PxSlnQtktBnue3hbfE+wSjtV932LD0f12fXmCQnt5k=; b=PuSF4xqXWRSHjeo4MoJcwTOsv41djXR4KU/e+vSD9YAmd/JSYNPCXE3dAWbIRUY7gnUF5zfXKqczBI9RN5hs0kRjdgjkTQkB7aEdt0fkWlwxekRT/hyqcbkV9AxVxpKR227BnHZYx2DBlXqmf8CPVqGwIqn3fgxA9Beaf9TtkJTHa93S8VQri1VDxpzm2XGtiG+WGmIlOk/dYUHHJjUmUBBNYZfjxEAF4uPUBhY5ec31wgDYPCyEA16IeFljkWSAFlq/PCTcTSNuRxL8S/a+c99GU33zTw/9OndfQamGsR5HuZAfYxjgZx/Mg/lwm7s8CYzTuCgT76u+5rXRWlLHNQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.232) 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=3PxSlnQtktBnue3hbfE+wSjtV932LD0f12fXmCQnt5k=; b=ljyPSlOtku+7QbKcxzHM0mpRP0m63AAjA/gfGHzrITFSW/sxNdZzIPEIFpt/r8xs545qLty6Gik4arJZh9dLDwnUrWWs3zSDZlYFcuCus+iIUPPQug+Adhbf/Jq/jufyRTuvP1XPRSdw5u5uoMJWDVkbdLbx9MDv42MEywOHpDWV2O2Ytx6rShVaqJ4iDxJEo+KXWL6DaBVZAA0RsIL1viPqMt51CzKGwBU4awTou2+CYIZHwF6XEWfMbV5gFQ6a9mQl0z6KdSjnj4t3iGOOnObFIBYBzlaVcaZo1Es1/peGai3zir0ZobnZAdRHnC1nmSDc3UDgnW/DHG+xkyvFNw== Received: from BY5PR13CA0027.namprd13.prod.outlook.com (2603:10b6:a03:180::40) by PH7PR12MB7377.namprd12.prod.outlook.com (2603:10b6:510:20c::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.41; Wed, 8 May 2024 05:57:08 +0000 Received: from SJ5PEPF000001CA.namprd05.prod.outlook.com (2603:10b6:a03:180:cafe::dd) by BY5PR13CA0027.outlook.office365.com (2603:10b6:a03:180::40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.43 via Frontend Transport; Wed, 8 May 2024 05:57:08 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) 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.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by SJ5PEPF000001CA.mail.protection.outlook.com (10.167.242.39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.18 via Frontend Transport; Wed, 8 May 2024 05:57:08 +0000 Received: from drhqmail202.nvidia.com (10.126.190.181) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Tue, 7 May 2024 22:57:01 -0700 Received: from drhqmail203.nvidia.com (10.126.190.182) by drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Tue, 7 May 2024 22:57:00 -0700 Received: from Asurada-Nvidia.nvidia.com (10.127.8.9) by mail.nvidia.com (10.126.190.182) with Microsoft SMTP Server id 15.2.1544.4 via Frontend Transport; Tue, 7 May 2024 22:57:00 -0700 From: Nicolin Chen To: , , CC: , , , , , , , Subject: [PATCH v7 1/6] iommu/arm-smmu-v3: Make symbols public for CONFIG_TEGRA241_CMDQV Date: Tue, 7 May 2024 22:56:49 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001CA:EE_|PH7PR12MB7377:EE_ X-MS-Office365-Filtering-Correlation-Id: 7002d28b-03dd-4feb-fab6-08dc6f23b249 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|82310400017|36860700004|1800799015|376005; X-Microsoft-Antispam-Message-Info: NZOussHJeH0Cv7XDgdPFiFw7yO8K+JfjEbI/KBKI6BVuqnyArHDipWzaJdBhtPv+ITMiQwaOFycqmG2jVUy/lyt2eU0HZGqMvgUoWFytnw6ki95uuxKz+1l8vv5gStwSn4ZIqL3GovW1m5D38h393XWqw23YcG5BEvS8sJtFOUzD5Ku6i0pKmoX+FcKyPJmMR/kxVoTN3tVtLDCnodVKQIHbJ9tV7zfPrI7Jx/Gk3CofmCv1mzfJYr4dSIU2KOtrT+kFWFhti1m5Ww8o071jNY7CiMhOhCGZHjYhoQVT4v3/ICiZKkAFacGYeP7lEkQVDymkxZjzSG/0iEP95Wjc9aQt7bBrbxAbsdz3wek416/NwTHwwqx9VLYZug8mGyz1PvzpRH67sHgqxFHKlRD+fDt8Foa/0SU1USLCYmQ7kGFsNQBaroks9erGu3YTzUeCtAG5RefFPgA0lgGVXWbPv6OORg7aKBrtu2aL9QG/kdALWrtHTo9Sy7+2k97H9eaHXGU4y3xulTBZFjfFpY3HMMe/2jpaxma2SLzS+U1cJIqFfcOH8nAZ/b1qXrI0wU0Yg5d0OY8Rht1qdw31AtEFN5H3wSn7bfexEj4Y5sIFZc6EYn2WHoxL7HwD6BwSHdIkJW+wrIWoP/9arOr7IXHEBcfj1MnkTqrmoAs2QdAUJkbHDPMz166Qbp/OVfAzQm/lS+narfRgIl/3UBDPIuH31Jc/k/4i8+73H74c5cCAVtY76KlXgMUHVjtqjToX8u/tTAMe44IzhQQI82gPY7KLJkz+QuMaXb4Rm6WyImGA5yztJMfyOJ+sw69GfEFljAb+gvX6LIVkZWWWsHTz2/lz9/OHSi9H2Cd/ZM+sGvUFDNFGuTYjtxuXcO+8tpZBxHEX/StXy7W7GU5i0k1R5TI3KCvyLrVuEVWbSqvjJXNweK5Gx4JzgrEn+4XpdVgubRQLmpuHduJzKamlnNMQDtzJT68UeNTA4XgPuJzBB55l+G3sM5+A5zhj5bYaFj01Ci/QjSjtaoAzHL1jPfHIlRE4s/ImphqdT/Gyg66jPAl1bCsgJTjP/NF2vFyPm616NgPNwSrbHJtFpte5/fdfsgz1DlrgJ4ZcolWrkhfrul9nxV3QRipgwDOy8hBnoAyssapIuUXuugvPQS0qNuj2kIw1vgWVd1oI+9Ww0++Mh5rfnCermYcrmzzHD5zzOeme53ZSstDvWoJ73LaF/NLcFUXWbOHnd1gBzdWTeHW6eKFgQxWVKKMX9hNxZEWvTuwacrdmDWEQQFDEudh2xdMWT10a2bKlutZmSDZR6FewfaGQ2o+WScGWUggl3lquPpBJhr70uol8WbX3pZp0Pg6Ma9KOWoKDIwXTxAczeAWyKk467M2Av/W5Lm9JANe6wcta22ml X-Forefront-Antispam-Report: CIP:216.228.118.232;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge1.nvidia.com;CAT:NONE;SFS:(13230031)(82310400017)(36860700004)(1800799015)(376005);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 May 2024 05:57:08.5342 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7002d28b-03dd-4feb-fab6-08dc6f23b249 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.232];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001CA.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7377 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240507_225719_357534_579DD2A0 X-CRM114-Status: GOOD ( 13.54 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The symbols __arm_smmu_cmdq_skip_err(), arm_smmu_init_one_queue(), and arm_smmu_cmdq_init() need to be used by the tegra241-cmdqv compilation unit in a following patch. Remove the static and put prototypes in the header. Reviewed-by: Jason Gunthorpe Signed-off-by: Nicolin Chen --- drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 20 +++++++++----------- drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 9 +++++++++ 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c index 1ad0937760c6..31ada4c7b87d 100644 --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c @@ -366,8 +366,8 @@ static void arm_smmu_cmdq_build_sync_cmd(u64 *cmd, struct arm_smmu_device *smmu, arm_smmu_cmdq_build_cmd(cmd, &ent); } -static void __arm_smmu_cmdq_skip_err(struct arm_smmu_device *smmu, - struct arm_smmu_queue *q) +void __arm_smmu_cmdq_skip_err(struct arm_smmu_device *smmu, + struct arm_smmu_queue *q) { static const char * const cerror_str[] = { [CMDQ_ERR_CERROR_NONE_IDX] = "No error", @@ -3121,12 +3121,10 @@ static struct iommu_ops arm_smmu_ops = { }; /* Probing and initialisation functions */ -static int arm_smmu_init_one_queue(struct arm_smmu_device *smmu, - struct arm_smmu_queue *q, - void __iomem *page, - unsigned long prod_off, - unsigned long cons_off, - size_t dwords, const char *name) +int arm_smmu_init_one_queue(struct arm_smmu_device *smmu, + struct arm_smmu_queue *q, void __iomem *page, + unsigned long prod_off, unsigned long cons_off, + size_t dwords, const char *name) { size_t qsz; @@ -3164,9 +3162,9 @@ static int arm_smmu_init_one_queue(struct arm_smmu_device *smmu, return 0; } -static int arm_smmu_cmdq_init(struct arm_smmu_device *smmu) +int arm_smmu_cmdq_init(struct arm_smmu_device *smmu, + struct arm_smmu_cmdq *cmdq) { - struct arm_smmu_cmdq *cmdq = &smmu->cmdq; unsigned int nents = 1 << cmdq->q.llq.max_n_shift; atomic_set(&cmdq->owner_prod, 0); @@ -3191,7 +3189,7 @@ static int arm_smmu_init_queues(struct arm_smmu_device *smmu) if (ret) return ret; - ret = arm_smmu_cmdq_init(smmu); + ret = arm_smmu_cmdq_init(smmu, &smmu->cmdq); if (ret) return ret; diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h index 1242a086c9f9..67b0ca0b1b79 100644 --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h @@ -794,6 +794,15 @@ bool arm_smmu_free_asid(struct arm_smmu_ctx_desc *cd); int arm_smmu_atc_inv_domain(struct arm_smmu_domain *smmu_domain, int ssid, unsigned long iova, size_t size); +void __arm_smmu_cmdq_skip_err(struct arm_smmu_device *smmu, + struct arm_smmu_queue *q); +int arm_smmu_init_one_queue(struct arm_smmu_device *smmu, + struct arm_smmu_queue *q, void __iomem *page, + unsigned long prod_off, unsigned long cons_off, + size_t dwords, const char *name); +int arm_smmu_cmdq_init(struct arm_smmu_device *smmu, + struct arm_smmu_cmdq *cmdq); + #ifdef CONFIG_ARM_SMMU_V3_SVA bool arm_smmu_sva_supported(struct arm_smmu_device *smmu); bool arm_smmu_master_sva_supported(struct arm_smmu_master *master);