Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Variables
rio.h File Reference
#include <linux/types.h>
#include <linux/ioport.h>
#include <linux/list.h>
#include <linux/errno.h>
#include <linux/device.h>
#include <linux/rio_regs.h>

Go to the source code of this file.

Data Structures

struct  rio_switch
 
struct  rio_dev
 
struct  rio_msg
 
struct  rio_dbell
 
struct  rio_mport
 
struct  rio_id_table
 
struct  rio_net
 
struct  rio_ops
 
struct  rio_driver
 
struct  rio_device_id
 
struct  rio_switch_ops
 
union  rio_pw_msg
 

Macros

#define RIO_NO_HOPCOUNT   -1
 
#define RIO_INVALID_DESTID   0xffff
 
#define RIO_MAX_MPORTS   8
 
#define RIO_MAX_MPORT_RESOURCES   16
 
#define RIO_MAX_DEV_RESOURCES   16
 
#define RIO_MAX_MPORT_NAME   40
 
#define RIO_GLOBAL_TABLE
 
#define RIO_INVALID_ROUTE
 
#define RIO_MAX_ROUTE_ENTRIES(size)   (size ? (1 << 16) : (1 << 8))
 
#define RIO_ANY_DESTID(size)   (size ? 0xffff : 0xff)
 
#define RIO_MAX_MBOX   4
 
#define RIO_MAX_MSG_SIZE   0x1000
 
#define RIO_SUCCESSFUL   0x00
 
#define RIO_BAD_SIZE   0x81
 
#define RIO_DOORBELL_RESOURCE   0
 
#define RIO_INB_MBOX_RESOURCE   1
 
#define RIO_OUTB_MBOX_RESOURCE   2
 
#define RIO_PW_MSG_SIZE   64
 
#define RIO_CTAG_RESRVD   0xfffe0000 /* Reserved */
 
#define RIO_CTAG_UDEVID   0x0001ffff /* Unique device identifier */
 
#define rio_dev_g(n)   list_entry(n, struct rio_dev, global_list)
 
#define rio_dev_f(n)   list_entry(n, struct rio_dev, net_list)
 
#define to_rio_dev(n)   container_of(n, struct rio_dev, dev)
 
#define sw_to_rio_dev(n)   container_of(n, struct rio_dev, rswitch[0])
 
: Port name string

struct rio_mport - RIO master port info : List of doorbell events : Node in global list of master ports : Node in network list of master ports : I/O mem resource that this master port interface owns : RIO resources that this master port interfaces owns : RIO inbound message event descriptors : RIO outbound message event descriptors : Host device ID associated with this master port : configuration space functions : Port ID, unique among all ports : Port index, unique among all port interfaces of the same type : RapidIO common transport system size : RapidIO phy type : RIO port extended features pointer

: Master port private data : DMA device associated with mport

#define RIO_SW_SYSFS_CREATE   1 /* Create switch attributes */
 
#define RIO_SW_SYSFS_REMOVE   0 /* Remove switch attributes */
 
#define RIO_RESOURCE_MEM   0x00000100
 
#define RIO_RESOURCE_DOORBELL   0x00000200
 
#define RIO_RESOURCE_MAILBOX   0x00000400
 
#define RIO_RESOURCE_CACHEABLE   0x00010000
 
#define RIO_RESOURCE_PCI   0x00020000
 
#define RIO_RESOURCE_BUSY   0x80000000
 

Enumerations

enum  rio_phy_type { RIO_PHY_PARALLEL, RIO_PHY_SERIAL }
 

Variables

struct bus_type rio_bus_type
 
struct device rio_bus
 
struct list_head rio_devices
 

: RIO driver name

struct rio_driver - RIO driver info : Node in list of drivers

: RIO device ids to be associated with this driver : RIO device inserted : RIO device removed : RIO device suspended : RIO device awakened : RIO device enable wake event : LDM driver struct

Provides info on a RIO device driver for insertion/removal and power management purposes.

#define to_rio_driver(drv)   container_of(drv,struct rio_driver, driver)
 
int rio_register_mport (struct rio_mport *)
 
int rio_open_inb_mbox (struct rio_mport *, void *, int, int)
 
void rio_close_inb_mbox (struct rio_mport *, int)
 
int rio_open_outb_mbox (struct rio_mport *, void *, int, int)
 
void rio_close_outb_mbox (struct rio_mport *, int)
 

Macro Definition Documentation

#define RIO_ANY_DESTID (   size)    (size ? 0xffff : 0xff)

