]> 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)
commit4ddb592341950222a96c88704f0e7a1b3c520027
tree5044438119319b2a8377305b2799269fdcc80af0
parente4c0db1cc92043a1c376be25bf66564052377f2b
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: d7f4c3423dc7 ("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