All of lore.kernel.org
 help / color / mirror / Atom feed
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/5] dmaengine: dw_dmac: move to generic DMA binding
Date: Tue, 29 Jan 2013 16:21:59 +0000	[thread overview]
Message-ID: <201301291621.59425.arnd@arndb.de> (raw)
In-Reply-To: <CAKohpoms+WC_XJnH2b6uoycRKkF-yxZUg2J+8NrYJP8fnDNLtg@mail.gmail.com>

On Tuesday 29 January 2013, Viresh Kumar wrote:
> On 29 January 2013 19:01, Arnd Bergmann <arnd@arndb.de> wrote:
> > Ah, good. So I guess the "dma-requests" property should actually
> > be "16" then.
> 
> yes, even i was checking on that separately :)

Actually, I just discovered something odd in the
arch/arm/mach-spear/spear13xx-dma.h file that gets removed
in the last patch: there, we define request numbers up to
32, e.g.

-       SPEAR1310_DMA_REQ_UART2_RX = 14,
-       SPEAR1310_DMA_REQ_UART2_TX = 15,
-       SPEAR1310_DMA_REQ_UART5_RX = 16,
-       SPEAR1310_DMA_REQ_UART5_TX = 17,

What is the meaning of this, if the maximum request number is 15?
 
> > Could we have device-to-device DMAs with this controller, and if
> > we can, should we have both 'src' and 'dst' fields? Are the
> > two number ranges sharing the same address space, i.e. is
> > request '7' as the destination guaranteed to be the same device
> > as request '7' in the source?
> 
> Request lines are per master... So, for a master single request line
> is independent of direction. Many DMA controllers have capability of
> doing dev-to-dev transfers but DMAENGINE doesn't have any support
> for it, even we don't have a usecase too :)
> 
> > If we need two lines, we could interleave them with the bus
> > master numbers:
> 
> not required.

Ok. Would it be enough to have only one master and one request
field in the DT dma descriptor then, and have the code figure
whether to use it as source or destination, based on the
configuration? Which one should come first? Since you have
multiple masters per controller, and multiple requests per
master, it sounds like the cleanest descriptor form would
be 

	<controller master request>;

Or possibly

	<controller master request direction>;

if the direction needs to be known at the time the channel
is requested.

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
To: Viresh Kumar <viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Vinod Koul <vinod.koul-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	spear-devel <spear-devel-nkJGhpqTU55BDgjK7y7TUQ@public.gmane.org>,
	Andy Shevchenko
	<andriy.shevchenko-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH 1/5] dmaengine: dw_dmac: move to generic DMA binding
Date: Tue, 29 Jan 2013 16:21:59 +0000	[thread overview]
Message-ID: <201301291621.59425.arnd@arndb.de> (raw)
In-Reply-To: <CAKohpoms+WC_XJnH2b6uoycRKkF-yxZUg2J+8NrYJP8fnDNLtg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On Tuesday 29 January 2013, Viresh Kumar wrote:
> On 29 January 2013 19:01, Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> wrote:
> > Ah, good. So I guess the "dma-requests" property should actually
> > be "16" then.
> 
> yes, even i was checking on that separately :)

Actually, I just discovered something odd in the
arch/arm/mach-spear/spear13xx-dma.h file that gets removed
in the last patch: there, we define request numbers up to
32, e.g.

-       SPEAR1310_DMA_REQ_UART2_RX = 14,
-       SPEAR1310_DMA_REQ_UART2_TX = 15,
-       SPEAR1310_DMA_REQ_UART5_RX = 16,
-       SPEAR1310_DMA_REQ_UART5_TX = 17,

What is the meaning of this, if the maximum request number is 15?
 
> > Could we have device-to-device DMAs with this controller, and if
> > we can, should we have both 'src' and 'dst' fields? Are the
> > two number ranges sharing the same address space, i.e. is
> > request '7' as the destination guaranteed to be the same device
> > as request '7' in the source?
> 
> Request lines are per master... So, for a master single request line
> is independent of direction. Many DMA controllers have capability of
> doing dev-to-dev transfers but DMAENGINE doesn't have any support
> for it, even we don't have a usecase too :)
> 
> > If we need two lines, we could interleave them with the bus
> > master numbers:
> 
> not required.

Ok. Would it be enough to have only one master and one request
field in the DT dma descriptor then, and have the code figure
whether to use it as source or destination, based on the
configuration? Which one should come first? Since you have
multiple masters per controller, and multiple requests per
master, it sounds like the cleanest descriptor form would
be 

	<controller master request>;

