microblaze: Preliminary support for dma drivers

I found several problems for ll_temac driver and on system with WB.
This early fix should fix it. I will clean this patch before I will add
it to mainline

Signed-off-by: Michal Simek <monstr@monstr.eu>
This commit is contained in:
Michal Simek 2010-02-09 09:25:08 +01:00
parent 4c912c1a33
commit dcbae4be90
1 changed files with 3 additions and 6 deletions

View File

@ -20,18 +20,15 @@
* can set archdata.dma_data to an unsigned long holding the offset. By
* default the offset is PCI_DRAM_OFFSET.
*/
static inline void __dma_sync_page(void *paddr, unsigned long offset,
static inline void __dma_sync_page(unsigned long paddr, unsigned long offset,
size_t size, enum dma_data_direction direction)
{
unsigned long start = (unsigned long)paddr;
switch (direction) {
case DMA_TO_DEVICE:
flush_dcache_range(start + offset, start + offset + size);
flush_dcache_range(paddr + offset, paddr + offset + size);
break;
case DMA_FROM_DEVICE:
invalidate_dcache_range(start + offset, start + offset + size);
invalidate_dcache_range(paddr + offset, paddr + offset + size);
break;
default:
BUG();