<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>struct rio_ops</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="internals.html#Structures" title="Structures" /><link rel="prev" href="API-struct-rio-net.html" title="struct rio_net" /><link rel="next" href="API-struct-rio-driver.html" title="struct rio_driver" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">struct rio_ops</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-struct-rio-net.html">Prev</a> </td><th width="60%" align="center">Structures</th><td width="20%" align="right"> <a accesskey="n" href="API-struct-rio-driver.html">Next</a></td></tr></table><hr /></div><div class="refentry"><a id="API-struct-rio-ops"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>struct rio_ops — Low-level RIO configuration space operations </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="programlisting"> 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); }; </pre></div><div class="refsect1"><a id="idm139781244984400"></a><h2>Members</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">lcread</span></dt><dd><p> Callback to perform local (master port) read of config space. </p></dd><dt><span class="term">lcwrite</span></dt><dd><p> Callback to perform local (master port) write of config space. </p></dd><dt><span class="term">cread</span></dt><dd><p> Callback to perform network read of config space. </p></dd><dt><span class="term">cwrite</span></dt><dd><p> Callback to perform network write of config space. </p></dd><dt><span class="term">dsend</span></dt><dd><p> Callback to send a doorbell message. </p></dd><dt><span class="term">pwenable</span></dt><dd><p> Callback to enable/disable port-write message handling. </p></dd><dt><span class="term">open_outb_mbox</span></dt><dd><p> Callback to initialize outbound mailbox. </p></dd><dt><span class="term">close_outb_mbox</span></dt><dd><p> Callback to shut down outbound mailbox. </p></dd><dt><span class="term">open_inb_mbox</span></dt><dd><p> Callback to initialize inbound mailbox. </p></dd><dt><span class="term">close_inb_mbox</span></dt><dd><p> Callback to shut down inbound mailbox. </p></dd><dt><span class="term">add_outb_message</span></dt><dd><p> Callback to add a message to an outbound mailbox queue. </p></dd><dt><span class="term">add_inb_buffer</span></dt><dd><p> Callback to add a buffer to an inbound mailbox queue. </p></dd><dt><span class="term">get_inb_message</span></dt><dd><p> Callback to get a message from an inbound mailbox queue. </p></dd><dt><span class="term">map_inb</span></dt><dd><p> Callback to map RapidIO address region into local memory space. </p></dd><dt><span class="term">unmap_inb</span></dt><dd><p> Callback to unmap RapidIO address region mapped with <code class="function">map_inb</code>. </p></dd></dl></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-struct-rio-net.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="internals.html#Structures">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-struct-rio-driver.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">struct rio_net</span> </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">struct rio_driver</span></td></tr></table></div></body></html>