diff options
| author | Frederic Weisbecker <fweisbec@gmail.com> | 2013-05-02 17:37:49 +0200 | 
|---|---|---|
| committer | Frederic Weisbecker <fweisbec@gmail.com> | 2013-05-02 17:54:19 +0200 | 
| commit | c032862fba51a3ca504752d3a25186b324c5ce83 (patch) | |
| tree | 955dc2ba4ab3df76ecc2bb780ee84aca04967e8d /lib/swiotlb.c | |
| parent | fda76e074c7737fc57855dd17c762e50ed526052 (diff) | |
| parent | 8700c95adb033843fc163d112b9d21d4fda78018 (diff) | |
| download | olio-linux-3.10-c032862fba51a3ca504752d3a25186b324c5ce83.tar.xz olio-linux-3.10-c032862fba51a3ca504752d3a25186b324c5ce83.zip  | |
Merge commit '8700c95adb03' into timers/nohz
The full dynticks tree needs the latest RCU and sched
upstream updates in order to fix some dependencies.
Merge a common upstream merge point that has these
updates.
Conflicts:
	include/linux/perf_event.h
	kernel/rcutree.h
	kernel/rcutree_plugin.h
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Diffstat (limited to 'lib/swiotlb.c')
| -rw-r--r-- | lib/swiotlb.c | 19 | 
1 files changed, 15 insertions, 4 deletions
diff --git a/lib/swiotlb.c b/lib/swiotlb.c index bfe02b8fc55..d23762e6652 100644 --- a/lib/swiotlb.c +++ b/lib/swiotlb.c @@ -105,9 +105,9 @@ setup_io_tlb_npages(char *str)  	if (!strcmp(str, "force"))  		swiotlb_force = 1; -	return 1; +	return 0;  } -__setup("swiotlb=", setup_io_tlb_npages); +early_param("swiotlb", setup_io_tlb_npages);  /* make io_tlb_overflow tunable too? */  unsigned long swiotlb_nr_tbl(void) @@ -115,6 +115,18 @@ unsigned long swiotlb_nr_tbl(void)  	return io_tlb_nslabs;  }  EXPORT_SYMBOL_GPL(swiotlb_nr_tbl); + +/* default to 64MB */ +#define IO_TLB_DEFAULT_SIZE (64UL<<20) +unsigned long swiotlb_size_or_default(void) +{ +	unsigned long size; + +	size = io_tlb_nslabs << IO_TLB_SHIFT; + +	return size ? size : (IO_TLB_DEFAULT_SIZE); +} +  /* Note that this doesn't work with highmem page */  static dma_addr_t swiotlb_virt_to_bus(struct device *hwdev,  				      volatile void *address) @@ -188,8 +200,7 @@ int __init swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose)  void  __init  swiotlb_init(int verbose)  { -	/* default to 64MB */ -	size_t default_size = 64UL<<20; +	size_t default_size = IO_TLB_DEFAULT_SIZE;  	unsigned char *vstart;  	unsigned long bytes;  |