Definition at line 40 of file rio.h.

#define RIO_BAD_SIZE   0x81

Definition at line 49 of file rio.h.

#define RIO_CTAG_RESRVD   0xfffe0000 /* Reserved */

Definition at line 76 of file rio.h.

#define RIO_CTAG_UDEVID   0x0001ffff /* Unique device identifier */

Definition at line 77 of file rio.h.

#define rio_dev_f (   n)    list_entry(n, struct rio_dev, net_list)

Definition at line 183 of file rio.h.

#define rio_dev_g (   n)    list_entry(n, struct rio_dev, global_list)

Definition at line 182 of file rio.h.

#define RIO_DOORBELL_RESOURCE   0

Definition at line 63 of file rio.h.

#define RIO_GLOBAL_TABLE
Value:
0xff /* Indicates access of a switch's
global routing table if it
has multiple (or per port)
tables */

Definition at line 35 of file rio.h.

#define RIO_INB_MBOX_RESOURCE   1

Definition at line 64 of file rio.h.

#define RIO_INVALID_DESTID   0xffff

Definition at line 28 of file rio.h.

#define RIO_INVALID_ROUTE
Value:
0xff /* Indicates that a route table
entry is invalid (no route
exists for the device ID) */

Definition at line 37 of file rio.h.

#define RIO_MAX_DEV_RESOURCES   16

Definition at line 32 of file rio.h.

#define RIO_MAX_MBOX   4

Definition at line 42 of file rio.h.

#define RIO_MAX_MPORT_NAME   40

Definition at line 33 of file rio.h.

#define RIO_MAX_MPORT_RESOURCES   16

Definition at line 31 of file rio.h.

#define RIO_MAX_MPORTS   8

Definition at line 30 of file rio.h.

#define RIO_MAX_MSG_SIZE   0x1000

Definition at line 43 of file rio.h.

#define RIO_MAX_ROUTE_ENTRIES (   size)    (size ? (1 << 16) : (1 << 8))

Definition at line 39 of file rio.h.

#define RIO_NO_HOPCOUNT   -1

Definition at line 27 of file rio.h.

#define RIO_OUTB_MBOX_RESOURCE   2

Definition at line 65 of file rio.h.

#define RIO_PW_MSG_SIZE   64

Definition at line 67 of file rio.h.

#define RIO_RESOURCE_BUSY   0x80000000

Definition at line 346 of file rio.h.

#define RIO_RESOURCE_CACHEABLE   0x00010000

Definition at line 343 of file rio.h.

#define RIO_RESOURCE_DOORBELL   0x00000200

Definition at line 340 of file rio.h.

#define RIO_RESOURCE_MAILBOX   0x00000400

Definition at line 341 of file rio.h.

#define RIO_RESOURCE_MEM   0x00000100

Definition at line 339 of file rio.h.

#define RIO_RESOURCE_PCI   0x00020000

Definition at line 344 of file rio.h.

#define RIO_SUCCESSFUL   0x00

Definition at line 48 of file rio.h.

#define RIO_SW_SYSFS_CREATE   1 /* Create switch attributes */

Definition at line 290 of file rio.h.

#define RIO_SW_SYSFS_REMOVE   0 /* Remove switch attributes */

Definition at line 291 of file rio.h.

#define sw_to_rio_dev (   n)    container_of(n, struct rio_dev, rswitch[0])

Definition at line 185 of file rio.h.

#define to_rio_dev (   n)    container_of(n, struct rio_dev, dev)

Definition at line 184 of file rio.h.

#define to_rio_driver (   drv)    container_of(drv,struct rio_driver, driver)

Definition at line 375 of file rio.h.

Enumeration Type Documentation

Enumerator:
RIO_PHY_PARALLEL 
RIO_PHY_SERIAL 

Definition at line 211 of file rio.h.

Function Documentation

void rio_close_inb_mbox ( struct rio_mport ,
int   
)
void rio_close_outb_mbox ( struct rio_mport ,
int   
)
int rio_open_inb_mbox ( struct rio_mport ,
void ,
int  ,
int   
)
int rio_open_outb_mbox ( struct rio_mport ,
void ,
int  ,
int   
)
int rio_register_mport ( struct rio_mport )

Definition at line 1365 of file rio.c.

Variable Documentation

struct device rio_bus

Definition at line 195 of file rio-driver.c.

struct bus_type rio_bus_type

Definition at line 199 of file rio-driver.c.

struct list_head rio_devices