]> git.baikalelectronics.ru Git - kernel.git/commit
x86/PCI: sta2x11: use default DMA address translation
authorNicolas Saenz Julienne <nsaenzjulienne@suse.de>
Thu, 7 Nov 2019 15:06:45 +0000 (16:06 +0100)
committerChristoph Hellwig <hch@lst.de>
Mon, 11 Nov 2019 09:52:19 +0000 (10:52 +0100)
commit427a719aa6b4804f5b79d249155bd350176c0abf
tree03b188c0d608d1c8c78cd7f0a4d867351f9f8cb0
parentd4c5b2c397b2dc48045813723fb92b266af9d5d3
x86/PCI: sta2x11: use default DMA address translation

The devices found behind this PCIe chip have unusual DMA mapping
constraints as there is an AMBA interconnect placed in between them and
the different PCI endpoints. The offset between physical memory
addresses and AMBA's view is provided by reading a PCI config register,
which is saved and used whenever DMA mapping is needed.

It turns out that this DMA setup can be represented by properly setting
'dma_pfn_offset', 'dma_bus_mask' and 'dma_mask' during the PCI device
enable fixup. And ultimately allows us to get rid of this device's
custom DMA functions.

Aside from the code deletion and DMA setup, sta2x11_pdev_to_mapping() is
moved to avoid warnings whenever CONFIG_PM is not enabled.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
arch/x86/Kconfig
arch/x86/include/asm/device.h
arch/x86/include/asm/dma-direct.h [deleted file]
arch/x86/pci/sta2x11-fixup.c