Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v2.6.30-rc5 129 lines 2.8 kB view raw
1/* 2 * Copyright (C) 2006 Atmark Techno, Inc. 3 * 4 * This file is subject to the terms and conditions of the GNU General Public 5 * License. See the file "COPYING" in the main directory of this archive 6 * for more details. 7 */ 8 9#ifndef _ASM_MICROBLAZE_DMA_MAPPING_H 10#define _ASM_MICROBLAZE_DMA_MAPPING_H 11 12#include <asm/cacheflush.h> 13#include <linux/io.h> 14#include <linux/bug.h> 15 16struct scatterlist; 17 18#define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f) 19#define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h) 20 21/* FIXME */ 22static inline int 23dma_supported(struct device *dev, u64 mask) 24{ 25 return 1; 26} 27 28static inline dma_addr_t 29dma_map_page(struct device *dev, struct page *page, 30 unsigned long offset, size_t size, 31 enum dma_data_direction direction) 32{ 33 BUG(); 34 return 0; 35} 36 37static inline void 38dma_unmap_page(struct device *dev, dma_addr_t dma_address, size_t size, 39 enum dma_data_direction direction) 40{ 41 BUG(); 42} 43 44static inline int 45dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, 46 enum dma_data_direction direction) 47{ 48 BUG(); 49 return 0; 50} 51 52static inline void 53dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nhwentries, 54 enum dma_data_direction direction) 55{ 56 BUG(); 57} 58 59static inline void 60dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, size_t size, 61 enum dma_data_direction direction) 62{ 63 BUG(); 64} 65 66static inline void 67dma_sync_single_for_device(struct device *dev, dma_addr_t dma_handle, 68 size_t size, enum dma_data_direction direction) 69{ 70 BUG(); 71} 72 73static inline void 74dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, int nelems, 75 enum dma_data_direction direction) 76{ 77 BUG(); 78} 79 80static inline void 81dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nelems, 82 enum dma_data_direction direction) 83{ 84 BUG(); 85} 86 87static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr) 88{ 89 return 0; 90} 91 92static inline void *dma_alloc_coherent(struct device *dev, size_t size, 93 dma_addr_t *dma_handle, int flag) 94{ 95 return NULL; /* consistent_alloc(flag, size, dma_handle); */ 96} 97 98static inline void dma_free_coherent(struct device *dev, size_t size, 99 void *vaddr, dma_addr_t dma_handle) 100{ 101 BUG(); 102} 103 104static inline dma_addr_t 105dma_map_single(struct device *dev, void *ptr, size_t size, 106 enum dma_data_direction direction) 107{ 108 BUG_ON(direction == DMA_NONE); 109 110 return virt_to_bus(ptr); 111} 112 113static inline void dma_unmap_single(struct device *dev, dma_addr_t dma_addr, 114 size_t size, 115 enum dma_data_direction direction) 116{ 117 switch (direction) { 118 case DMA_FROM_DEVICE: 119 flush_dcache_range((unsigned)dma_addr, 120 (unsigned)dma_addr + size); 121 /* Fall through */ 122 case DMA_TO_DEVICE: 123 break; 124 default: 125 BUG(); 126 } 127} 128 129#endif /* _ASM_MICROBLAZE_DMA_MAPPING_H */