]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
lib/scatterlist: add flag for indicating P2PDMA segments in an SGL
authorLogan Gunthorpe <logang@deltatee.com>
Fri, 8 Jul 2022 16:50:52 +0000 (10:50 -0600)
committerChristoph Hellwig <hch@lst.de>
Tue, 26 Jul 2022 11:27:47 +0000 (07:27 -0400)
commit42399301203e3cddef36cde457228f9247618313
tree9399ebc6645f744b5ea652d953049640b2bd04af
parent72311809031217714e635b24f8478e6ecb0d93d9
lib/scatterlist: add flag for indicating P2PDMA segments in an SGL

Introduce a dma_flags field in struct scatterlist. These flags will be
used by dma_[un]map_sg_p2pdma() to determine when a given SGL segments
dma_address points to a PCI bus address. dma_unmap_sg_p2pdma() will need
to perform different cleanup when a segment is marked as a bus address.

The dma_flags field will fit in the existing padding on 64BIT systems
(assuming CONFIG_NEED_SG_DMA_LENGTH is also set).

The new bit will only be used when CONFIG_PCI_P2PDMA is set; this means
PCI P2PDMA will require CONFIG_64BIT. This should be acceptable as the
majority of P2PDMA use cases are restricted to newer root complexes and
roughly require the extra address space for memory BARs used in the
transactions.

Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/pci/Kconfig
include/linux/scatterlist.h