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 168FFC77B7C for ; Tue, 24 Jun 2025 13:39:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C9D2D8D000D; Tue, 24 Jun 2025 09:39:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C4E4D8D0001; Tue, 24 Jun 2025 09:39:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AC7738D000D; Tue, 24 Jun 2025 09:39:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 90EA68D0001 for ; Tue, 24 Jun 2025 09:39:41 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 4E685160883 for ; Tue, 24 Jun 2025 13:39:41 +0000 (UTC) X-FDA: 83590401762.05.C3D47CF Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) by imf04.hostedemail.com (Postfix) with ESMTP id 48B0640011 for ; Tue, 24 Jun 2025 13:39:39 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=Y0Midkny; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf04.hostedemail.com: domain of ptesarik@suse.com designates 209.85.221.54 as permitted sender) smtp.mailfrom=ptesarik@suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750772379; a=rsa-sha256; cv=none; b=aJ9JoUDNC5/ZCkHF333BFEnZCj6gqJeFAkKNteCox2AUbpQF5fZ2EFM4pfeTuVLSrXC6vE jWZSG5+AFyCW3onSW/hpLFEkEvG9TzlAVKo/zIdGdZsr6wkaEF+9XbK4iivkKFFzbgloiC QaGj1DRL5AJ1L3366qvpfu52DM7HwzQ= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=Y0Midkny; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf04.hostedemail.com: domain of ptesarik@suse.com designates 209.85.221.54 as permitted sender) smtp.mailfrom=ptesarik@suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750772379; 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:in-reply-to:references:references:dkim-signature; bh=MIxqpUsJs9BGJgIKtRsM8twkmF7DXFUM7UQBjMXgiB8=; b=gKp9G2msKKG61V/6P7nkR7rr2OCS3Ranl80qIN4in4HfCDRk3JdY1lQINfDfOe3UcmVtm3 mw0ITwwZrrWwgoBG7waH8BTugkCxHg4GWqXshKXZsnm6bVvvKYgManQtXApRqdEoMGbfES WI8wIoG565gv0i6tr9RGpc05VNmt+Jc= Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-3a528e301b0so283422f8f.1 for ; Tue, 24 Jun 2025 06:39:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1750772378; x=1751377178; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MIxqpUsJs9BGJgIKtRsM8twkmF7DXFUM7UQBjMXgiB8=; b=Y0MidknypZRMECsfi3itVV1um4c7ouend3X6pXJykLToGQSEJrwsrw9pkzPk0BYh0k dkZnSyEUw1joPFQ5ymv5tUMuQamvl7i4MgJqNpl7Zc1shJFa7V/gGJhgGcd7hT2EfsMy ZPJrae738YTMoQtiUoJ14++l66iTRYpkR0wolBCrMvb4nZDI6IDdfppwwosmOsxuAx2b 2uTYteX0ap9xSAnfNsNF7Ol/RnkiYHFfdXiaYXSvM5ljKwAL2v2/i32W6mb1Jik2DEp8 LL28T4Kmsog32gc6FvgY4UL3eVJBJL4/TYgHi/r6xHvFIXi6UBcn7gjH9VWJHc8dCPZR 8Gww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750772378; x=1751377178; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MIxqpUsJs9BGJgIKtRsM8twkmF7DXFUM7UQBjMXgiB8=; b=owrZw6cGILkMj7vVQWHNP0G36iEsxikOZmp7SR0vjvRNAHLoSkHAEcJZfiR8Rc8HXa 1AzI4K/bh5BxmtjnG0XthuCqpLbzCgbF0qUBLJybeox5pEUpK49xwMJOidT51L4zrltG Ak5qgNQdmOB+EWaTlwhTd8qPv9sNmRHo3rPwxwUESJLq7zPUCbGl//cpBkp40fT5PIvz nghh2Wyvdj9Z1JmeeBISU3t+8eRnDo8B7M2wb8PemLIWy6PDSs2FfnnZvVMTOUKfUUpF PWOsqLbKbMMju3Yb0DMbsNLnsTyedXJrbs+PRyFMXzUVwDhVovX/vpNfFjS38T3k97AT +hOw== X-Forwarded-Encrypted: i=1; AJvYcCUwKdrDNv6csIj9tjUwb9wn/OMIex+1H5pqtyzkp8jMg/tSeZA8OiaEE7dmAxIoZT3ZQnm3UN8iWw==@kvack.org X-Gm-Message-State: AOJu0YyqhevWtX8HWaVjVtrcnN5s+qGnZGZMDsxJnsiQuPQAcfp/mOff jd0zcei7zUl4eegGXyRBgT/ZsU0kK3uXZmcqXyoZwrKeUPe51dw4ru01uiz/WoHDRaU= X-Gm-Gg: ASbGncvy/Ut8pm2i1le8iMDUZYHXWeDVZbzs7IDGT6GTGajYlC0jO7Jn8q8BuMFdLVV yt/cTv/1JHqWqWX0REM5GApTvLWRMa9NEj4re7vpkEt8GQxewXO2vtMKFRGj+gaBijuleh9zKaq kBs1SeeeKW6LjPsMRoTMl3wCHSXJYc36xKUEem7p4T0pWV+aSFldG4tf2zH9tRJRkO6r9Qvs2wX 4lA7t9q2ysNiCQydEwzKL71u1kp0HowEXx0JnENCZmogX4H4W7Djf740oXtBngT+WBtrmHonR7p s5Yk0zWX6T26rjEBLMR7a92nPYdSldDl3Dlj2k8js1kE9q9glY9FHY6em/0Xwu6Okzu6MMMIh92 HvmvkbO4u+8mv43kSdCqHKBx2P+mT6S4FZ79lMTjv5ycPfoJf5ADE X-Google-Smtp-Source: AGHT+IEjaxkBLFq2C7HKp7UXXzPUtMdjdq0jQWl+WGokmC3baJpMc/moJUhdPmwtbE7N5mn13G5tFA== X-Received: by 2002:a05:6000:2013:b0:3a3:6a3f:bc61 with SMTP id ffacd0b85a97d-3a6d12f9a28mr5299380f8f.7.1750772377699; Tue, 24 Jun 2025 06:39:37 -0700 (PDT) Received: from localhost (dynamic-2a00-1028-83b8-1e7a-3010-3bd6-8521-caf1.ipv6.o2.cz. [2a00:1028:83b8:1e7a:3010:3bd6:8521:caf1]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-4535eac8e19sm175942315e9.21.2025.06.24.06.39.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Jun 2025 06:39:37 -0700 (PDT) From: Petr Tesarik To: Jonathan Corbet , Morton Cc: Marek Szyprowski , Leon Romanovsky , Keith Busch , Caleb Sander Mateos , Sagi Grimberg , Jens Axboe , John Garry , linux-doc@vger.kernel.org (open list:DOCUMENTATION), linux-kernel@vger.kernel.org (open list), linux-mm@kvack.org (open list:MEMORY MANAGEMENT), Petr Tesarik Subject: [PATCH 7/8] docs: dma-api: update streaming DMA API physical address constraints Date: Tue, 24 Jun 2025 15:39:22 +0200 Message-ID: <20250624133923.1140421-8-ptesarik@suse.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250624133923.1140421-1-ptesarik@suse.com> References: <20250624133923.1140421-1-ptesarik@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 48B0640011 X-Stat-Signature: ckymmby5quwytp963zgtib1xkdoy76n9 X-Rspam-User: X-HE-Tag: 1750772379-888254 X-HE-Meta: U2FsdGVkX19rQLQqop4nAusOROROGtc3Tv7tZopc0ar2zwSqpOkA1u46XCID47Qj2Omy0g4mkA8P1hWnsZLCgNYnSaNrQrfu0w9NPxtPFE1dSMPBkV6UhJU2Pxqmez8l70tqpKexmdhB40ghFlV4JcGUTB6gjBs9tiPsk/WLiXJXA0YNtEk79wmrUhwjdGAhGXR9mkqaF/VlhKjpkc+VV4B7cIWKkNiT9o2kPKZcx7Uqx65MwjB8i0WAh6gfeGAitKEEudXzXPNi3VFjnEUTFQKV/cm+6qbRbAJAAzY/fBz0B5tE3bcwM8BoI6OWjASwyI7kToCgCs9+QrW59RyvAjNcHnOOhMn7NS4lLHmZEZBA1NC0pvhTfoklEUUZJoqfFM1Nx3pnd6dsmjfvoW854KRn2ddzg3oBBhj+iqRbFZq/SQlRz1hU3IQUpMfgJNvdm1aVKW+m8Q/mYv8WfGTweLRm4sb7Lgj86O33bD/LXuBU/su0j9cY2DhAaPi78DbT6Ozd9AiyHEfUXdUyzanOiMFpkuhxhRWrP5n9NUKW7jr9VqMKsnBolGtwmASvzPMwXWanVDTZSrEYuGARwSysTxIuJSX+3lsqdWP1a6F7+F16aqTBUTxlzg3wjSinbwB6zQyOXSg9t48b/Jay5Nr17QsIgO/IaQRE3MxQpUZDi49YQ9k6vinhyKQDG5ghFF3g+OX4lISsY+x0Iv4ftkFNvpI8dPC/t93ngGo+oP4D6JMf4OCIV5GvKLF2aoXfhWWhlFVOIHyEglP2hshME9QgoRJUiMCV9wXiRNAT0uXBS4UZMLNLTcE0PbEjQsRPxbkL0xJT3OP9l3vjlTSB8vG+mI2GSyp10kzVuTq7HnwV/2zA2IYWC6afITuBO6qKcOnSGGzYTmepP0UfFHYxJDBvKzWFHMCGk/LdD15xBNBOGv48Skexqlg5BpF68B6EGS0RFlXJ9oBHJzl4jWj8Uxk rblIl8wt Fd3sFFzJUG6YsvepArzz0THUlkmzIvZrN07En2w3WtgsPuCrSZFxghluYIhri3G0Gb7Dv8INL4EPFEW6/YwO9y7peiGs2Zy+dL5VbKHA3aKT4c1y61sfuxILyLk6THbflMPnmBSJzCANxc2GkiPrcBzcIAc3GySmg6CztXeYPsz1Az/uw1bD1uxaKUo3rlrZeIxaJpLVXRdl4K9C47VPugfSbHhpeg2yLAb9uhJYPzhXSLUz9kaHpbw18bn0gpoeWR89gV09sNcpmMtkg6C8YnhGmlmEc3eDST/SiafrvIr0j098obXeg/kd9XXLRRgNVbhHW 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: Clarify that SWIOTLB also allows to use any physical address with the streaming DMA API. Remove the requirement to use platform-dependent flags to allocate buffers for dma_map_single(). Do not claim that platforms with an IOMMU may not require physically contiguous buffers. Although the claim is generally correct, it is misleading, because the current implementation of the streaming DMA API explicitly rejects vmalloc addresses, no matter if an IOMMU is present or not. Signed-off-by: Petr Tesarik --- Documentation/core-api/dma-api.rst | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/Documentation/core-api/dma-api.rst b/Documentation/core-api/dma-api.rst index cd432996949c..65132ec88104 100644 --- a/Documentation/core-api/dma-api.rst +++ b/Documentation/core-api/dma-api.rst @@ -210,18 +210,12 @@ DMA_BIDIRECTIONAL direction isn't known this API should be obtained from sources which guarantee it to be physically contiguous (like kmalloc). - Further, the DMA address of the memory must be within the dma_mask of - the device. To ensure that the memory allocated by kmalloc is within - the dma_mask, the driver may specify various platform-dependent flags - to restrict the DMA address range of the allocation (e.g., on x86, - GFP_DMA guarantees to be within the first 16MB of available DMA - addresses, as required by ISA devices). - - Note also that the above constraints on physical contiguity and - dma_mask may not apply if the platform has an IOMMU (a device which - maps an I/O DMA address to a physical memory address). However, to be - portable, device driver writers may *not* assume that such an IOMMU - exists. + Mapping may also fail if the memory is not within the DMA mask of the + device. However, this constraint does not apply if the platform has + an IOMMU (a device which maps an I/O DMA address to a physical memory + address), or the kernel is configured with SWIOTLB (bounce buffers). + It is reasonable to assume that at least one of these mechanisms + allows streaming DMA to any physical address. .. warning:: -- 2.49.0