mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-19 21:21:09 +00:00
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>
This commit is contained in:
parent
18f6287f53
commit
da1589f073
3 changed files with 54 additions and 0 deletions
|
@ -301,6 +301,8 @@ struct rio_net {
|
|||
* @add_outb_message: Callback to add a message to an outbound mailbox queue.
|
||||
* @add_inb_buffer: Callback to add a buffer to an inbound mailbox queue.
|
||||
* @get_inb_message: Callback to get a message from an inbound mailbox queue.
|
||||
* @map_inb: Callback to map RapidIO address region into local memory space.
|
||||
* @unmap_inb: Callback to unmap RapidIO address region mapped with map_inb().
|
||||
*/
|
||||
struct rio_ops {
|
||||
int (*lcread) (struct rio_mport *mport, int index, u32 offset, int len,
|
||||
|
@ -323,6 +325,9 @@ struct rio_ops {
|
|||
int mbox, void *buffer, size_t len);
|
||||
int (*add_inb_buffer)(struct rio_mport *mport, int mbox, void *buf);
|
||||
void *(*get_inb_message)(struct rio_mport *mport, int mbox);
|
||||
int (*map_inb)(struct rio_mport *mport, dma_addr_t lstart,
|
||||
u64 rstart, u32 size, u32 flags);
|
||||
void (*unmap_inb)(struct rio_mport *mport, dma_addr_t lstart);
|
||||
};
|
||||
|
||||
#define RIO_RESOURCE_MEM 0x00000100
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue