1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>Chapter&#160;3.&#160;RapidIO driver interface</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="RapidIO Subsystem Guide"><link rel="up" href="index.html" title="RapidIO Subsystem Guide"><link rel="prev" href="Limitations.html" title="Limitations"><link rel="next" href="API-rio-local-read-config-32.html" title="rio_local_read_config_32"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&#160;3.&#160;RapidIO driver interface</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Limitations.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-rio-local-read-config-32.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="drivers"></a>Chapter&#160;3.&#160;RapidIO driver interface</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="drivers.html#Functions">Functions</a></span></dt></dl></div><p>
2		Drivers are provided a set of calls in order
3		to interface with the subsystem to gather info
4		on devices, request/map memory region resources,
5		and manage mailboxes/doorbells.
6	</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Functions"></a>Functions</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="refentrytitle"><a href="API-rio-local-read-config-32.html"><span class="phrase">rio_local_read_config_32</span></a></span><span class="refpurpose"> &#8212; 
7  Read 32 bits from local configuration space
8 </span></dt><dt><span class="refentrytitle"><a href="API-rio-local-write-config-32.html"><span class="phrase">rio_local_write_config_32</span></a></span><span class="refpurpose"> &#8212; 
9     Write 32 bits to local configuration space
10 </span></dt><dt><span class="refentrytitle"><a href="API-rio-local-read-config-16.html"><span class="phrase">rio_local_read_config_16</span></a></span><span class="refpurpose"> &#8212; 
11     Read 16 bits from local configuration space
12 </span></dt><dt><span class="refentrytitle"><a href="API-rio-local-write-config-16.html"><span class="phrase">rio_local_write_config_16</span></a></span><span class="refpurpose"> &#8212; 
13     Write 16 bits to local configuration space
14 </span></dt><dt><span class="refentrytitle"><a href="API-rio-local-read-config-8.html"><span class="phrase">rio_local_read_config_8</span></a></span><span class="refpurpose"> &#8212; 
15     Read 8 bits from local configuration space
16 </span></dt><dt><span class="refentrytitle"><a href="API-rio-local-write-config-8.html"><span class="phrase">rio_local_write_config_8</span></a></span><span class="refpurpose"> &#8212; 
17     Write 8 bits to local configuration space
18 </span></dt><dt><span class="refentrytitle"><a href="API-rio-read-config-32.html"><span class="phrase">rio_read_config_32</span></a></span><span class="refpurpose"> &#8212; 
19     Read 32 bits from configuration space
20 </span></dt><dt><span class="refentrytitle"><a href="API-rio-write-config-32.html"><span class="phrase">rio_write_config_32</span></a></span><span class="refpurpose"> &#8212; 
21     Write 32 bits to configuration space
22 </span></dt><dt><span class="refentrytitle"><a href="API-rio-read-config-16.html"><span class="phrase">rio_read_config_16</span></a></span><span class="refpurpose"> &#8212; 
23     Read 16 bits from configuration space
24 </span></dt><dt><span class="refentrytitle"><a href="API-rio-write-config-16.html"><span class="phrase">rio_write_config_16</span></a></span><span class="refpurpose"> &#8212; 
25     Write 16 bits to configuration space
26 </span></dt><dt><span class="refentrytitle"><a href="API-rio-read-config-8.html"><span class="phrase">rio_read_config_8</span></a></span><span class="refpurpose"> &#8212; 
27     Read 8 bits from configuration space
28 </span></dt><dt><span class="refentrytitle"><a href="API-rio-write-config-8.html"><span class="phrase">rio_write_config_8</span></a></span><span class="refpurpose"> &#8212; 
29     Write 8 bits to configuration space
30 </span></dt><dt><span class="refentrytitle"><a href="API-rio-send-doorbell.html"><span class="phrase">rio_send_doorbell</span></a></span><span class="refpurpose"> &#8212; 
31     Send a doorbell message to a device
32 </span></dt><dt><span class="refentrytitle"><a href="API-rio-init-mbox-res.html"><span class="phrase">rio_init_mbox_res</span></a></span><span class="refpurpose"> &#8212; 
33     Initialize a RIO mailbox resource
34 </span></dt><dt><span class="refentrytitle"><a href="API-rio-init-dbell-res.html"><span class="phrase">rio_init_dbell_res</span></a></span><span class="refpurpose"> &#8212; 
35     Initialize a RIO doorbell resource
36 </span></dt><dt><span class="refentrytitle"><a href="API-RIO-DEVICE.html"><span class="phrase">RIO_DEVICE</span></a></span><span class="refpurpose"> &#8212; 
37     macro used to describe a specific RIO device
38 </span></dt><dt><span class="refentrytitle"><a href="API-rio-add-outb-message.html"><span class="phrase">rio_add_outb_message</span></a></span><span class="refpurpose"> &#8212; 
39     Add RIO message to an outbound mailbox queue
40 </span></dt><dt><span class="refentrytitle"><a href="API-rio-add-inb-buffer.html"><span class="phrase">rio_add_inb_buffer</span></a></span><span class="refpurpose"> &#8212; 
41     Add buffer to an inbound mailbox queue
42 </span></dt><dt><span class="refentrytitle"><a href="API-rio-get-inb-message.html"><span class="phrase">rio_get_inb_message</span></a></span><span class="refpurpose"> &#8212; 
43     Get A RIO message from an inbound mailbox queue
44 </span></dt><dt><span class="refentrytitle"><a href="API-rio-name.html"><span class="phrase">rio_name</span></a></span><span class="refpurpose"> &#8212; 
45     Get the unique RIO device identifier
46 </span></dt><dt><span class="refentrytitle"><a href="API-rio-get-drvdata.html"><span class="phrase">rio_get_drvdata</span></a></span><span class="refpurpose"> &#8212; 
47     Get RIO driver specific data
48 </span></dt><dt><span class="refentrytitle"><a href="API-rio-set-drvdata.html"><span class="phrase">rio_set_drvdata</span></a></span><span class="refpurpose"> &#8212; 
49     Set RIO driver specific data
50 </span></dt><dt><span class="refentrytitle"><a href="API-rio-dev-get.html"><span class="phrase">rio_dev_get</span></a></span><span class="refpurpose"> &#8212; 
51  Increments the reference count of the RIO device structure
52 </span></dt><dt><span class="refentrytitle"><a href="API-rio-dev-put.html"><span class="phrase">rio_dev_put</span></a></span><span class="refpurpose"> &#8212; 
53     Release a use of the RIO device structure
54 </span></dt><dt><span class="refentrytitle"><a href="API-rio-register-driver.html"><span class="phrase">rio_register_driver</span></a></span><span class="refpurpose"> &#8212; 
55     register a new RIO driver
56 </span></dt><dt><span class="refentrytitle"><a href="API-rio-unregister-driver.html"><span class="phrase">rio_unregister_driver</span></a></span><span class="refpurpose"> &#8212; 
57     unregister a RIO driver
58 </span></dt><dt><span class="refentrytitle"><a href="API-rio-local-get-device-id.html"><span class="phrase">rio_local_get_device_id</span></a></span><span class="refpurpose"> &#8212; 
59  Get the base/extended device id for a port
60 </span></dt><dt><span class="refentrytitle"><a href="API-rio-add-device.html"><span class="phrase">rio_add_device</span></a></span><span class="refpurpose"> &#8212; 
61     Adds a RIO device to the device model
62 </span></dt><dt><span class="refentrytitle"><a href="API-rio-request-inb-mbox.html"><span class="phrase">rio_request_inb_mbox</span></a></span><span class="refpurpose"> &#8212; 
63     request inbound mailbox service
64 </span></dt><dt><span class="refentrytitle"><a href="API-rio-release-inb-mbox.html"><span class="phrase">rio_release_inb_mbox</span></a></span><span class="refpurpose"> &#8212; 
65     release inbound mailbox message service
66 </span></dt><dt><span class="refentrytitle"><a href="API-rio-request-outb-mbox.html"><span class="phrase">rio_request_outb_mbox</span></a></span><span class="refpurpose"> &#8212; 
67     request outbound mailbox service
68 </span></dt><dt><span class="refentrytitle"><a href="API-rio-release-outb-mbox.html"><span class="phrase">rio_release_outb_mbox</span></a></span><span class="refpurpose"> &#8212; 
69     release outbound mailbox message service
70 </span></dt><dt><span class="refentrytitle"><a href="API-rio-request-inb-dbell.html"><span class="phrase">rio_request_inb_dbell</span></a></span><span class="refpurpose"> &#8212; 
71     request inbound doorbell message service
72 </span></dt><dt><span class="refentrytitle"><a href="API-rio-release-inb-dbell.html"><span class="phrase">rio_release_inb_dbell</span></a></span><span class="refpurpose"> &#8212; 
73     release inbound doorbell message service
74 </span></dt><dt><span class="refentrytitle"><a href="API-rio-request-outb-dbell.html"><span class="phrase">rio_request_outb_dbell</span></a></span><span class="refpurpose"> &#8212; 
75     request outbound doorbell message range
76 </span></dt><dt><span class="refentrytitle"><a href="API-rio-release-outb-dbell.html"><span class="phrase">rio_release_outb_dbell</span></a></span><span class="refpurpose"> &#8212; 
77     release outbound doorbell message range
78 </span></dt><dt><span class="refentrytitle"><a href="API-rio-request-inb-pwrite.html"><span class="phrase">rio_request_inb_pwrite</span></a></span><span class="refpurpose"> &#8212; 
79     request inbound port-write message service
80 </span></dt><dt><span class="refentrytitle"><a href="API-rio-release-inb-pwrite.html"><span class="phrase">rio_release_inb_pwrite</span></a></span><span class="refpurpose"> &#8212; 
81     release inbound port-write message service
82 </span></dt><dt><span class="refentrytitle"><a href="API-rio-map-inb-region.html"><span class="phrase">rio_map_inb_region</span></a></span><span class="refpurpose"> &#8212; 
83     - Map inbound memory region.
84 </span></dt><dt><span class="refentrytitle"><a href="API-rio-unmap-inb-region.html"><span class="phrase">rio_unmap_inb_region</span></a></span><span class="refpurpose"> &#8212; 
85     - Unmap the inbound memory region
86 </span></dt><dt><span class="refentrytitle"><a href="API-rio-mport-get-physefb.html"><span class="phrase">rio_mport_get_physefb</span></a></span><span class="refpurpose"> &#8212; 
87     Helper function that returns register offset for Physical Layer Extended Features Block.
88 </span></dt><dt><span class="refentrytitle"><a href="API-rio-get-comptag.html"><span class="phrase">rio_get_comptag</span></a></span><span class="refpurpose"> &#8212; 
89     Begin or continue searching for a RIO device by component tag
90 </span></dt><dt><span class="refentrytitle"><a href="API-rio-set-port-lockout.html"><span class="phrase">rio_set_port_lockout</span></a></span><span class="refpurpose"> &#8212; 
91     Sets/clears LOCKOUT bit (RIO EM 1.3) for a switch port.
92 </span></dt><dt><span class="refentrytitle"><a href="API-rio-enable-rx-tx-port.html"><span class="phrase">rio_enable_rx_tx_port</span></a></span><span class="refpurpose"> &#8212; 
93     enable input receiver and output transmitter of given port
94 </span></dt><dt><span class="refentrytitle"><a href="API-rio-mport-chk-dev-access.html"><span class="phrase">rio_mport_chk_dev_access</span></a></span><span class="refpurpose"> &#8212; 
95     Validate access to the specified device.
96 </span></dt><dt><span class="refentrytitle"><a href="API-rio-inb-pwrite-handler.html"><span class="phrase">rio_inb_pwrite_handler</span></a></span><span class="refpurpose"> &#8212; 
97     process inbound port-write message
98 </span></dt><dt><span class="refentrytitle"><a href="API-rio-mport-get-efb.html"><span class="phrase">rio_mport_get_efb</span></a></span><span class="refpurpose"> &#8212; 
99     get pointer to next extended features block
100 </span></dt><dt><span class="refentrytitle"><a href="API-rio-mport-get-feature.html"><span class="phrase">rio_mport_get_feature</span></a></span><span class="refpurpose"> &#8212; 
101     query for devices' extended features
102 </span></dt><dt><span class="refentrytitle"><a href="API-rio-get-asm.html"><span class="phrase">rio_get_asm</span></a></span><span class="refpurpose"> &#8212; 
103     Begin or continue searching for a RIO device by vid/did/asm_vid/asm_did
104 </span></dt><dt><span class="refentrytitle"><a href="API-rio-get-device.html"><span class="phrase">rio_get_device</span></a></span><span class="refpurpose"> &#8212; 
105     Begin or continue searching for a RIO device by vid/did
106 </span></dt><dt><span class="refentrytitle"><a href="API-rio-lock-device.html"><span class="phrase">rio_lock_device</span></a></span><span class="refpurpose"> &#8212; 
107     Acquires host device lock for specified device
108 </span></dt><dt><span class="refentrytitle"><a href="API-rio-unlock-device.html"><span class="phrase">rio_unlock_device</span></a></span><span class="refpurpose"> &#8212; 
109     Releases host device lock for specified device
110 </span></dt><dt><span class="refentrytitle"><a href="API-rio-route-add-entry.html"><span class="phrase">rio_route_add_entry</span></a></span><span class="refpurpose"> &#8212; 
111     Add a route entry to a switch routing table
112 </span></dt><dt><span class="refentrytitle"><a href="API-rio-route-get-entry.html"><span class="phrase">rio_route_get_entry</span></a></span><span class="refpurpose"> &#8212; 
113     Read an entry from a switch routing table
114 </span></dt><dt><span class="refentrytitle"><a href="API-rio-route-clr-table.html"><span class="phrase">rio_route_clr_table</span></a></span><span class="refpurpose"> &#8212; 
115     Clear a switch routing table
116 </span></dt><dt><span class="refentrytitle"><a href="API-rio-request-mport-dma.html"><span class="phrase">rio_request_mport_dma</span></a></span><span class="refpurpose"> &#8212; 
117     request RapidIO capable DMA channel associated with specified local RapidIO mport device.
118 </span></dt><dt><span class="refentrytitle"><a href="API-rio-request-dma.html"><span class="phrase">rio_request_dma</span></a></span><span class="refpurpose"> &#8212; 
119     request RapidIO capable DMA channel that supports specified target RapidIO device.
120 </span></dt><dt><span class="refentrytitle"><a href="API-rio-release-dma.html"><span class="phrase">rio_release_dma</span></a></span><span class="refpurpose"> &#8212; 
121     release specified DMA channel
122 </span></dt><dt><span class="refentrytitle"><a href="API-rio-dma-prep-xfer.html"><span class="phrase">rio_dma_prep_xfer</span></a></span><span class="refpurpose"> &#8212; 
123     RapidIO specific wrapper for device_prep_slave_sg callback defined by DMAENGINE.
124 </span></dt><dt><span class="refentrytitle"><a href="API-rio-dma-prep-slave-sg.html"><span class="phrase">rio_dma_prep_slave_sg</span></a></span><span class="refpurpose"> &#8212; 
125     RapidIO specific wrapper for device_prep_slave_sg callback defined by DMAENGINE.
126 </span></dt><dt><span class="refentrytitle"><a href="API-rio-register-scan.html"><span class="phrase">rio_register_scan</span></a></span><span class="refpurpose"> &#8212; 
127     enumeration/discovery method registration interface
128 </span></dt><dt><span class="refentrytitle"><a href="API-rio-unregister-scan.html"><span class="phrase">rio_unregister_scan</span></a></span><span class="refpurpose"> &#8212; 
129     removes enumeration/discovery method from mport
130 </span></dt></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Limitations.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="API-rio-local-read-config-32.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Limitations&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span class="phrase">rio_local_read_config_32</span></td></tr></table></div></body></html>
131