]> git.baikalelectronics.ru Git - kernel.git/commit
ACPI/IORT: Do not blindly trust DMA masks from firmware
authorMoritz Fischer <mdf@kernel.org>
Fri, 22 Jan 2021 01:24:19 +0000 (17:24 -0800)
committerCatalin Marinas <catalin.marinas@arm.com>
Wed, 27 Jan 2021 12:26:24 +0000 (12:26 +0000)
commit676ab4fc36e7df5afae645524019d66d293eaf9f
tree5044438119319b2a8377305b2799269fdcc80af0
parent1a43d5bc6efcac9d7e4f8c12064316475838463e
ACPI/IORT: Do not blindly trust DMA masks from firmware

Address issue observed on real world system with suboptimal IORT table
where DMA masks of PCI devices would get set to 0 as result.

iort_dma_setup() would query the root complex'/named component IORT
entry for a DMA mask, and use that over the one the device has been
configured with earlier.

Ideally we want to use the minimum mask of what the IORT contains for
the root complex and what the device was configured with.

Fixes: 1841e971ed83 ("ACPI/IORT: Support address size limit for root complexes")
Signed-off-by: Moritz Fischer <mdf@kernel.org>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Link: https://lore.kernel.org/r/20210122012419.95010-1-mdf@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
drivers/acpi/arm64/iort.c