From: vinod.koul@intel.com (Vinod Koul)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] dma: sun4i: expose block size and wait cycle configuration to DMA users
Date: Fri, 11 Mar 2016 16:48:26 +0530 [thread overview]
Message-ID: <20160311111825.GC11154@localhost> (raw)
In-Reply-To: <20160311105549.GZ8418@lukather>
On Fri, Mar 11, 2016 at 11:55:49AM +0100, Maxime Ripard wrote:
> On Fri, Mar 11, 2016 at 03:39:02PM +0530, Vinod Koul wrote:
> > On Fri, Mar 11, 2016 at 10:45:52AM +0100, Boris Brezillon wrote:
> > > On Fri, 11 Mar 2016 11:56:07 +0530
> > > Vinod Koul <vinod.koul@intel.com> 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 <vinod.koul@intel.com> 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
>
> No, we don't.
>
> If you look at the datasheet in question, page 169.
> https://github.com/allwinner-zh/documents/blob/master/A20/A20_User_Manual_v1.4_20150510.pdf
>
> This is the only documentation we have. And as you can see, it is very
> sparse (and that's an understament).
>
> So we cannot make that assumption, so far the values have been found
> through trial and error for the devices in question.
>
> > > 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.
>
> Yeah, we can always default to our current hardcoded value if the
> property is missing. And since no-one is using the engine at the
> moment anyway, so it's not really a big deal.
>
> > But this nees to be property for clients and not driver. Client can then
> > program these
>
> Yes, totally. The question here is how the clients give that
> information to the driver.
For this part am not worried. If we can generalize this then we add to
dma_slave_config. Otherwise an exported symbol from driver should be fine.
--
~Vinod
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160311/c4b05f88/attachment-0001.sig>
WARNING: multiple messages have this Message-ID (diff)
From: Vinod Koul <vinod.koul@intel.com>
To: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: "Boris Brezillon" <boris.brezillon@free-electrons.com>,
"Dan Williams" <dan.j.williams@intel.com>,
dmaengine@vger.kernel.org, "Chen-Yu Tsai" <wens@csie.org>,
linux-sunxi@googlegroups.com,
"Emilio López" <emilio@elopez.com.ar>,
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
Date: Fri, 11 Mar 2016 16:48:26 +0530 [thread overview]
Message-ID: <20160311111825.GC11154@localhost> (raw)
In-Reply-To: <20160311105549.GZ8418@lukather>
[-- Attachment #1: Type: text/plain, Size: 2704 bytes --]
On Fri, Mar 11, 2016 at 11:55:49AM +0100, Maxime Ripard wrote:
> On Fri, Mar 11, 2016 at 03:39:02PM +0530, Vinod Koul wrote:
> > On Fri, Mar 11, 2016 at 10:45:52AM +0100, Boris Brezillon wrote:
> > > On Fri, 11 Mar 2016 11:56:07 +0530
> > > Vinod Koul <vinod.koul@intel.com> 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 <vinod.koul@intel.com> 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
>
> No, we don't.
>
> If you look at the datasheet in question, page 169.
> https://github.com/allwinner-zh/documents/blob/master/A20/A20_User_Manual_v1.4_20150510.pdf
>
> This is the only documentation we have. And as you can see, it is very
> sparse (and that's an understament).
>
> So we cannot make that assumption, so far the values have been found
> through trial and error for the devices in question.
>
> > > 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.
>
> Yeah, we can always default to our current hardcoded value if the
> property is missing. And since no-one is using the engine at the
> moment anyway, so it's not really a big deal.
>
> > But this nees to be property for clients and not driver. Client can then
> > program these
>
> Yes, totally. The question here is how the clients give that
> information to the driver.
For this part am not worried. If we can generalize this then we add to
dma_slave_config. Otherwise an exported symbol from driver should be fine.
--
~Vinod
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2016-03-11 11:18 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-07 9:59 [PATCH] dma: sun4i: expose block size and wait cycle configuration to DMA users Boris Brezillon
2016-03-07 9:59 ` Boris Brezillon
2016-03-07 14:54 ` Vinod Koul
2016-03-07 14:54 ` Vinod Koul
2016-03-07 15:08 ` Boris Brezillon
2016-03-07 15:08 ` Boris Brezillon
2016-03-07 20:30 ` Maxime Ripard
2016-03-07 20:30 ` Maxime Ripard
2016-03-08 2:55 ` Vinod Koul
2016-03-08 2:55 ` Vinod Koul
2016-03-08 2:59 ` Vinod Koul
2016-03-08 2:59 ` Vinod Koul
2016-03-08 7:51 ` Maxime Ripard
2016-03-08 7:51 ` Maxime Ripard
2016-03-08 8:42 ` [linux-sunxi] " Hans de Goede
2016-03-08 8:42 ` Hans de Goede
2016-03-08 10:05 ` Vinod Koul
2016-03-08 10:05 ` Vinod Koul
2016-03-09 10:58 ` Maxime Ripard
2016-03-09 10:58 ` Maxime Ripard
2016-03-08 8:46 ` Boris Brezillon
2016-03-08 8:46 ` Boris Brezillon
2016-03-08 9:10 ` [linux-sunxi] " Priit Laes
2016-03-08 9:10 ` Priit Laes
2016-03-08 10:04 ` Vinod Koul
2016-03-08 10:04 ` Vinod Koul
2016-03-09 10:08 ` [linux-sunxi] " LABBE Corentin
2016-03-09 10:08 ` LABBE Corentin
2016-03-08 9:59 ` Vinod Koul
2016-03-08 9:59 ` Vinod Koul
2016-03-09 10:14 ` Boris Brezillon
2016-03-09 10:14 ` Boris Brezillon
2016-03-11 6:24 ` Vinod Koul
2016-03-11 6:24 ` Vinod Koul
2016-03-11 9:40 ` Boris Brezillon
2016-03-11 9:40 ` Boris Brezillon
2016-03-11 10:06 ` Vinod Koul
2016-03-11 10:06 ` Vinod Koul
2016-03-11 10:26 ` Boris Brezillon
2016-03-11 10:26 ` Boris Brezillon
2016-03-11 11:21 ` Vinod Koul
2016-03-11 11:21 ` Vinod Koul
2016-03-09 11:06 ` Boris Brezillon
2016-03-09 11:06 ` Boris Brezillon
2016-03-11 6:26 ` Vinod Koul
2016-03-11 6:26 ` Vinod Koul
2016-03-11 9:45 ` Boris Brezillon
2016-03-11 9:45 ` Boris Brezillon
2016-03-11 10:09 ` Vinod Koul
2016-03-11 10:09 ` Vinod Koul
2016-03-11 10:55 ` Maxime Ripard
2016-03-11 10:55 ` Maxime Ripard
2016-03-11 11:18 ` Vinod Koul [this message]
2016-03-11 11:18 ` Vinod Koul
2016-03-14 11:46 ` Maxime Ripard
2016-03-14 11:46 ` Maxime Ripard
2016-03-16 3:22 ` Vinod Koul
2016-03-16 3:22 ` Vinod Koul
2016-03-07 15:30 ` [linux-sunxi] " Priit Laes
2016-03-07 15:30 ` Priit Laes
2016-03-07 15:47 ` Boris Brezillon
2016-03-07 15:47 ` Boris Brezillon
2016-03-07 17:15 ` Emilio López
2016-03-07 17:15 ` Emilio López
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160311111825.GC11154@localhost \
--to=vinod.koul@intel.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.