STRUCT RIO_DEV(9) Internals STRUCT RIO_DEV(9)NAME
struct_rio_dev - RIO device info
SYNOPSIS
struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net * net;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 em_efptr;
u64 dma_mask;
struct rio_driver * driver;
struct device dev;
struct resource riores[RIO_MAX_DEV_RESOURCES];
int (* pwcback) (struct rio_dev *rdev, union rio_pw_msg *msg, int step);
u16 destid;
u8 hopcount;
struct rio_dev * prev;
struct rio_switch rswitch[0];
};
MEMBERS
global_list
Node in list of all RIO devices
net_list
Node in list of RIO devices in a network
net
Network this device is a part of
did
Device ID
vid
Vendor ID
device_rev
Device revision
asm_did
Assembly device ID
asm_vid
Assembly vendor ID
asm_rev
Assembly revision
efptr
Extended feature pointer
pef
Processing element features
swpinfo
Switch port info
src_ops
Source operation capabilities
dst_ops
Destination operation capabilities
comp_tag
RIO component tag
phys_efptr
RIO device extended features pointer
em_efptr
RIO Error Management features pointer
dma_mask
Mask of bits of RIO address this device implements
driver
Driver claiming this device
dev
Device model device
riores[RIO_MAX_DEV_RESOURCES]
RIO resources this device owns
pwcback
port-write callback function for this device
destid
Network destination ID (or associated destid for switch)
hopcount
Hopcount to this device
prev
Previous RIO device connected to the current one
rswitch[0]
struct rio_switch (if valid for this device)
AUTHOR
Matt Porter <mporter@kernel.crashing.org>, <mporter@mvista.com>
Author.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 STRUCT RIO_DEV(9)
Check Out this Related Man Page
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, u32 size, u32 flags);
void (* unmap_inb) (struct rio_mport *mport, dma_addr_t lstart);
};
MEMBERS
lcread
Callback to perform local (master port) read of config space.
lcwrite
Callback to perform local (master port) write of config space.
cread
Callback to perform network read of config space.
cwrite
Callback to perform network write of config space.
dsend
Callback to send a doorbell message.
pwenable
Callback to enable/disable port-write message handling.
open_outb_mbox
Callback to initialize outbound mailbox.
close_outb_mbox
Callback to shut down outbound mailbox.
open_inb_mbox
Callback to initialize inbound mailbox.
close_inb_mbox
Callback to shut down inbound mailbox.
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.
AUTHOR
Matt Porter <mporter@kernel.crashing.org>, <mporter@mvista.com>
Author.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 STRUCT RIO_OPS(9)