From patchwork Mon Nov 4 17:41:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Gunthorpe X-Patchwork-Id: 13861746 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 04CAAD1BDD3 for ; Mon, 4 Nov 2024 17:43:06 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 745A310E4A8; Mon, 4 Nov 2024 17:43:05 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.b="kSlXz3CB"; dkim-atps=neutral Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2063.outbound.protection.outlook.com [40.107.223.63]) by gabe.freedesktop.org (Postfix) with ESMTPS id A164F10E4A1 for ; Mon, 4 Nov 2024 17:43:04 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AIzEIylxcHRps6/EZCt4Sqm39kGABWndptlmWE4dYq8At/jyRE5xG33dgbuWJpdC+eIfhmgK/QJkBNrwQwDUxN+35mLk79LH4LVN3a74/lRNOOzXa0tQVrF6JsPVG8fNktYP80mFL9KTfUEIyXq8G3uyJ+GbO39ck6OpRwsuiM18TC/EzWkhANMqCsPdz7GKmKLCqvu8CsJs6pIIXK57f/ni3t7MQi0uv4Fr4UVqcMvNUYOdAT+PlP8Ytx1rX2r4DwStwQwQ6ZgIBHnzqFTOqtZ6+sp+wBI3dd8M3suL6zdGtAi46wFxJP8E9Y+y4g4J6fOVsZvz6o0YvXpbh94/7w== 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=3FmUti5hyPngciJaVxe7xicKq4d8a253X8yWeIASYzw=; b=HyC5W6Oa+VbH3BhUvBG9+bY/xhkUVfBJRE6KZk4j32g5WG9H/LfcptKCTgRqQKxyIP6ky+fmGjfqwSOMlJufuLDj/onLgy2ojX8wa3JPX3ySq4IzoyEtbI7gngaSEwonmvmSlBE6/KG10xP/sY5vey3zlmM9mNys8cK0FjuuXMHyWVgdZ7g/wNYe4y6n7hw4St+pXsA4KvxNnVCcwUxJixRvr/adqjpPuDBXaNeDrIMvoxpmcz947HpV6kpNcwfqHKzzGqeHbXVu+kCPnCYg+x/5fSu6szu0zoEW7uc0ltkGTsmaTx0Zpma7jcuTLpcXis00a4uyrqF9Du31CRIXMw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none 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=3FmUti5hyPngciJaVxe7xicKq4d8a253X8yWeIASYzw=; b=kSlXz3CBHdilCkShRtJU60f2d6VT2+q0XGV0wivq6MPRJ9JZGI5qMOvxjpdFsBUuyYOFUTFDX37kuWCucZawydQ39JzT+vBBLYyYrFdj73TId+iyKZ1Pr33gche9ZKxE310PwKcmZA9+ZPFLKrkCEm60O5KlXZCrJ9KHAzmQDDJ+72wuOw0NyEtVjODYn9txvLC+brOwhWrCMz4qeUvpdIE6YEIUlwp5h3SewXqUcpvOXbMOVj0mUPOYgNEMaezJD+H9B9fAQ9IOqtI+DoaSfqzaOXlC3gYN2ajdMQcz3PQhgPm76Mchn6YR7KghxToRdcQT/W7Q09D3RCwYTObYVQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) by IA1PR12MB6578.namprd12.prod.outlook.com (2603:10b6:208:3a2::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8114.30; Mon, 4 Nov 2024 17:41:33 +0000 Received: from CH3PR12MB8659.namprd12.prod.outlook.com ([fe80::6eb6:7d37:7b4b:1732]) by CH3PR12MB8659.namprd12.prod.outlook.com ([fe80::6eb6:7d37:7b4b:1732%4]) with mapi id 15.20.8114.015; Mon, 4 Nov 2024 17:41:33 +0000 From: Jason Gunthorpe To: iommu@lists.linux.dev, Joerg Roedel , linux-arm-kernel@lists.infradead.org, Robin Murphy , Will Deacon Cc: Boris Brezillon , dri-devel@lists.freedesktop.org, Liviu Dudau , patches@lists.linux.dev, Steven Price Subject: [PATCH v2 3/3] iommu: Add a kdoc to iommu_unmap() Date: Mon, 4 Nov 2024 13:41:31 -0400 Message-ID: <3-v2-fd55d00a60b2+c69-arm_no_split_jgg@nvidia.com> In-Reply-To: <0-v2-fd55d00a60b2+c69-arm_no_split_jgg@nvidia.com> References: X-ClientProxiedBy: BL1PR13CA0433.namprd13.prod.outlook.com (2603:10b6:208:2c3::18) To CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR12MB8659:EE_|IA1PR12MB6578:EE_ X-MS-Office365-Filtering-Correlation-Id: 0ac6cfea-f5fc-4adc-6a5a-08dcfcf7ebd9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: sZYyiaHSjmF9C2eyWM+0gsK/CmYCoTcHAHF6ct4e/8G6l5rrWlrwo02mPJO0kI0e/sn1QwwQIfFQ3iKwsO1J5fHa/SaMlXI/HXCqyWBdyh9ReXM1D9Ozg3bnWOBTa/A4PbpKyriOmBBaYZ1oqVVS/GRG4fVivxH1aC4jVAgpBCKOxeCqGK81m37Ab63ve3XZxpVsSzLCLISqk489Ap3cHRjxfAbM7SDImlgWNCt6q3Lwegzw+nChE2EF6j1sUhF7K3j511I04mvH9diE7g4cIMP5O2kZznkJz1bEb6Qon9kyBEOOdA9sbnjdnt/qUhNug4PLKnW5evaZxKmErMsFcFjvNLTX9QSgbrvHA/kNJbuP2bU4GfifJv6v35JwWMiZq/i9JP5akGJRktijo/SG3/NykNb0/cf/9bOgri2pNBw+txrWFo4pKYCb7V0BHvo3Nb+5YgS0erBQzDTKi92fPXV/4cCV8ksjxMsZGPnw4U29pBz/suUNR07a1KWxRQYOwV71zr2Ef+uXwfAn9d8Yad3sP+BUUkjd7rxkMlP1g66HWws/v93PxGRiYg/xI9fR2UObpgJNfxc1QR8g4yokFxiGAAgjyqKPsc1b0okHHMO/0Ko1H0Z2zAn4igH23cysgQG0ypL/tEByJZir3zUMPWk73xY1wc3qnCgi7H4Rmz3DEbshoPfTvbWO6TB9DvU7AwtgGO/pm0RyVT3JXSsyo5Gu1zJHye1c86usqjmvJtVs34bzYxeYGHncl8XgkvnwE24hCB0Q9R7mco5veuDv3EBo4tNJzl4Ceaq45lomALR5wHqCDpRPe5ywkzmmkpVS8gxS8DWKy23KndTaeeqpdhi7PPKYEaeHIfhT9nHEj6Wip+7AXAD6ZWR1yltVuV1o+fc47iu19vsYySRBmQXpmzZuSBGVkWL6Ow6febnnCCzX3IMO6sIAUywY1sLYkcy6OzQIMHMK2YIbFciQx6Yvanc/W7SX+fnBqk+AbFTeKvjy4bg0Eq37QdGYRejsNCZe+RjXlnE1z2qbrm87B7JCp7/PHzIL1+io+BrQY5kDoWD6f7g19fewxqu8Q5L7kNFDWcJr4fjT9tZvpWiWLHEsrKlQMg0YqdFUFnSiH4+YBrDFv1BARuSknWBkJJ71vXEZcUhhmvn1eqcaFU8eZaDZmbt6wlghHbjJHVYnhHOmHDPhO8BF2Y1WaUkFsPMkxEg0V1tqFhJ3P2gK+/PXi7AfKYKgPzMmnVxm5vK5WoQ/XOJbIp5iYZSzd7+Q5jqcT+HdkL6QgrbzWjraxpndDg9zUPg01Yb7Eu7sC3CeJUBMxxGZHkNcJ5grFVvAJq+XWUJt X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH3PR12MB8659.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(7416014)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: R4DDVGzffy2OyPaaZrV8XRW2/W5tMUwbqeH8yrIoUu4U8i3b6ABAgV5774a6suB+vl8nQWiV/j0+eQnsUwM2yyQF8Z79qhIz4QAGPs+72erC3dzK5Ucs8FZcs2sZ20PVBnr2wT+7LA4BMhtTGgOAVLq1lZTU3Co6Krc4NGR2+9oxn2EDCF9ipyqwjeYMcvMtpT8Nm2IBAM6refmwajtC3wvghoaSNwIYeQGaeKixthOXjHSo13YboJNXYCw8pYdDvYLpRYxZ2zkkIQDS3J1sl7iQ7kpVf8AWYdYqyyXrju9vc9prMPOG5rhIqHSuzAAb+6OPuQ/L5r6XPfigPhjbAoss2dxCpVAHFKDn5nftWxD4R1aVP5kdpUtL4CSSFyQLRzt1Ku8ZDZss2SxPPx9uPT8x0WwitJYEoAvTYqfib41bR4QDXqmG+QoSeS6YRejXPvxfKNNghyFsMMK2q+zbslZgwrNggUDxa1yxza23hvxcoL6oIdq316HKlreWY2peTOengBgkTNxJ+NCIoOwWgOO3o8QVR9x22ZnGmIeJjQcJYWxRlLtKlcbK3Xxg03UHCT8qMG/kp9ubLaztTTC5ClZO0MVxZCBlwYleUo41tmMJtZPTg7zX9rd6qF62z5HlteH+6FC/N7IC2EBcUeDkj0AK5HXPUr4MH/UutJoQBg+knRdjH0JrGdHj8LEWz6RykuX/0BPbGM63LnuBRcYLPD5SIC5P2PAZzCcHb9cWDKVo7F5sURWlXBZUFJs9QqF0Qx7Fd/AzGcS3vaibdlBN9+UbzXQaZznrypb9X9E2n/M1PaXNEeW1oYZd0WFTfciVfLZFcI1xu1ox6VLDNLUNFEPlfKl9AiFVflj2qhJDatlsWff5pdqyo1NnyT4lnEILpbQklc9VlZ6AVwIOg5BUB9CkxMQj0XbTBcBqn7frGEYl6lRxvWYm7RtJhRwvf07VGI0xQTBbHLk/R0WABDXNtOA5p+iF+nRsbzBndSc1tymGVgR3dOIbc8/xQclxlz7kEltvQdkqhhJT+/cOIaq5ycURd+t9L44Z99VUW/ENouB8+ZsaEwvNreN5IvVhA1Hu8oV5PMFxwTeZqQYRfZvpjanPPT921E6PfJo976QDyiL1kxlQwiCtuKpumZEsTC8zJcfoArnSC3D5pgbtnnlLC1qcW+9ztyH/jAkV6gaI7Lv77AiJUGMcgm0qIX04jkh9QnwbAuhCC9oXuODMVhgRhC5AwnYmJCkTQ75Vg9lTJMPJKaGxj1HsLaifVB5P9bh5zZvbY67JCdUK4yHAN4MXQFFivqMLfW8jlNnHcA6oK9+LEp6e+buBszXGiFvL0cLlVS54lP8gsZmkvZ0S/h8X/FGpUMo9ue4qgulH9WQBuvQY7HEmo+Cg8X1YOIKutDThg5tSAysjqTmM+RZMawYcgwvIH7Wedm9Lv8soq88PvNkardt0HWEVfVcyz3mrpMv35sSfPn/YkQmF5Iw+dMMM1yjfhbTEEU813rh3gktPSPOzdU7/RENjFv99OiOt25f3uUGLjPmnHDhyQiOdbQfkN1pYtQ2d7n5bLiW0eBnzMpbTm2bPN9ktgjBOLh69nBrE X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0ac6cfea-f5fc-4adc-6a5a-08dcfcf7ebd9 X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB8659.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2024 17:41:32.6334 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: VffEiAghkG2nFxqpAdL4DKhEJioefqDnLF77zGzItlqhvtM6awX4tDVwSdm08nuC X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6578 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Describe the most conservative version of the driver implementations. All drivers should support this. Many drivers support extending the range if a large page is hit, but let's not make that officially approved API. The main point is to document explicitly that split is not supported. Signed-off-by: Jason Gunthorpe Reviewed-by: Liviu Dudau --- drivers/iommu/iommu.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c index 83c8e617a2c588..d3cf7cc69c797c 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -2586,6 +2586,20 @@ static size_t __iommu_unmap(struct iommu_domain *domain, return unmapped; } +/** + * iommu_unmap() - Remove mappings from a range of IOVA + * @domain: Domain to manipulate + * @iova: IO virtual address to start + * @len: Length of the range starting from @iova + * + * iommu_unmap() will remove a translation created by iommu_map(). It cannot + * subdivide a mapping created by iommu_map(), so it should be called with IOVA + * ranges that match what was passed to iommu_map(). The range can aggregate + * contiguous iommu_map() calls so long as no individual range is split. + * + * Returns: Number of bytes of IOVA unmapped. iova + res will be the point + * unmapping stopped. + */ size_t iommu_unmap(struct iommu_domain *domain, unsigned long iova, size_t size) {