STRUCT RIO_OPS(9) | Internals | STRUCT RIO_OPS(9) |
NAME¶
struct_rio_ops - Low-level RIO configuration space operations
SYNOPSIS¶
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); };
MEMBERS¶
int (*) (struct rio_mport *mport, int index, u32 offset, int len,u32 *data) lcread
int (*) (struct rio_mport *mport, int index, u32 offset, int len,u32 data) lcwrite
int (*) (struct rio_mport *mport, int index, u16 destid,u8 hopcount, u32 offset, int len, u32 *data) cread
int (*) (struct rio_mport *mport, int index, u16 destid,u8 hopcount, u32 offset, int len, u32 data) cwrite
int (*) (struct rio_mport *mport, int index, u16 destid, u16 data) dsend
int (*) (struct rio_mport *mport, int enable) pwenable
int (*)(struct rio_mport *mport, void *dev_id,int mbox, int entries) open_outb_mbox
void (*)(struct rio_mport *mport, int mbox) close_outb_mbox
int (*)(struct rio_mport *mport, void *dev_id,int mbox, int entries) open_inb_mbox
void (*)(struct rio_mport *mport, int mbox) close_inb_mbox
int (*)(struct rio_mport *mport, struct rio_dev *rdev,int mbox, void *buffer, size_t len) add_outb_message
int (*)(struct rio_mport *mport, int mbox, void *buf) add_inb_buffer
void *(*)(struct rio_mport *mport, int mbox) get_inb_message
int (*)(struct rio_mport *mport, dma_addr_t lstart,u64 rstart, u64 size, u32 flags) map_inb
void (*)(struct rio_mport *mport, dma_addr_t lstart) unmap_inb
int (*)(struct rio_mport *mport,struct rio_mport_attr *attr) query_mport
int (*)(struct rio_mport *mport, u16 destid, u64 rstart,u32 size, u32 flags, dma_addr_t *laddr) map_outb
void (*)(struct rio_mport *mport, u16 destid, u64 rstart) unmap_outb
AUTHOR¶
Matt Porter <mporter@kernel.crashing.org>, <mporter@mvista.com>
COPYRIGHT¶
July 2017 | Kernel Hackers Manual 4.11 |