mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-03 18:20:25 +02:00 
			
		
		
		
	dma.c doesn't need most of the headers it includes. Also there is no point in undefining the DEBUG symbol given that it isn't used anywhere in this small file. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org> Reviewed-by: Greg Ungerer <gerg@linux-m68k.org> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Tested-by: Greg Ungerer <gerg@linux-m68k.org>
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * This file is subject to the terms and conditions of the GNU General Public
 | 
						|
 * License.  See the file COPYING in the main directory of this archive
 | 
						|
 * for more details.
 | 
						|
 */
 | 
						|
 | 
						|
#include <linux/dma-map-ops.h>
 | 
						|
#include <linux/kernel.h>
 | 
						|
#include <asm/cacheflush.h>
 | 
						|
 | 
						|
#ifndef CONFIG_COLDFIRE
 | 
						|
void arch_dma_prep_coherent(struct page *page, size_t size)
 | 
						|
{
 | 
						|
	cache_push(page_to_phys(page), size);
 | 
						|
}
 | 
						|
 | 
						|
pgprot_t pgprot_dmacoherent(pgprot_t prot)
 | 
						|
{
 | 
						|
	if (CPU_IS_040_OR_060) {
 | 
						|
		pgprot_val(prot) &= ~_PAGE_CACHE040;
 | 
						|
		pgprot_val(prot) |= _PAGE_GLOBAL040 | _PAGE_NOCACHE_S;
 | 
						|
	} else {
 | 
						|
		pgprot_val(prot) |= _PAGE_NOCACHE030;
 | 
						|
	}
 | 
						|
	return prot;
 | 
						|
}
 | 
						|
#endif /* CONFIG_MMU && !CONFIG_COLDFIRE */
 | 
						|
 | 
						|
void arch_sync_dma_for_device(phys_addr_t handle, size_t size,
 | 
						|
		enum dma_data_direction dir)
 | 
						|
{
 | 
						|
	switch (dir) {
 | 
						|
	case DMA_BIDIRECTIONAL:
 | 
						|
	case DMA_TO_DEVICE:
 | 
						|
		cache_push(handle, size);
 | 
						|
		break;
 | 
						|
	case DMA_FROM_DEVICE:
 | 
						|
		cache_clear(handle, size);
 | 
						|
		break;
 | 
						|
	default:
 | 
						|
		pr_err_ratelimited("dma_sync_single_for_device: unsupported dir %u\n",
 | 
						|
				   dir);
 | 
						|
		break;
 | 
						|
	}
 | 
						|
}
 |