swiotlb: Expose swiotlb_nr_tlb function to modules
As a mechanism to detect whether SWIOTLB is enabled or not. We also fix the spelling - it was swioltb instead of swiotlb. CC: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> [v1: Ripped out swiotlb_enabled] Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
committed by
Dave Airlie
parent
bcdd6b2fd6
commit
f21ffe9f6d
@@ -153,7 +153,7 @@ void __init xen_swiotlb_init(int verbose)
|
|||||||
char *m = NULL;
|
char *m = NULL;
|
||||||
unsigned int repeat = 3;
|
unsigned int repeat = 3;
|
||||||
|
|
||||||
nr_tbl = swioltb_nr_tbl();
|
nr_tbl = swiotlb_nr_tbl();
|
||||||
if (nr_tbl)
|
if (nr_tbl)
|
||||||
xen_io_tlb_nslabs = nr_tbl;
|
xen_io_tlb_nslabs = nr_tbl;
|
||||||
else {
|
else {
|
||||||
|
@@ -24,7 +24,7 @@ extern int swiotlb_force;
|
|||||||
|
|
||||||
extern void swiotlb_init(int verbose);
|
extern void swiotlb_init(int verbose);
|
||||||
extern void swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose);
|
extern void swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose);
|
||||||
extern unsigned long swioltb_nr_tbl(void);
|
extern unsigned long swiotlb_nr_tbl(void);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Enumeration for sync targets
|
* Enumeration for sync targets
|
||||||
|
@@ -110,11 +110,11 @@ setup_io_tlb_npages(char *str)
|
|||||||
__setup("swiotlb=", setup_io_tlb_npages);
|
__setup("swiotlb=", setup_io_tlb_npages);
|
||||||
/* make io_tlb_overflow tunable too? */
|
/* make io_tlb_overflow tunable too? */
|
||||||
|
|
||||||
unsigned long swioltb_nr_tbl(void)
|
unsigned long swiotlb_nr_tbl(void)
|
||||||
{
|
{
|
||||||
return io_tlb_nslabs;
|
return io_tlb_nslabs;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(swiotlb_nr_tbl);
|
||||||
/* Note that this doesn't work with highmem page */
|
/* Note that this doesn't work with highmem page */
|
||||||
static dma_addr_t swiotlb_virt_to_bus(struct device *hwdev,
|
static dma_addr_t swiotlb_virt_to_bus(struct device *hwdev,
|
||||||
volatile void *address)
|
volatile void *address)
|
||||||
@@ -321,6 +321,7 @@ void __init swiotlb_free(void)
|
|||||||
free_bootmem_late(__pa(io_tlb_start),
|
free_bootmem_late(__pa(io_tlb_start),
|
||||||
PAGE_ALIGN(io_tlb_nslabs << IO_TLB_SHIFT));
|
PAGE_ALIGN(io_tlb_nslabs << IO_TLB_SHIFT));
|
||||||
}
|
}
|
||||||
|
io_tlb_nslabs = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int is_swiotlb_buffer(phys_addr_t paddr)
|
static int is_swiotlb_buffer(phys_addr_t paddr)
|
||||||
|
Reference in New Issue
Block a user