diff options
author | Alexandre Bounine <alexandre.bounine@idt.com> | 2012-10-04 17:15:57 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-06 03:05:21 +0900 |
commit | da1589f07393e88e917c317ea0c85ea37918a1cf (patch) | |
tree | 8ddfa8af4b15b463fb9f7f14f3e49b7f7d62248a /include/linux/rio_drv.h | |
parent | 18f6287f538858135c2c7ed4f76d4441e28b5714 (diff) | |
download | talos-obmc-linux-da1589f07393e88e917c317ea0c85ea37918a1cf.tar.gz talos-obmc-linux-da1589f07393e88e917c317ea0c85ea37918a1cf.zip |
rapidio: add inbound memory mapping interface
Add common inbound memory mapping/unmapping interface. This allows to make
local memory space accessible from the RapidIO side using hardware mapping
capabilities of RapidIO bridging devices. The new interface is intended to
enable data transfers between RapidIO devices in combination with DMA engine
support.
This patch is based on patch submitted by Li Yang <leoli@freescale.com>
(https://lists.ozlabs.org/pipermail/linuxppc-dev/2009-April/071210.html)
Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com>
Cc: Matt Porter <mporter@kernel.crashing.org>
Cc: Li Yang <leoli@freescale.com>
Cc: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/rio_drv.h')
-rw-r--r-- | include/linux/rio_drv.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/rio_drv.h b/include/linux/rio_drv.h index 31ad146be316..b75c05920ab5 100644 --- a/include/linux/rio_drv.h +++ b/include/linux/rio_drv.h @@ -365,6 +365,11 @@ void rio_release_regions(struct rio_dev *); int rio_request_region(struct rio_dev *, int, char *); void rio_release_region(struct rio_dev *, int); +/* Memory mapping functions */ +extern int rio_map_inb_region(struct rio_mport *mport, dma_addr_t local, + u64 rbase, u32 size, u32 rflags); +extern void rio_unmap_inb_region(struct rio_mport *mport, dma_addr_t lstart); + /* Port-Write management */ extern int rio_request_inb_pwrite(struct rio_dev *, int (*)(struct rio_dev *, union rio_pw_msg*, int)); |