swiotlb: Expose swiotlb_nr_tlb function to modules
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thu, 11 Aug 2011 20:50:56 +0000 (16:50 -0400)
committerDave Airlie <airlied@redhat.com>
Tue, 6 Dec 2011 10:38:03 +0000 (10:38 +0000)
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>
drivers/xen/swiotlb-xen.c
include/linux/swiotlb.h
lib/swiotlb.c

index 8e964b91c447b117b7d4d17731201254a79365d5..4864e5d72e72c7ee7ca20992bfc6b7635b67536c 100644 (file)
@@ -153,7 +153,7 @@ void __init xen_swiotlb_init(int verbose)
        char *m = NULL;
        unsigned int repeat = 3;
 
-       nr_tbl = swioltb_nr_tbl();
+       nr_tbl = swiotlb_nr_tbl();
        if (nr_tbl)
                xen_io_tlb_nslabs = nr_tbl;
        else {
index 445702c60d0468c38a14aa0624e3bb1c1df29a5c..e872526fdc5fbb371ca0e420a961aec4738fdfa2 100644 (file)
@@ -24,7 +24,7 @@ extern int swiotlb_force;
 
 extern void swiotlb_init(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
index 99093b396145957d52b5e88a183ee1eb9cedeb60..058935ef39752e7f64e4a37baedba75fce76e4b8 100644 (file)
@@ -110,11 +110,11 @@ setup_io_tlb_npages(char *str)
 __setup("swiotlb=", setup_io_tlb_npages);
 /* make io_tlb_overflow tunable too? */
 
-unsigned long swioltb_nr_tbl(void)
+unsigned long swiotlb_nr_tbl(void)
 {
        return io_tlb_nslabs;
 }
-
+EXPORT_SYMBOL_GPL(swiotlb_nr_tbl);
 /* Note that this doesn't work with highmem page */
 static dma_addr_t swiotlb_virt_to_bus(struct device *hwdev,
                                      volatile void *address)
@@ -321,6 +321,7 @@ void __init swiotlb_free(void)
                free_bootmem_late(__pa(io_tlb_start),
                                  PAGE_ALIGN(io_tlb_nslabs << IO_TLB_SHIFT));
        }
+       io_tlb_nslabs = 0;
 }
 
 static int is_swiotlb_buffer(phys_addr_t paddr)