All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/32] dmaengine: Refactor the DMA40 driver
@ 2013-04-18 10:11 ` Lee Jones
  0 siblings, 0 replies; 337+ messages in thread
From: Lee Jones @ 2013-04-18 10:11 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel; +Cc: arnd, linus.walleij

The aim of this patch-set is to refactor the DMA40 and its clients to
use the DMA APIs in the correct manor. It also encompasses a few
cleanups along the way.

When a client requests a channel, the driver should only do very basic
channel configuration, as the information passed from clients is very
limited at this stage. Instead, channels should be configured during a
separate call which is invoked after a channel number has been assigned.
This patch-set ensures that only the basic amount of configuration is
attempted at allocation time. By doing this, we're also allowing DMA
configuration to originate from Device Tree.

This process is ongoing, as there is still one outstanding client
waiting to be converted. The MSP (Audio) driver's DMA routines have
recently been adapted to this new way of doing things. Some patches
have been accepted, others are still on the lists. Once they have
all been applied, I can continue the refactoring process.

Ideally, I'd like this patch-set to go in order, as a full patch-set.
As to which tree it should go though, I don't have any strong
preference.

 Documentation/devicetree/bindings/dma/ste-dma40.txt |   66 ++++++++++++++++
 arch/arm/boot/dts/dbx5x0.dtsi                       |   46 ++++++++++-
 arch/arm/mach-ux500/board-mop500-audio.c            |   56 ++------------
 arch/arm/mach-ux500/board-mop500-sdi.c              |   40 ++--------
 arch/arm/mach-ux500/board-mop500.c                  |   49 +++---------
 arch/arm/mach-ux500/board-mop500.h                  |    1 +
 arch/arm/mach-ux500/cpu-db8500.c                    |   60 +++++----------
 arch/arm/mach-ux500/devices-db8500.c                |  163 +++++++++++++++------------------------
 arch/arm/mach-ux500/ste-dma40-db8500.h              |  193 ++++++++++++++++------------------------------
 arch/arm/mach-ux500/usb.c                           |   10 +--
 drivers/dma/ste_dma40.c                             |  376 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------
 drivers/dma/ste_dma40_ll.c                          |  112 +++++++++++++--------------
 drivers/dma/ste_dma40_ll.h                          |    5 +-
 include/linux/platform_data/dma-ste-dma40.h         |   16 +---
 14 files changed, 574 insertions(+), 619 deletions(-)





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

end of thread, other threads:[~2013-06-10  9:12 UTC | newest]

Thread overview: 337+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-18 10:11 [PATCH 00/32] dmaengine: Refactor the DMA40 driver Lee Jones
2013-04-18 10:11 ` Lee Jones
2013-04-18 10:11 ` [PATCH 01/32] dmaengine: ste_dma40: Assign memcpy channels in the driver Lee Jones
2013-04-18 10:11   ` Lee Jones
2013-04-22  9:22   ` Vinod Koul
2013-04-22  9:22     ` Vinod Koul
2013-04-25  9:20   ` Linus Walleij
2013-04-25  9:20     ` Linus Walleij
2013-04-18 10:11 ` [PATCH 02/32] dmaengine: ste_dma40: Move default memcpy configs into " Lee Jones
2013-04-18 10:11   ` Lee Jones
2013-04-22  9:21   ` Vinod Koul
2013-04-22  9:21     ` Vinod Koul
2013-04-24 14:44   ` Linus Walleij
2013-04-24 14:44     ` Linus Walleij
2013-04-18 10:11 ` [PATCH 03/32] dmaengine: ste_dma40: Use the BIT macro to replace ugly '(1 << x)'s Lee Jones
2013-04-18 10:11   ` Lee Jones
2013-04-18 10:43   ` Russell King - ARM Linux
2013-04-18 10:43     ` Russell King - ARM Linux
2013-04-18 11:00     ` Lee Jones
2013-04-18 11:00       ` Lee Jones
2013-04-18 12:16   ` [PATCH 03/32 v2] " Lee Jones
2013-04-18 12:16     ` Lee Jones
2013-04-22 10:13     ` Vinod Koul
2013-04-22 10:13       ` Vinod Koul
2013-04-24 14:54     ` Linus Walleij
2013-04-24 14:54       ` Linus Walleij
2013-04-24 15:08       ` Lee Jones
2013-04-24 15:08         ` Lee Jones
2013-04-24 15:09   ` [PATCH 03/32] " Lee Jones
2013-04-24 15:09     ` Lee Jones
2013-04-24 15:11   ` [PATCH 03/32 v3] " Lee Jones
2013-04-24 15:11     ` Lee Jones
2013-04-24 19:24     ` Rabin Vincent
2013-04-24 19:24       ` Rabin Vincent
2013-04-25  8:13       ` Lee Jones
2013-04-25  8:13         ` Lee Jones
2013-04-26 11:39   ` [PATCH 03/32 v4] " Lee Jones
2013-04-26 11:39     ` Lee Jones
2013-04-26 15:04     ` Linus Walleij
2013-04-26 15:04       ` Linus Walleij
2013-04-18 10:11 ` [PATCH 04/32] dmaengine: ste_dma40: Amalgamate DMA source and destination channel numbers Lee Jones
2013-04-18 10:11   ` Lee Jones
2013-04-25  8:06   ` Linus Walleij
2013-04-25  8:06     ` Linus Walleij
2013-04-25  8:36     ` Arnd Bergmann
2013-04-25  8:36       ` Arnd Bergmann
2013-04-25  8:55       ` Linus Walleij
2013-04-25  8:55         ` Linus Walleij
2013-04-25  9:06     ` Lee Jones
2013-04-25  9:06       ` Lee Jones
2013-04-25 12:43       ` Linus Walleij
2013-04-25 12:43         ` Linus Walleij
2013-04-25 13:09         ` Russell King - ARM Linux
2013-04-25 13:09           ` Russell King - ARM Linux
2013-04-25 13:21           ` Linus Walleij
2013-04-25 13:21             ` Linus Walleij
2013-04-25 13:20         ` Lee Jones
2013-04-25 13:20           ` Lee Jones
2013-04-25 13:24           ` Linus Walleij
2013-04-25 13:24             ` Linus Walleij
2013-04-26 14:28             ` Lee Jones
2013-04-26 14:28               ` Lee Jones
2013-04-18 10:11 ` [PATCH 05/32] dmaengine: ste_dma40: Supply macros to resolve 'src' and 'dst' directions Lee Jones
2013-04-18 10:11   ` Lee Jones
2013-04-18 10:50   ` Arnd Bergmann
2013-04-18 10:50     ` Arnd Bergmann
2013-04-22  9:42   ` Vinod Koul
2013-04-22  9:42     ` Vinod Koul
2013-04-22 10:27     ` Lee Jones
2013-04-22 10:27       ` Lee Jones
2013-04-22 10:19       ` Vinod Koul
2013-04-22 10:19         ` Vinod Koul
2013-04-24  8:53       ` Lee Jones
2013-04-24  8:53         ` Lee Jones
2013-04-25  8:22   ` Linus Walleij
2013-04-25  8:22     ` Linus Walleij
2013-04-25  9:19     ` Lee Jones
2013-04-25  9:19       ` Lee Jones
2013-04-18 10:11 ` [PATCH 06/32] ARM: ux500: Strip out duplicate USB DMA configuration Lee Jones
2013-04-18 10:11   ` Lee Jones
2013-04-18 10:51   ` Arnd Bergmann
2013-04-18 10:51     ` Arnd Bergmann
2013-04-25  8:24   ` Linus Walleij
2013-04-25  8:24     ` Linus Walleij
2013-04-18 10:11 ` [PATCH 07/32] ARM: ux500: Supply address location names for the DMA40 DMA controller Lee Jones
2013-04-18 10:11   ` Lee Jones
2013-04-18 10:48   ` Arnd Bergmann
2013-04-18 10:48     ` Arnd Bergmann
2013-04-18 11:01     ` Lee Jones
2013-04-18 11:01       ` Lee Jones
2013-04-18 11:09     ` Lee Jones
2013-04-18 11:09       ` Lee Jones
2013-04-25  8:26   ` Linus Walleij
2013-04-25  8:26     ` Linus Walleij
2013-04-25  9:17     ` Lee Jones
2013-04-25  9:17       ` Lee Jones
2013-04-25 12:45       ` Linus Walleij
2013-04-25 12:45         ` Linus Walleij
2013-04-18 10:11 ` [PATCH 08/32] dmaengine: ste_dma40: Optimise local MAX() macro Lee Jones
2013-04-18 10:11   ` Lee Jones
2013-04-18 10:46   ` Arnd Bergmann
2013-04-18 10:46     ` Arnd Bergmann
2013-04-18 11:00     ` Russell King - ARM Linux
2013-04-18 11:00       ` Russell King - ARM Linux
2013-04-18 11:19       ` Arnd Bergmann
2013-04-18 11:19         ` Arnd Bergmann
2013-04-22 10:10   ` Vinod Koul
2013-04-22 10:10     ` Vinod Koul
2013-04-22 10:53     ` Lee Jones
2013-04-22 10:53       ` Lee Jones
2013-04-24  8:49   ` [PATCH 08/32 v2] dmaengine: ste_dma40: Remove home-brew " Lee Jones
2013-04-24  8:49     ` Lee Jones
2013-04-25 12:48     ` Linus Walleij
2013-04-25 12:48       ` Linus Walleij
2013-05-01 14:28       ` Lee Jones
2013-05-01 14:28         ` Lee Jones
2013-04-25  8:36   ` [PATCH 08/32] dmaengine: ste_dma40: Optimise local " Linus Walleij
2013-04-25  8:36     ` Linus Walleij
2013-04-25  9:15     ` Lee Jones
2013-04-25  9:15       ` Lee Jones
2013-04-18 10:11 ` [PATCH 09/32] ARM: ux500: Remove unused 'data_width' attributes from SDI DMA configs Lee Jones
2013-04-18 10:11   ` Lee Jones
2013-04-25  8:44   ` Linus Walleij
2013-04-25  8:44     ` Linus Walleij
2013-04-25  9:14     ` Lee Jones
2013-04-25  9:14       ` Lee Jones
2013-04-25 12:49       ` Linus Walleij
2013-04-25 12:49         ` Linus Walleij
2013-04-25 13:13         ` Lee Jones
2013-04-25 13:13           ` Lee Jones
2013-04-18 10:11 ` [PATCH 10/32] ARM: ux500: Remove unused 'data_width' attributes from SSP " Lee Jones
2013-04-18 10:11   ` Lee Jones
2013-04-25  8:45   ` Linus Walleij
2013-04-25  8:45     ` Linus Walleij
2013-04-18 10:11 ` [PATCH 11/32] ARM: ux500: Remove unused 'data_width' attributes from UART " Lee Jones
2013-04-18 10:11   ` Lee Jones
2013-04-25  8:45   ` Linus Walleij
2013-04-25  8:45     ` Linus Walleij
2013-04-18 10:11 ` [PATCH 12/32] ARM: ux500: Remove superfluous 'psize' attribute from Audio platform data Lee Jones
2013-04-18 10:11   ` Lee Jones
2013-04-25  9:00   ` Linus Walleij
2013-04-25  9:00     ` Linus Walleij
2013-05-01 14:42   ` Lee Jones
2013-05-01 14:42     ` Lee Jones
2013-05-02  8:38     ` Lee Jones
2013-05-02  8:38       ` Lee Jones
2013-05-03 13:57       ` Linus Walleij
2013-05-03 13:57         ` Linus Walleij
2013-06-10  9:04         ` Lee Jones
2013-06-10  9:04           ` Lee Jones
2013-06-10  9:12           ` Lee Jones
2013-06-10  9:12             ` Lee Jones
2013-04-18 10:11 ` [PATCH 13/32] dmaengine: ste_dma40: Calculate number of logical channels from physical ones Lee Jones
2013-04-18 10:11   ` Lee Jones
2013-04-22  9:23   ` Vinod Koul
2013-04-22  9:23     ` Vinod Koul
2013-04-22 10:11     ` Lee Jones
2013-04-22 10:11       ` Lee Jones
2013-04-25  9:13   ` Linus Walleij
2013-04-25  9:13     ` Linus Walleij
2013-04-25  9:29     ` Lee Jones
2013-04-25  9:29       ` Lee Jones
2013-04-25 12:51       ` Linus Walleij
2013-04-25 12:51         ` Linus Walleij
2013-04-18 10:11 ` [PATCH 14/32] dmaengine: ste_dma40: Remove 'always true' checking Lee Jones
2013-04-18 10:11   ` Lee Jones
2013-04-18 10:53   ` Arnd Bergmann
2013-04-18 10:53     ` Arnd Bergmann
2013-04-22  9:44   ` Vinod Koul
2013-04-22  9:44     ` Vinod Koul
2013-04-25  9:17   ` Linus Walleij
2013-04-25  9:17     ` Linus Walleij
2013-04-25  9:24     ` Lee Jones
2013-04-25  9:24       ` Lee Jones
2013-04-18 10:11 ` [PATCH 15/32] dmaengine: ste_dma40: Separate Logical Global Interrupt Mask (GIM) unmasking Lee Jones
2013-04-18 10:11   ` Lee Jones
2013-04-18 10:45   ` Russell King - ARM Linux
2013-04-18 10:45     ` Russell King - ARM Linux
2013-04-18 10:54   ` Arnd Bergmann
2013-04-18 10:54     ` Arnd Bergmann
2013-04-22  9:51   ` Vinod Koul
2013-04-22  9:51     ` Vinod Koul
2013-04-22 10:40     ` Lee Jones
2013-04-22 10:40       ` Lee Jones
2013-04-24  8:51       ` Lee Jones
2013-04-24  8:51         ` Lee Jones
2013-04-25 11:00   ` Linus Walleij
2013-04-25 11:00     ` Linus Walleij
2013-04-18 10:11 ` [PATCH 16/32] dmaengine: ste_dma40: Remove unnecessary call to d40_phy_cfg() Lee Jones
2013-04-18 10:11   ` Lee Jones
2013-04-18 10:55   ` Arnd Bergmann
2013-04-18 10:55     ` Arnd Bergmann
2013-04-22  9:52   ` Vinod Koul
2013-04-22  9:52     ` Vinod Koul
2013-04-25 11:09   ` Linus Walleij
2013-04-25 11:09     ` Linus Walleij
2013-04-18 10:11 ` [PATCH 17/32] dmaengine: ste_dma40: Remove redundant argument from d40_phy_cfg() Lee Jones
2013-04-18 10:11   ` Lee Jones
2013-04-22  9:34   ` Vinod Koul
2013-04-22  9:34     ` Vinod Koul
2013-04-22 10:18     ` Lee Jones
2013-04-22 10:18       ` Lee Jones
2013-04-25 11:14       ` Linus Walleij
2013-04-25 11:14         ` Linus Walleij
2013-04-24  8:55     ` Lee Jones
2013-04-24  8:55       ` Lee Jones
2013-04-25 11:12   ` Linus Walleij
2013-04-25 11:12     ` Linus Walleij
2013-04-18 10:12 ` [PATCH 18/32] dmaengine: ste_dma40: Don't configure runtime configurable setup during allocate Lee Jones
2013-04-18 10:12   ` Lee Jones
2013-04-25 11:15   ` Linus Walleij
2013-04-25 11:15     ` Linus Walleij
2013-04-18 10:12 ` [PATCH 19/32] dmaengine: ste_dma40: Move more setup into the configuration routines Lee Jones
2013-04-18 10:12   ` Lee Jones
2013-04-22  9:37   ` Vinod Koul
2013-04-22  9:37     ` Vinod Koul
2013-04-25 11:17   ` Linus Walleij
2013-04-25 11:17     ` Linus Walleij
2013-04-18 10:12 ` [PATCH 20/32] dmaengine: ste_dma40: Move rev error-check up to revision acquisition Lee Jones
2013-04-18 10:12   ` Lee Jones
2013-04-22  9:41   ` Vinod Koul
2013-04-22  9:41     ` Vinod Koul
2013-04-25 11:17   ` Linus Walleij
2013-04-25 11:17     ` Linus Walleij
2013-04-18 10:12 ` [PATCH 21/32] dmaengine: ste_dma40: Also report the number of logical channels Lee Jones
2013-04-18 10:12   ` Lee Jones
2013-04-22  9:36   ` Vinod Koul
2013-04-22  9:36     ` Vinod Koul
2013-04-22 10:14     ` Lee Jones
2013-04-22 10:14       ` Lee Jones
2013-04-22  9:48       ` Vinod Koul
2013-04-22  9:48         ` Vinod Koul
2013-04-22 10:37         ` Lee Jones
2013-04-22 10:37           ` Lee Jones
2013-04-22 10:23           ` Vinod Koul
2013-04-22 10:23             ` Vinod Koul
2013-04-22 10:52           ` Russell King - ARM Linux
2013-04-22 10:52             ` Russell King - ARM Linux
2013-04-24  8:35             ` Lee Jones
2013-04-24  8:35               ` Lee Jones
2013-04-24  8:39   ` [PATCH 21/32 v2] " Lee Jones
2013-04-24  8:39     ` Lee Jones
2013-04-25 11:20     ` Linus Walleij
2013-04-25 11:20       ` Linus Walleij
2013-04-18 10:12 ` [PATCH 22/32] dmaengine: ste_dma40: Allocate plat_data on declaration Lee Jones
2013-04-18 10:12   ` Lee Jones
2013-04-22  9:38   ` Vinod Koul
2013-04-22  9:38     ` Vinod Koul
2013-04-22  9:40   ` Vinod Koul
2013-04-22  9:40     ` Vinod Koul
2013-04-25 11:22   ` Linus Walleij
2013-04-25 11:22     ` Linus Walleij
2013-04-18 10:12 ` [PATCH 23/32] dmaengine: ste_dma40: Allow driver to be probe()able when DT is enabled Lee Jones
2013-04-18 10:12   ` Lee Jones
2013-04-18 10:58   ` Arnd Bergmann
2013-04-18 10:58     ` Arnd Bergmann
2013-04-22 10:02   ` Vinod Koul
2013-04-22 10:02     ` Vinod Koul
2013-04-25 11:24   ` Linus Walleij
2013-04-25 11:24     ` Linus Walleij
2013-04-18 10:12 ` [PATCH 24/32] dmaengine: ste_dma40: Supply full Device Tree parsing support Lee Jones
2013-04-18 10:12   ` Lee Jones
2013-04-18 11:06   ` Arnd Bergmann
2013-04-18 11:06     ` Arnd Bergmann
2013-04-18 11:31     ` Lee Jones
2013-04-18 11:31       ` Lee Jones
2013-04-18 11:37       ` Arnd Bergmann
2013-04-18 11:37         ` Arnd Bergmann
2013-04-18 11:47         ` Lee Jones
2013-04-18 11:47           ` Lee Jones
2013-04-18 12:23           ` Arnd Bergmann
2013-04-18 12:23             ` Arnd Bergmann
2013-04-18 11:07   ` Arnd Bergmann
2013-04-18 11:07     ` Arnd Bergmann
2013-04-18 12:12   ` [PATCH 24/32 v2] " Lee Jones
2013-04-18 12:12     ` Lee Jones
2013-04-18 12:32     ` Arnd Bergmann
2013-04-18 12:32       ` Arnd Bergmann
2013-04-18 13:43       ` Lee Jones
2013-04-18 13:43         ` Lee Jones
2013-04-18 14:17     ` [PATCH 24/32 v3] " Lee Jones
2013-04-18 14:17       ` Lee Jones
2013-04-18 21:53       ` Arnd Bergmann
2013-04-18 21:53         ` Arnd Bergmann
2013-04-22 10:18       ` Vinod Koul
2013-04-22 10:18         ` Vinod Koul
2013-04-25 11:33       ` Linus Walleij
2013-04-25 11:33         ` Linus Walleij
2013-04-25 11:33         ` Linus Walleij
2013-04-22 10:17     ` [PATCH 24/32 v2] " Vinod Koul
2013-04-22 10:17       ` Vinod Koul
2013-04-22 10:16   ` [PATCH 24/32] " Vinod Koul
2013-04-22 10:16     ` Vinod Koul
2013-04-18 10:12 ` [PATCH 25/32] ARM: ux500: Setup the DMA40 driver's DT node using the new DMA API Lee Jones
2013-04-18 10:12   ` Lee Jones
2013-04-18 11:08   ` Arnd Bergmann
2013-04-18 11:08     ` Arnd Bergmann
2013-04-25 11:35   ` Linus Walleij
2013-04-25 11:35     ` Linus Walleij
2013-04-18 10:12 ` [PATCH 26/32] ARM: ux500: Supply UART's DMA configuration via Device Tree Lee Jones
2013-04-18 10:12   ` Lee Jones
2013-04-25 11:36   ` Linus Walleij
2013-04-25 11:36     ` Linus Walleij
2013-04-18 10:12 ` [PATCH 27/32] ARM: ux500: Stop registering DMA40 from platform data when DT is enabled Lee Jones
2013-04-18 10:12   ` Lee Jones
2013-04-25 11:37   ` Linus Walleij
2013-04-25 11:37     ` Linus Walleij
2013-04-18 10:12 ` [PATCH 28/32] ARM: ux500: Pass remnant platform data though to DMA40 driver Lee Jones
2013-04-18 10:12   ` Lee Jones
2013-04-18 11:11   ` Arnd Bergmann
2013-04-18 11:11     ` Arnd Bergmann
2013-04-25 11:39   ` Linus Walleij
2013-04-25 11:39     ` Linus Walleij
2013-04-18 10:12 ` [PATCH 29/32] ARM: ux500: Stop passing UART's platform data for Device Tree boots Lee Jones
2013-04-18 10:12   ` Lee Jones
2013-04-25 11:41   ` Linus Walleij
2013-04-25 11:41     ` Linus Walleij
2013-04-18 10:12 ` [PATCH 30/32] ARM: ux500: Supply MMC DMA configuration via Device Tree Lee Jones
2013-04-18 10:12   ` Lee Jones
2013-04-25 11:43   ` Linus Walleij
2013-04-25 11:43     ` Linus Walleij
2013-04-25 11:49     ` Lee Jones
2013-04-25 11:49       ` Lee Jones
2013-04-25 12:56       ` Linus Walleij
2013-04-25 12:56         ` Linus Walleij
2013-04-25 13:11         ` Lee Jones
2013-04-25 13:11           ` Lee Jones
2013-04-18 10:12 ` [PATCH 31/32] ARM: ux500: Stop passing MMC's platform data for Device Tree boots Lee Jones
2013-04-18 10:12   ` Lee Jones
2013-04-25 11:44   ` Linus Walleij
2013-04-25 11:44     ` Linus Walleij
2013-04-18 10:12 ` [PATCH 32/32] ARM: ux500: Move SDI (MMC) and UART devices under more descriptive heading Lee Jones
2013-04-18 10:12   ` Lee Jones
2013-04-25 11:46   ` Linus Walleij
2013-04-25 11:46     ` Linus Walleij
2013-04-26 13:42     ` Lee Jones
2013-04-26 13:42       ` Lee Jones

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.