linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: kgene.kim@samsung.com (Kukjin Kim)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 6/7] spi/s3c64xx: Add support DMA engine API
Date: Tue, 05 Jul 2011 16:05:32 +0900	[thread overview]
Message-ID: <00bd01cc3ae1$f1dbfac0$d593f040$%kim@samsung.com> (raw)
In-Reply-To: <20110704232758.GB12824@ponder.secretlab.ca>

Grant Likely wrote:
> 
> On Mon, Jul 04, 2011 at 09:51:43PM +0200, Heiko St?bner wrote:
> > Am Montag 04 Juli 2011, 19:02:17 schrieb Grant Likely:
> > > On Mon, Jul 04, 2011 at 06:59:11PM +0200, Heiko St?bner wrote:
> > > > Am Montag 04 Juli 2011, 18:42:51 schrieb Grant Likely:
> > > > >
> > > > > Wow.  A lot of #ifdefs here.  It does not look multiplatform
friendly
> > > > > at all.  Are the s3c2410_dma functions obsolete when DMADEV_PL330
is
> > > > > selected?  If so, can they be removed entirely, or are they
required
> > > > > to support certain hardware?
> > > >
> > > > The spi_s3c64xx driver can also support the SPI controller of the
> > > > S3C2416/S3C2443 line of SoCs.
> > > > As I'm currently working on a S3C2416 based project, my small wish
from
> > > > the sidelines would be to not break this support with whatever
solution
> > > > you will decide on :-) .
> > >
> > > I will not merge a patch that either breaks a platform, or requires
> > > a compile time either/or choice of device support (enabling support
> > > for one device should not break support for another).
> >
> > The patch above seems to contain the support for both SoCs (i.e.
> s3c2410_dma_*
> > for S3C2416 etc), so it wouldn't break the support.
> > But this form will definitly break future multiplatform kernels when the
2416
> > and some variant using the DMADEV_PL330 are selected at the same time.
> 
> Yes, that's the breakage I'm talking about.
> 
> > The 2416/2443 seem to be the first Samsung-SoCs to have a SPI-controller
of
> > this type. Implementing the DMA engine stuff for these SoCs would
obviously
> > solve the ifdef-problem but I don't know if this is possible to do.
> 
> Of course it's possible, it's just software.  :-D
> 
> If a config option is either/or then it needs to be really well
> justified before I will accept it.  Most either/or options I've seen
> aren't for any strong technical reason other than it was easier to
> code that way.

Hi all,

Yes I know your concerns on this.

First of all, please see below which is block diagram of Samsung DMA usage
and 1st step will be finished with other patches for S5PC100 and S5PV210
soon. Basically we need more time maybe 2 or 3 days to test on boards.

+---------------------------------------------------------------------+
| Each drivers which uses DMA                                         |
+---------------------------------------------------------------------+
| S3C DMA API (such as s3c2410_dma_xxxx)                              |
+-------------------------------+-------------------------------------+
| PL080 DMA driver              | S3C PL330 DMA API driver            |
| for S3C24XX and S3C64XX       | (arch/arm/plat-samsung/s3c-pl330.c) |
|                               +-------------------------------------+
| (arch/arm/plat-s3c24xx/dma.c) | Common DMA core driver              |
| (arch/arm/mach-s3c64xx/dma.c) | (arch/arm/common/pl330.c)           |
+-------------------------------+-------------------------------------+
                               ||
          (1st step. removing S3C DMA API for PL330)
                               ||
                               \/
+---------------------------------------------------------------------+
| Each drivers which uses DMA                                         |
+-------------------------------+-------------------------------------+
| S3C DMA API(s3c2410_dma_xxx)  | DMA generic API for PL330           |
+-------------------------------+-------------------------------------+
| PL080 DMA driver              | PL330 DMA API driver                |
| for S3C24XX and S3C64XX       | (drivers/dma/pl330.c)               |
|                               +-------------------------------------+
| (arch/arm/plat-s3c24xx/dma.c) | Common DMA core driver              |
| (arch/arm/mach-s3c64xx/dma.c) | (arch/arm/common/pl330.c)           |
+-------------------------------+-------------------------------------+

As you saw, the S3C_DMA_API is still used for PL080 DMA for compatibilities
with this patches in each driver, e.g., spi and audio. As a note, S3C24XX
and S3C64XX include PL080 DMAC not PL330.

Of course, if we can remove every S3C_DMA_API, that can be the best solution
but it needs more time. I'd like to go to our goal step by step.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

  reply	other threads:[~2011-07-05  7:05 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-04 12:18 [PATCH 0/7] ARM: S5P: Use generic DMA APIs Kukjin Kim
2011-07-04 12:18 ` [PATCH 1/7] DMA: PL330: Add support runtime PM for PL330 DMAC Kukjin Kim
2011-07-05  6:11   ` Alim Akhtar
2011-07-05  7:26     ` Kukjin Kim
2011-07-05  8:04   ` Russell King - ARM Linux
2011-07-08 10:18     ` Kukjin Kim
2011-07-04 12:18 ` [PATCH 2/7] DMA: PL330: Update PL330 DMA API driver Kukjin Kim
2011-07-05  7:36   ` Russell King - ARM Linux
2011-07-08  7:57     ` Kukjin Kim
2011-07-04 12:18 ` [PATCH 3/7] DMA: PL330: Add DMA capabilities Kukjin Kim
2011-07-05  6:33   ` Chanho Park
2011-07-05  7:10     ` Kukjin Kim
2011-07-05  8:08       ` Chanho Park
2011-07-12  8:32     ` Jassi Brar
2011-07-14  0:57       ` boojin
2011-07-14  3:53         ` Jassi Brar
2011-07-14  9:04           ` boojin
2011-07-04 12:18 ` [PATCH 4/7] ARM: SAMSUNG: Update to use PL330-DMA driver Kukjin Kim
2011-07-04 12:18 ` [PATCH 5/7] ARM: EXYNOS4: Use generic DMA PL330 driver Kukjin Kim
2011-07-05  6:07   ` Alim Akhtar
2011-07-05  8:30     ` Sangwook Lee
2011-07-04 12:18 ` [PATCH 6/7] spi/s3c64xx: Add support DMA engine API Kukjin Kim
2011-07-04 16:42   ` Grant Likely
2011-07-04 16:56     ` Mark Brown
2011-07-04 16:59     ` Heiko Stübner
2011-07-04 17:02       ` Grant Likely
2011-07-04 19:51         ` Heiko Stübner
2011-07-04 23:27           ` Grant Likely
2011-07-05  7:05             ` Kukjin Kim [this message]
2011-07-05  7:53               ` Russell King - ARM Linux
2011-07-05 10:51               ` Heiko Stübner
2011-07-05 11:16               ` Jassi Brar
2011-07-05 11:27                 ` Russell King - ARM Linux
2011-07-05 11:45                   ` Jassi Brar
2011-07-08  9:26                 ` Kukjin Kim
2011-07-05  7:48   ` Russell King - ARM Linux
2011-07-05  8:39   ` Chanho Park
2011-07-04 12:18 ` [PATCH 7/7] ASoC: Samsung: Update DMA interface Kukjin Kim
2011-07-04 17:03   ` Mark Brown
2011-07-05  7:19     ` Kukjin Kim
2011-07-05 18:04       ` Grant Likely
2011-07-05  7:45     ` Seungwhan Youn

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='00bd01cc3ae1$f1dbfac0$d593f040$%kim@samsung.com' \
    --to=kgene.kim@samsung.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).