Skip to content

Commit

Permalink
microblaze: Preliminary support for dma drivers
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Michal Simek committed Mar 11, 2010
1 parent 4c912c1 commit dcbae4b
Showing 1 changed file with 3 additions and 6 deletions.
9 changes: 3 additions & 6 deletions arch/microblaze/kernel/dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down

0 comments on commit dcbae4b

Please sign in to comment.