From mboxrd@z Thu Jan 1 00:00:00 1970 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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 45EC3C7EE2A for ; Wed, 25 Jun 2025 13:19:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B6BAD8D0008; Wed, 25 Jun 2025 09:19:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B439A8D0001; Wed, 25 Jun 2025 09:19:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A80C78D0008; Wed, 25 Jun 2025 09:19:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 94E508D0001 for ; Wed, 25 Jun 2025 09:19:18 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 34E2F160386 for ; Wed, 25 Jun 2025 13:19:18 +0000 (UTC) X-FDA: 83593979196.10.41B0969 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf24.hostedemail.com (Postfix) with ESMTP id 978F1180012 for ; Wed, 25 Jun 2025 13:19:16 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=l10zw3Wd; spf=pass (imf24.hostedemail.com: domain of leon@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=leon@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750857556; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=CP2stCY7T0xSEqK1gjrxM6I4ViVfNBXb5kLK+aDHiy4=; b=OSGyE9xBzMcY2zSB+GBd/KUvVgci2Si6yG21wUwid+Ymf6ni3vOqQRgzwQV0umTKFHblKm wunstTT8pbkkqlle1J6B8qZv6lU0ujP02FpUwIfVbO1yqlVuTS68Vzj5GQIUpLUL4QarRE 9jVm1zo6YbFemUC0KzmjoZLGNXAnHMY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750857556; a=rsa-sha256; cv=none; b=l2ufmZX79QJR8Bn5PctxOLjBv4BGUCplwbqqoMrrnHxngPHfUa43ijpzzeA+0oOmW80lRk rPlP/WdUZgXe+MCKSieM4LVxBTAqY+qL948Linjvva9fTSdbO+3tpJOLS96TgFhBJTei71 gqK68cBkiarn4uR47FvW1TMcZv/E9UQ= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=l10zw3Wd; spf=pass (imf24.hostedemail.com: domain of leon@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=leon@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id A1C12A5260A; Wed, 25 Jun 2025 13:19:15 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 82CB0C4CEEF; Wed, 25 Jun 2025 13:19:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1750857554; bh=x2+9WyiMKk51YbdrrEHH1emdFd89rPiPsvikAZYGQgc=; h=From:To:Cc:Subject:Date:From; b=l10zw3WdyXEdS9RctXGPVEXxHMOvYtV9GQIdtQEmyQsrO4jkjVzkws3Uvq5/54YKC BWk+L1U7dSr6RPgo1R4HkxtMaD51XQsZVWhcz3kfQaIPgtBG+dHPqgSCNm460cQH3m 2hGxhgaSoUU5/cunK9skYGzD0OOpw8n+4wvZBCbCPoNtqZknn8v0E+BKl0w+MyvZYa XMNB3afOwqLGCPStz6Wmqck3EA/fUOYHSMz7BKlUnJa//u0/py1Po/qzjyplclhZcq ZrSyz77b7diqxCv/D8r8QvFup7HF/YiJcjJW6vAfghZqn5Tq1J4odLTaEzz4PJKE6n pcKtlnV78DPoA== From: Leon Romanovsky To: Marek Szyprowski Cc: Christoph Hellwig , Jonathan Corbet , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Robin Murphy , Joerg Roedel , Will Deacon , "Michael S. Tsirkin" , Jason Wang , Xuan Zhuo , =?UTF-8?q?Eugenio=20P=C3=A9rez?= , Alexander Potapenko , Marco Elver , Dmitry Vyukov , Masami Hiramatsu , Mathieu Desnoyers , =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= , Andrew Morton , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, iommu@lists.linux.dev, virtualization@lists.linux.dev, kasan-dev@googlegroups.com, linux-trace-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 0/8] dma-mapping: migrate to physical address-based API Date: Wed, 25 Jun 2025 16:18:57 +0300 Message-ID: X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Stat-Signature: wp4x4nahoe643spsuhhuh9657t4ma1n6 X-Rspamd-Queue-Id: 978F1180012 X-Rspamd-Server: rspam08 X-HE-Tag: 1750857556-570228 X-HE-Meta: U2FsdGVkX1+kBhurAMxI7nqpgCryQdG+msgoh9G3oRJRd0iso1agNBZYhqu+NepDDQ8wOd/tP5KfMo4l2R5THYmliy4tU+XvMeVv/2mOTJsyPM5ZzshGFNUn7Y1bGTzml8rOp77Mn1cbFJLIEk83upC1P0KHpS0f8zEkvUbp98H33S1wnSka7SrWJdBz2GbhvSsc8mSAleNlF5HoizpgTjNKYISWYVhUdlKhsun61GlfK8JeZE0xEaP7XFC+XaH/JbEQH/5BVyqX2tbBgzQC+J++oMMqvQ6Hwc5UItQyqZ9/oU1um5CZoLfml4YjPD/kJ6D+OSJORyu/YxfspWypmzGcKseok+8Uui6YAiF0K/38HyZOhSHgpysL7+CJU5+/MTZGluBJmzAXen/VcJY9UVobGoC01+8FOuUh7cseBPAGPSom90ZiGvuqWkvcvCMbeNRiwJ7RyTR4ZZKn87WiK+ytQY3hdD/ZlqTabSDxDMtgHl7A6m4eFoqhr+etSPGqA7GHVEB6+kYKw+UJ1gr4sqmc5a+TnUuhjGYD3OANELL5Edzppu+KD7R6CCGV3Z9nb0SiymoS9MWLgAibj0f+D/+fpBeuU5ouWwvTr5GTNlpHyP/i9h4B3gG9xGLeczAafhUep3txDlDUh51I88QZ7hH73VLLsS3M4v+xFkXnz22ImWVerP4vz/3jEMHOHo7HnY161KwHD3h1REST8fQezv0rumAfI1mFhcLuMeRjXjWuspdVfvWoBEacyChOvUY0LoeAbH4UzIDKr5QvSTQ50InlZrfmUlyb8Q5biaRbwvHUGUo2OVljYXIZmi7i2dJih1n4J/Ux3rrfQhgwLXDxtTtQkXiVhMliNpvv1NDXD7y02sl+w171kb8xs1vsVvBQFRFJbHVoaG9fN9nKwNj8XGEFl1/ZEI0YsIVg8GEm6k+4a9auiDvEYtB8ZUi15QD+HvMi3oe/X31CAOwVJQw wzDe5/De wbga6feQ8Qfti0wmig30joCuDYmwkFyKemQBlZl3WrD3NcBPY5VWOaFKyJVAcemUV6Mb4VqwS4Rs3XxadSj342YhxYoGtYuxgVClZQthpHcvAP8PqQ5KwCQ8GlfrPSPBDL6UDScpPy17DtRGnZTJT+/6nrC9MqHSW1ZH7lReGWFiXYoWStLmkK3VQ0mcW+SaOMpnoZhveetfqAX84kvLtgN1GMqugmMf3C2u7MyhARgNrqhd38hQVhNwrkg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: This series refactors the DMA mapping to use physical addresses as the primary interface instead of page+offset parameters. This change aligns the DMA API with the underlying hardware reality where DMA operations work with physical addresses, not page structures. The series consists of 8 patches that progressively convert the DMA mapping infrastructure from page-based to physical address-based APIs: The series maintains backward compatibility by keeping the old page-based API as wrapper functions around the new physical address-based implementations. Thanks Leon Romanovsky (8): dma-debug: refactor to use physical addresses for page mapping dma-mapping: rename trace_dma_*map_page to trace_dma_*map_phys iommu/dma: rename iommu_dma_*map_page to iommu_dma_*map_phys dma-mapping: convert dma_direct_*map_page to be phys_addr_t based kmsan: convert kmsan_handle_dma to use physical addresses dma-mapping: fail early if physical address is mapped through platform callback dma-mapping: export new dma_*map_phys() interface mm/hmm: migrate to physical address-based DMA mapping API Documentation/core-api/dma-api.rst | 4 +- arch/powerpc/kernel/dma-iommu.c | 4 +- drivers/iommu/dma-iommu.c | 14 +++---- drivers/virtio/virtio_ring.c | 4 +- include/linux/dma-map-ops.h | 8 ++-- include/linux/dma-mapping.h | 13 ++++++ include/linux/iommu-dma.h | 7 ++-- include/linux/kmsan.h | 12 +++--- include/trace/events/dma.h | 4 +- kernel/dma/debug.c | 28 ++++++++----- kernel/dma/debug.h | 16 ++++--- kernel/dma/direct.c | 6 +-- kernel/dma/direct.h | 13 +++--- kernel/dma/mapping.c | 67 +++++++++++++++++++++--------- kernel/dma/ops_helpers.c | 6 +-- mm/hmm.c | 8 ++-- mm/kmsan/hooks.c | 36 ++++++++++++---- tools/virtio/linux/kmsan.h | 2 +- 18 files changed, 159 insertions(+), 93 deletions(-) -- 2.49.0