Remove dma_cache_(wback|inv|wback_inv) functions
dma_cache_(wback|inv|wback_inv) were the earliest attempt on a generalized cache managment API for I/O purposes. Originally it was basically the raw MIPS low level cache API exported to the entire world. The API has suffered from a lack of documentation, was not very widely used unlike it's more modern brothers and can easily be replaced by dma_cache_sync. So remove it rsp. turn the surviving bits back into an arch private API, as discussed on linux-arch. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Acked-by: Paul Mundt <lethal@linux-sh.org> Acked-by: Paul Mackerras <paulus@samba.org> Acked-by: David S. Miller <davem@davemloft.net> Acked-by: Kyle McMartin <kyle@parisc-linux.org> Acked-by: Haavard Skinnemoen <hskinnemoen@atmel.com> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Bu işleme şunda yer alıyor:

işlemeyi yapan:
Linus Torvalds

ebeveyn
bc154b1efb
işleme
622a9edd91
@@ -51,7 +51,7 @@ void *dreamcast_consistent_alloc(struct device *dev, size_t size,
|
||||
buf = P2SEGADDR(buf);
|
||||
|
||||
/* Flush the dcache before we hand off the buffer */
|
||||
dma_cache_wback_inv((void *)buf, size);
|
||||
__flush_purge_region((void *)buf, size);
|
||||
|
||||
return (void *)buf;
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ void *consistent_alloc(gfp_t gfp, size_t size, dma_addr_t *handle)
|
||||
/*
|
||||
* We must flush the cache before we pass it on to the device
|
||||
*/
|
||||
dma_cache_wback_inv(ret, size);
|
||||
__flush_purge_region(ret, size);
|
||||
|
||||
page = virt_to_page(ret);
|
||||
free = page + (size >> PAGE_SHIFT);
|
||||
@@ -68,13 +68,13 @@ void consistent_sync(void *vaddr, size_t size, int direction)
|
||||
|
||||
switch (direction) {
|
||||
case DMA_FROM_DEVICE: /* invalidate only */
|
||||
dma_cache_inv(p1addr, size);
|
||||
__flush_invalidate_region(p1addr, size);
|
||||
break;
|
||||
case DMA_TO_DEVICE: /* writeback only */
|
||||
dma_cache_wback(p1addr, size);
|
||||
__flush_wback_region(p1addr, size);
|
||||
break;
|
||||
case DMA_BIDIRECTIONAL: /* writeback and invalidate */
|
||||
dma_cache_wback_inv(p1addr, size);
|
||||
__flush_purge_region(p1addr, size);
|
||||
break;
|
||||
default:
|
||||
BUG();
|
||||
|
Yeni konuda referans
Bir kullanıcı engelle