[PATCH v4 00/25] dmaengine/ARM: Merge the edma drivers into one
Peter Ujfalusi
peter.ujfalusi at ti.com
Mon Oct 5 23:15:09 PDT 2015
Hi
On 09/24/2015 01:01 PM, Peter Ujfalusi wrote:
> Hi,
>
> Changes since v3:
> - Separated the two (patch 10/11 in v2 patch 10 in v3) patch which got squashed
> by accident for v3
> - Added Tony's Acked-by to patch 11 (for mach-oamp2 part)
Gentle ping on this series ;)
--
Péter
> Changes since v2:
> - devm_kasprintf format string fixed
> - Additional patch to enable dynamic paRAM slot usage when the channel mapping
> is supported by the eDMA module.
> On am335x we have 256 paRAM slots and 64 DMA channels, this means that we had
> 64 slots 'locked away' all the time. The dynamic paRAM slot logic will allow
> us to use all 256 slots freely for any purpose.
>
> Changes since v1:
> - Convert edma platform device registration to use platform_device_register_full
> - Moved the PM callback also to the dmaengine driver - missed in v1
> - Commit message added to:
> ARM/dmaengine: edma: Remove limitation on the number of eDMA controllers
> - New patch which reads the flag for the channel mapping support in one place
>
> Cover letter:
>
> with this series the edma two driver setup will be changed to have only one
> driver to support eDMA3. The legacy edma interface will be removed and eDMA can
> only be used via dmaengine API from this point on.
> In order to do the merge the following improvements has been done:
> - One driver instance per eDMA:
> - Any number of eDMA instances are supported (both legacy and DT boot)
> - Not relying on global variables, arrays, etc
> - Code simplification and optimizations in several places
>
> This change will also help us to do bigger changes in the eDMA driver since,
> since now we have only one driver to work with.
>
> The series has been tested on:
> da850-evm (OMAP-L138)
> - with legacy and DT boot (both eDMA0 and eDMA1 is enabled)
> - In code swapping the eDMA instances in legacy mode to make sure the second
> instance is handled correctly.
>
> am335x-evmsk
> - DT boot
>
> I think this series could go via the dmaengine tree. Changes are trivial under
> arch/arm/
>
> Regards,
> Peter
> ---
> Peter Ujfalusi (25):
> ARM: common: edma: Fix channel parameter for irq callbacks
> ARM: common: edma: Remove unused functions
> dmaengine: edma: Simplify and optimize the edma_execute path
> ARM: davinci/common: Convert edma driver to handle one eDMA instance
> per driver
> ARM/dmaengine: edma: Move of_dma_controller_register to the dmaengine
> driver
> ARM: common: edma: Internal API to use pointer to 'struct edma'
> ARM/dmaengine: edma: Public API to use private struct pointer
> ARM/dmaengine: edma: Remove limitation on the number of eDMA
> controllers
> ARM: davinci: Use platform_device_register_full() to create pdev for
> eDMA
> ARM: davinci: Add dma_mask to eDMA devices
> ARM/dmaengine: edma: Merge the two drivers under drivers/dma/
> dmaengine: edma: Allocate memory dynamically for bitmaps and
> structures
> dmaengine: edma: Parameter alignment and long line fixes
> dmaengine: edma: Use devm_kcalloc when possible
> dmaengine: edma: Cleanup regarding the use of dev around the code
> dmaengine: edma: Use dev_dbg instead pr_debug
> dmaengine: edma: Use the edma_write_slot instead open coded
> memcpy_toio
> dmaengine: edma: Print warning when linking slots from different eDMA
> dmaengine: edma: Consolidate the comments for functions
> dmaengine: edma: Simplify the interrupt handling
> dmaengine: edma: Move the pending error check into helper function
> dmaengine: edma: Simplify and optimize ccerr interrupt handler
> dmaengine: edma: Read channel mapping support only once from HW
> dmaengine: edma: Rename bitfields for slot and channel usage tracking
> dmaengine: edma: Dynamic paRAM slot handling if HW supports it
>
> arch/arm/Kconfig | 1 -
> arch/arm/common/Kconfig | 3 -
> arch/arm/common/Makefile | 1 -
> arch/arm/common/edma.c | 1876 ---------------------------------
> arch/arm/mach-davinci/devices-da8xx.c | 122 +--
> arch/arm/mach-davinci/dm355.c | 40 +-
> arch/arm/mach-davinci/dm365.c | 25 +-
> arch/arm/mach-davinci/dm644x.c | 40 +-
> arch/arm/mach-davinci/dm646x.c | 44 +-
> arch/arm/mach-omap2/Kconfig | 1 -
> drivers/dma/Kconfig | 1 -
> drivers/dma/edma.c | 1569 ++++++++++++++++++++++++---
> include/linux/platform_data/edma.h | 101 --
> 13 files changed, 1523 insertions(+), 2301 deletions(-)
> delete mode 100644 arch/arm/common/edma.c
>
More information about the linux-arm-kernel
mailing list