From: Tomasz Figa <tomasz.figa@gmail.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: "alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
"Heiko Stübner" <heiko@sntech.de>,
"Padmavathi Venna" <padma.v@samsung.com>,
"Takashi Iwai" <tiwai@suse.de>,
"Alessandro Rubini" <rubini@gnudd.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Giancarlo Asnaghi" <giancarlo.asnaghi@st.com>,
"Kukjin Kim" <kgene.kim@samsung.com>,
"Russell King - ARM Linux" <linux@arm.linux.org.uk>,
"Vinod Koul" <vinod.koul@intel.com>,
"Thomas Abraham" <thomas.abraham@linaro.org>,
"Grant Likely" <grant.likely@linaro.org>,
"Arnd Bergmann" <arnd@arndb.de>,
linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
"Sylwester Nawrocki" <sylvester.nawrocki@gmail.com>,
"Jaroslav Kysela" <perex@perex.cz>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"Sangbeom Kim" <sbkim73@samsung.com>,
"Liam Girdwood" <lgirdwood@gmail.com>, linux-spi@vger.kernel.
Subject: Re: [RFC PATCH 00/11] ARM: s3c64xx: Let amba-pl08x driver handle DMA
Date: Mon, 17 Jun 2013 21:38:10 +0200 [thread overview]
Message-ID: <7386771.s52fBU89jU@flatron> (raw)
In-Reply-To: <CACRpkdbS3YvwSjpMQbJvSNty=sBrx20vUHKYG44OaWowcN6b0g@mail.gmail.com>
On Monday 17 of June 2013 16:06:25 Linus Walleij wrote:
> On Sun, Jun 16, 2013 at 10:54 PM, Tomasz Figa <tomasz.figa@gmail.com>
wrote:
> > One of the biggest roadblocks on the way of S3C64xx to DeviceTree
> > support is its DMA driver, which is completely platform-specific and
> > provides private API (s3c-dma), not even saying that its design is
> > completely against multiplatform-awareness.
> >
> > The DMA controller present on this SoC series is a custom variant
> > of ARM PrimeCell PL080 modified by Samsung to add some extra features.
> >
> > It is mostly compatible with original PL080, except:
> > - CH_CONTROL2 register is added between CH_CONTROL and CH_CONFIG,
> > - offset of CH_CONFIG register is different,
> > - transfer size field is moved from CH_CONTROL to CH_CONTROL2,
> > - transfer size field is extended to 24 bits, allowing much bigger
> >
> > single transfer,
> >
> > - LLI consists of one more word, to account for CH_CONTROL2 register.
> >
> > Since all the rest is fully compatible with standard PL080 there is no
> > point in having separate driver just for this single variant, so I
> > decided to look into adding support for it to the amba-pl08x driver.
> >
> > There was already some attempt to achieve this before, but this was
> > before Russel's big rework of the driver to use virtual channels,
> > making the old patches being not much of use.
> >
> > This RFC series is a proof of concept that I managed to make during
> > last days of hacking. Except one patch adding clkdev lookup to clock
> > driver (which is being replaced with a CCF-compliant driver ATM),
> > this is enough to get memcpy and slave transfers to work on S3C64xx.
> >
> > I have tested this on Mini6410 and SMDK6410 boards using dmatest for
> > memcpy and Samsung I2S with madplay/aplay for slave transfers.
> > Unfortunately I do not have access to other platforms with PL08x so
> > I could not test for any regressions introduced on them.
> >
> > Credits for two patches go to Alban Bedel, who made a series fixing
> > this driver to make it usable with audio drivers. I rebased his
> > patches on top of mine and corrected coding style a bit.
> >
> > OK, that's all. Any comments are welcome. Feel free to start throwing
> > eggs and tomatoes if you find this awful, but I won't be upset if I
> > get some Tested-by or Acked-by as well. ;)
>
> I've waited for a long time for this to happen, thank you very much for
> doing this.
You're welcome. Thanks for your review.
Best regards,
Tomasz
WARNING: multiple messages have this Message-ID (diff)
From: tomasz.figa@gmail.com (Tomasz Figa)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 00/11] ARM: s3c64xx: Let amba-pl08x driver handle DMA
Date: Mon, 17 Jun 2013 21:38:10 +0200 [thread overview]
Message-ID: <7386771.s52fBU89jU@flatron> (raw)
In-Reply-To: <CACRpkdbS3YvwSjpMQbJvSNty=sBrx20vUHKYG44OaWowcN6b0g@mail.gmail.com>
On Monday 17 of June 2013 16:06:25 Linus Walleij wrote:
> On Sun, Jun 16, 2013 at 10:54 PM, Tomasz Figa <tomasz.figa@gmail.com>
wrote:
> > One of the biggest roadblocks on the way of S3C64xx to DeviceTree
> > support is its DMA driver, which is completely platform-specific and
> > provides private API (s3c-dma), not even saying that its design is
> > completely against multiplatform-awareness.
> >
> > The DMA controller present on this SoC series is a custom variant
> > of ARM PrimeCell PL080 modified by Samsung to add some extra features.
> >
> > It is mostly compatible with original PL080, except:
> > - CH_CONTROL2 register is added between CH_CONTROL and CH_CONFIG,
> > - offset of CH_CONFIG register is different,
> > - transfer size field is moved from CH_CONTROL to CH_CONTROL2,
> > - transfer size field is extended to 24 bits, allowing much bigger
> >
> > single transfer,
> >
> > - LLI consists of one more word, to account for CH_CONTROL2 register.
> >
> > Since all the rest is fully compatible with standard PL080 there is no
> > point in having separate driver just for this single variant, so I
> > decided to look into adding support for it to the amba-pl08x driver.
> >
> > There was already some attempt to achieve this before, but this was
> > before Russel's big rework of the driver to use virtual channels,
> > making the old patches being not much of use.
> >
> > This RFC series is a proof of concept that I managed to make during
> > last days of hacking. Except one patch adding clkdev lookup to clock
> > driver (which is being replaced with a CCF-compliant driver ATM),
> > this is enough to get memcpy and slave transfers to work on S3C64xx.
> >
> > I have tested this on Mini6410 and SMDK6410 boards using dmatest for
> > memcpy and Samsung I2S with madplay/aplay for slave transfers.
> > Unfortunately I do not have access to other platforms with PL08x so
> > I could not test for any regressions introduced on them.
> >
> > Credits for two patches go to Alban Bedel, who made a series fixing
> > this driver to make it usable with audio drivers. I rebased his
> > patches on top of mine and corrected coding style a bit.
> >
> > OK, that's all. Any comments are welcome. Feel free to start throwing
> > eggs and tomatoes if you find this awful, but I won't be upset if I
> > get some Tested-by or Acked-by as well. ;)
>
> I've waited for a long time for this to happen, thank you very much for
> doing this.
You're welcome. Thanks for your review.
Best regards,
Tomasz
next prev parent reply other threads:[~2013-06-17 19:38 UTC|newest]
Thread overview: 133+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-16 20:54 [RFC PATCH 00/11] ARM: s3c64xx: Let amba-pl08x driver handle DMA Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-16 20:54 ` [RFC PATCH 01/11] dma: amba-pl08x: Use bitmap to pass variant specific quirks Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-17 13:25 ` Linus Walleij
2013-06-17 13:25 ` Linus Walleij
2013-06-17 18:48 ` Russell King - ARM Linux
2013-06-17 18:48 ` Russell King - ARM Linux
2013-06-17 18:48 ` Russell King - ARM Linux
2013-06-17 18:56 ` Tomasz Figa
2013-06-17 18:56 ` Tomasz Figa
2013-06-17 18:56 ` Tomasz Figa
2013-06-18 7:47 ` Linus Walleij
2013-06-18 7:47 ` Linus Walleij
2013-06-18 13:33 ` Arnd Bergmann
2013-06-18 13:33 ` Arnd Bergmann
2013-06-16 20:54 ` [RFC PATCH 02/11] dma: amba-pl08x: Refactor pl08x_getbytes_chan() to lower indentation Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-17 13:29 ` Linus Walleij
2013-06-17 13:29 ` Linus Walleij
2013-06-16 20:54 ` [RFC PATCH 03/11] dma: amba-pl08x: Add support for different offset of CONFIG register Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-17 13:31 ` Linus Walleij
2013-06-17 13:31 ` Linus Walleij
2013-06-17 18:52 ` Russell King - ARM Linux
2013-06-17 18:52 ` Russell King - ARM Linux
2013-06-17 18:52 ` Russell King - ARM Linux
2013-06-17 19:02 ` Tomasz Figa
2013-06-17 19:02 ` Tomasz Figa
2013-06-17 19:02 ` Tomasz Figa
2013-06-16 20:54 ` [RFC PATCH 04/11] dma: amba-pl08x: Add support for PL080S variant Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-17 13:39 ` Linus Walleij
2013-06-17 13:39 ` Linus Walleij
2013-06-17 18:22 ` Tomasz Figa
2013-06-17 18:22 ` Tomasz Figa
2013-06-16 20:54 ` [RFC PATCH 05/11] dma: amba-pl08x: Add support for different maximum transfer size Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-17 13:42 ` Linus Walleij
2013-06-17 13:42 ` Linus Walleij
2013-06-17 18:27 ` Tomasz Figa
2013-06-17 18:27 ` Tomasz Figa
2013-06-16 20:54 ` [RFC PATCH 06/11] dma: amba-pl08x: Keep LLIs aligned to 4-word boundary Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-17 13:51 ` Linus Walleij
2013-06-17 13:51 ` Linus Walleij
2013-06-17 18:28 ` Tomasz Figa
2013-06-17 18:28 ` Tomasz Figa
2013-06-17 19:01 ` Russell King - ARM Linux
2013-06-17 19:01 ` Russell King - ARM Linux
2013-06-16 20:54 ` [RFC PATCH 07/11] dmaengine: PL08x: Fix reading the byte count in cctl Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-17 13:53 ` Linus Walleij
2013-06-17 13:53 ` Linus Walleij
2013-06-17 18:32 ` Tomasz Figa
2013-06-17 18:32 ` Tomasz Figa
2013-06-17 19:03 ` Russell King - ARM Linux
2013-06-17 19:03 ` Russell King - ARM Linux
2013-06-16 20:54 ` [RFC PATCH 08/11] dmaengine: PL08x: Add cyclic transfer support Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-17 13:57 ` Linus Walleij
2013-06-17 13:57 ` Linus Walleij
2013-06-17 18:52 ` Tomasz Figa
2013-06-17 18:52 ` Tomasz Figa
2013-06-17 18:56 ` Russell King - ARM Linux
2013-06-17 18:56 ` Russell King - ARM Linux
2013-06-17 18:56 ` Russell King - ARM Linux
2013-06-16 20:54 ` [RFC PATCH 09/11] spi: s3c64xx: Do not require legacy DMA API in case of S3C64XX Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-17 13:59 ` Linus Walleij
2013-06-17 13:59 ` Linus Walleij
2013-06-17 16:06 ` Mark Brown
2013-06-17 16:06 ` Mark Brown
2013-06-17 19:36 ` Tomasz Figa
2013-06-17 19:36 ` Tomasz Figa
2013-06-16 20:54 ` [RFC PATCH 10/11] ASoC: samsung: " Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-17 14:01 ` Linus Walleij
2013-06-17 14:01 ` Linus Walleij
2013-06-16 20:54 ` [RFC PATCH 11/11] ARM: s3c64xx: Add support for DMA using generic amba-pl08x driver Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-16 20:54 ` Tomasz Figa
2013-06-17 14:04 ` Linus Walleij
2013-06-17 14:04 ` Linus Walleij
2013-06-19 18:23 ` Tomasz Figa
2013-06-19 18:23 ` Tomasz Figa
2013-06-19 19:50 ` Linus Walleij
2013-06-19 19:50 ` Linus Walleij
2013-06-17 14:06 ` [RFC PATCH 00/11] ARM: s3c64xx: Let amba-pl08x driver handle DMA Linus Walleij
2013-06-17 14:06 ` Linus Walleij
2013-06-17 19:38 ` Tomasz Figa [this message]
2013-06-17 19:38 ` Tomasz Figa
2013-06-19 17:40 ` Mark Brown
2013-06-19 17:40 ` Mark Brown
2013-06-19 17:40 ` Mark Brown
2013-06-19 18:26 ` Tomasz Figa
2013-06-19 18:26 ` Tomasz Figa
2013-06-19 18:26 ` Tomasz Figa
2013-06-19 19:01 ` Arnd Bergmann
2013-06-19 19:01 ` Arnd Bergmann
2013-06-19 19:01 ` Arnd Bergmann
2013-06-19 19:24 ` Mark Brown
2013-06-19 19:24 ` Mark Brown
2013-06-19 19:24 ` Mark Brown
2013-06-19 19:22 ` Mark Brown
2013-06-19 19:22 ` Mark Brown
2013-06-19 19:22 ` Mark Brown
2013-06-19 19:32 ` Tomasz Figa
2013-06-19 19:32 ` Tomasz Figa
2013-06-19 19:32 ` Tomasz Figa
2013-06-19 22:48 ` Mark Brown
2013-06-19 22:48 ` Mark Brown
2013-06-19 22:48 ` Mark Brown
2013-06-20 9:24 ` Phil Carmody
2013-06-20 9:24 ` Phil Carmody
2013-06-20 10:35 ` Mark Brown
2013-06-20 10:35 ` Mark Brown
2013-06-20 11:14 ` Phil Carmody
2013-06-20 11:14 ` Phil Carmody
2013-06-21 9:47 ` Mark Brown
2013-06-21 9:47 ` Mark Brown
2013-06-21 9:47 ` Mark Brown
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=7386771.s52fBU89jU@flatron \
--to=tomasz.figa@gmail.com \
--cc=alsa-devel@alsa-project.org \
--cc=arnd@arndb.de \
--cc=giancarlo.asnaghi@st.com \
--cc=grant.likely@linaro.org \
--cc=heiko@sntech.de \
--cc=kgene.kim@samsung.com \
--cc=lgirdwood@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-spi@vger.kernel. \
--cc=linux@arm.linux.org.uk \
--cc=padma.v@samsung.com \
--cc=perex@perex.cz \
--cc=rubini@gnudd.com \
--cc=sbkim73@samsung.com \
--cc=sylvester.nawrocki@gmail.com \
--cc=thomas.abraham@linaro.org \
--cc=tiwai@suse.de \
--cc=vinod.koul@intel.com \
/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.