Re: [RFC PATCH v3 2/6] swiotlb: Add restricted DMA pool
From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2021-01-13 00:54:40
Also in:
linux-devicetree, linux-iommu, lkml, xen-devel
On 1/7/21 1:19 PM, Konrad Rzeszutek Wilk wrote:
On Thu, Jan 07, 2021 at 10:09:14AM -0800, Florian Fainelli wrote:quoted
On 1/7/21 9:57 AM, Konrad Rzeszutek Wilk wrote:quoted
On Fri, Jan 08, 2021 at 01:39:18AM +0800, Claire Chang wrote:quoted
Hi Greg and Konrad, This change is intended to be non-arch specific. Any arch that lacks DMA access control and has devices not behind an IOMMU can make use of it. Could you share why you think this should be arch specific?The idea behind non-arch specific code is it to be generic. The devicetree is specific to PowerPC, Sparc, and ARM, and not to x86 - hence it should be in arch specific code.In premise the same code could be used with an ACPI enabled system with an appropriate service to identify the restricted DMA regions and unlock them.Which this patchset is not.
ACPI is not included, but the comment about Device Tree being specific to PowerPC, SPARC and ARM is x86 is not quite correct. There is an architecture specific part to obtaining where the Device Tree lives in memory, but the implementation itself is architecture agnostic (with some early SPARC/OpenFirmware shenanigans), and x86 does, or rather did support Device Tree to a very small extent with the CE4100 platform. Would you prefer that an swiotlb_of.c file be created instead or something along those lines to better encapsulate where the OF specific code lives?
quoted
More than 1 architecture requiring this function (ARM and ARM64 are the two I can think of needing this immediately) sort of calls for making the code architecture agnostic since past 2, you need something that scales.I believe the use-case is for ARM64 at this moment.
For the platforms that Claire uses, certainly for the ones we use, ARM and ARM64 are in scope. -- Florian