alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/8] ARM: s3c64xx: Let amba-pl08x driver handle DMA
@ 2013-10-16 19:10 Tomasz Figa
  2013-10-16 19:10 ` [PATCH v2 1/8] spi: s3c64xx: Do not require legacy DMA API in case of S3C64XX Tomasz Figa
                   ` (8 more replies)
  0 siblings, 9 replies; 17+ messages in thread
From: Tomasz Figa @ 2013-10-16 19:10 UTC (permalink / raw)
  To: linux-samsung-soc
  Cc: linux-arm-kernel, alsa-devel, linux-spi, Arnd Bergmann, Ben Dooks,
	Jaroslav Kysela, Kukjin Kim, Liam Girdwood, Mark Brown,
	Mike Turquette, Padmavathi Venna, Russell King, Sachin Kamat,
	Sangbeom Kim, Takashi Iwai, Tomasz Figa

Since the patches extending support of amba-pl08x DMA engine driver to
PL080S DMA engine (PL080 modified by Samsung) found in Samsung S3C64xx
SoCs got merged into Linux 3.12, it is a good time to migrate the
platform to use this driver and drop the legacy DMA code.

Due to changes scattered across different areas of kernel, patches are
based on merged 4 branches:
 - for-next of Kukjin Kim's Samsung tree,
 - clk-next of Mike Turquette's clock tree,
 - for-next of Mark Brown's SPI tree,
 - for-next of Mark Brown's ASoC tree.

To ease testing I have prepared a branch in my private tree for anyone
willing to check the patches out:
	git://github.com/tom3q/linux.git s3c64xx-pl08x-patches

On S3C64xx-based Mini6410 and SMDK6410 boards, with I2S audio
playback and capture (including full duplex operation) and also SPI
using spidev:

Tested-by: Tomasz Figa <tomasz.figa@gmail.com>

Changes since v1:
 - Dropped the now merged patches adding PL080s support amba-pl08x driver,
 - Rebased onto current for-next branches of respective trees.
 - Stopped hijacking pl330_filter() symbol to plug pl08_filter_id()
   as channel filtering callback on S3C64xx.

Changes since RFC v2:
 - Added clkdev lookups to old clock driver.
 - Added patches removing the old DMA driver and any remaining code
   needed by it.
 - Fixed DMA support for SPI.
 - Added a word about PL080S to amba-pl08x.c file header.
 - Changed definition of LLI words from enums to macros.
 - Extended debugging messages to handle PL080S variant as well.
 - Little cleanup of LLI dumping code.
 - Added check for peripheral flow control, which is unsupported by
   PL080S to dma_set_runtime_config.
 - Corrected transfer size mask of PL080S.

Changes since RFC v1:
 - Returned to original way of storing quirks as booleans, as suggested
   by Russell, Linus and Arnd.
 - Added reg_config field to pl08x_phy_chan struct, which stores
   variant-specific address of channel config register, as suggested
   by Russell.
 - Simplified handling of extended maximum transfer size of PL080S
   (no more conditional passing of 0 as length to pl08x_cctl_bits()).
 - Reworked LLI handling in the driver to stop casting arbitrary memory
   to a struct and allow different word count of LLI entry, as suggested
   by Linus.
 - Removed AMBA ID override from S3C64xx PL080 initialization code.
 - Fixed brokenness of Samsung DMA wrapper API, which caused cyclic buffers
   to be queued multiple times when DMA engine is used.
 - Included patch adding clock aliases for DMA engines (depends on
   Common Clock Framework driver for S3C64xx).
 - Fixed several minor stylistic issues.

Tomasz Figa (8):
  spi: s3c64xx: Do not require legacy DMA API in case of S3C64XX
  ASoC: Samsung: Do not require legacy DMA API in case of S3C64XX
  ARM: s3c64xx: Add support for DMA using generic amba-pl08x driver
  clk: samsung: s3c64xx: Add aliases for DMA clocks
  ARM: s3c64xx: Remove legacy DMA driver
  clk: samsung: s3c64xx: Remove clock aliases of old DMA driver
  spi: s3c64xx: Always select S3C64XX_PL080 when ARCH_S3C64XX is enabled
  ASoC: Samsung: Always select S3C64XX_PL080 when ARCH_S3C64XX is
    enabled

 arch/arm/Kconfig                         |   1 +
 arch/arm/mach-s3c64xx/Kconfig            |   7 +-
 arch/arm/mach-s3c64xx/Makefile           |   2 +-
 arch/arm/mach-s3c64xx/common.h           |   5 +
 arch/arm/mach-s3c64xx/dma.c              | 762 -------------------------------
 arch/arm/mach-s3c64xx/include/mach/dma.h | 144 ++----
 arch/arm/mach-s3c64xx/pl080.c            | 244 ++++++++++
 arch/arm/plat-samsung/devs.c             |  10 +-
 arch/arm/plat-samsung/dma-ops.c          |   8 +-
 drivers/clk/samsung/clk-s3c64xx.c        |   4 +-
 drivers/spi/Kconfig                      |   2 +-
 sound/soc/samsung/Kconfig                |   2 +-
 12 files changed, 316 insertions(+), 875 deletions(-)
 delete mode 100644 arch/arm/mach-s3c64xx/dma.c
 create mode 100644 arch/arm/mach-s3c64xx/pl080.c

-- 
1.8.3.2

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

end of thread, other threads:[~2013-12-04 21:39 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-16 19:10 [PATCH v2 0/8] ARM: s3c64xx: Let amba-pl08x driver handle DMA Tomasz Figa
2013-10-16 19:10 ` [PATCH v2 1/8] spi: s3c64xx: Do not require legacy DMA API in case of S3C64XX Tomasz Figa
2013-10-17 10:33   ` Mark Brown
2013-10-16 19:10 ` [PATCH v2 2/8] ASoC: Samsung: " Tomasz Figa
2013-10-17 10:34   ` Mark Brown
2013-10-16 19:10 ` [PATCH v2 3/8] ARM: s3c64xx: Add support for DMA using generic amba-pl08x driver Tomasz Figa
2013-10-16 19:10 ` [PATCH v2 4/8] clk: samsung: s3c64xx: Add aliases for DMA clocks Tomasz Figa
2013-10-21 12:11   ` Mike Turquette
2013-10-16 19:10 ` [PATCH v2 5/8] ARM: s3c64xx: Remove legacy DMA driver Tomasz Figa
2013-10-16 19:10 ` [PATCH v2 6/8] clk: samsung: s3c64xx: Remove clock aliases of old " Tomasz Figa
     [not found]   ` <1381950659-12703-7-git-send-email-tomasz.figa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-10-21 12:12     ` Mike Turquette
2013-10-16 19:10 ` [PATCH v2 7/8] spi: s3c64xx: Always select S3C64XX_PL080 when ARCH_S3C64XX is enabled Tomasz Figa
2013-10-16 19:10 ` [PATCH v2 8/8] ASoC: Samsung: " Tomasz Figa
2013-10-17 10:22 ` [PATCH v2 0/8] ARM: s3c64xx: Let amba-pl08x driver handle DMA Mark Brown
     [not found]   ` <20131017102201.GK2443-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-10-20 21:04     ` Kukjin Kim
     [not found]       ` <52644563.1000203-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-11-20 12:31         ` Mark Brown
     [not found]           ` <20131120123152.GZ2674-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-12-04 21:39             ` Olof Johansson

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).