struct rio_ops — Low-level RIO configuration space operations
struct rio_ops {
int (* lcread) (struct rio_mport *mport, int index, u32 offset, int len,u32 *data);
int (* lcwrite) (struct rio_mport *mport, int index, u32 offset, int len,u32 data);
int (* cread) (struct rio_mport *mport, int index, u16 destid,u8 hopcount, u32 offset, int len, u32 *data);
int (* cwrite) (struct rio_mport *mport, int index, u16 destid,u8 hopcount, u32 offset, int len, u32 data);
int (* dsend) (struct rio_mport *mport, int index, u16 destid, u16 data);
int (* pwenable) (struct rio_mport *mport, int enable);
int (* open_outb_mbox) (struct rio_mport *mport, void *dev_id,int mbox, int entries);
void (* close_outb_mbox) (struct rio_mport *mport, int mbox);
int (* open_inb_mbox) (struct rio_mport *mport, void *dev_id,int mbox, int entries);
void (* close_inb_mbox) (struct rio_mport *mport, int mbox);
int (* add_outb_message) (struct rio_mport *mport, struct rio_dev *rdev,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, u64 size, u32 flags);
void (* unmap_inb) (struct rio_mport *mport, dma_addr_t lstart);
int (* query_mport) (struct rio_mport *mport,struct rio_mport_attr *attr);
int (* map_outb) (struct rio_mport *mport, u16 destid, u64 rstart,u32 size, u32 flags, dma_addr_t *laddr);
void (* unmap_outb) (struct rio_mport *mport, u16 destid, u64 rstart);
}; int (*) (struct rio_mport *mport, int index, u32 offset, int len,u32 *data) lcreadCallback to perform local (master port) read of config space.
int (*) (struct rio_mport *mport, int index, u32 offset, int len,u32 data) lcwriteCallback to perform local (master port) write of config space.
int (*) (struct rio_mport *mport, int index, u16 destid,u8 hopcount, u32 offset, int len, u32 *data) creadCallback to perform network read of config space.
int (*) (struct rio_mport *mport, int index, u16 destid,u8 hopcount, u32 offset, int len, u32 data) cwriteCallback to perform network write of config space.
int (*) (struct rio_mport *mport, int index, u16 destid, u16 data) dsendCallback to send a doorbell message.
int (*) (struct rio_mport *mport, int enable) pwenableCallback to enable/disable port-write message handling.
int (*)(struct rio_mport *mport, void *dev_id,int mbox, int entries) open_outb_mboxCallback to initialize outbound mailbox.
void (*)(struct rio_mport *mport, int mbox) close_outb_mboxCallback to shut down outbound mailbox.
int (*)(struct rio_mport *mport, void *dev_id,int mbox, int entries) open_inb_mboxCallback to initialize inbound mailbox.
void (*)(struct rio_mport *mport, int mbox) close_inb_mboxCallback to shut down inbound mailbox.
int (*)(struct rio_mport *mport, struct rio_dev *rdev,int mbox, void *buffer, size_t len) add_outb_messageCallback to add a message to an outbound mailbox queue.
int (*)(struct rio_mport *mport, int mbox, void *buf) add_inb_bufferCallback to add a buffer to an inbound mailbox queue.
void *(*)(struct rio_mport *mport, int mbox) get_inb_messageCallback to get a message from an inbound mailbox queue.
int (*)(struct rio_mport *mport, dma_addr_t lstart,u64 rstart, u64 size, u32 flags) map_inbCallback to map RapidIO address region into local memory space.
void (*)(struct rio_mport *mport, dma_addr_t lstart) unmap_inb
Callback to unmap RapidIO address region mapped with map_inb.
int (*)(struct rio_mport *mport,struct rio_mport_attr *attr) query_mportCallback to query mport device attributes.
int (*)(struct rio_mport *mport, u16 destid, u64 rstart,u32 size, u32 flags, dma_addr_t *laddr) map_outbCallback to map outbound address region into local memory space.
void (*)(struct rio_mport *mport, u16 destid, u64 rstart) unmap_outbCallback to unmap outbound RapidIO address region.