From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vinod Koul Subject: Re: [PATCHv9 0/6] dmaengine: rcar-dmac: add iommu support for slave transfers Date: Wed, 10 Aug 2016 23:07:10 +0530 Message-ID: <20160810173710.GK9681@localhost> References: <20160810112219.17964-1-niklas.soderlund+renesas@ragnatech.se> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Content-Disposition: inline In-Reply-To: <20160810112219.17964-1-niklas.soderlund+renesas-1zkq55x86MTxsAP9Fp7wbw@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Niklas =?iso-8859-1?Q?S=F6derlund?= Cc: hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org, arnd-r2nGTMty4D4@public.gmane.org, linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org, linux-renesas-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org, dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org List-Id: iommu@lists.linux-foundation.org On Wed, Aug 10, 2016 at 01:22:13PM +0200, Niklas S=F6derlund wrote: > Hi, > = > This series tries to solve the problem with DMA with device registers > (MMIO registers) that are behind an IOMMU for the rcar-dmac driver. A > recent patch '9575632 (dmaengine: make slave address physical)' > clarifies that DMA slave address provided by clients is the physical > address. This puts the task of mapping the DMA slave address from a > phys_addr_t to a dma_addr_t on the DMA engine. > = > Without an IOMMU this is easy since the phys_addr_t and dma_addr_t are > the same and no special care is needed. However if you have a IOMMU you > need to map the DMA slave phys_addr_t to a dma_addr_t using something > like this. > = > This series is based on top of v4.8-rc1. And I'm hoping to be able to col= lect a > Ack from Russell King on patch 4/6 that adds the ARM specific part and th= en be > able to take the whole series through the dmaengine tree. If this is not = the > best route I'm more then happy to do it another way. > = > It's tested on a Koelsch with CONFIG_IPMMU_VMSA and by enabling the > ipmmu_ds node in r8a7791.dtsi. I verified operation by interacting with > /dev/mmcblk1, i2c and the serial console which are devices behind the > iommu. As I said in last one, the dmaengine parts look fine to me. But to go thru dmaengine tree I would need ACK on non dmaengine patches. -- = ~Vinod From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com ([192.55.52.115]:42887 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S938784AbcHJS4f (ORCPT ); Wed, 10 Aug 2016 14:56:35 -0400 Date: Wed, 10 Aug 2016 23:07:10 +0530 From: Vinod Koul To: Niklas =?iso-8859-1?Q?S=F6derlund?= Cc: linux-renesas-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, dmaengine@vger.kernel.org, iommu@lists.linux-foundation.org, linux@armlinux.org.uk, hch@infradead.org, dan.j.williams@intel.com, robin.murphy@arm.com, laurent.pinchart@ideasonboard.com, linus.walleij@linaro.org, arnd@arndb.de Subject: Re: [PATCHv9 0/6] dmaengine: rcar-dmac: add iommu support for slave transfers Message-ID: <20160810173710.GK9681@localhost> References: <20160810112219.17964-1-niklas.soderlund+renesas@ragnatech.se> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20160810112219.17964-1-niklas.soderlund+renesas@ragnatech.se> Sender: linux-renesas-soc-owner@vger.kernel.org List-ID: On Wed, Aug 10, 2016 at 01:22:13PM +0200, Niklas S�derlund wrote: > Hi, > > This series tries to solve the problem with DMA with device registers > (MMIO registers) that are behind an IOMMU for the rcar-dmac driver. A > recent patch '9575632 (dmaengine: make slave address physical)' > clarifies that DMA slave address provided by clients is the physical > address. This puts the task of mapping the DMA slave address from a > phys_addr_t to a dma_addr_t on the DMA engine. > > Without an IOMMU this is easy since the phys_addr_t and dma_addr_t are > the same and no special care is needed. However if you have a IOMMU you > need to map the DMA slave phys_addr_t to a dma_addr_t using something > like this. > > This series is based on top of v4.8-rc1. And I'm hoping to be able to collect a > Ack from Russell King on patch 4/6 that adds the ARM specific part and then be > able to take the whole series through the dmaengine tree. If this is not the > best route I'm more then happy to do it another way. > > It's tested on a Koelsch with CONFIG_IPMMU_VMSA and by enabling the > ipmmu_ds node in r8a7791.dtsi. I verified operation by interacting with > /dev/mmcblk1, i2c and the serial console which are devices behind the > iommu. As I said in last one, the dmaengine parts look fine to me. But to go thru dmaengine tree I would need ACK on non dmaengine patches. -- ~Vinod From mboxrd@z Thu Jan 1 00:00:00 1970 From: vinod.koul@intel.com (Vinod Koul) Date: Wed, 10 Aug 2016 23:07:10 +0530 Subject: [PATCHv9 0/6] dmaengine: rcar-dmac: add iommu support for slave transfers In-Reply-To: <20160810112219.17964-1-niklas.soderlund+renesas@ragnatech.se> References: <20160810112219.17964-1-niklas.soderlund+renesas@ragnatech.se> Message-ID: <20160810173710.GK9681@localhost> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Wed, Aug 10, 2016 at 01:22:13PM +0200, Niklas S?derlund wrote: > Hi, > > This series tries to solve the problem with DMA with device registers > (MMIO registers) that are behind an IOMMU for the rcar-dmac driver. A > recent patch '9575632 (dmaengine: make slave address physical)' > clarifies that DMA slave address provided by clients is the physical > address. This puts the task of mapping the DMA slave address from a > phys_addr_t to a dma_addr_t on the DMA engine. > > Without an IOMMU this is easy since the phys_addr_t and dma_addr_t are > the same and no special care is needed. However if you have a IOMMU you > need to map the DMA slave phys_addr_t to a dma_addr_t using something > like this. > > This series is based on top of v4.8-rc1. And I'm hoping to be able to collect a > Ack from Russell King on patch 4/6 that adds the ARM specific part and then be > able to take the whole series through the dmaengine tree. If this is not the > best route I'm more then happy to do it another way. > > It's tested on a Koelsch with CONFIG_IPMMU_VMSA and by enabling the > ipmmu_ds node in r8a7791.dtsi. I verified operation by interacting with > /dev/mmcblk1, i2c and the serial console which are devices behind the > iommu. As I said in last one, the dmaengine parts look fine to me. But to go thru dmaengine tree I would need ACK on non dmaengine patches. -- ~Vinod