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) lcread
Callback to perform local (master port) read of config space.
int (*) (struct rio_mport *mport, int index, u32 offset, int len,u32 data) lcwrite
Callback 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) cread
Callback to perform network read of config space.
int (*) (struct rio_mport *mport, int index, u16 destid,u8 hopcount, u32 offset, int len, u32 data) cwrite
Callback to perform network write of config space.
int (*) (struct rio_mport *mport, int index, u16 destid, u16 data) dsend
Callback to send a doorbell message.
int (*) (struct rio_mport *mport, int enable) pwenable
Callback to enable/disable port-write message handling.
int (*)(struct rio_mport *mport, void *dev_id,int mbox, int entries) open_outb_mbox
Callback to initialize outbound mailbox.
void (*)(struct rio_mport *mport, int mbox) close_outb_mbox
Callback to shut down outbound mailbox.
int (*)(struct rio_mport *mport, void *dev_id,int mbox, int entries) open_inb_mbox
Callback to initialize inbound mailbox.
void (*)(struct rio_mport *mport, int mbox) close_inb_mbox
Callback to shut down inbound mailbox.
int (*)(struct rio_mport *mport, struct rio_dev *rdev,int mbox, void *buffer, size_t len) add_outb_message
Callback to add a message to an outbound mailbox queue.
int (*)(struct rio_mport *mport, int mbox, void *buf) add_inb_buffer
Callback to add a buffer to an inbound mailbox queue.
void *(*)(struct rio_mport *mport, int mbox) get_inb_message
Callback 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_inb
Callback 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_mport
Callback to query mport device attributes.
int (*)(struct rio_mport *mport, u16 destid, u64 rstart,u32 size, u32 flags, dma_addr_t *laddr) map_outb
Callback to map outbound address region into local memory space.
void (*)(struct rio_mport *mport, u16 destid, u64 rstart) unmap_outb
Callback to unmap outbound RapidIO address region.