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


#define RIO_NO_HOPCOUNT   -1
#define RIO_INVALID_DESTID   0xffff
#define RIO_MAX_MPORTS   8
#define RIO_MAX_MPORT_NAME   40
#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_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


enum  rio_phy_type { RIO_PHY_PARALLEL, RIO_PHY_SERIAL }


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.


Definition at line 63 of file rio.h.

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.


Definition at line 64 of file rio.h.

#define RIO_INVALID_DESTID   0xffff

Definition at line 28 of file rio.h.

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

Definition at line 37 of file rio.h.


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.


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.


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


Definition at line 211 of file rio.h.

Function Documentation

void rio_close_inb_mbox ( struct rio_mport ,
void rio_close_outb_mbox ( struct rio_mport ,
int rio_open_inb_mbox ( struct rio_mport ,
void ,
int  ,
int rio_open_outb_mbox ( struct rio_mport ,
void ,
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