Or possibly

	<controller master request direction>;

if the direction needs to be known at the time the channel
is requested.

	Arnd

  reply	other threads:[~2013-01-29 16:21 UTC|newest]

Thread overview: 111+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-28 17:57 [PATCH 0/5] dmaengine: convert dw_dmac/spear13xx to generic binding Arnd Bergmann
     [not found] ` <1359395857-1235-1-git-send-email-arnd-r2nGTMty4D4@public.gmane.org>
2013-01-28 17:57   ` [PATCH 1/5] dmaengine: dw_dmac: move to generic DMA binding Arnd Bergmann
2013-01-28 17:57   ` [PATCH 2/5] spi: pl022: use generic DMA slave configuration if possible Arnd Bergmann
     [not found]     ` <1359395857-1235-3-git-send-email-arnd-r2nGTMty4D4@public.gmane.org>
2013-02-05 14:22       ` Grant Likely
2013-02-05 14:22         ` Grant Likely
2013-02-07 18:27       ` Linus Walleij
2013-01-28 17:57   ` [PATCH 3/5] serial: pl011: " Arnd Bergmann
     [not found]     ` <1359395857-1235-4-git-send-email-arnd-r2nGTMty4D4@public.gmane.org>
2013-02-05 14:22       ` Grant Likely
2013-01-28 17:57   ` [PATCH 4/5] ata: arasan: remove the need for platform_data Arnd Bergmann
2013-01-28 17:57   ` [PATCH 5/5] ARM: SPEAr13xx: Pass generic DW DMAC platform data from DT Arnd Bergmann
2013-01-28 21:58   ` [PATCH v2 0/5] dmaengine: convert dw_dmac/spear13xx to generic binding Arnd Bergmann
2013-01-28 21:58     ` Arnd Bergmann
2013-01-28 21:58     ` [PATCH 1/5] dmaengine: dw_dmac: move to generic DMA binding Arnd Bergmann
2013-01-28 21:58       ` Arnd Bergmann
2013-01-29  7:24       ` Viresh Kumar
2013-01-29  7:24         ` Viresh Kumar
2013-01-29 10:35         ` Arnd Bergmann
2013-01-29 10:35           ` Arnd Bergmann
2013-01-29 10:49           ` Viresh Kumar
2013-01-29 10:49             ` Viresh Kumar
2013-01-29 10:54             ` Andy Shevchenko
2013-01-29 10:54               ` Andy Shevchenko
2013-01-29 10:57               ` Viresh Kumar
2013-01-29 10:57                 ` Viresh Kumar
2013-01-29 11:14                 ` Andy Shevchenko
2013-01-29 11:14                   ` Andy Shevchenko
2013-01-29 13:31             ` Arnd Bergmann
2013-01-29 13:31               ` Arnd Bergmann
2013-01-29 13:45               ` Andy Shevchenko
2013-01-29 13:45                 ` Andy Shevchenko
2013-01-29 14:26                 ` Russell King - ARM Linux
2013-01-29 14:26                   ` Russell King - ARM Linux
2013-01-29 15:28                 ` Arnd Bergmann
2013-01-29 15:28                   ` Arnd Bergmann
2013-01-29 15:17               ` Viresh Kumar
2013-01-29 15:17                 ` Viresh Kumar
2013-01-29 16:21                 ` Arnd Bergmann [this message]
2013-01-29 16:21                   ` Arnd Bergmann
2013-01-30  2:04                   ` Viresh Kumar
2013-01-30  2:04                     ` Viresh Kumar
2013-01-30  9:41                     ` Arnd Bergmann
2013-01-30  9:41                       ` Arnd Bergmann
2013-01-30  9:48                       ` Viresh Kumar
2013-01-30  9:48                         ` Viresh Kumar
2013-01-30 10:08                         ` Arnd Bergmann
2013-01-30 10:08                           ` Arnd Bergmann
2013-01-30 10:32                           ` Viresh Kumar
2013-01-30 10:32                             ` Viresh Kumar
     [not found]       ` <1359445171.31148.30.camel@smile>
2013-01-29 10:50         ` Arnd Bergmann
2013-01-29 10:50           ` Arnd Bergmann
2013-01-29 11:18           ` Russell King - ARM Linux
2013-01-29 11:18             ` Russell King - ARM Linux
2013-01-29 13:44             ` Arnd Bergmann
2013-01-29 13:44               ` Arnd Bergmann
2013-01-29 14:24               ` Russell King - ARM Linux
2013-01-29 14:24                 ` Russell King - ARM Linux
2013-01-29 14:55                 ` Arnd Bergmann
2013-01-29 14:55                   ` Arnd Bergmann
2013-01-29 15:44                   ` Russell King - ARM Linux
2013-01-29 15:44                     ` Russell King - ARM Linux
2013-01-29 16:36                     ` Arnd Bergmann
2013-01-29 16:36                       ` Arnd Bergmann
2013-01-29 17:45                       ` Russell King - ARM Linux
2013-01-29 17:45                         ` Russell King - ARM Linux
2013-01-29 20:40                         ` Arnd Bergmann
2013-01-29 20:40                           ` Arnd Bergmann
2013-01-29 21:59                           ` Linus Walleij
2013-01-29 21:59                             ` Linus Walleij
2013-02-15  8:50       ` Andy Shevchenko
2013-02-15  8:50         ` Andy Shevchenko
2013-02-15 11:17         ` Arnd Bergmann
2013-02-15 11:17           ` Arnd Bergmann
     [not found]     ` <1359410300-26113-1-git-send-email-arnd-r2nGTMty4D4@public.gmane.org>
