[RFC 0/2] dma: clean up streaming DMA API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This fixes some incoherence between dma_map/free_coherent() and
dma_sync_single_for_*() functions. While the former do appropriate
cpu/dma conversions, the latter do not. This also fixes streaming DMA
for MIPS CPUs and cleans up the interface somewhat.

I want to get some thoughts on whether those are the appropriate changes
to make and if I missed something important.

The changes are split in two parts for now so it would be easier to
review them. The first commit is the main part. It contains interface
changes and arch-specific code adjustments. The second one just updates
the functions usage in drivers.

Denis Orlov (2):
  dma: rework dma_sync_single interface
  dma: update dma_sync_single uses in drivers

 arch/arm/cpu/mmu-common.c            |   9 +--
 arch/arm/cpu/mmu.c                   |  17 +++--
 arch/arm/cpu/mmu_64.c                |  13 ++--
 arch/arm/include/asm/dma.h           |  12 ++--
 arch/arm/mach-bcm283x/mbox.c         |   4 +-
 arch/kvx/lib/dma-default.c           |  16 +++--
 arch/mips/lib/dma-default.c          |  12 ++--
 arch/riscv/cpu/dma.c                 |  23 +++---
 arch/riscv/include/asm/dma.h         |   4 +-
 arch/sandbox/include/asm/dma.h       |  12 ++--
 arch/x86/include/asm/dma.h           |  12 ++--
 drivers/crypto/caam/caam-blobgen.c   |  28 ++++----
 drivers/crypto/caam/caamrng.c        |   6 +-
 drivers/crypto/caam/rng_self_test.c  |   6 +-
 drivers/dma/Makefile                 |   1 -
 drivers/dma/map.c                    |  39 -----------
 drivers/mci/dove-sdhci.c             |   8 +--
 drivers/mci/stm32_sdmmc2.c           |   8 +--
 drivers/mci/tegra-sdmmc.c            |   8 +--
 drivers/net/ag71xx.c                 |   8 +--
 drivers/net/arc_emac.c               |  10 +--
 drivers/net/at91_ether.c             |   8 +--
 drivers/net/bcmgenet.c               |   4 +-
 drivers/net/cpsw.c                   |   8 +--
 drivers/net/davinci_emac.c           |   8 +--
 drivers/net/designware.c             |  10 +--
 drivers/net/designware_eqos.c        |   4 +-
 drivers/net/e1000/main.c             |   4 +-
 drivers/net/fec_imx.c                |   4 +-
 drivers/net/fsl-fman.c               |   7 +-
 drivers/net/macb.c                   |  20 +++---
 drivers/net/mvneta.c                 |   8 +--
 drivers/net/orion-gbe.c              |   8 +--
 drivers/net/rtl8169.c                |  12 ++--
 drivers/soc/sifive/sifive_l2_cache.c |   2 +-
 drivers/soc/starfive/jh7100_dma.c    |   2 +-
 drivers/usb/gadget/fsl_udc.c         |   4 +-
 drivers/usb/host/ohci-hcd.c          |   6 +-
 include/dma.h                        | 101 +++++++++++++++++++--------
 39 files changed, 240 insertions(+), 236 deletions(-)
 delete mode 100644 drivers/dma/map.c

-- 
2.30.2





[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux