mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +00:00 
			
		
		
		
	MIPS/octeon: use swiotlb_init instead of open coding it
Use the generic swiotlb initialization helper instead of open coding it. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Tested-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
This commit is contained in:
		
							parent
							
								
									9bbe7a7fc1
								
							
						
					
					
						commit
						f39f8d0eb0
					
				
					 2 changed files with 3 additions and 14 deletions
				
			
		|  | @ -186,15 +186,12 @@ phys_addr_t dma_to_phys(struct device *dev, dma_addr_t daddr) | |||
| 	return daddr; | ||||
| } | ||||
| 
 | ||||
| char *octeon_swiotlb; | ||||
| 
 | ||||
| void __init plat_swiotlb_setup(void) | ||||
| { | ||||
| 	phys_addr_t start, end; | ||||
| 	phys_addr_t max_addr; | ||||
| 	phys_addr_t addr_size; | ||||
| 	size_t swiotlbsize; | ||||
| 	unsigned long swiotlb_nslabs; | ||||
| 	u64 i; | ||||
| 
 | ||||
| 	max_addr = 0; | ||||
|  | @ -236,15 +233,7 @@ void __init plat_swiotlb_setup(void) | |||
| 	if (OCTEON_IS_OCTEON2() && max_addr >= 0x100000000ul) | ||||
| 		swiotlbsize = 64 * (1<<20); | ||||
| #endif | ||||
| 	swiotlb_nslabs = swiotlbsize >> IO_TLB_SHIFT; | ||||
| 	swiotlb_nslabs = ALIGN(swiotlb_nslabs, IO_TLB_SEGSIZE); | ||||
| 	swiotlbsize = swiotlb_nslabs << IO_TLB_SHIFT; | ||||
| 
 | ||||
| 	octeon_swiotlb = memblock_alloc_low(swiotlbsize, PAGE_SIZE); | ||||
| 	if (!octeon_swiotlb) | ||||
| 		panic("%s: Failed to allocate %zu bytes align=%lx\n", | ||||
| 		      __func__, swiotlbsize, PAGE_SIZE); | ||||
| 
 | ||||
| 	if (swiotlb_init_with_tbl(octeon_swiotlb, swiotlb_nslabs, 1) == -ENOMEM) | ||||
| 		panic("Cannot allocate SWIOTLB buffer"); | ||||
| 	swiotlb_adjust_size(swiotlbsize); | ||||
| 	swiotlb_init(1); | ||||
| } | ||||
|  |  | |||
|  | @ -664,7 +664,7 @@ static int __init octeon_pci_setup(void) | |||
| 
 | ||||
| 		/* BAR1 movable regions contiguous to cover the swiotlb */ | ||||
| 		octeon_bar1_pci_phys = | ||||
| 			virt_to_phys(octeon_swiotlb) & ~((1ull << 22) - 1); | ||||
| 			io_tlb_default_mem.start & ~((1ull << 22) - 1); | ||||
| 
 | ||||
| 		for (index = 0; index < 32; index++) { | ||||
| 			union cvmx_pci_bar1_indexx bar1_index; | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christoph Hellwig
						Christoph Hellwig