2013-01-28 21:58       ` [PATCH 2/5] spi: pl022: use generic DMA slave configuration if possible Arnd Bergmann
2013-01-28 21:58         ` Arnd Bergmann
     [not found]         ` <1359410300-26113-3-git-send-email-arnd-r2nGTMty4D4@public.gmane.org>
2013-01-29  2:41           ` Mark Brown
2013-01-29  2:41             ` Mark Brown
2013-01-29  7:49           ` Andy Shevchenko
2013-01-29  7:49             ` Andy Shevchenko
2013-01-29 13:13             ` Arnd Bergmann
2013-01-29 13:13               ` Arnd Bergmann
     [not found]               ` <201301291313.03511.arnd-r2nGTMty4D4@public.gmane.org>
2013-02-07 18:29                 ` Linus Walleij
2013-02-07 18:29                   ` Linus Walleij
     [not found]                   ` <CACRpkdZNpCJwp-uaH6feTcaPesNouwpHt-hO-M9v52G=Ux+Hqw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-02-07 19:42                     ` Arnd Bergmann
2013-02-07 19:42                       ` Arnd Bergmann
     [not found]                       ` <201302071942.54642.arnd-r2nGTMty4D4@public.gmane.org>
2013-02-07 20:19                         ` Linus Walleij
2013-02-07 20:19                           ` Linus Walleij
     [not found]                           ` <CACRpkdbunPGtR4p_kY4q8WEb8iwkEbdo_icDyrLZwKrCe0wXqw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-02-07 21:15                             ` Arnd Bergmann
2013-02-07 21:15                               ` Arnd Bergmann
2013-02-08 16:22                               ` Russell King - ARM Linux
2013-02-08 16:22                                 ` Russell King - ARM Linux
2013-02-08 16:28                                 ` Arnd Bergmann
2013-02-08 16:28                                   ` Arnd Bergmann
2013-02-08 22:10                                   ` Linus Walleij
2013-02-08 22:10                                     ` Linus Walleij
2013-02-08 16:20                     ` Russell King - ARM Linux
2013-02-08 16:20                       ` Russell King - ARM Linux
2013-01-28 21:58       ` [PATCH 3/5] serial: pl011: " Arnd Bergmann
2013-01-28 21:58         ` Arnd Bergmann
     [not found]         ` <1359410300-26113-4-git-send-email-arnd-r2nGTMty4D4@public.gmane.org>
2013-01-30  4:38           ` Greg Kroah-Hartman
2013-01-30  4:38             ` Greg Kroah-Hartman
2013-01-28 21:58     ` [PATCH 4/5] ata: arasan: remove the need for platform_data Arnd Bergmann
2013-01-28 21:58       ` Arnd Bergmann
2013-01-29  8:18       ` Viresh Kumar
2013-01-29  8:18         ` Viresh Kumar
2013-01-28 21:58     ` [PATCH 5/5] ARM: SPEAr13xx: Pass generic DW DMAC platform data from DT Arnd Bergmann
2013-01-28 21:58       ` Arnd Bergmann
2013-01-29  8:16       ` Viresh Kumar
2013-01-29  8:16         ` Viresh Kumar
2013-01-29 13:21         ` Arnd Bergmann
2013-01-29 13:21           ` Arnd Bergmann
2013-04-19 20:38   ` [PATCH 0/5] dmaengine: convert dw_dmac/spear13xx to generic binding Arnd Bergmann

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=201301291621.59425.arnd@arndb.de \
    --to=arnd@arndb.de \
    --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.