mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-02-03 17:44:54 +00:00
swiotlb: Introduce swiotlb_max_mapping_size()
The function returns the maximum size that can be remapped by the SWIOTLB implementation. This function will be later exposed to users through the DMA-API. Cc: stable@vger.kernel.org Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Joerg Roedel <jroedel@suse.de> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
1c163f4c7b
commit
abe420bfae
@ -76,6 +76,7 @@ bool swiotlb_map(struct device *dev, phys_addr_t *phys, dma_addr_t *dma_addr,
|
||||
size_t size, enum dma_data_direction dir, unsigned long attrs);
|
||||
void __init swiotlb_exit(void);
|
||||
unsigned int swiotlb_max_segment(void);
|
||||
size_t swiotlb_max_mapping_size(struct device *dev);
|
||||
#else
|
||||
#define swiotlb_force SWIOTLB_NO_FORCE
|
||||
static inline bool is_swiotlb_buffer(phys_addr_t paddr)
|
||||
@ -95,6 +96,10 @@ static inline unsigned int swiotlb_max_segment(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
static inline size_t swiotlb_max_mapping_size(struct device *dev)
|
||||
{
|
||||
return SIZE_MAX;
|
||||
}
|
||||
#endif /* CONFIG_SWIOTLB */
|
||||
|
||||
extern void swiotlb_print_info(void);
|
||||
|
@ -662,3 +662,8 @@ swiotlb_dma_supported(struct device *hwdev, u64 mask)
|
||||
{
|
||||
return __phys_to_dma(hwdev, io_tlb_end - 1) <= mask;
|
||||
}
|
||||
|
||||
size_t swiotlb_max_mapping_size(struct device *dev)
|
||||
{
|
||||
return ((size_t)1 << IO_TLB_SHIFT) * IO_TLB_SEGSIZE;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user