]> git.neil.brown.name Git - history.git/commit
[PATCH] DMA: Fill gaping hole in DMA API interfaces.
authorAndrew Morton <akpm@osdl.org>
Sun, 14 Mar 2004 01:05:37 +0000 (17:05 -0800)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sun, 14 Mar 2004 01:05:37 +0000 (17:05 -0800)
commit66b99421d118a5ddd98a72913670b0fcf0a38d45
tree34a7bfa51db844e23aca70851910f4a7b92ab505
parente214725f749c1ca58ac87bcebb23d5c06170e62d
[PATCH] DMA: Fill gaping hole in DMA API interfaces.

From: "David S. Miller" <davem@redhat.com>

Currently, for an existing DMA mapping, there is a way to transfer buffer
ownership back to the cpu, yet there is no way to give it back to the device
again explicitly.  The latter really is needed on platforms where the PCI
subsystem does not snoop the cpu caches, MIPS is one example.

Many drivers were expecting the existing DMA sync interface to handle both
directions, which was wrong.

Now, with this change, we have explicit interfaces for DMA syncing to/from
the device and the cpu.
100 files changed:
Documentation/DMA-mapping.txt
arch/arm/common/sa1111-pcibuf.c
arch/ia64/lib/swiotlb.c
arch/ia64/sn/io/machvec/pci_dma.c
arch/mips/mm/dma-coherent.c
arch/mips/mm/dma-ip27.c
arch/mips/mm/dma-noncoherent.c
arch/parisc/kernel/pci-dma.c
arch/sparc/kernel/ioport.c
arch/sparc/kernel/sparc_ksyms.c
arch/sparc64/kernel/pci_iommu.c
arch/sparc64/kernel/sbus.c
arch/sparc64/kernel/sparc64_ksyms.c
arch/v850/kernel/rte_mb_a_pci.c
drivers/atm/fore200e.c
drivers/atm/fore200e.h
drivers/atm/idt77252.c
drivers/ieee1394/dma.c
drivers/ieee1394/dma.h
drivers/ieee1394/dv1394.c
drivers/ieee1394/ieee1394_core.c
drivers/ieee1394/ohci1394.c
drivers/ieee1394/sbp2.c
drivers/media/video/video-buf.c
drivers/message/fusion/mptlan.c
drivers/message/i2o/i2o_core.c
drivers/net/3c59x.c
drivers/net/b44.c
drivers/net/dl2k.c
drivers/net/e100.c
drivers/net/e1000/e1000_ethtool.c
drivers/net/eepro100.c
drivers/net/epic100.c
drivers/net/fealnx.c
drivers/net/hamachi.c
drivers/net/irda/vlsi_ir.c
drivers/net/lasi_82596.c
drivers/net/myri_sbus.c
drivers/net/natsemi.c
drivers/net/pcnet32.c
drivers/net/rrunner.c
drivers/net/sis190.c
drivers/net/sis900.c
drivers/net/sk98lin/skge.c
drivers/net/starfire.c
drivers/net/sunbmac.c
drivers/net/sundance.c
drivers/net/sungem.c
drivers/net/sunhme.c
drivers/net/sunhme.h
drivers/net/tg3.c
drivers/net/tokenring/3c359.c
drivers/net/tokenring/olympic.c
drivers/net/tulip/de2104x.c
drivers/net/tulip/interrupt.c
drivers/net/tulip/winbond-840.c
drivers/net/typhoon.c
drivers/net/via-rhine.c
drivers/net/wan/dscc4.c
drivers/net/yellowfin.c
drivers/parisc/ccio-dma.c
drivers/parisc/ccio-rm-dma.c
drivers/parisc/sba_iommu.c
drivers/scsi/53c700.c
drivers/scsi/dc395x.c
drivers/scsi/eata.c
drivers/scsi/megaraid.c
drivers/scsi/ncr53c8xx.c
drivers/scsi/sym53c8xx_2/sym_glue.c
drivers/scsi/sym53c8xx_comm.h
drivers/scsi/u14-34f.c
drivers/usb/core/usb.c
include/asm-alpha/pci.h
include/asm-arm/dma-mapping.h
include/asm-generic/dma-mapping.h
include/asm-generic/pci-dma-compat.h
include/asm-i386/dma-mapping.h
include/asm-i386/pci.h
include/asm-ia64/dma-mapping.h
include/asm-ia64/machvec.h
include/asm-ia64/machvec_hpzx1.h
include/asm-ia64/machvec_sn2.h
include/asm-ia64/pci.h
include/asm-mips/dma-mapping.h
include/asm-mips/pci.h
include/asm-parisc/dma-mapping.h
include/asm-ppc/pci.h
include/asm-ppc64/pci.h
include/asm-sh/pci.h
include/asm-sparc/pci.h
include/asm-sparc/sbus.h
include/asm-sparc64/pci.h
include/asm-sparc64/sbus.h
include/asm-v850/pci.h
include/asm-x86_64/pci.h
include/linux/dma-mapping.h
include/linux/pci.h
include/linux/usb.h
include/linux/usb_gadget.h
include/net/irda/vlsi_ir.h