sh: introduce a sh_cacheop_vaddr helper
And use it in the maple bus code to avoid a dma API dependency. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Yoshinori Sato <ysato@users.sourceforge.jp>
This commit is contained in:
@@ -101,5 +101,12 @@ void kunmap_coherent(void *kvaddr);
|
||||
|
||||
void cpu_cache_init(void);
|
||||
|
||||
static inline void *sh_cacheop_vaddr(void *vaddr)
|
||||
{
|
||||
if (__in_29bit_mode())
|
||||
vaddr = (void *)CAC_ADDR((unsigned long)vaddr);
|
||||
return vaddr;
|
||||
}
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* __ASM_SH_CACHEFLUSH_H */
|
||||
|
@@ -74,10 +74,7 @@ void dma_generic_free_coherent(struct device *dev, size_t size,
|
||||
void sh_sync_dma_for_device(void *vaddr, size_t size,
|
||||
enum dma_data_direction direction)
|
||||
{
|
||||
void *addr;
|
||||
|
||||
addr = __in_29bit_mode() ?
|
||||
(void *)CAC_ADDR((unsigned long)vaddr) : vaddr;
|
||||
void *addr = sh_cacheop_vaddr(vaddr);
|
||||
|
||||
switch (direction) {
|
||||
case DMA_FROM_DEVICE: /* invalidate only */
|
||||
@@ -93,7 +90,6 @@ void sh_sync_dma_for_device(void *vaddr, size_t size,
|
||||
BUG();
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(sh_sync_dma_for_device);
|
||||
|
||||
static int __init memchunk_setup(char *str)
|
||||
{
|
||||
|
Reference in New Issue
Block a user