mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-09-18 22:14:16 +00:00 
			
		
		
		
	m68k: Implement arch_dma_prep_coherent()
When we remap memory as non-cached, to be used as a DMA coherent buffer, we should writeback all cache and invalidate the cache lines so that we make sure we have a clean slate. Implement this using the cache_push() helper. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
This commit is contained in:
		
							parent
							
								
									34dc63a5fb
								
							
						
					
					
						commit
						69878ef475
					
				
					 2 changed files with 6 additions and 0 deletions
				
			
		|  | @ -4,6 +4,7 @@ config M68K | |||
| 	default y | ||||
| 	select ARCH_32BIT_OFF_T | ||||
| 	select ARCH_HAS_DMA_MMAP_PGPROT if MMU && !COLDFIRE | ||||
| 	select ARCH_HAS_DMA_PREP_COHERENT | ||||
| 	select ARCH_HAS_SYNC_DMA_FOR_DEVICE if HAS_DMA | ||||
| 	select ARCH_MIGHT_HAVE_PC_PARPORT if ISA | ||||
| 	select ARCH_NO_COHERENT_DMA_MMAP if !MMU | ||||
|  |  | |||
|  | @ -18,6 +18,11 @@ | |||
| #include <asm/pgalloc.h> | ||||
| 
 | ||||
| #if defined(CONFIG_MMU) && !defined(CONFIG_COLDFIRE) | ||||
| void arch_dma_prep_coherent(struct page *page, size_t size) | ||||
| { | ||||
| 	cache_push(page_to_phys(page), size); | ||||
| } | ||||
| 
 | ||||
| pgprot_t arch_dma_mmap_pgprot(struct device *dev, pgprot_t prot, | ||||
| 		unsigned long attrs) | ||||
| { | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christoph Hellwig
						Christoph Hellwig