aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/sh
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2018-04-18 02:53:46 -0400
committerChristoph Hellwig <hch@lst.de>2018-08-02 07:54:06 -0400
commit47fcae0d2a5fc77123fc14b0db9fe0025a1a829a (patch)
tree9a268264ff9a50e2d09b1cf43dd8f1887caade61 /drivers/sh
parentb2fcb677d4dd2aac3202365719733452b5512719 (diff)
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>
Diffstat (limited to 'drivers/sh')
-rw-r--r--drivers/sh/maple/maple.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/sh/maple/maple.c b/drivers/sh/maple/maple.c
index 2e45988d1259..e5d7fb81ad66 100644
--- a/drivers/sh/maple/maple.c
+++ b/drivers/sh/maple/maple.c
@@ -300,8 +300,8 @@ static void maple_send(void)
300 mutex_unlock(&maple_wlist_lock); 300 mutex_unlock(&maple_wlist_lock);
301 if (maple_packets > 0) { 301 if (maple_packets > 0) {
302 for (i = 0; i < (1 << MAPLE_DMA_PAGES); i++) 302 for (i = 0; i < (1 << MAPLE_DMA_PAGES); i++)
303 sh_sync_dma_for_device(maple_sendbuf + i * PAGE_SIZE, 303 __flush_purge_region(maple_sendbuf + i * PAGE_SIZE,
304 PAGE_SIZE, DMA_BIDIRECTIONAL); 304 PAGE_SIZE);
305 } 305 }
306 306
307finish: 307finish:
@@ -642,7 +642,8 @@ static void maple_dma_handler(struct work_struct *work)
642 list_for_each_entry_safe(mq, nmq, &maple_sentq, list) { 642 list_for_each_entry_safe(mq, nmq, &maple_sentq, list) {
643 mdev = mq->dev; 643 mdev = mq->dev;
644 recvbuf = mq->recvbuf->buf; 644 recvbuf = mq->recvbuf->buf;
645 sh_sync_dma_for_device(recvbuf, 0x400, DMA_FROM_DEVICE); 645 __flush_invalidate_region(sh_cacheop_vaddr(recvbuf),
646 0x400);
646 code = recvbuf[0]; 647 code = recvbuf[0];
647 kfree(mq->sendbuf); 648 kfree(mq->sendbuf);
648 list_del_init(&mq->list); 649 list_del_init(&mq->list);