Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751369AbcCKKEz (ORCPT ); Fri, 11 Mar 2016 05:04:55 -0500 Received: from mga03.intel.com ([134.134.136.65]:32681 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750803AbcCKKEv (ORCPT ); Fri, 11 Mar 2016 05:04:51 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,320,1455004800"; d="scan'208";a="921656954" Date: Fri, 11 Mar 2016 15:39:02 +0530 From: Vinod Koul To: Boris Brezillon Cc: Maxime Ripard , Dan Williams , dmaengine@vger.kernel.org, Chen-Yu Tsai , linux-sunxi@googlegroups.com, Emilio =?iso-8859-1?Q?L=F3pez?= , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] dma: sun4i: expose block size and wait cycle configuration to DMA users Message-ID: <20160311100902.GY11154@localhost> References: <1457344771-12946-1-git-send-email-boris.brezillon@free-electrons.com> <20160307145429.GG11154@localhost> <20160307160857.577bb04d@bbrezillon> <20160307203024.GD8418@lukather> <20160308025547.GI11154@localhost> <20160309120627.67612b1d@bbrezillon> <20160311062607.GP11154@localhost> <20160311104552.23e06a16@bbrezillon> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160311104552.23e06a16@bbrezillon> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1538 Lines: 38 On Fri, Mar 11, 2016 at 10:45:52AM +0100, Boris Brezillon wrote: > On Fri, 11 Mar 2016 11:56:07 +0530 > Vinod Koul wrote: > > > On Wed, Mar 09, 2016 at 12:06:27PM +0100, Boris Brezillon wrote: > > > On Tue, 8 Mar 2016 08:25:47 +0530 > > > Vinod Koul wrote: > > > > > > > > Why does dmaengine need to wait? Can you explain that > > > > > > I don't have an answer for that one, but when I set WAIT_CYCLES to 1 > > > for the NAND use case it does not work. So I guess it is somehow > > > related to how the DRQ line is controlled on the device side... > > > > Is the WAIT cycle different for different usages or same for all > > usages/channels? > > > > In Allwinner BSP they adapt it on a per slave device basis, but since > DMA channels are dynamically allocated, you can't know in advance which > physical channel will be attached to a specific device. And we have the correct values availble in datasheet for all usages > Another option I considered was adding a new cell to the sun4i DT > binding to encode these WAIT_CYCLES and BLOCK_SIZE information. But I'm > not sure adding that to the DT is a good idea (not to mention that it > would break DT ABI again, and given the last discussions on this topic, > I'm not sure it's a good idea :-/). Yes i was veering towards DT as well. This is a new property so ABI rules wont break as long as driver still works with old properties. But this nees to be property for clients and not driver. Client can then program these -- ~Vinod