From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [PATCH 13/22] nds32: use generic dma_noncoherent_ops Date: Tue, 24 Apr 2018 21:16:40 +0200 Message-ID: <20180424191640.GA32495@lst.de> References: <20180420080313.18796-1-hch@lst.de> <20180420080313.18796-14-hch@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Greentime Hu Cc: Christoph Hellwig , linux-arch , Michal Simek , Vincent Chen , linux-alpha@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-c6x-dev@linux-c6x.org, linux-hexagon@vger.kernel.org, linux-m68k@lists.linux-m68k.org, nios2-dev@lists.rocketboards.org, openrisc@lists.librecores.org, linux-parisc@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux , linux-xtensa@linux-xtensa.org, Linux Kernel Mailing List List-Id: linux-arch.vger.kernel.org Hi Greentime, thanks for testing the patch! It looks like nds32 doesn't have a buildbot yet, so this code didn't even get syntax checkin, sorry. Below is the incremental fixes based on this thread. Can you check if my tree works if you just revert the "nds32: use generic dma_noncoherent_ops" commit? diff --git a/arch/nds32/kernel/dma.c b/arch/nds32/kernel/dma.c index 688f1a03dee6..48018275e7f4 100644 --- a/arch/nds32/kernel/dma.c +++ b/arch/nds32/kernel/dma.c @@ -330,7 +330,7 @@ void arch_sync_dma_for_device(struct device *dev, phys_addr_t paddr, void *addr = kmap_atomic_pfn(PHYS_PFN(paddr)); unsigned long start = (unsigned long)addr; - switch (direction) { + switch (dir) { case DMA_FROM_DEVICE: break; case DMA_TO_DEVICE: @@ -350,12 +350,12 @@ void arch_sync_dma_for_cpu(struct device *dev, phys_addr_t paddr, void *addr = kmap_atomic_pfn(PHYS_PFN(paddr)); unsigned long start = (unsigned long)addr; - switch (direction) { + switch (dir) { case DMA_TO_DEVICE: break; case DMA_FROM_DEVICE: case DMA_BIDIRECTIONAL: - cpu_dma_inval_range(start, end); + cpu_dma_inval_range(start, start + size); break; default: BUG(); From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from verein.lst.de ([213.95.11.211]:32796 "EHLO newverein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751417AbeDXTPK (ORCPT ); Tue, 24 Apr 2018 15:15:10 -0400 Date: Tue, 24 Apr 2018 21:16:40 +0200 From: Christoph Hellwig Subject: Re: [PATCH 13/22] nds32: use generic dma_noncoherent_ops Message-ID: <20180424191640.GA32495@lst.de> References: <20180420080313.18796-1-hch@lst.de> <20180420080313.18796-14-hch@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: linux-arch-owner@vger.kernel.org List-ID: To: Greentime Hu Cc: Christoph Hellwig , linux-arch , Michal Simek , Vincent Chen , linux-alpha@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-c6x-dev@linux-c6x.org, linux-hexagon@vger.kernel.org, linux-m68k@lists.linux-m68k.org, nios2-dev@lists.rocketboards.org, openrisc@lists.librecores.org, linux-parisc@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux , linux-xtensa@linux-xtensa.org, Linux Kernel Mailing List Message-ID: <20180424191640.29YSpEmuq-K2_g8B8jpP0xKblTQKbJSJdG9BhrxiE4A@z> Hi Greentime, thanks for testing the patch! It looks like nds32 doesn't have a buildbot yet, so this code didn't even get syntax checkin, sorry. Below is the incremental fixes based on this thread. Can you check if my tree works if you just revert the "nds32: use generic dma_noncoherent_ops" commit? diff --git a/arch/nds32/kernel/dma.c b/arch/nds32/kernel/dma.c index 688f1a03dee6..48018275e7f4 100644 --- a/arch/nds32/kernel/dma.c +++ b/arch/nds32/kernel/dma.c @@ -330,7 +330,7 @@ void arch_sync_dma_for_device(struct device *dev, phys_addr_t paddr, void *addr = kmap_atomic_pfn(PHYS_PFN(paddr)); unsigned long start = (unsigned long)addr; - switch (direction) { + switch (dir) { case DMA_FROM_DEVICE: break; case DMA_TO_DEVICE: @@ -350,12 +350,12 @@ void arch_sync_dma_for_cpu(struct device *dev, phys_addr_t paddr, void *addr = kmap_atomic_pfn(PHYS_PFN(paddr)); unsigned long start = (unsigned long)addr; - switch (direction) { + switch (dir) { case DMA_TO_DEVICE: break; case DMA_FROM_DEVICE: case DMA_BIDIRECTIONAL: - cpu_dma_inval_range(start, end); + cpu_dma_inval_range(start, start + size); break; default: BUG();