public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/4] ARM: S3C24XX: add dmaengine based dma-driver
@ 2013-05-11 11:30 Heiko Stübner
  2013-05-11 11:30 ` [RFC 1/4] ARM: S3C24XX: number the dma clocks Heiko Stübner
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: Heiko Stübner @ 2013-05-11 11:30 UTC (permalink / raw)
  To: Dan Williams
  Cc: Vinod Koul, linux-kernel, linux-samsung-soc, kgene.kim,
	linux-arm-kernel

This series tries to provide a basic dmaengine driver for the s3c24xx
SoCs.

The driver currently has some limitations, in that it does not support the
earlier s3c24xx socs, that cannot use every channel, but have special
channel requirements for specific slave-targets.

Another limitation is, that it currently does not support scatter-gather
lists with more than element, due to me not understanding sg at first.
While it does not hinder the usability, as all applicable Samsung drivers
currently use only 1-element-lists, I plan to fix this in the next revision.

In any case, I would be thankful for pointers to the obvious mistakes I'll
probably have made, due to this being my first travel into dmaengine-land.


Heiko Stuebner (4):
  ARM: S3C24XX: number the dma clocks
  dma: add dmaengine driver for Samsung s3c24xx SoCs
  ARM: S3C24XX: add platform-devices for new dma driver for s3c2412 and s3c2443
  ARM: SAMSUNG: set s3c24xx_dma_filter for s3c64xx-spi0 device

 arch/arm/mach-s3c24xx/clock-s3c2412.c     |    8 +-
 arch/arm/mach-s3c24xx/common-s3c2443.c    |   12 +-
 arch/arm/mach-s3c24xx/common.c            |  103 +++
 arch/arm/mach-s3c24xx/common.h            |    3 +
 arch/arm/plat-samsung/devs.c              |    5 +-
 drivers/dma/Kconfig                       |   12 +-
 drivers/dma/Makefile                      |    1 +
 drivers/dma/s3c24xx-dma.c                 | 1129 +++++++++++++++++++++++++++++
 include/linux/platform_data/dma-s3c24xx.h |   54 ++
 9 files changed, 1315 insertions(+), 12 deletions(-)
 create mode 100644 drivers/dma/s3c24xx-dma.c
 create mode 100644 include/linux/platform_data/dma-s3c24xx.h

-- 
1.7.2.3


^ permalink raw reply	[flat|nested] 18+ messages in thread
* Re: [RFC 2/4] dma: add dmaengine driver for Samsung s3c24xx SoCs
@ 2013-05-16  2:18 Jingoo Han
  0 siblings, 0 replies; 18+ messages in thread
From: Jingoo Han @ 2013-05-16  2:18 UTC (permalink / raw)
  To: Tomasz Figa, Linus Walleij
  Cc: Heiko St?bner, Russell King - ARM Linux, Dan Williams, Vinod Koul,
	linux-kernel@vger.kernel.org, linux-samsung-soc, Kukjin Kim,
	linux-arm-kernel@lists.infradead.org, Jingoo Han

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=euc-kr, Size: 1954 bytes --]

On Tuesday, May 14, 2013 11:22 PM Tomasz Figa wrote:
> 
> Hi Linus, Heiko,
> 
> On Tuesday 14 of May 2013 14:47:19 Linus Walleij wrote:
> > On Sat, May 11, 2013 at 1:31 PM, Heiko St?bner <heiko@sntech.de> wrote:
> > > Conceptually the s3c24xx-dma feels like a distant relative of the pl08x
> > > with numerous virtual channels being mapped to a lot less physical ones.
> > > The driver therefore borrows a lot from the amba-pl08x driver in this
> > > regard. Functionality-wise the driver gains a memcpy ability in addition
> > > to the slave_sg one.
> > >
> > > The driver currently only supports the "newer" SoCs which can use any
> > > physical channel for any dma slave. Support for the older SoCs where
> > > each channel only supports a subset of possible dma slaves will have to
> > > be added later.
> > >
> > > Tested on a s3c2416-based board, memcpy using the dmatest module and
> > > slave_sg partially using the spi-s3c64xx driver.
> > >
> > > Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> >
> > So have I understood correctly if I assume that *some* S3C
> > variants, i.e. this: arch/arm/mach-s3c64xx/dma.c
> > have a vanilla, unmodified, or just slightly modified
> > PL08x block, while this DMAC is something probably based on
> > the PL08x where some ASIC engineer has had a good time hacking
> > around in the VHDL code to meet some feature requirements.
> > Correct? Or plausible guess?
> >
> > Exactly *how* far away from the pl08x hardware is it?
> 
> AFAIK the DMAC of S3C24xx is completely different from PL08x. I think Heiko
> just meant that it uses similar concepts, like virtual channels.

Yes, right.
the DMAC of S3C24xx is completely different from PL08x.
As Heiko mentioned, the DMAC of S3C24xx is 'home grown' as other IPs of S3C24xx.

Best regards,
Jingoo Hanÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2013-05-17 12:20 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-11 11:30 [RFC 0/4] ARM: S3C24XX: add dmaengine based dma-driver Heiko Stübner
2013-05-11 11:30 ` [RFC 1/4] ARM: S3C24XX: number the dma clocks Heiko Stübner
2013-05-11 11:31 ` [RFC 2/4] dma: add dmaengine driver for Samsung s3c24xx SoCs Heiko Stübner
2013-05-14 12:47   ` Linus Walleij
2013-05-14 13:51     ` Heiko Stübner
2013-05-15 18:38       ` Linus Walleij
2013-05-14 14:21     ` Tomasz Figa
2013-05-15 18:53   ` Linus Walleij
2013-05-15 20:31     ` Heiko Stübner
2013-05-15 21:20       ` Sylwester Nawrocki
2013-05-15 21:48         ` Heiko Stübner
2013-05-15 22:02           ` Tomasz Figa
2013-05-15 22:45             ` Heiko Stübner
2013-05-15 23:26               ` Tomasz Figa
2013-05-17 12:20       ` Linus Walleij
2013-05-11 11:32 ` [RFC 3/4] ARM: S3C24XX: add platform-devices for new dma driver for s3c2412 and s3c2443 Heiko Stübner
2013-05-11 11:32 ` [RFC 4/4] ARM: SAMSUNG: set s3c24xx_dma_filter for s3c64xx-spi0 device Heiko Stübner
  -- strict thread matches above, loose matches on Subject: below --
2013-05-16  2:18 [RFC 2/4] dma: add dmaengine driver for Samsung s3c24xx SoCs Jingoo Han

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox