From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vinod Koul Subject: Re: [PATCH v4 3/3] dma: Add Freescale eDMA engine driver support Date: Tue, 3 Sep 2013 17:01:51 +0530 Message-ID: <20130903113151.GE15824@intel.com> References: <1376633274-17850-1-git-send-email-b35083@freescale.com> <20130828081742.GC11414@intel.com> <20130902045050.GE7376@intel.com> <20130902063721.GK7376@intel.com> <20130902111200.GP7376@intel.com> 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: Lu Jingchang-B35083 Cc: "shawn.guo@linaro.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "devicetree@vger.kernel.org" List-Id: devicetree@vger.kernel.org On Tue, Sep 03, 2013 at 05:43:21AM +0000, Lu Jingchang-B35083 wrote: > Do you mean the DMA_SLAVE_CONFIG device_control? Yeah, the slave driver could pass > the slave_id. But the DMA_SLAVE_CONFIG may be called more than once, and the eDMA > driver just needs to set the slave id once for any given channel, after that the > transfer is transparent to the device. It depends, for a channel requested, if you are only tranferring to a particular slave device then it can be confugured once. so 1. allocate channel 2. dmaengine_slave_config() then you cnan do preare etc multiple times based on need. ~Vinod > On the other hand, the DMAMUX's setting procedure requires first disable the dmamux > before setting, then if it is set in DMA_SLAVE_CONFIG, the repeated setting may be > complex and unnecessary. The channel is occupied exclusively by the peripheral. > So, according the HW feature, I think the eDMA needs only set the slave id once, > and since the of_dma helper has pass the slave id in on xlate, we can get and set > the slave id here. How do you think about this? --