1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>Chapter 3. 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 3. RapidIO driver interface</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Limitations.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <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 3. 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="API-rio-local-read-config-32.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Limitations </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">rio_local_read_config_32</span></td></tr></table></div></body></html> 131