Message ID | 20200420092753.9819-1-ardb@kernel.org (mailing list archive) |
---|---|
State | Mainlined |
Commit | 7fb89e1d44cb6aec342e5cca6ed6371d818a428c |
Headers | show |
Series | [v2] ACPI/IORT: take _DMA methods into account for named components | expand |
On Mon, 20 Apr 2020 11:27:53 +0200, Ard Biesheuvel wrote: > Where IORT nodes for named components can describe simple DMA limits > expressed as the number of address bits a device can drive, _DMA methods > in AML can express more complex topologies, involving DMA translation in > particular. > > Currently, we only take this _DMA method into account if it appears on a > ACPI device node describing a PCIe root complex, but it is perfectly > acceptable to use them for named components as well, so let's ensure > we take them into account in those cases too. > > [...] Applied to arm64 (for-next/acpi), thanks! [1/1] ACPI/IORT: take _DMA methods into account for named components https://git.kernel.org/arm64/c/7fb89e1d44cb Cheers,
diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c index ed3d2d1a7ae9..07eb78baf198 100644 --- a/drivers/acpi/arm64/iort.c +++ b/drivers/acpi/arm64/iort.c @@ -1146,13 +1146,10 @@ void iort_dma_setup(struct device *dev, u64 *dma_addr, u64 *dma_size) else size = 1ULL << 32; - if (dev_is_pci(dev)) { - ret = acpi_dma_get_range(dev, &dmaaddr, &offset, &size); - if (ret == -ENODEV) - ret = rc_dma_get_range(dev, &size); - } else { - ret = nc_dma_get_range(dev, &size); - } + ret = acpi_dma_get_range(dev, &dmaaddr, &offset, &size); + if (ret == -ENODEV) + ret = dev_is_pci(dev) ? rc_dma_get_range(dev, &size) + : nc_dma_get_range(dev, &size); if (!ret) { /*