sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}(hhparenthuba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget'/translations/zh_CN/admin-guide/rapidiomodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}(hhhh2ubah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/zh_TW/admin-guide/rapidiomodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}(hhhhFubah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/it_IT/admin-guide/rapidiomodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}(hhhhZubah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/ja_JP/admin-guide/rapidiomodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}(hhhhnubah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/ko_KR/admin-guide/rapidiomodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}(hhhhubah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/sp_SP/admin-guide/rapidiomodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(hRapidIO Subsystem Guideh]hRapidIO Subsystem Guide}(hhhhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhA/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio.rsthKubh field_list)}(hhh]hfield)}(hhh](h field_name)}(hAuthorh]hAuthor}(hhhhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhKubh field_body)}(h Matt Porter h]h paragraph)}(h Matt Porterh]h Matt Porter}(hhhhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Introductionh]h Introduction}(hhhhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hX\RapidIO is a high speed switched fabric interconnect with features aimed at the embedded market. RapidIO provides support for memory-mapped I/O as well as message-based transactions over the switched fabric network. RapidIO has a standardized discovery mechanism not unlike the PCI bus standard that allows simple detection of devices in a network.h]hX\RapidIO is a high speed switched fabric interconnect with features aimed at the embedded market. RapidIO provides support for memory-mapped I/O as well as message-based transactions over the switched fabric network. RapidIO has a standardized discovery mechanism not unlike the PCI bus standard that allows simple detection of devices in a network.}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hThis documentation is provided for developers intending to support RapidIO on new architectures, write new drivers, or to understand the subsystem internals.h]hThis documentation is provided for developers intending to support RapidIO on new architectures, write new drivers, or to understand the subsystem internals.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h] introductionah ]h"] introductionah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hKnown Bugs and Limitationsh]hKnown Bugs and Limitations}(hj3hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hhhhhKubh)}(hhh](h)}(hBugsh]hBugs}(hjDhjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?hhhhhKubh)}(hNone. ;)h]hNone. ;)}(hjRhjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj?hhubeh}(h]bugsah ]h"]bugsah$]h&]uh1hhj.hhhhhKubh)}(hhh](h)}(h Limitationsh]h Limitations}(hjkhjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfhhhhhKubhenumerated_list)}(hhh](h list_item)}(h=Access/management of RapidIO memory regions is not supported h]h)}(hhjhhhj,hK/ubhdesc_parameterlist)}(h/(struct rio_mport *port, u32 offset, u32 *data)h](hdesc_parameter)}(hstruct rio_mport *porth](hdesc_sig_keyword)}(hstructh]hstruct}(hhhjmhhhNhNubah}(h]h ]kah"]h$]h&]uh1jkhjgubj.)}(h h]h }(hhhj|hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjgubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomaincreftype identifier reftargetjmodnameN classnameN c:parent_keysphinx.domains.c LookupKey)}data]j ASTIdentifier)}jjHsbc.rio_local_read_config_32asbuh1hhjgubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjgubhdesc_sig_punctuation)}(h*h]h*}(hhhjhhhNhNubah}(h]h ]pah"]h$]h&]uh1jhjgubjE)}(hporth]hport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjgubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjaubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_local_read_config_32asbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hoffseth]hoffset}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjaubjf)}(h u32 *datah](h)}(hhh]jE)}(hu32h]hu32}(hhhj9hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj6ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj;modnameN classnameNjj)}j]jc.rio_local_read_config_32asbuh1hhj2ubj.)}(h h]h }(hhhjWhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj2ubj)}(hjh]h*}(hhhjehhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj2ubjE)}(hdatah]hdata}(hhhjrhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj2ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjaubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhj,hK/ubeh}(h]h ]h"]h$]h&]j]j^ add_permalinkuh1jsphinx_line_type declaratorhjhhhj,hK/ubah}(h]jah ](sig sig-objecteh"]h$]h&] is_multilineuh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK6hj hhubh desc_content)}(hhh]h)}(h+Read 32 bits from local configuration spaceh]h+Read 32 bits from local configuration space}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK.hjhhubah}(h]h ]h"]h$]h&]uh1jhj hhhj,hK/ubeh}(h]h ](jfunctioneh"]h$]h&]domainjobjtypejdesctypejnoindexuh1j hhhjhNhNubh container)}(hX **Parameters** ``struct rio_mport *port`` Master port ``u32 offset`` Offset into local configuration space ``u32 * data`` Pointer to read data into **Description** Reads 32 bits of data from the specified offset within the local device's configuration space.h](h)}(h**Parameters**h]hstrong)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK2hjubhdefinition_list)}(hhh](hdefinition_list_item)}(h'``struct rio_mport *port`` Master port h](hterm)}(h``struct rio_mport *port``h]hliteral)}(hjh]hstruct rio_mport *port}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK/hjubh definition)}(hhh]h)}(h Master porth]h Master port}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hK/hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj hK/hjubj)}(h5``u32 offset`` Offset into local configuration space h](j)}(h``u32 offset``h]j)}(hj1h]h u32 offset}(hhhj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK0hj+ubj )}(hhh]h)}(h%Offset into local configuration spaceh]h%Offset into local configuration space}(hjLhjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFhK0hjGubah}(h]h ]h"]h$]h&]uh1j hj+ubeh}(h]h ]h"]h$]h&]uh1jhjFhK0hjubj)}(h)``u32 * data`` Pointer to read data into h](j)}(h``u32 * data``h]j)}(hjjh]h u32 * data}(hhhjlhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK1hjdubj )}(hhh]h)}(hPointer to read data intoh]hPointer to read data into}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK1hjubah}(h]h ]h"]h$]h&]uh1j hjdubeh}(h]h ]h"]h$]h&]uh1jhjhK1hjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK3hjubh)}(h^Reads 32 bits of data from the specified offset within the local device's configuration space.h]h`Reads 32 bits of data from the specified offset within the local device’s configuration space.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK3hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j&rio_local_write_config_32 (C function)c.rio_local_write_config_32hNtauh1jhjhhhNhNubj )}(hhh](j)}(hLint rio_local_write_config_32 (struct rio_mport *port, u32 offset, u32 data)h]j)}(hKint rio_local_write_config_32(struct rio_mport *port, u32 offset, u32 data)h](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK>ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhK>ubj?)}(hrio_local_write_config_32h]jE)}(hrio_local_write_config_32h]hrio_local_write_config_32}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhK>ubj`)}(h.(struct rio_mport *port, u32 offset, u32 data)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhj'hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj#ubj.)}(h h]h }(hhhj4hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj#ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjEhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjGmodnameN classnameNjj)}j]j)}jj sbc.rio_local_write_config_32asbuh1hhj#ubj.)}(h h]h }(hhhjehhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj#ubj)}(hjh]h*}(hhhjshhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj#ubjE)}(hporth]hport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj#ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jac.rio_local_write_config_32asbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hoffseth]hoffset}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hu32 datah](h)}(hhh]jE)}(hu32h]hu32}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jac.rio_local_write_config_32asbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdatah]hdata}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhK>ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhK>ubah}(h]jah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKEhjhhubj)}(hhh]h)}(h*Write 32 bits to local configuration spaceh]h*Write 32 bits to local configuration space}(hj=hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK=hj8hhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhK>ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjSjjSjuh1j hhhjhNhNubj)}(hX**Parameters** ``struct rio_mport *port`` Master port ``u32 offset`` Offset into local configuration space ``u32 data`` Data to be written **Description** Writes 32 bits of data to the specified offset within the local device's configuration space.h](h)}(h**Parameters**h]j)}(hj]h]h Parameters}(hhhj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKAhjWubj)}(hhh](j)}(h'``struct rio_mport *port`` Master port h](j)}(h``struct rio_mport *port``h]j)}(hj|h]hstruct rio_mport *port}(hhhj~hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjzubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK>hjvubj )}(hhh]h)}(h Master porth]h Master port}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK>hjubah}(h]h ]h"]h$]h&]uh1j hjvubeh}(h]h ]h"]h$]h&]uh1jhjhK>hjsubj)}(h5``u32 offset`` Offset into local configuration space h](j)}(h``u32 offset``h]j)}(hjh]h u32 offset}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK?hjubj )}(hhh]h)}(h%Offset into local configuration spaceh]h%Offset into local configuration space}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK?hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhK?hjsubj)}(h ``u32 data`` Data to be written h](j)}(h ``u32 data``h]j)}(hjh]hu32 data}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK@hjubj )}(hhh]h)}(hData to be writtenh]hData to be written}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK@hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhK@hjsubeh}(h]h ]h"]h$]h&]uh1jhjWubh)}(h**Description**h]j)}(hj)h]h Description}(hhhj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKBhjWubh)}(h]Writes 32 bits of data to the specified offset within the local device's configuration space.h]h_Writes 32 bits of data to the specified offset within the local device’s configuration space.}(hjAhj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKBhjWubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j%rio_local_read_config_16 (C function)c.rio_local_read_config_16hNtauh1jhjhhhNhNubj )}(hhh](j)}(hMint rio_local_read_config_16 (struct rio_mport *port, u32 offset, u16 * data)h]j)}(hKint rio_local_read_config_16(struct rio_mport *port, u32 offset, u16 *data)h](j)}(hinth]hint}(hhhjnhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjjhhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKMubj.)}(h h]h }(hhhj}hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjjhhhj|hKMubj?)}(hrio_local_read_config_16h]jE)}(hrio_local_read_config_16h]hrio_local_read_config_16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjjhhhj|hKMubj`)}(h/(struct rio_mport *port, u32 offset, u16 *data)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_local_read_config_16asbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hporth]hport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj"modnameN classnameNjj)}j]jc.rio_local_read_config_16asbuh1hhjubj.)}(h h]h }(hhhj>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hoffseth]hoffset}(hhhjLhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 *datah](h)}(hhh]jE)}(hu16h]hu16}(hhhjhhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjeubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjjmodnameN classnameNjj)}j]jc.rio_local_read_config_16asbuh1hhjaubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjaubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjaubjE)}(hdatah]hdata}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjaubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjjhhhj|hKMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjfhhhj|hKMubah}(h]jaah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKThjchhubj)}(hhh]h)}(h+Read 16 bits from local configuration spaceh]h+Read 16 bits from local configuration space}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKLhjhhubah}(h]h ]h"]h$]h&]uh1jhjchhhj|hKMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hX **Parameters** ``struct rio_mport *port`` Master port ``u32 offset`` Offset into local configuration space ``u16 * data`` Pointer to read data into **Description** Reads 16 bits of data from the specified offset within the local device's configuration space.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKPhjubj)}(hhh](j)}(h'``struct rio_mport *port`` Master port h](j)}(h``struct rio_mport *port``h]j)}(hj h]hstruct rio_mport *port}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKMhj ubj )}(hhh]h)}(h Master porth]h Master port}(hj( hj& hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj" hKMhj# ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj" hKMhj ubj)}(h5``u32 offset`` Offset into local configuration space h](j)}(h``u32 offset``h]j)}(hjF h]h u32 offset}(hhhjH hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjD ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKNhj@ ubj )}(hhh]h)}(h%Offset into local configuration spaceh]h%Offset into local configuration space}(hja hj_ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[ hKNhj\ ubah}(h]h ]h"]h$]h&]uh1j hj@ ubeh}(h]h ]h"]h$]h&]uh1jhj[ hKNhj ubj)}(h)``u16 * data`` Pointer to read data into h](j)}(h``u16 * data``h]j)}(hj h]h u16 * data}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj} ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKOhjy ubj )}(hhh]h)}(hPointer to read data intoh]hPointer to read data into}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKOhj ubah}(h]h ]h"]h$]h&]uh1j hjy ubeh}(h]h ]h"]h$]h&]uh1jhj hKOhj ubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hj h]h Description}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKQhjubh)}(h^Reads 16 bits of data from the specified offset within the local device's configuration space.h]h`Reads 16 bits of data from the specified offset within the local device’s configuration space.}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKQhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j&rio_local_write_config_16 (C function)c.rio_local_write_config_16hNtauh1jhjhhhNhNubj )}(hhh](j)}(hLint rio_local_write_config_16 (struct rio_mport *port, u32 offset, u16 data)h]j)}(hKint rio_local_write_config_16(struct rio_mport *port, u32 offset, u16 data)h](j)}(hinth]hint}(hhhj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK\ubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj hhhj hK\ubj?)}(hrio_local_write_config_16h]jE)}(hrio_local_write_config_16h]hrio_local_write_config_16}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj hhhj hK\ubj`)}(h.(struct rio_mport *port, u32 offset, u16 data)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhj< hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj8 ubj.)}(h h]h }(hhhjI hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj8 ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjZ hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjW ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj\ modnameN classnameNjj)}j]j)}jj" sbc.rio_local_write_config_16asbuh1hhj8 ubj.)}(h h]h }(hhhjz hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj8 ubj)}(hjh]h*}(hhhj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj8 ubjE)}(hporth]hport}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj8 ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj4 ubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]jv c.rio_local_write_config_16asbuh1hhj ubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubjE)}(hoffseth]hoffset}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj4 ubjf)}(hu16 datah](h)}(hhh]jE)}(hu16h]hu16}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]jv c.rio_local_write_config_16asbuh1hhj ubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubjE)}(hdatah]hdata}(hhhj% hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj4 ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj hhhj hK\ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj hhhj hK\ubah}(h]j ah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKchj hhubj)}(hhh]h)}(h*Write 16 bits to local configuration spaceh]h*Write 16 bits to local configuration space}(hjR hjP hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK[hjM hhubah}(h]h ]h"]h$]h&]uh1jhj hhhj hK\ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjh jjh juh1j hhhjhNhNubj)}(hX**Parameters** ``struct rio_mport *port`` Master port ``u32 offset`` Offset into local configuration space ``u16 data`` Data to be written **Description** Writes 16 bits of data to the specified offset within the local device's configuration space.h](h)}(h**Parameters**h]j)}(hjr h]h Parameters}(hhhjt hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjp ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK_hjl ubj)}(hhh](j)}(h'``struct rio_mport *port`` Master port h](j)}(h``struct rio_mport *port``h]j)}(hj h]hstruct rio_mport *port}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK\hj ubj )}(hhh]h)}(h Master porth]h Master port}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hK\hj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj hK\hj ubj)}(h5``u32 offset`` Offset into local configuration space h](j)}(h``u32 offset``h]j)}(hj h]h u32 offset}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK]hj ubj )}(hhh]h)}(h%Offset into local configuration spaceh]h%Offset into local configuration space}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hK]hj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj hK]hj ubj)}(h ``u16 data`` Data to be written h](j)}(h ``u16 data``h]j)}(hj h]hu16 data}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK^hj ubj )}(hhh]h)}(hData to be writtenh]hData to be written}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hK^hj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj hK^hj ubeh}(h]h ]h"]h$]h&]uh1jhjl ubh)}(h**Description**h]j)}(hj> h]h Description}(hhhj@ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj< ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK`hjl ubh)}(h]Writes 16 bits of data to the specified offset within the local device's configuration space.h]h_Writes 16 bits of data to the specified offset within the local device’s configuration space.}(hjV hjT hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK`hjl ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$rio_local_read_config_8 (C function)c.rio_local_read_config_8hNtauh1jhjhhhNhNubj )}(hhh](j)}(hKint rio_local_read_config_8 (struct rio_mport *port, u32 offset, u8 * data)h]j)}(hIint rio_local_read_config_8(struct rio_mport *port, u32 offset, u8 *data)h](j)}(hinth]hint}(hhhj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKlubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj hhhj hKlubj?)}(hrio_local_read_config_8h]jE)}(hrio_local_read_config_8h]hrio_local_read_config_8}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj hhhj hKlubj`)}(h.(struct rio_mport *port, u32 offset, u8 *data)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhj hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj ubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j)}jj sbc.rio_local_read_config_8asbuh1hhj ubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubj)}(hjh]h*}(hhhj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjE)}(hporth]hport}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj ubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hhhj5 hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj2 ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj7 modnameN classnameNjj)}j]j c.rio_local_read_config_8asbuh1hhj. ubj.)}(h h]h }(hhhjS hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj. ubjE)}(hoffseth]hoffset}(hhhja hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj. ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj ubjf)}(hu8 *datah](h)}(hhh]jE)}(hu8h]hu8}(hhhj} hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjz ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j c.rio_local_read_config_8asbuh1hhjv ubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjv ubj)}(hjh]h*}(hhhj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjv ubjE)}(hdatah]hdata}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjv ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj hhhj hKlubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj{ hhhj hKlubah}(h]jv ah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKshjx hhubj)}(hhh]h)}(h*Read 8 bits from local configuration spaceh]h*Read 8 bits from local configuration space}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKkhj hhubah}(h]h ]h"]h$]h&]uh1jhjx hhhj hKlubeh}(h]h ](jfunctioneh"]h$]h&]jjjj jj juh1j hhhjhNhNubj)}(hX **Parameters** ``struct rio_mport *port`` Master port ``u32 offset`` Offset into local configuration space ``u8 * data`` Pointer to read data into **Description** Reads 8 bits of data from the specified offset within the local device's configuration space.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKohj ubj)}(hhh](j)}(h'``struct rio_mport *port`` Master port h](j)}(h``struct rio_mport *port``h]j)}(hj"h]hstruct rio_mport *port}(hhhj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKlhjubj )}(hhh]h)}(h Master porth]h Master port}(hj=hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7hKlhj8ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj7hKlhjubj)}(h5``u32 offset`` Offset into local configuration space h](j)}(h``u32 offset``h]j)}(hj[h]h u32 offset}(hhhj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjYubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKmhjUubj )}(hhh]h)}(h%Offset into local configuration spaceh]h%Offset into local configuration space}(hjvhjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjphKmhjqubah}(h]h ]h"]h$]h&]uh1j hjUubeh}(h]h ]h"]h$]h&]uh1jhjphKmhjubj)}(h(``u8 * data`` Pointer to read data into h](j)}(h ``u8 * data``h]j)}(hjh]h u8 * data}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKnhjubj )}(hhh]h)}(hPointer to read data intoh]hPointer to read data into}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKnhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKnhjubeh}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKphj ubh)}(h]Reads 8 bits of data from the specified offset within the local device's configuration space.h]h_Reads 8 bits of data from the specified offset within the local device’s configuration space.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKphj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j%rio_local_write_config_8 (C function)c.rio_local_write_config_8hNtauh1jhjhhhNhNubj )}(hhh](j)}(hJint rio_local_write_config_8 (struct rio_mport *port, u32 offset, u8 data)h]j)}(hIint rio_local_write_config_8(struct rio_mport *port, u32 offset, u8 data)h](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK{ubj.)}(h h]h }(hhhj#hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj"hK{ubj?)}(hrio_local_write_config_8h]jE)}(hrio_local_write_config_8h]hrio_local_write_config_8}(hhhj5hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj1ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhj"hK{ubj`)}(h-(struct rio_mport *port, u32 offset, u8 data)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhjQhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjMubj.)}(h h]h }(hhhj^hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjMubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjohhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjlubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjqmodnameN classnameNjj)}j]j)}jj7sbc.rio_local_write_config_8asbuh1hhjMubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjMubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjMubjE)}(hporth]hport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjMubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjIubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_local_write_config_8asbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hoffseth]hoffset}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjIubjf)}(hu8 datah](h)}(hhh]jE)}(hu8h]hu8}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_local_write_config_8asbuh1hhjubj.)}(h h]h }(hhhj,hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdatah]hdata}(hhhj:hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjIubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhj"hK{ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj hhhj"hK{ubah}(h]jah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj hhubj)}(hhh]h)}(h)Write 8 bits to local configuration spaceh]h)Write 8 bits to local configuration space}(hjghjehhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKzhjbhhubah}(h]h ]h"]h$]h&]uh1jhj hhhj"hK{ubeh}(h]h ](jfunctioneh"]h$]h&]jjjj}jj}juh1j hhhjhNhNubj)}(hX**Parameters** ``struct rio_mport *port`` Master port ``u32 offset`` Offset into local configuration space ``u8 data`` Data to be written **Description** Writes 8 bits of data to the specified offset within the local device's configuration space.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK~hjubj)}(hhh](j)}(h'``struct rio_mport *port`` Master port h](j)}(h``struct rio_mport *port``h]j)}(hjh]hstruct rio_mport *port}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK{hjubj )}(hhh]h)}(h Master porth]h Master port}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK{hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhK{hjubj)}(h5``u32 offset`` Offset into local configuration space h](j)}(h``u32 offset``h]j)}(hjh]h u32 offset}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK|hjubj )}(hhh]h)}(h%Offset into local configuration spaceh]h%Offset into local configuration space}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK|hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhK|hjubj)}(h``u8 data`` Data to be written h](j)}(h ``u8 data``h]j)}(hjh]hu8 data}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK}hjubj )}(hhh]h)}(hData to be writtenh]hData to be written}(hj3hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-hK}hj.ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj-hK}hjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjSh]h Description}(hhhjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubh)}(h\Writes 8 bits of data to the specified offset within the local device's configuration space.h]h^Writes 8 bits of data to the specified offset within the local device’s configuration space.}(hjkhjihhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_read_config_32 (C function)c.rio_read_config_32hNtauh1jhjhhhNhNubj )}(hhh](j)}(hEint rio_read_config_32 (struct rio_dev *rdev, u32 offset, u32 * data)h]j)}(hCint rio_read_config_32(struct rio_dev *rdev, u32 offset, u32 *data)h](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKubj?)}(hrio_read_config_32h]jE)}(hrio_read_config_32h]hrio_read_config_32}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhKubj`)}(h-(struct rio_dev *rdev, u32 offset, u32 *data)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_read_config_32asbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hhhj.hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hhhjJhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjGubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjLmodnameN classnameNjj)}j]jc.rio_read_config_32asbuh1hhjCubj.)}(h h]h }(hhhjhhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjCubjE)}(hoffseth]hoffset}(hhhjvhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjCubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u32 *datah](h)}(hhh]jE)}(hu32h]hu32}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_read_config_32asbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hdatah]hdata}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjhhubj)}(hhh]h)}(h%Read 32 bits from configuration spaceh]h%Read 32 bits from configuration space}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hX **Parameters** ``struct rio_dev *rdev`` RIO device ``u32 offset`` Offset into device configuration space ``u32 * data`` Pointer to read data into **Description** Reads 32 bits of data from the specified offset within the RIO device's configuration space.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubj)}(hhh](j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hj7h]hstruct rio_dev *rdev}(hhhj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj1ubj )}(hhh]h)}(h RIO deviceh]h RIO device}(hjRhjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLhKhjMubah}(h]h ]h"]h$]h&]uh1j hj1ubeh}(h]h ]h"]h$]h&]uh1jhjLhKhj.ubj)}(h6``u32 offset`` Offset into device configuration space h](j)}(h``u32 offset``h]j)}(hjph]h u32 offset}(hhhjrhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjnubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjjubj )}(hhh]h)}(h&Offset into device configuration spaceh]h&Offset into device configuration space}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj.ubj)}(h)``u32 * data`` Pointer to read data into h](j)}(h``u32 * data``h]j)}(hjh]h u32 * data}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubj )}(hhh]h)}(hPointer to read data intoh]hPointer to read data into}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj.ubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubh)}(h\Reads 32 bits of data from the specified offset within the RIO device's configuration space.h]h^Reads 32 bits of data from the specified offset within the RIO device’s configuration space.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j rio_write_config_32 (C function)c.rio_write_config_32hNtauh1jhjhhhNhNubj )}(hhh](j)}(hDint rio_write_config_32 (struct rio_dev *rdev, u32 offset, u32 data)h]j)}(hCint rio_write_config_32(struct rio_dev *rdev, u32 offset, u32 data)h](j)}(hinth]hint}(hhhj)hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj%hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKubj.)}(h h]h }(hhhj8hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%hhhj7hKubj?)}(hrio_write_config_32h]jE)}(hrio_write_config_32h]hrio_write_config_32}(hhhjJhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjFubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj%hhhj7hKubj`)}(h,(struct rio_dev *rdev, u32 offset, u32 data)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjfhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjbubj.)}(h h]h }(hhhjshhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjbubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjLsbc.rio_write_config_32asbuh1hhjbubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjbubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjbubjE)}(hrdevh]hrdev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjbubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj^ubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_write_config_32asbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hoffseth]hoffset}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj^ubjf)}(hu32 datah](h)}(hhh]jE)}(hu32h]hu32}(hhhj#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj%modnameN classnameNjj)}j]jc.rio_write_config_32asbuh1hhjubj.)}(h h]h }(hhhjAhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdatah]hdata}(hhhjOhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj^ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj%hhhj7hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj!hhhj7hKubah}(h]jah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjhhubj)}(hhh]h)}(h$Write 32 bits to configuration spaceh]h$Write 32 bits to configuration space}(hj|hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjwhhubah}(h]h ]h"]h$]h&]uh1jhjhhhj7hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_dev *rdev`` RIO device ``u32 offset`` Offset into device configuration space ``u32 data`` Data to be written **Description** Writes 32 bits of data to the specified offset within the RIO device's configuration space.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubj)}(hhh](j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hjh]hstruct rio_dev *rdev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubj )}(hhh]h)}(h RIO deviceh]h RIO device}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h6``u32 offset`` Offset into device configuration space h](j)}(h``u32 offset``h]j)}(hjh]h u32 offset}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubj )}(hhh]h)}(h&Offset into device configuration spaceh]h&Offset into device configuration space}(hjhj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj hKhjubj)}(h ``u32 data`` Data to be written h](j)}(h ``u32 data``h]j)}(hj-h]hu32 data}(hhhj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj'ubj )}(hhh]h)}(hData to be writtenh]hData to be written}(hjHhjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBhKhjCubah}(h]h ]h"]h$]h&]uh1j hj'ubeh}(h]h ]h"]h$]h&]uh1jhjBhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjhh]h Description}(hhhjjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjfubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubh)}(h[Writes 32 bits of data to the specified offset within the RIO device's configuration space.h]h]Writes 32 bits of data to the specified offset within the RIO device’s configuration space.}(hjhj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_read_config_16 (C function)c.rio_read_config_16hNtauh1jhjhhhNhNubj )}(hhh](j)}(hEint rio_read_config_16 (struct rio_dev *rdev, u32 offset, u16 * data)h]j)}(hCint rio_read_config_16(struct rio_dev *rdev, u32 offset, u16 *data)h](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKubj?)}(hrio_read_config_16h]jE)}(hrio_read_config_16h]hrio_read_config_16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhKubj`)}(h-(struct rio_dev *rdev, u32 offset, u16 *data)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j)}jjsbc.rio_read_config_16asbuh1hhjubj.)}(h h]h }(hhhj(hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhj6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hhhjChhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hhhj_hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj\ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjamodnameN classnameNjj)}j]j$c.rio_read_config_16asbuh1hhjXubj.)}(h h]h }(hhhj}hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjXubjE)}(hoffseth]hoffset}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjXubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 *datah](h)}(hhh]jE)}(hu16h]hu16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j$c.rio_read_config_16asbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hdatah]hdata}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjhhubj)}(hhh]h)}(h%Read 16 bits from configuration spaceh]h%Read 16 bits from configuration space}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj#jj#juh1j hhhjhNhNubj)}(hX **Parameters** ``struct rio_dev *rdev`` RIO device ``u32 offset`` Offset into device configuration space ``u16 * data`` Pointer to read data into **Description** Reads 16 bits of data from the specified offset within the RIO device's configuration space.h](h)}(h**Parameters**h]j)}(hj-h]h Parameters}(hhhj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj'ubj)}(hhh](j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hjLh]hstruct rio_dev *rdev}(hhhjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjFubj )}(hhh]h)}(h RIO deviceh]h RIO device}(hjghjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjahKhjbubah}(h]h ]h"]h$]h&]uh1j hjFubeh}(h]h ]h"]h$]h&]uh1jhjahKhjCubj)}(h6``u32 offset`` Offset into device configuration space h](j)}(h``u32 offset``h]j)}(hjh]h u32 offset}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubj )}(hhh]h)}(h&Offset into device configuration spaceh]h&Offset into device configuration space}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjCubj)}(h)``u16 * data`` Pointer to read data into h](j)}(h``u16 * data``h]j)}(hjh]h u16 * data}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubj )}(hhh]h)}(hPointer to read data intoh]hPointer to read data into}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjCubeh}(h]h ]h"]h$]h&]uh1jhj'ubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj'ubh)}(h\Reads 16 bits of data from the specified offset within the RIO device's configuration space.h]h^Reads 16 bits of data from the specified offset within the RIO device’s configuration space.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj'ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j rio_write_config_16 (C function)c.rio_write_config_16hNtauh1jhjhhhNhNubj )}(hhh](j)}(hDint rio_write_config_16 (struct rio_dev *rdev, u32 offset, u16 data)h]j)}(hCint rio_write_config_16(struct rio_dev *rdev, u32 offset, u16 data)h](j)}(hinth]hint}(hhhj>hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj:hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKubj.)}(h h]h }(hhhjMhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj:hhhjLhKubj?)}(hrio_write_config_16h]jE)}(hrio_write_config_16h]hrio_write_config_16}(hhhj_hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj[ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj:hhhjLhKubj`)}(h,(struct rio_dev *rdev, u32 offset, u16 data)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhj{hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjwubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjwubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjasbc.rio_write_config_16asbuh1hhjwubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjwubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjwubjE)}(hrdevh]hrdev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjwubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjsubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_write_config_16asbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hoffseth]hoffset}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjsubjf)}(hu16 datah](h)}(hhh]jE)}(hu16h]hu16}(hhhj8hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj5ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj:modnameN classnameNjj)}j]jc.rio_write_config_16asbuh1hhj1ubj.)}(h h]h }(hhhjVhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj1ubjE)}(hdatah]hdata}(hhhjdhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj1ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjsubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj:hhhjLhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj6hhhjLhKubah}(h]j1ah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj3hhubj)}(hhh]h)}(h$Write 16 bits to configuration spaceh]h$Write 16 bits to configuration space}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jhj3hhhjLhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_dev *rdev`` RIO device ``u32 offset`` Offset into device configuration space ``u16 data`` Data to be written **Description** Writes 16 bits of data to the specified offset within the RIO device's configuration space.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubj)}(hhh](j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hjh]hstruct rio_dev *rdev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubj )}(hhh]h)}(h RIO deviceh]h RIO device}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h6``u32 offset`` Offset into device configuration space h](j)}(h``u32 offset``h]j)}(hj h]h u32 offset}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubj )}(hhh]h)}(h&Offset into device configuration spaceh]h&Offset into device configuration space}(hj$hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h ``u16 data`` Data to be written h](j)}(h ``u16 data``h]j)}(hjBh]hu16 data}(hhhjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj<ubj )}(hhh]h)}(hData to be writtenh]hData to be written}(hj]hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWhKhjXubah}(h]h ]h"]h$]h&]uh1j hj<ubeh}(h]h ]h"]h$]h&]uh1jhjWhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hj}h]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj{ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubh)}(h[Writes 16 bits of data to the specified offset within the RIO device's configuration space.h]h]Writes 16 bits of data to the specified offset within the RIO device’s configuration space.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_read_config_8 (C function)c.rio_read_config_8hNtauh1jhjhhhNhNubj )}(hhh](j)}(hCint rio_read_config_8 (struct rio_dev *rdev, u32 offset, u8 * data)h]j)}(hAint rio_read_config_8(struct rio_dev *rdev, u32 offset, u8 *data)h](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKubj?)}(hrio_read_config_8h]jE)}(hrio_read_config_8h]hrio_read_config_8}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhKubj`)}(h,(struct rio_dev *rdev, u32 offset, u8 *data)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_read_config_8asbuh1hhjubj.)}(h h]h }(hhhj=hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjKhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hhhjXhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hhhjthhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjqubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjvmodnameN classnameNjj)}j]j9c.rio_read_config_8asbuh1hhjmubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjmubjE)}(hoffseth]hoffset}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjmubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hu8 *datah](h)}(hhh]jE)}(hu8h]hu8}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j9c.rio_read_config_8asbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hdatah]hdata}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjhhubj)}(hhh]h)}(h$Read 8 bits from configuration spaceh]h$Read 8 bits from configuration space}(hj"hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj8jj8juh1j hhhjhNhNubj)}(hX**Parameters** ``struct rio_dev *rdev`` RIO device ``u32 offset`` Offset into device configuration space ``u8 * data`` Pointer to read data into **Description** Reads 8 bits of data from the specified offset within the RIO device's configuration space.h](h)}(h**Parameters**h]j)}(hjBh]h Parameters}(hhhjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj<ubj)}(hhh](j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hjah]hstruct rio_dev *rdev}(hhhjchhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj[ubj )}(hhh]h)}(h RIO deviceh]h RIO device}(hj|hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvhKhjwubah}(h]h ]h"]h$]h&]uh1j hj[ubeh}(h]h ]h"]h$]h&]uh1jhjvhKhjXubj)}(h6``u32 offset`` Offset into device configuration space h](j)}(h``u32 offset``h]j)}(hjh]h u32 offset}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubj )}(hhh]h)}(h&Offset into device configuration spaceh]h&Offset into device configuration space}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjXubj)}(h(``u8 * data`` Pointer to read data into h](j)}(h ``u8 * data``h]j)}(hjh]h u8 * data}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubj )}(hhh]h)}(hPointer to read data intoh]hPointer to read data into}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjXubeh}(h]h ]h"]h$]h&]uh1jhj<ubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj<ubh)}(h[Reads 8 bits of data from the specified offset within the RIO device's configuration space.h]h]Reads 8 bits of data from the specified offset within the RIO device’s configuration space.}(hj&hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj<ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_write_config_8 (C function)c.rio_write_config_8hNtauh1jhjhhhNhNubj )}(hhh](j)}(hBint rio_write_config_8 (struct rio_dev *rdev, u32 offset, u8 data)h]j)}(hAint rio_write_config_8(struct rio_dev *rdev, u32 offset, u8 data)h](j)}(hinth]hint}(hhhjShhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjOhhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKubj.)}(h h]h }(hhhjbhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjOhhhjahKubj?)}(hrio_write_config_8h]jE)}(hrio_write_config_8h]hrio_write_config_8}(hhhjthhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjpubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjOhhhjahKubj`)}(h+(struct rio_dev *rdev, u32 offset, u8 data)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjvsbc.rio_write_config_8asbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_write_config_8asbuh1hhjubj.)}(h h]h }(hhhj#hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hoffseth]hoffset}(hhhj1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hu8 datah](h)}(hhh]jE)}(hu8h]hu8}(hhhjMhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjJubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjOmodnameN classnameNjj)}j]jc.rio_write_config_8asbuh1hhjFubj.)}(h h]h }(hhhjkhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjFubjE)}(hdatah]hdata}(hhhjyhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjFubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjOhhhjahKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjKhhhjahKubah}(h]jFah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjHhhubj)}(hhh]h)}(h#Write 8 bits to configuration spaceh]h#Write 8 bits to configuration space}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jhjHhhhjahKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_dev *rdev`` RIO device ``u32 offset`` Offset into device configuration space ``u8 data`` Data to be written **Description** Writes 8 bits of data to the specified offset within the RIO device's configuration space.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubj)}(hhh](j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hjh]hstruct rio_dev *rdev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubj )}(hhh]h)}(h RIO deviceh]h RIO device}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h6``u32 offset`` Offset into device configuration space h](j)}(h``u32 offset``h]j)}(hj h]h u32 offset}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj ubj )}(hhh]h)}(h&Offset into device configuration spaceh]h&Offset into device configuration space}(hj9 hj7 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3 hKhj4 ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj3 hKhjubj)}(h``u8 data`` Data to be written h](j)}(h ``u8 data``h]j)}(hjW h]hu8 data}(hhhjY hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjU ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjQ ubj )}(hhh]h)}(hData to be writtenh]hData to be written}(hjr hjp hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjl hKhjm ubah}(h]h ]h"]h$]h&]uh1j hjQ ubeh}(h]h ]h"]h$]h&]uh1jhjl hKhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hj h]h Description}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubh)}(hZWrites 8 bits of data to the specified offset within the RIO device's configuration space.h]h\Writes 8 bits of data to the specified offset within the RIO device’s configuration space.}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_send_doorbell (C function)c.rio_send_doorbellhNtauh1jhjhhhNhNubj )}(hhh](j)}(h6int rio_send_doorbell (struct rio_dev *rdev, u16 data)h]j)}(h5int rio_send_doorbell(struct rio_dev *rdev, u16 data)h](j)}(hinth]hint}(hhhj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj hhhj hKubj?)}(hrio_send_doorbellh]jE)}(hrio_send_doorbellh]hrio_send_doorbell}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj hhhj hKubj`)}(h (struct rio_dev *rdev, u16 data)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhj!hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj!ubj.)}(h h]h }(hhhj!!hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhj2!hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj/!ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj4!modnameN classnameNjj)}j]j)}jj sbc.rio_send_doorbellasbuh1hhj!ubj.)}(h h]h }(hhhjR!hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!ubj)}(hjh]h*}(hhhj`!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubjE)}(hrdevh]hrdev}(hhhjm!hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj!ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj !ubjf)}(hu16 datah](h)}(hhh]jE)}(hu16h]hu16}(hhhj!hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj!ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj!modnameN classnameNjj)}j]jN!c.rio_send_doorbellasbuh1hhj!ubj.)}(h h]h }(hhhj!hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!ubjE)}(hdatah]hdata}(hhhj!hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj!ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj !ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj hhhj hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj hhhj hKubah}(h]j ah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj hhubj)}(hhh]h)}(h#Send a doorbell message to a deviceh]h#Send a doorbell message to a device}(hj!hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj!hhubah}(h]h ]h"]h$]h&]uh1jhj hhhj hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj!jj!juh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_dev *rdev`` RIO device ``u16 data`` Doorbell message data **Description** Send a doorbell message to a RIO device. The doorbell message has a 16-bit info field provided by the **data** argument.h](h)}(h**Parameters**h]j)}(hj"h]h Parameters}(hhhj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj!ubj)}(hhh](j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hj!"h]hstruct rio_dev *rdev}(hhhj#"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj"ubj )}(hhh]h)}(h RIO deviceh]h RIO device}(hj<"hj:"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6"hKhj7"ubah}(h]h ]h"]h$]h&]uh1j hj"ubeh}(h]h ]h"]h$]h&]uh1jhj6"hKhj"ubj)}(h#``u16 data`` Doorbell message data h](j)}(h ``u16 data``h]j)}(hjZ"h]hu16 data}(hhhj\"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjX"ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjT"ubj )}(hhh]h)}(hDoorbell message datah]hDoorbell message data}(hju"hjs"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjo"hKhjp"ubah}(h]h ]h"]h$]h&]uh1j hjT"ubeh}(h]h ]h"]h$]h&]uh1jhjo"hKhj"ubeh}(h]h ]h"]h$]h&]uh1jhj!ubh)}(h**Description**h]j)}(hj"h]h Description}(hhhj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj!ubh)}(hxSend a doorbell message to a RIO device. The doorbell message has a 16-bit info field provided by the **data** argument.h](hfSend a doorbell message to a RIO device. The doorbell message has a 16-bit info field provided by the }(hfSend a doorbell message to a RIO device. The doorbell message has a 16-bit info field provided by the hj"hhhNhNubj)}(h**data**h]hdata}(hhhj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubh argument.}(h argument.hj"hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj!ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_init_mbox_res (C function)c.rio_init_mbox_reshNtauh1jhjhhhNhNubj )}(hhh](j)}(hAvoid rio_init_mbox_res (struct resource *res, int start, int end)h]j)}(h@void rio_init_mbox_res(struct resource *res, int start, int end)h](j)}(hvoidh]hvoid}(hhhj"hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj"hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKubj.)}(h h]h }(hhhj"hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj"hhhj"hKubj?)}(hrio_init_mbox_resh]jE)}(hrio_init_mbox_resh]hrio_init_mbox_res}(hhhj#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj #ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj"hhhj"hKubj`)}(h*(struct resource *res, int start, int end)h](jf)}(hstruct resource *resh](jl)}(hjoh]hstruct}(hhhj+#hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj'#ubj.)}(h h]h }(hhhj8#hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj'#ubh)}(hhh]jE)}(hresourceh]hresource}(hhhjI#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjF#ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjK#modnameN classnameNjj)}j]j)}jj#sbc.rio_init_mbox_resasbuh1hhj'#ubj.)}(h h]h }(hhhji#hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj'#ubj)}(hjh]h*}(hhhjw#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj'#ubjE)}(hresh]hres}(hhhj#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj'#ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj##ubjf)}(h int starth](j)}(hinth]hint}(hhhj#hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj#ubj.)}(h h]h }(hhhj#hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj#ubjE)}(hstarth]hstart}(hhhj#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj#ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj##ubjf)}(hint endh](j)}(hinth]hint}(hhhj#hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj#ubj.)}(h h]h }(hhhj#hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj#ubjE)}(hendh]hend}(hhhj#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj#ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj##ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj"hhhj"hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj"hhhj"hKubah}(h]j"ah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj"hhubj)}(hhh]h)}(h!Initialize a RIO mailbox resourceh]h!Initialize a RIO mailbox resource}(hj$hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj$hhubah}(h]h ]h"]h$]h&]uh1jhj"hhhj"hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj1$jj1$juh1j hhhjhNhNubj)}(hX<**Parameters** ``struct resource *res`` resource struct ``int start`` start of mailbox range ``int end`` end of mailbox range **Description** This function is used to initialize the fields of a resource for use as a mailbox resource. It initializes a range of mailboxes using the start and end arguments.h](h)}(h**Parameters**h]j)}(hj;$h]h Parameters}(hhhj=$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9$ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj5$ubj)}(hhh](j)}(h)``struct resource *res`` resource struct h](j)}(h``struct resource *res``h]j)}(hjZ$h]hstruct resource *res}(hhhj\$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjX$ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjT$ubj )}(hhh]h)}(hresource structh]hresource struct}(hju$hjs$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjo$hKhjp$ubah}(h]h ]h"]h$]h&]uh1j hjT$ubeh}(h]h ]h"]h$]h&]uh1jhjo$hKhjQ$ubj)}(h%``int start`` start of mailbox range h](j)}(h ``int start``h]j)}(hj$h]h int start}(hhhj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj$ubj )}(hhh]h)}(hstart of mailbox rangeh]hstart of mailbox range}(hj$hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$hKhj$ubah}(h]h ]h"]h$]h&]uh1j hj$ubeh}(h]h ]h"]h$]h&]uh1jhj$hKhjQ$ubj)}(h!``int end`` end of mailbox range h](j)}(h ``int end``h]j)}(hj$h]hint end}(hhhj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj$ubj )}(hhh]h)}(hend of mailbox rangeh]hend of mailbox range}(hj$hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$hKhj$ubah}(h]h ]h"]h$]h&]uh1j hj$ubeh}(h]h ]h"]h$]h&]uh1jhj$hKhjQ$ubeh}(h]h ]h"]h$]h&]uh1jhj5$ubh)}(h**Description**h]j)}(hj%h]h Description}(hhhj %hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj5$ubh)}(hThis function is used to initialize the fields of a resource for use as a mailbox resource. It initializes a range of mailboxes using the start and end arguments.h]hThis function is used to initialize the fields of a resource for use as a mailbox resource. It initializes a range of mailboxes using the start and end arguments.}(hj%hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj5$ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_init_dbell_res (C function)c.rio_init_dbell_reshNtauh1jhjhhhNhNubj )}(hhh](j)}(hBvoid rio_init_dbell_res (struct resource *res, u16 start, u16 end)h]j)}(hAvoid rio_init_dbell_res(struct resource *res, u16 start, u16 end)h](j)}(hvoidh]hvoid}(hhhjL%hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjH%hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM ubj.)}(h h]h }(hhhj[%hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjH%hhhjZ%hM ubj?)}(hrio_init_dbell_resh]jE)}(hrio_init_dbell_resh]hrio_init_dbell_res}(hhhjm%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhji%ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjH%hhhjZ%hM ubj`)}(h*(struct resource *res, u16 start, u16 end)h](jf)}(hstruct resource *resh](jl)}(hjoh]hstruct}(hhhj%hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj%ubj.)}(h h]h }(hhhj%hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%ubh)}(hhh]jE)}(hresourceh]hresource}(hhhj%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj%modnameN classnameNjj)}j]j)}jjo%sbc.rio_init_dbell_resasbuh1hhj%ubj.)}(h h]h }(hhhj%hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%ubj)}(hjh]h*}(hhhj%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%ubjE)}(hresh]hres}(hhhj%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj%ubjf)}(h u16 starth](h)}(hhh]jE)}(hu16h]hu16}(hhhj%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj&modnameN classnameNjj)}j]j%c.rio_init_dbell_resasbuh1hhj%ubj.)}(h h]h }(hhhj&hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%ubjE)}(hstarth]hstart}(hhhj*&hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj%ubjf)}(hu16 endh](h)}(hhh]jE)}(hu16h]hu16}(hhhjF&hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjC&ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjH&modnameN classnameNjj)}j]j%c.rio_init_dbell_resasbuh1hhj?&ubj.)}(h h]h }(hhhjd&hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj?&ubjE)}(hendh]hend}(hhhjr&hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj?&ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj%ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjH%hhhjZ%hM ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjD%hhhjZ%hM ubah}(h]j?%ah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhjA%hhubj)}(hhh]h)}(h"Initialize a RIO doorbell resourceh]h"Initialize a RIO doorbell resource}(hj&hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM hj&hhubah}(h]h ]h"]h$]h&]uh1jhjA%hhhjZ%hM ubeh}(h]h ](jfunctioneh"]h$]h&]jjjj&jj&juh1j hhhjhNhNubj)}(hXG**Parameters** ``struct resource *res`` resource struct ``u16 start`` start of doorbell range ``u16 end`` end of doorbell range **Description** This function is used to initialize the fields of a resource for use as a doorbell resource. It initializes a range of doorbell messages using the start and end arguments.h](h)}(h**Parameters**h]j)}(hj&h]h Parameters}(hhhj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM hj&ubj)}(hhh](j)}(h)``struct resource *res`` resource struct h](j)}(h``struct resource *res``h]j)}(hj&h]hstruct resource *res}(hhhj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM hj&ubj )}(hhh]h)}(hresource structh]hresource struct}(hj&hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&hM hj&ubah}(h]h ]h"]h$]h&]uh1j hj&ubeh}(h]h ]h"]h$]h&]uh1jhj&hM hj&ubj)}(h&``u16 start`` start of doorbell range h](j)}(h ``u16 start``h]j)}(hj'h]h u16 start}(hhhj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM hj'ubj )}(hhh]h)}(hstart of doorbell rangeh]hstart of doorbell range}(hj2'hj0'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,'hM hj-'ubah}(h]h ]h"]h$]h&]uh1j hj'ubeh}(h]h ]h"]h$]h&]uh1jhj,'hM hj&ubj)}(h"``u16 end`` end of doorbell range h](j)}(h ``u16 end``h]j)}(hjP'h]hu16 end}(hhhjR'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjN'ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM hjJ'ubj )}(hhh]h)}(hend of doorbell rangeh]hend of doorbell range}(hjk'hji'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhje'hM hjf'ubah}(h]h ]h"]h$]h&]uh1j hjJ'ubeh}(h]h ]h"]h$]h&]uh1jhje'hM hj&ubeh}(h]h ]h"]h$]h&]uh1jhj&ubh)}(h**Description**h]j)}(hj'h]h Description}(hhhj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj&ubh)}(hThis function is used to initialize the fields of a resource for use as a doorbell resource. It initializes a range of doorbell messages using the start and end arguments.h]hThis function is used to initialize the fields of a resource for use as a doorbell resource. It initializes a range of doorbell messages using the start and end arguments.}(hj'hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj&ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jRIO_DEVICE (C macro) c.RIO_DEVICEhNtauh1jhjhhhNhNubj )}(hhh](j)}(h RIO_DEVICEh]j)}(h RIO_DEVICEh]j?)}(h RIO_DEVICEh]jE)}(hj'h]h RIO_DEVICE}(hhhj'hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj'ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj'hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM$ubah}(h]h ]h"]h$]h&]j]j^juh1jjjhj'hhhj'hM$ubah}(h]j'ah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM#hj'hhubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj'hhhj'hM$ubeh}(h]h ](jmacroeh"]h$]h&]jjjj(jj(juh1j hhhjhNhNubh)}(h``RIO_DEVICE (dev, ven)``h]j)}(hj(h]hRIO_DEVICE (dev, ven)}(hhhj (hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM%hjhhubh block_quote)}(hhh]h)}(h,macro used to describe a specific RIO deviceh]h,macro used to describe a specific RIO device}(hj$(hj"(hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj(ubah}(h]h ]h"]h$]h&]uh1j(hjhhhNhNubj)}(hX **Parameters** ``dev`` the 16 bit RIO device ID ``ven`` the 16 bit RIO vendor ID **Description** This macro is used to create a struct rio_device_id that matches a specific device. The assembly vendor and assembly device fields will be set to ``RIO_ANY_ID``.h](h)}(h**Parameters**h]j)}(hj=(h]h Parameters}(hhhj?(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj;(ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj7(ubj)}(hhh](j)}(h!``dev`` the 16 bit RIO device ID h](j)}(h``dev``h]j)}(hj\(h]hdev}(hhhj^(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZ(ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhjV(ubj )}(hhh]h)}(hthe 16 bit RIO device IDh]hthe 16 bit RIO device ID}(hjw(hju(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjq(hMhjr(ubah}(h]h ]h"]h$]h&]uh1j hjV(ubeh}(h]h ]h"]h$]h&]uh1jhjq(hMhjS(ubj)}(h!``ven`` the 16 bit RIO vendor ID h](j)}(h``ven``h]j)}(hj(h]hven}(hhhj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj(ubj )}(hhh]h)}(hthe 16 bit RIO vendor IDh]hthe 16 bit RIO vendor ID}(hj(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(hMhj(ubah}(h]h ]h"]h$]h&]uh1j hj(ubeh}(h]h ]h"]h$]h&]uh1jhj(hMhjS(ubeh}(h]h ]h"]h$]h&]uh1jhj7(ubh)}(h**Description**h]j)}(hj(h]h Description}(hhhj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj7(ubh)}(hThis macro is used to create a struct rio_device_id that matches a specific device. The assembly vendor and assembly device fields will be set to ``RIO_ANY_ID``.h](hThis macro is used to create a struct rio_device_id that matches a specific device. The assembly vendor and assembly device fields will be set to }(hThis macro is used to create a struct rio_device_id that matches a specific device. The assembly vendor and assembly device fields will be set to hj(hhhNhNubj)}(h``RIO_ANY_ID``h]h RIO_ANY_ID}(hhhj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubh.}(hjhj(hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj7(ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j!rio_add_outb_message (C function)c.rio_add_outb_messagehNtauh1jhjhhhNhNubj )}(hhh](j)}(hlint rio_add_outb_message (struct rio_mport *mport, struct rio_dev *rdev, int mbox, void *buffer, size_t len)h]j)}(hkint rio_add_outb_message(struct rio_mport *mport, struct rio_dev *rdev, int mbox, void *buffer, size_t len)h](j)}(hinth]hint}(hhhj()hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj$)hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM.ubj.)}(h h]h }(hhhj7)hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj$)hhhj6)hM.ubj?)}(hrio_add_outb_messageh]jE)}(hrio_add_outb_messageh]hrio_add_outb_message}(hhhjI)hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjE)ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj$)hhhj6)hM.ubj`)}(hS(struct rio_mport *mport, struct rio_dev *rdev, int mbox, void *buffer, size_t len)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhje)hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhja)ubj.)}(h h]h }(hhhjr)hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hja)ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj)hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj)ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj)modnameN classnameNjj)}j]j)}jjK)sbc.rio_add_outb_messageasbuh1hhja)ubj.)}(h h]h }(hhhj)hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hja)ubj)}(hjh]h*}(hhhj)hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhja)ubjE)}(hmporth]hmport}(hhhj)hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhja)ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj])ubjf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhj)hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj)ubj.)}(h h]h }(hhhj)hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj)ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhj)hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj)ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj)modnameN classnameNjj)}j]j)c.rio_add_outb_messageasbuh1hhj)ubj.)}(h h]h }(hhhj*hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj)ubj)}(hjh]h*}(hhhj!*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj)ubjE)}(hrdevh]hrdev}(hhhj.*hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj)ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj])ubjf)}(hint mboxh](j)}(hinth]hint}(hhhjG*hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjC*ubj.)}(h h]h }(hhhjU*hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjC*ubjE)}(hmboxh]hmbox}(hhhjc*hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjC*ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj])ubjf)}(h void *bufferh](j)}(hvoidh]hvoid}(hhhj|*hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjx*ubj.)}(h h]h }(hhhj*hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjx*ubj)}(hjh]h*}(hhhj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjx*ubjE)}(hbufferh]hbuffer}(hhhj*hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjx*ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj])ubjf)}(h size_t lenh](h)}(hhh]jE)}(hsize_th]hsize_t}(hhhj*hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj*ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj*modnameN classnameNjj)}j]j)c.rio_add_outb_messageasbuh1hhj*ubj.)}(h h]h }(hhhj*hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj*ubjE)}(hlenh]hlen}(hhhj*hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj*ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj])ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj$)hhhj6)hM.ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj )hhhj6)hM.ubah}(h]j)ah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM7hj)hhubj)}(hhh]h)}(h,Add RIO message to an outbound mailbox queueh]h,Add RIO message to an outbound mailbox queue}(hj+hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM-hj+hhubah}(h]h ]h"]h$]h&]uh1jhj)hhhj6)hM.ubeh}(h]h ](jfunctioneh"]h$]h&]jjjj0+jj0+juh1j hhhjhNhNubj)}(hX**Parameters** ``struct rio_mport *mport`` RIO master port containing the outbound queue ``struct rio_dev *rdev`` RIO device the message is be sent to ``int mbox`` The outbound mailbox queue ``void *buffer`` Pointer to the message buffer ``size_t len`` Length of the message buffer **Description** Adds a RIO message buffer to an outbound mailbox queue for transmission. Returns 0 on success.h](h)}(h**Parameters**h]j)}(hj:+h]h Parameters}(hhhj<+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8+ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM1hj4+ubj)}(hhh](j)}(hJ``struct rio_mport *mport`` RIO master port containing the outbound queue h](j)}(h``struct rio_mport *mport``h]j)}(hjY+h]hstruct rio_mport *mport}(hhhj[+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjW+ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM.hjS+ubj )}(hhh]h)}(h-RIO master port containing the outbound queueh]h-RIO master port containing the outbound queue}(hjt+hjr+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjn+hM.hjo+ubah}(h]h ]h"]h$]h&]uh1j hjS+ubeh}(h]h ]h"]h$]h&]uh1jhjn+hM.hjP+ubj)}(h>``struct rio_dev *rdev`` RIO device the message is be sent to h](j)}(h``struct rio_dev *rdev``h]j)}(hj+h]hstruct rio_dev *rdev}(hhhj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM/hj+ubj )}(hhh]h)}(h$RIO device the message is be sent toh]h$RIO device the message is be sent to}(hj+hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+hM/hj+ubah}(h]h ]h"]h$]h&]uh1j hj+ubeh}(h]h ]h"]h$]h&]uh1jhj+hM/hjP+ubj)}(h(``int mbox`` The outbound mailbox queue h](j)}(h ``int mbox``h]j)}(hj+h]hint mbox}(hhhj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM0hj+ubj )}(hhh]h)}(hThe outbound mailbox queueh]hThe outbound mailbox queue}(hj+hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+hM0hj+ubah}(h]h ]h"]h$]h&]uh1j hj+ubeh}(h]h ]h"]h$]h&]uh1jhj+hM0hjP+ubj)}(h/``void *buffer`` Pointer to the message buffer h](j)}(h``void *buffer``h]j)}(hj,h]h void *buffer}(hhhj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM1hj+ubj )}(hhh]h)}(hPointer to the message bufferh]hPointer to the message buffer}(hj,hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,hM1hj,ubah}(h]h ]h"]h$]h&]uh1j hj+ubeh}(h]h ]h"]h$]h&]uh1jhj,hM1hjP+ubj)}(h,``size_t len`` Length of the message buffer h](j)}(h``size_t len``h]j)}(hj=,h]h size_t len}(hhhj?,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj;,ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM2hj7,ubj )}(hhh]h)}(hLength of the message bufferh]hLength of the message buffer}(hjX,hjV,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjR,hM2hjS,ubah}(h]h ]h"]h$]h&]uh1j hj7,ubeh}(h]h ]h"]h$]h&]uh1jhjR,hM2hjP+ubeh}(h]h ]h"]h$]h&]uh1jhj4+ubh)}(h**Description**h]j)}(hjx,h]h Description}(hhhjz,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjv,ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM4hj4+ubh)}(h^Adds a RIO message buffer to an outbound mailbox queue for transmission. Returns 0 on success.h]h^Adds a RIO message buffer to an outbound mailbox queue for transmission. Returns 0 on success.}(hj,hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM4hj4+ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_add_inb_buffer (C function)c.rio_add_inb_bufferhNtauh1jhjhhhNhNubj )}(hhh](j)}(hHint rio_add_inb_buffer (struct rio_mport *mport, int mbox, void *buffer)h]j)}(hGint rio_add_inb_buffer(struct rio_mport *mport, int mbox, void *buffer)h](j)}(hinth]hint}(hhhj,hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj,hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMEubj.)}(h h]h }(hhhj,hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,hhhj,hMEubj?)}(hrio_add_inb_bufferh]jE)}(hrio_add_inb_bufferh]hrio_add_inb_buffer}(hhhj,hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj,ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj,hhhj,hMEubj`)}(h1(struct rio_mport *mport, int mbox, void *buffer)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhj,hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj,ubj.)}(h h]h }(hhhj-hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj-hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj-ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj-modnameN classnameNjj)}j]j)}jj,sbc.rio_add_inb_bufferasbuh1hhj,ubj.)}(h h]h }(hhhj8-hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,ubj)}(hjh]h*}(hhhjF-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,ubjE)}(hmporth]hmport}(hhhjS-hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj,ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj,ubjf)}(hint mboxh](j)}(hinth]hint}(hhhjl-hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjh-ubj.)}(h h]h }(hhhjz-hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjh-ubjE)}(hmboxh]hmbox}(hhhj-hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjh-ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj,ubjf)}(h void *bufferh](j)}(hvoidh]hvoid}(hhhj-hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj-ubj.)}(h h]h }(hhhj-hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj-ubj)}(hjh]h*}(hhhj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj-ubjE)}(hbufferh]hbuffer}(hhhj-hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj-ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj,ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj,hhhj,hMEubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj,hhhj,hMEubah}(h]j,ah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMLhj,hhubj)}(hhh]h)}(h&Add buffer to an inbound mailbox queueh]h&Add buffer to an inbound mailbox queue}(hj-hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMDhj-hhubah}(h]h ]h"]h$]h&]uh1jhj,hhhj,hMEubeh}(h]h ](jfunctioneh"]h$]h&]jjjj .jj .juh1j hhhjhNhNubj)}(hX**Parameters** ``struct rio_mport *mport`` Master port containing the inbound mailbox ``int mbox`` The inbound mailbox number ``void *buffer`` Pointer to the message buffer **Description** Adds a buffer to an inbound mailbox queue for reception. Returns 0 on success.h](h)}(h**Parameters**h]j)}(hj.h]h Parameters}(hhhj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMHhj.ubj)}(hhh](j)}(hG``struct rio_mport *mport`` Master port containing the inbound mailbox h](j)}(h``struct rio_mport *mport``h]j)}(hj6.h]hstruct rio_mport *mport}(hhhj8.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4.ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMEhj0.ubj )}(hhh]h)}(h*Master port containing the inbound mailboxh]h*Master port containing the inbound mailbox}(hjQ.hjO.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjK.hMEhjL.ubah}(h]h ]h"]h$]h&]uh1j hj0.ubeh}(h]h ]h"]h$]h&]uh1jhjK.hMEhj-.ubj)}(h(``int mbox`` The inbound mailbox number h](j)}(h ``int mbox``h]j)}(hjo.h]hint mbox}(hhhjq.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjm.ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMFhji.ubj )}(hhh]h)}(hThe inbound mailbox numberh]hThe inbound mailbox number}(hj.hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hMFhj.ubah}(h]h ]h"]h$]h&]uh1j hji.ubeh}(h]h ]h"]h$]h&]uh1jhj.hMFhj-.ubj)}(h/``void *buffer`` Pointer to the message buffer h](j)}(h``void *buffer``h]j)}(hj.h]h void *buffer}(hhhj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMGhj.ubj )}(hhh]h)}(hPointer to the message bufferh]hPointer to the message buffer}(hj.hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hMGhj.ubah}(h]h ]h"]h$]h&]uh1j hj.ubeh}(h]h ]h"]h$]h&]uh1jhj.hMGhj-.ubeh}(h]h ]h"]h$]h&]uh1jhj.ubh)}(h**Description**h]j)}(hj.h]h Description}(hhhj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMIhj.ubh)}(hNAdds a buffer to an inbound mailbox queue for reception. Returns 0 on success.h]hNAdds a buffer to an inbound mailbox queue for reception. Returns 0 on success.}(hj.hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMIhj.ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j rio_get_inb_message (C function)c.rio_get_inb_messagehNtauh1jhjhhhNhNubj )}(hhh](j)}(h>void * rio_get_inb_message (struct rio_mport *mport, int mbox)h]j)}(hhj$/hhhj6/hMTubj`)}(h#(struct rio_mport *mport, int mbox)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjr/hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjn/ubj.)}(h h]h }(hhhj/hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjn/ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj/hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj/ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj/modnameN classnameNjj)}j]j)}jjX/sbc.rio_get_inb_messageasbuh1hhjn/ubj.)}(h h]h }(hhhj/hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjn/ubj)}(hjh]h*}(hhhj/hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjn/ubjE)}(hmporth]hmport}(hhhj/hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjn/ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjj/ubjf)}(hint mboxh](j)}(hinth]hint}(hhhj/hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj/ubj.)}(h h]h }(hhhj/hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj/ubjE)}(hmboxh]hmbox}(hhhj0hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj/ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjj/ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj$/hhhj6/hMTubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj /hhhj6/hMTubah}(h]j/ah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMYhj/hhubj)}(hhh]h)}(h/Get A RIO message from an inbound mailbox queueh]h/Get A RIO message from an inbound mailbox queue}(hj-0hj+0hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMShj(0hhubah}(h]h ]h"]h$]h&]uh1jhj/hhhj6/hMTubeh}(h]h ](jfunctioneh"]h$]h&]jjjjC0jjC0juh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_mport *mport`` Master port containing the inbound mailbox ``int mbox`` The inbound mailbox number **Description** Get a RIO message from an inbound mailbox queue. Returns 0 on success.h](h)}(h**Parameters**h]j)}(hjM0h]h Parameters}(hhhjO0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjK0ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMWhjG0ubj)}(hhh](j)}(hG``struct rio_mport *mport`` Master port containing the inbound mailbox h](j)}(h``struct rio_mport *mport``h]j)}(hjl0h]hstruct rio_mport *mport}(hhhjn0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjj0ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMThjf0ubj )}(hhh]h)}(h*Master port containing the inbound mailboxh]h*Master port containing the inbound mailbox}(hj0hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0hMThj0ubah}(h]h ]h"]h$]h&]uh1j hjf0ubeh}(h]h ]h"]h$]h&]uh1jhj0hMThjc0ubj)}(h(``int mbox`` The inbound mailbox number h](j)}(h ``int mbox``h]j)}(hj0h]hint mbox}(hhhj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMUhj0ubj )}(hhh]h)}(hThe inbound mailbox numberh]hThe inbound mailbox number}(hj0hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0hMUhj0ubah}(h]h ]h"]h$]h&]uh1j hj0ubeh}(h]h ]h"]h$]h&]uh1jhj0hMUhjc0ubeh}(h]h ]h"]h$]h&]uh1jhjG0ubh)}(h**Description**h]j)}(hj0h]h Description}(hhhj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMWhjG0ubh)}(hFGet a RIO message from an inbound mailbox queue. Returns 0 on success.h]hFGet a RIO message from an inbound mailbox queue. Returns 0 on success.}(hj0hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMWhjG0ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_name (C function) c.rio_namehNtauh1jhjhhhNhNubj )}(hhh](j)}(h,const char * rio_name (struct rio_dev *rdev)h]j)}(h*const char *rio_name(struct rio_dev *rdev)h](jl)}(hconsth]hconst}(hhhj%1hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj!1hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMubj.)}(h h]h }(hhhj41hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!1hhhj31hMubj)}(hcharh]hchar}(hhhjB1hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj!1hhhj31hMubj.)}(h h]h }(hhhjP1hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!1hhhj31hMubj)}(hjh]h*}(hhhj^1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!1hhhj31hMubj?)}(hrio_nameh]jE)}(hrio_nameh]hrio_name}(hhhjo1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjk1ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj!1hhhj31hMubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhj1hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj1ubj.)}(h h]h }(hhhj1hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj1ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhj1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj1ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj1modnameN classnameNjj)}j]j)}jjq1sb c.rio_nameasbuh1hhj1ubj.)}(h h]h }(hhhj1hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj1ubj)}(hjh]h*}(hhhj1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj1ubjE)}(hrdevh]hrdev}(hhhj1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj1ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj1ubah}(h]h ]h"]h$]h&]j]j^uh1j_hj!1hhhj31hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj1hhhj31hMubah}(h]j1ah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj1hhubj)}(hhh]h)}(h$Get the unique RIO device identifierh]h$Get the unique RIO device identifier}(hj2hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj 2hhubah}(h]h ]h"]h$]h&]uh1jhj1hhhj31hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj'2jj'2juh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_dev *rdev`` RIO device **Description** Get the unique RIO device identifier. Returns the device identifier string.h](h)}(h**Parameters**h]j)}(hj12h]h Parameters}(hhhj32hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/2ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj+2ubj)}(hhh]j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hjP2h]hstruct rio_dev *rdev}(hhhjR2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjN2ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhjJ2ubj )}(hhh]h)}(h RIO deviceh]h RIO device}(hjk2hji2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhje2hMhjf2ubah}(h]h ]h"]h$]h&]uh1j hjJ2ubeh}(h]h ]h"]h$]h&]uh1jhje2hMhjG2ubah}(h]h ]h"]h$]h&]uh1jhj+2ubh)}(h**Description**h]j)}(hj2h]h Description}(hhhj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj+2ubh)}(hKGet the unique RIO device identifier. Returns the device identifier string.h]hKGet the unique RIO device identifier. Returns the device identifier string.}(hj2hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj+2ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_get_drvdata (C function)c.rio_get_drvdatahNtauh1jhjhhhNhNubj )}(hhh](j)}(h-void * rio_get_drvdata (struct rio_dev *rdev)h]j)}(h+void *rio_get_drvdata(struct rio_dev *rdev)h](j)}(hvoidh]hvoid}(hhhj2hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj2hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMubj.)}(h h]h }(hhhj2hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj2hhhj2hMubj)}(hjh]h*}(hhhj2hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj2hhhj2hMubj?)}(hrio_get_drvdatah]jE)}(hrio_get_drvdatah]hrio_get_drvdata}(hhhj2hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj2ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj2hhhj2hMubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhj3hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj3ubj.)}(h h]h }(hhhj'3hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj3ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhj83hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj53ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj:3modnameN classnameNjj)}j]j)}jj3sbc.rio_get_drvdataasbuh1hhj3ubj.)}(h h]h }(hhhjX3hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj3ubj)}(hjh]h*}(hhhjf3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj3ubjE)}(hrdevh]hrdev}(hhhjs3hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj3ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj3ubah}(h]h ]h"]h$]h&]j]j^uh1j_hj2hhhj2hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj2hhhj2hMubah}(h]j2ah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj2hhubj)}(hhh]h)}(hGet RIO driver specific datah]hGet RIO driver specific data}(hj3hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj3hhubah}(h]h ]h"]h$]h&]uh1jhj2hhhj2hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj3jj3juh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_dev *rdev`` RIO device **Description** Get RIO driver specific data. Returns a pointer to the driver specific data.h](h)}(h**Parameters**h]j)}(hj3h]h Parameters}(hhhj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj3ubj)}(hhh]j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hj3h]hstruct rio_dev *rdev}(hhhj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj3ubj )}(hhh]h)}(h RIO deviceh]h RIO device}(hj3hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3hMhj3ubah}(h]h ]h"]h$]h&]uh1j hj3ubeh}(h]h ]h"]h$]h&]uh1jhj3hMhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubh)}(h**Description**h]j)}(hj4h]h Description}(hhhj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj3ubh)}(hLGet RIO driver specific data. Returns a pointer to the driver specific data.h]hLGet RIO driver specific data. Returns a pointer to the driver specific data.}(hj24hj04hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj3ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_set_drvdata (C function)c.rio_set_drvdatahNtauh1jhjhhhNhNubj )}(hhh](j)}(h7void rio_set_drvdata (struct rio_dev *rdev, void *data)h]j)}(h6void rio_set_drvdata(struct rio_dev *rdev, void *data)h](j)}(hvoidh]hvoid}(hhhj_4hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj[4hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMubj.)}(h h]h }(hhhjn4hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj[4hhhjm4hMubj?)}(hrio_set_drvdatah]jE)}(hrio_set_drvdatah]hrio_set_drvdata}(hhhj4hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj|4ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj[4hhhjm4hMubj`)}(h"(struct rio_dev *rdev, void *data)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhj4hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj4ubj.)}(h h]h }(hhhj4hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj4ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhj4hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj4ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj4modnameN classnameNjj)}j]j)}jj4sbc.rio_set_drvdataasbuh1hhj4ubj.)}(h h]h }(hhhj4hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj4ubj)}(hjh]h*}(hhhj4hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj4ubjE)}(hrdevh]hrdev}(hhhj4hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj4ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj4ubjf)}(h void *datah](j)}(hvoidh]hvoid}(hhhj5hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj 5ubj.)}(h h]h }(hhhj5hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj 5ubj)}(hjh]h*}(hhhj*5hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj 5ubjE)}(hdatah]hdata}(hhhj75hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj 5ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj4ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj[4hhhjm4hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjW4hhhjm4hMubah}(h]jR4ah ](jjeh"]h$]h&]juh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhjT4hhubj)}(hhh]h)}(hSet RIO driver specific datah]hSet RIO driver specific data}(hjd5hjb5hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj_5hhubah}(h]h ]h"]h$]h&]uh1jhjT4hhhjm4hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjz5jjz5juh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_dev *rdev`` RIO device ``void *data`` Pointer to driver specific data **Description** Set RIO driver specific data. device struct driver data pointer is set to the **data** argument.h](h)}(h**Parameters**h]j)}(hj5h]h Parameters}(hhhj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj~5ubj)}(hhh](j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hj5h]hstruct rio_dev *rdev}(hhhj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj5ubj )}(hhh]h)}(h RIO deviceh]h RIO device}(hj5hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5hMhj5ubah}(h]h ]h"]h$]h&]uh1j hj5ubeh}(h]h ]h"]h$]h&]uh1jhj5hMhj5ubj)}(h/``void *data`` Pointer to driver specific data h](j)}(h``void *data``h]j)}(hj5h]h void *data}(hhhj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj5ubj )}(hhh]h)}(hPointer to driver specific datah]hPointer to driver specific data}(hj5hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5hMhj5ubah}(h]h ]h"]h$]h&]uh1j hj5ubeh}(h]h ]h"]h$]h&]uh1jhj5hMhj5ubeh}(h]h ]h"]h$]h&]uh1jhj~5ubh)}(h**Description**h]j)}(hj6h]h Description}(hhhj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj~5ubh)}(h`Set RIO driver specific data. device struct driver data pointer is set to the **data** argument.h](hNSet RIO driver specific data. device struct driver data pointer is set to the }(hNSet RIO driver specific data. device struct driver data pointer is set to the hj-6hhhNhNubj)}(h**data**h]hdata}(hhhj66hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj-6ubh argument.}(h argument.hj-6hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj~5ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_dev_get (C function) c.rio_dev_gethNtauh1jhjhhhNhNubj )}(hhh](j)}(h3struct rio_dev * rio_dev_get (struct rio_dev *rdev)h]j)}(h1struct rio_dev *rio_dev_get(struct rio_dev *rdev)h](jl)}(hjoh]hstruct}(hhhjp6hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjl6hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chK-ubj.)}(h h]h }(hhhj~6hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjl6hhhj}6hK-ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhj6hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj6ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj6modnameN classnameNjj)}j]j)}j rio_dev_getsb c.rio_dev_getasbuh1hhjl6hhhj}6hK-ubj.)}(h h]h }(hhhj6hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjl6hhhj}6hK-ubj)}(hjh]h*}(hhhj6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjl6hhhj}6hK-ubj?)}(h rio_dev_geth]jE)}(hj6h]h rio_dev_get}(hhhj6hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj6ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjl6hhhj}6hK-ubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhj6hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj6ubj.)}(h h]h }(hhhj6hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj6ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhj7hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj7ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj 7modnameN classnameNjj)}j]j6 c.rio_dev_getasbuh1hhj6ubj.)}(h h]h }(hhhj&7hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj6ubj)}(hjh]h*}(hhhj47hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj6ubjE)}(hrdevh]hrdev}(hhhjA7hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj6ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj6ubah}(h]h ]h"]h$]h&]j]j^uh1j_hjl6hhhj}6hK-ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjh6hhhj}6hK-ubah}(h]jc6ah ](jjeh"]h$]h&]juh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chK6hje6hhubj)}(hhh]h)}(h:Increments the reference count of the RIO device structureh]h:Increments the reference count of the RIO device structure}(hjn7hjl7hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chK,hji7hhubah}(h]h ]h"]h$]h&]uh1jhje6hhhj}6hK-ubeh}(h]h ](jfunctioneh"]h$]h&]jjjj7jj7juh1j hhhjhNhNubj)}(hXN**Parameters** ``struct rio_dev *rdev`` RIO device being referenced **Description** Each live reference to a device should be refcounted. Drivers for RIO devices should normally record such references in their probe() methods, when they bind to a device, and release them by calling rio_dev_put(), in their disconnect() methods.h](h)}(h**Parameters**h]j)}(hj7h]h Parameters}(hhhj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chK0hj7ubj)}(hhh]j)}(h5``struct rio_dev *rdev`` RIO device being referenced h](j)}(h``struct rio_dev *rdev``h]j)}(hj7h]hstruct rio_dev *rdev}(hhhj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chK.hj7ubj )}(hhh]h)}(hRIO device being referencedh]hRIO device being referenced}(hj7hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7hK.hj7ubah}(h]h ]h"]h$]h&]uh1j hj7ubeh}(h]h ]h"]h$]h&]uh1jhj7hK.hj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubh)}(h**Description**h]j)}(hj7h]h Description}(hhhj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chK0hj7ubh)}(h5Each live reference to a device should be refcounted.h]h5Each live reference to a device should be refcounted.}(hj8hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chK0hj7ubh)}(hDrivers for RIO devices should normally record such references in their probe() methods, when they bind to a device, and release them by calling rio_dev_put(), in their disconnect() methods.h]hDrivers for RIO devices should normally record such references in their probe() methods, when they bind to a device, and release them by calling rio_dev_put(), in their disconnect() methods.}(hj8hj 8hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chK2hj7ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_dev_put (C function) c.rio_dev_puthNtauh1jhjhhhNhNubj )}(hhh](j)}(h'void rio_dev_put (struct rio_dev *rdev)h]j)}(h&void rio_dev_put(struct rio_dev *rdev)h](j)}(hvoidh]hvoid}(hhhj<8hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj88hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chK@ubj.)}(h h]h }(hhhjK8hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj88hhhjJ8hK@ubj?)}(h rio_dev_puth]jE)}(h rio_dev_puth]h rio_dev_put}(hhhj]8hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjY8ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj88hhhjJ8hK@ubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjy8hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhju8ubj.)}(h h]h }(hhhj8hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hju8ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhj8hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj8ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj8modnameN classnameNjj)}j]j)}jj_8sb c.rio_dev_putasbuh1hhju8ubj.)}(h h]h }(hhhj8hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hju8ubj)}(hjh]h*}(hhhj8hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhju8ubjE)}(hrdevh]hrdev}(hhhj8hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhju8ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjq8ubah}(h]h ]h"]h$]h&]j]j^uh1j_hj88hhhjJ8hK@ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj48hhhjJ8hK@ubah}(h]j/8ah ](jjeh"]h$]h&]juh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKGhj18hhubj)}(hhh]h)}(h)Release a use of the RIO device structureh]h)Release a use of the RIO device structure}(hj8hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chK?hj8hhubah}(h]h ]h"]h$]h&]uh1jhj18hhhjJ8hK@ubeh}(h]h ](jfunctioneh"]h$]h&]jjjj9jj9juh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_dev *rdev`` RIO device being disconnected **Description** Must be called when a user of a device is finished with it. When the last user of the device calls this function, the memory of the device is freed.h](h)}(h**Parameters**h]j)}(hj9h]h Parameters}(hhhj!9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKChj9ubj)}(hhh]j)}(h7``struct rio_dev *rdev`` RIO device being disconnected h](j)}(h``struct rio_dev *rdev``h]j)}(hj>9h]hstruct rio_dev *rdev}(hhhj@9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<9ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKAhj89ubj )}(hhh]h)}(hRIO device being disconnectedh]hRIO device being disconnected}(hjY9hjW9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjS9hKAhjT9ubah}(h]h ]h"]h$]h&]uh1j hj89ubeh}(h]h ]h"]h$]h&]uh1jhjS9hKAhj59ubah}(h]h ]h"]h$]h&]uh1jhj9ubh)}(h**Description**h]j)}(hjy9h]h Description}(hhhj{9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjw9ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKChj9ubh)}(hMust be called when a user of a device is finished with it. When the last user of the device calls this function, the memory of the device is freed.h]hMust be called when a user of a device is finished with it. When the last user of the device calls this function, the memory of the device is freed.}(hj9hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKChj9ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j rio_register_driver (C function)c.rio_register_driverhNtauh1jhjhhhNhNubj )}(hhh](j)}(h1int rio_register_driver (struct rio_driver *rdrv)h]j)}(h0int rio_register_driver(struct rio_driver *rdrv)h](j)}(hinth]hint}(hhhj9hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj9hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKubj.)}(h h]h }(hhhj9hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj9hhhj9hKubj?)}(hrio_register_driverh]jE)}(hrio_register_driverh]hrio_register_driver}(hhhj9hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj9ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj9hhhj9hKubj`)}(h(struct rio_driver *rdrv)h]jf)}(hstruct rio_driver *rdrvh](jl)}(hjoh]hstruct}(hhhj9hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj9ubj.)}(h h]h }(hhhj:hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj9ubh)}(hhh]jE)}(h rio_driverh]h rio_driver}(hhhj:hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj:ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj:modnameN classnameNjj)}j]j)}jj9sbc.rio_register_driverasbuh1hhj9ubj.)}(h h]h }(hhhj9:hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj9ubj)}(hjh]h*}(hhhjG:hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubjE)}(hrdrvh]hrdrv}(hhhjT:hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj9ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj9ubah}(h]h ]h"]h$]h&]j]j^uh1j_hj9hhhj9hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj9hhhj9hKubah}(h]j9ah ](jjeh"]h$]h&]juh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKhj9hhubj)}(hhh]h)}(hregister a new RIO driverh]hregister a new RIO driver}(hj:hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKhj|:hhubah}(h]h ]h"]h$]h&]uh1jhj9hhhj9hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj:jj:juh1j hhhjhNhNubj)}(hXE**Parameters** ``struct rio_driver *rdrv`` the RIO driver structure to register Adds a :c:type:`struct rio_driver ` to the list of registered drivers. Returns a negative value on error, otherwise 0. If no error occurred, the driver remains registered even if no device was claimed during registration.h](h)}(h**Parameters**h]j)}(hj:h]h Parameters}(hhhj:hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKhj:ubj)}(hhh]j)}(hX+``struct rio_driver *rdrv`` the RIO driver structure to register Adds a :c:type:`struct rio_driver ` to the list of registered drivers. Returns a negative value on error, otherwise 0. If no error occurred, the driver remains registered even if no device was claimed during registration.h](j)}(h``struct rio_driver *rdrv``h]j)}(hj:h]hstruct rio_driver *rdrv}(hhhj:hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKhj:ubj )}(hhh](h)}(h$the RIO driver structure to registerh]h$the RIO driver structure to register}(hj:hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKhj:ubh)}(hAdds a :c:type:`struct rio_driver ` to the list of registered drivers. Returns a negative value on error, otherwise 0. If no error occurred, the driver remains registered even if no device was claimed during registration.h](hAdds a }(hAdds a hj:hhhNhNubh)}(h(:c:type:`struct rio_driver `h]j)}(hj:h]hstruct rio_driver}(hhhj:hhhNhNubah}(h]h ](xrefjc-typeeh"]h$]h&]uh1jhj:ubah}(h]h ]h"]h$]h&]refdocadmin-guide/rapidio refdomainjreftypetype refexplicitrefwarn c:parent_keyj)}j]sb reftarget rio_driveruh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKhj:ubh to the list of registered drivers. Returns a negative value on error, otherwise 0. If no error occurred, the driver remains registered even if no device was claimed during registration.}(h to the list of registered drivers. Returns a negative value on error, otherwise 0. If no error occurred, the driver remains registered even if no device was claimed during registration.hj:hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj;hKhj:ubeh}(h]h ]h"]h$]h&]uh1j hj:ubeh}(h]h ]h"]h$]h&]uh1jhj:hKhj:ubah}(h]h ]h"]h$]h&]uh1jhj:ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"rio_unregister_driver (C function)c.rio_unregister_driverhNtauh1jhjhhhNhNubj )}(hhh](j)}(h4void rio_unregister_driver (struct rio_driver *rdrv)h]j)}(h3void rio_unregister_driver(struct rio_driver *rdrv)h](j)}(hvoidh]hvoid}(hhhjU;hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjQ;hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKubj.)}(h h]h }(hhhjd;hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjQ;hhhjc;hKubj?)}(hrio_unregister_driverh]jE)}(hrio_unregister_driverh]hrio_unregister_driver}(hhhjv;hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjr;ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjQ;hhhjc;hKubj`)}(h(struct rio_driver *rdrv)h]jf)}(hstruct rio_driver *rdrvh](jl)}(hjoh]hstruct}(hhhj;hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj;ubj.)}(h h]h }(hhhj;hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj;ubh)}(hhh]jE)}(h rio_driverh]h rio_driver}(hhhj;hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj;ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj;modnameN classnameNjj)}j]j)}jjx;sbc.rio_unregister_driverasbuh1hhj;ubj.)}(h h]h }(hhhj;hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj;ubj)}(hjh]h*}(hhhj;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;ubjE)}(hrdrvh]hrdrv}(hhhj;hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj;ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj;ubah}(h]h ]h"]h$]h&]j]j^uh1j_hjQ;hhhjc;hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjM;hhhjc;hKubah}(h]jH;ah ](jjeh"]h$]h&]juh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKhjJ;hhubj)}(hhh]h)}(hunregister a RIO driverh]hunregister a RIO driver}(hj<hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKhj<hhubah}(h]h ]h"]h$]h&]uh1jhjJ;hhhjc;hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj.<jj.<juh1j hhhjhNhNubj)}(hXI**Parameters** ``struct rio_driver *rdrv`` the RIO driver structure to unregister Deletes the :c:type:`struct rio_driver ` from the list of registered RIO drivers, gives it a chance to clean up by calling its remove() function for each device it was responsible for, and marks those devices as driverless.h](h)}(h**Parameters**h]j)}(hj8<h]h Parameters}(hhhj:<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6<ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKhj2<ubj)}(hhh]j)}(hX/``struct rio_driver *rdrv`` the RIO driver structure to unregister Deletes the :c:type:`struct rio_driver ` from the list of registered RIO drivers, gives it a chance to clean up by calling its remove() function for each device it was responsible for, and marks those devices as driverless.h](j)}(h``struct rio_driver *rdrv``h]j)}(hjW<h]hstruct rio_driver *rdrv}(hhhjY<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjU<ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKhjQ<ubj )}(hhh](h)}(h&the RIO driver structure to unregisterh]h&the RIO driver structure to unregister}(hjr<hjp<hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKhjm<ubh)}(hDeletes the :c:type:`struct rio_driver ` from the list of registered RIO drivers, gives it a chance to clean up by calling its remove() function for each device it was responsible for, and marks those devices as driverless.h](h Deletes the }(h Deletes the hj<hhhNhNubh)}(h(:c:type:`struct rio_driver `h]j)}(hj<h]hstruct rio_driver}(hhhj<hhhNhNubah}(h]h ](j:jc-typeeh"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]refdocj ; refdomainjreftypetype refexplicitrefwarnj;j;j; rio_driveruh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKhj<ubh from the list of registered RIO drivers, gives it a chance to clean up by calling its remove() function for each device it was responsible for, and marks those devices as driverless.}(h from the list of registered RIO drivers, gives it a chance to clean up by calling its remove() function for each device it was responsible for, and marks those devices as driverless.hj<hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj<hKhjm<ubeh}(h]h ]h"]h$]h&]uh1j hjQ<ubeh}(h]h ]h"]h$]h&]uh1jhjl<hKhjN<ubah}(h]h ]h"]h$]h&]uh1jhj2<ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$rio_local_get_device_id (C function)c.rio_local_get_device_idhNtauh1jhjhhhNhNubj )}(hhh](j)}(h4u16 rio_local_get_device_id (struct rio_mport *port)h]j)}(h3u16 rio_local_get_device_id(struct rio_mport *port)h](h)}(hhh]jE)}(hu16h]hu16}(hhhj<hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj<ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj<modnameN classnameNjj)}j]j)}jrio_local_get_device_idsbc.rio_local_get_device_idasbuh1hhj<hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKBubj.)}(h h]h }(hhhj =hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj<hhhj =hKBubj?)}(hrio_local_get_device_idh]jE)}(hj=h]hrio_local_get_device_id}(hhhj=hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj=ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj<hhhj =hKBubj`)}(h(struct rio_mport *port)h]jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhj7=hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj3=ubj.)}(h h]h }(hhhjD=hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj3=ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjU=hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjR=ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjW=modnameN classnameNjj)}j]j=c.rio_local_get_device_idasbuh1hhj3=ubj.)}(h h]h }(hhhjs=hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj3=ubj)}(hjh]h*}(hhhj=hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj3=ubjE)}(hporth]hport}(hhhj=hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj3=ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj/=ubah}(h]h ]h"]h$]h&]j]j^uh1j_hj<hhhj =hKBubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj<hhhj =hKBubah}(h]j<ah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKHhj<hhubj)}(hhh]h)}(h*Get the base/extended device id for a porth]h*Get the base/extended device id for a port}(hj=hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKAhj=hhubah}(h]h ]h"]h$]h&]uh1jhj<hhhj =hKBubeh}(h]h ](jfunctioneh"]h$]h&]jjjj=jj=juh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_mport *port`` RIO master port from which to get the deviceid **Description** Reads the base/extended device id from the local device implementing the master port. Returns the 8/16-bit device id.h](h)}(h**Parameters**h]j)}(hj=h]h Parameters}(hhhj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKEhj=ubj)}(hhh]j)}(hJ``struct rio_mport *port`` RIO master port from which to get the deviceid h](j)}(h``struct rio_mport *port``h]j)}(hj=h]hstruct rio_mport *port}(hhhj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKBhj=ubj )}(hhh]h)}(h.RIO master port from which to get the deviceidh]h.RIO master port from which to get the deviceid}(hj>hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>hKBhj>ubah}(h]h ]h"]h$]h&]uh1j hj=ubeh}(h]h ]h"]h$]h&]uh1jhj>hKBhj=ubah}(h]h ]h"]h$]h&]uh1jhj=ubh)}(h**Description**h]j)}(hj5>h]h Description}(hhhj7>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3>ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKDhj=ubh)}(huReads the base/extended device id from the local device implementing the master port. Returns the 8/16-bit device id.h]huReads the base/extended device id from the local device implementing the master port. Returns the 8/16-bit device id.}(hjM>hjK>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKDhj=ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_query_mport (C function)c.rio_query_mporthNtauh1jhjhhhNhNubj )}(hhh](j)}(hOint rio_query_mport (struct rio_mport *port, struct rio_mport_attr *mport_attr)h]j)}(hNint rio_query_mport(struct rio_mport *port, struct rio_mport_attr *mport_attr)h](j)}(hinth]hint}(hhhjz>hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjv>hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKTubj.)}(h h]h }(hhhj>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjv>hhhj>hKTubj?)}(hrio_query_mporth]jE)}(hrio_query_mporth]hrio_query_mport}(hhhj>hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj>ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjv>hhhj>hKTubj`)}(h;(struct rio_mport *port, struct rio_mport_attr *mport_attr)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhj>hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj>ubj.)}(h h]h }(hhhj>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj>ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj>hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj>ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj>modnameN classnameNjj)}j]j)}jj>sbc.rio_query_mportasbuh1hhj>ubj.)}(h h]h }(hhhj>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj>ubj)}(hjh]h*}(hhhj?hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj>ubjE)}(hporth]hport}(hhhj?hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj>ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj>ubjf)}(h!struct rio_mport_attr *mport_attrh](jl)}(hjoh]hstruct}(hhhj)?hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj%?ubj.)}(h h]h }(hhhj6?hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%?ubh)}(hhh]jE)}(hrio_mport_attrh]hrio_mport_attr}(hhhjG?hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjD?ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjI?modnameN classnameNjj)}j]j>c.rio_query_mportasbuh1hhj%?ubj.)}(h h]h }(hhhje?hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%?ubj)}(hjh]h*}(hhhjs?hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%?ubjE)}(h mport_attrh]h mport_attr}(hhhj?hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%?ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj>ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjv>hhhj>hKTubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjr>hhhj>hKTubah}(h]jm>ah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKZhjo>hhubj)}(hhh]h)}(hQuery mport device attributesh]hQuery mport device attributes}(hj?hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKShj?hhubah}(h]h ]h"]h$]h&]uh1jhjo>hhhj>hKTubeh}(h]h ](jfunctioneh"]h$]h&]jjjj?jj?juh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_mport *port`` mport device to query ``struct rio_mport_attr *mport_attr`` mport attributes data structure **Description** Returns attributes of specified mport through the pointer to attributes data structure.h](h)}(h**Parameters**h]j)}(hj?h]h Parameters}(hhhj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKWhj?ubj)}(hhh](j)}(h1``struct rio_mport *port`` mport device to query h](j)}(h``struct rio_mport *port``h]j)}(hj?h]hstruct rio_mport *port}(hhhj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKThj?ubj )}(hhh]h)}(hmport device to queryh]hmport device to query}(hj@hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@hKThj@ubah}(h]h ]h"]h$]h&]uh1j hj?ubeh}(h]h ]h"]h$]h&]uh1jhj@hKThj?ubj)}(hF``struct rio_mport_attr *mport_attr`` mport attributes data structure h](j)}(h%``struct rio_mport_attr *mport_attr``h]j)}(hj%@h]h!struct rio_mport_attr *mport_attr}(hhhj'@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#@ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKUhj@ubj )}(hhh]h)}(hmport attributes data structureh]hmport attributes data structure}(hj@@hj>@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:@hKUhj;@ubah}(h]h ]h"]h$]h&]uh1j hj@ubeh}(h]h ]h"]h$]h&]uh1jhj:@hKUhj?ubeh}(h]h ]h"]h$]h&]uh1jhj?ubh)}(h**Description**h]j)}(hj`@h]h Description}(hhhjb@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^@ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKWhj?ubh)}(hWReturns attributes of specified mport through the pointer to attributes data structure.h]hWReturns attributes of specified mport through the pointer to attributes data structure.}(hjx@hjv@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKWhj?ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_alloc_net (C function)c.rio_alloc_nethNtauh1jhjhhhNhNubj )}(hhh](j)}(h8struct rio_net * rio_alloc_net (struct rio_mport *mport)h]j)}(h6struct rio_net *rio_alloc_net(struct rio_mport *mport)h](jl)}(hjoh]hstruct}(hhhj@hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj@hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKeubj.)}(h h]h }(hhhj@hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj@hhhj@hKeubh)}(hhh]jE)}(hrio_neth]hrio_net}(hhhj@hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj@ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj@modnameN classnameNjj)}j]j)}j rio_alloc_netsbc.rio_alloc_netasbuh1hhj@hhhj@hKeubj.)}(h h]h }(hhhj@hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj@hhhj@hKeubj)}(hjh]h*}(hhhj@hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj@hhhj@hKeubj?)}(h rio_alloc_neth]jE)}(hj@h]h rio_alloc_net}(hhhjAhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjAubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj@hhhj@hKeubj`)}(h(struct rio_mport *mport)h]jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjAhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjAubj.)}(h h]h }(hhhj,AhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjAubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj=AhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj:Aubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj?AmodnameN classnameNjj)}j]j@c.rio_alloc_netasbuh1hhjAubj.)}(h h]h }(hhhj[AhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjAubj)}(hjh]h*}(hhhjiAhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjAubjE)}(hmporth]hmport}(hhhjvAhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjAubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubah}(h]h ]h"]h$]h&]j]j^uh1j_hj@hhhj@hKeubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj@hhhj@hKeubah}(h]j@ah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKlhj@hhubj)}(hhh]h)}(h8Allocate and initialize a new RIO network data structureh]h8Allocate and initialize a new RIO network data structure}(hjAhjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKdhjAhhubah}(h]h ]h"]h$]h&]uh1jhj@hhhj@hKeubeh}(h]h ](jfunctioneh"]h$]h&]jjjjAjjAjuh1j hhhjhNhNubj)}(hXG**Parameters** ``struct rio_mport *mport`` Master port associated with the RIO network **Description** Allocates a RIO network structure, initializes per-network list heads, and adds the associated master port to the network list of associated master ports. Returns a RIO network pointer on success or ``NULL`` on failure.h](h)}(h**Parameters**h]j)}(hjAh]h Parameters}(hhhjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhhjAubj)}(hhh]j)}(hH``struct rio_mport *mport`` Master port associated with the RIO network h](j)}(h``struct rio_mport *mport``h]j)}(hjAh]hstruct rio_mport *mport}(hhhjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKehjAubj )}(hhh]h)}(h+Master port associated with the RIO networkh]h+Master port associated with the RIO network}(hjAhjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAhKehjAubah}(h]h ]h"]h$]h&]uh1j hjAubeh}(h]h ]h"]h$]h&]uh1jhjAhKehjAubah}(h]h ]h"]h$]h&]uh1jhjAubh)}(h**Description**h]j)}(hjBh]h Description}(hhhjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjBubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKghjAubh)}(hAllocates a RIO network structure, initializes per-network list heads, and adds the associated master port to the network list of associated master ports. Returns a RIO network pointer on success or ``NULL`` on failure.h](hAllocates a RIO network structure, initializes per-network list heads, and adds the associated master port to the network list of associated master ports. Returns a RIO network pointer on success or }(hAllocates a RIO network structure, initializes per-network list heads, and adds the associated master port to the network list of associated master ports. Returns a RIO network pointer on success or hj3BhhhNhNubj)}(h``NULL``h]hNULL}(hhhjvoid rio_local_set_device_id (struct rio_mport *port, u16 did)h]j)}(h=void rio_local_set_device_id(struct rio_mport *port, u16 did)h](j)}(hvoidh]hvoid}(hhhjvBhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjrBhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKubj.)}(h h]h }(hhhjBhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjrBhhhjBhKubj?)}(hrio_local_set_device_idh]jE)}(hrio_local_set_device_idh]hrio_local_set_device_id}(hhhjBhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjrBhhhjBhKubj`)}(h!(struct rio_mport *port, u16 did)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhjBhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjBubj.)}(h h]h }(hhhjBhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjBubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjBhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjBmodnameN classnameNjj)}j]j)}jjBsbc.rio_local_set_device_idasbuh1hhjBubj.)}(h h]h }(hhhjBhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjBubj)}(hjh]h*}(hhhjBhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjBubjE)}(hporth]hport}(hhhj ChhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjBubjf)}(hu16 didh](h)}(hhh]jE)}(hu16h]hu16}(hhhj(ChhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%Cubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj*CmodnameN classnameNjj)}j]jBc.rio_local_set_device_idasbuh1hhj!Cubj.)}(h h]h }(hhhjFChhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!CubjE)}(hdidh]hdid}(hhhjTChhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj!Cubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjBubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjrBhhhjBhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjnBhhhjBhKubah}(h]jiBah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjkBhhubj)}(hhh]h)}(h*Set the base/extended device id for a porth]h*Set the base/extended device id for a port}(hjChjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhj|Chhubah}(h]h ]h"]h$]h&]uh1jhjkBhhhjBhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjCjjCjuh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_mport *port`` RIO master port ``u16 did`` Device ID value to be written **Description** Writes the base/extended device id from a device.h](h)}(h**Parameters**h]j)}(hjCh]h Parameters}(hhhjChhhNhNubah}(h]h ]h"]h$]h&]uh1jhjCubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjCubj)}(hhh](j)}(h+``struct rio_mport *port`` RIO master port h](j)}(h``struct rio_mport *port``h]j)}(hjCh]hstruct rio_mport *port}(hhhjChhhNhNubah}(h]h ]h"]h$]h&]uh1jhjCubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjCubj )}(hhh]h)}(hRIO master porth]hRIO master port}(hjChjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjChKhjCubah}(h]h ]h"]h$]h&]uh1j hjCubeh}(h]h ]h"]h$]h&]uh1jhjChKhjCubj)}(h*``u16 did`` Device ID value to be written h](j)}(h ``u16 did``h]j)}(hjCh]hu16 did}(hhhjChhhNhNubah}(h]h ]h"]h$]h&]uh1jhjCubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjCubj )}(hhh]h)}(hDevice ID value to be writtenh]hDevice ID value to be written}(hjDhjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDhKhjDubah}(h]h ]h"]h$]h&]uh1j hjCubeh}(h]h ]h"]h$]h&]uh1jhjDhKhjCubeh}(h]h ]h"]h$]h&]uh1jhjCubh)}(h**Description**h]j)}(hj4Dh]h Description}(hhhj6DhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2Dubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjCubh)}(h1Writes the base/extended device id from a device.h]h1Writes the base/extended device id from a device.}(hjLDhjJDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjCubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_add_device (C function)c.rio_add_devicehNtauh1jhjhhhNhNubj )}(hhh](j)}(h)int rio_add_device (struct rio_dev *rdev)h]j)}(h(int rio_add_device(struct rio_dev *rdev)h](j)}(hinth]hint}(hhhjyDhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjuDhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKubj.)}(h h]h }(hhhjDhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjuDhhhjDhKubj?)}(hrio_add_deviceh]jE)}(hrio_add_deviceh]hrio_add_device}(hhhjDhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjDubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjuDhhhjDhKubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjDhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjDubj.)}(h h]h }(hhhjDhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjDubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjDhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjDubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjDmodnameN classnameNjj)}j]j)}jjDsbc.rio_add_deviceasbuh1hhjDubj.)}(h h]h }(hhhjDhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjDubj)}(hjh]h*}(hhhjEhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjDubjE)}(hrdevh]hrdev}(hhhjEhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjDubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjDubah}(h]h ]h"]h$]h&]j]j^uh1j_hjuDhhhjDhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjqDhhhjDhKubah}(h]jlDah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjnDhhubj)}(hhh]h)}(h%Adds a RIO device to the device modelh]h%Adds a RIO device to the device model}(hjhjEhhhj FhKubj`)}(h(struct rio_mport *mport, void *dev_id, int mbox, int entries, void (*minb)(struct rio_mport *mport, void *dev_id, int mbox, int slot))h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhj8FhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj4Fubj.)}(h h]h }(hhhjEFhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj4Fubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjVFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjSFubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjXFmodnameN classnameNjj)}j]j)}jjFsbc.rio_request_inb_mboxasbuh1hhj4Fubj.)}(h h]h }(hhhjvFhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj4Fubj)}(hjh]h*}(hhhjFhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj4FubjE)}(hmporth]hmport}(hhhjFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj4Fubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj0Fubjf)}(h void *dev_idh](j)}(hvoidh]hvoid}(hhhjFhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjFubj.)}(h h]h }(hhhjFhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjFubj)}(hjh]h*}(hhhjFhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjFubjE)}(hdev_idh]hdev_id}(hhhjFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjFubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj0Fubjf)}(hint mboxh](j)}(hinth]hint}(hhhjFhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjFubj.)}(h h]h }(hhhjFhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjFubjE)}(hmboxh]hmbox}(hhhjGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjFubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj0Fubjf)}(h int entriesh](j)}(hinth]hint}(hhhj!GhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjGubj.)}(h h]h }(hhhj/GhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjGubjE)}(hentriesh]hentries}(hhhj=GhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjGubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj0Fubjf)}(hGvoid (*minb)(struct rio_mport *mport, void *dev_id, int mbox, int slot)h](j)}(hvoidh]hvoid}(hhhjVGhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjRGubj.)}(h h]h }(hhhjdGhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjRGubj)}(h(h]h(}(hhhjrGhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjRGubj)}(hjh]h*}(hhhjGhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjRGubjE)}(hminbh]hminb}(hhhjGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjRGubj)}(h)h]h)}(hhhjGhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjRGubj)}(hjtGh]h(}(hhhjGhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjRGubjl)}(hjoh]hstruct}(hhhjGhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjRGubj.)}(h h]h }(hhhjGhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjRGubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjGubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjGmodnameN classnameNjj)}j]jrFc.rio_request_inb_mboxasbuh1hhjRGubj.)}(h h]h }(hhhjGhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjRGubj)}(hjh]h*}(hhhjHhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjRGubjE)}(hmporth]hmport}(hhhj HhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjRGubj)}(h,h]h,}(hhhjHhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjRGubj.)}(h h]h }(hhhj)HhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjRGubj)}(hvoidh]hvoid}(hhhj7HhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjRGubj.)}(h h]h }(hhhjEHhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjRGubj)}(hjh]h*}(hhhjSHhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjRGubjE)}(hdev_idh]hdev_id}(hhhj`HhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjRGubj)}(hjHh]h,}(hhhjnHhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjRGubj.)}(h h]h }(hhhj{HhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjRGubj)}(hinth]hint}(hhhjHhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjRGubj.)}(h h]h }(hhhjHhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjRGubjE)}(hmboxh]hmbox}(hhhjHhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjRGubj)}(hjHh]h,}(hhhjHhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjRGubj.)}(h h]h }(hhhjHhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjRGubj)}(hinth]hint}(hhhjHhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjRGubj.)}(h h]h }(hhhjHhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjRGubjE)}(hsloth]hslot}(hhhjHhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjRGubj)}(hjGh]h)}(hhhjHhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjRGubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj0Fubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjEhhhj FhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjEhhhj FhKubah}(h]jEah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjEhhubj)}(hhh]h)}(hrequest inbound mailbox serviceh]hrequest inbound mailbox service}(hj$Ihj"IhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjIhhubah}(h]h ]h"]h$]h&]uh1jhjEhhhj FhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj:Ijj:Ijuh1j hhhjhNhNubj)}(hX**Parameters** ``struct rio_mport *mport`` RIO master port from which to allocate the mailbox resource ``void *dev_id`` Device specific pointer to pass on event ``int mbox`` Mailbox number to claim ``int entries`` Number of entries in inbound mailbox queue ``void (*minb) (struct rio_mport * mport, void *dev_id, int mbox, int slot)`` Callback to execute when inbound message is received **Description** Requests ownership of an inbound mailbox resource and binds a callback function to the resource. Returns ``0`` on success.h](h)}(h**Parameters**h]j)}(hjDIh]h Parameters}(hhhjFIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjBIubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhj>Iubj)}(hhh](j)}(hX``struct rio_mport *mport`` RIO master port from which to allocate the mailbox resource h](j)}(h``struct rio_mport *mport``h]j)}(hjcIh]hstruct rio_mport *mport}(hhhjeIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjaIubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhj]Iubj )}(hhh]h)}(h;RIO master port from which to allocate the mailbox resourceh]h;RIO master port from which to allocate the mailbox resource}(hj~Ihj|IhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxIhKhjyIubah}(h]h ]h"]h$]h&]uh1j hj]Iubeh}(h]h ]h"]h$]h&]uh1jhjxIhKhjZIubj)}(h:``void *dev_id`` Device specific pointer to pass on event h](j)}(h``void *dev_id``h]j)}(hjIh]h void *dev_id}(hhhjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjIubj )}(hhh]h)}(h(Device specific pointer to pass on eventh]h(Device specific pointer to pass on event}(hjIhjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIhKhjIubah}(h]h ]h"]h$]h&]uh1j hjIubeh}(h]h ]h"]h$]h&]uh1jhjIhKhjZIubj)}(h%``int mbox`` Mailbox number to claim h](j)}(h ``int mbox``h]j)}(hjIh]hint mbox}(hhhjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjIubj )}(hhh]h)}(hMailbox number to claimh]hMailbox number to claim}(hjIhjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIhKhjIubah}(h]h ]h"]h$]h&]uh1j hjIubeh}(h]h ]h"]h$]h&]uh1jhjIhKhjZIubj)}(h;``int entries`` Number of entries in inbound mailbox queue h](j)}(h``int entries``h]j)}(hjJh]h int entries}(hhhjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj Jubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjJubj )}(hhh]h)}(h*Number of entries in inbound mailbox queueh]h*Number of entries in inbound mailbox queue}(hj)Jhj'JhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#JhKhj$Jubah}(h]h ]h"]h$]h&]uh1j hjJubeh}(h]h ]h"]h$]h&]uh1jhj#JhKhjZIubj)}(h``void (*minb) (struct rio_mport * mport, void *dev_id, int mbox, int slot)`` Callback to execute when inbound message is received h](j)}(hM``void (*minb) (struct rio_mport * mport, void *dev_id, int mbox, int slot)``h]j)}(hjGJh]hIvoid (*minb) (struct rio_mport * mport, void *dev_id, int mbox, int slot)}(hhhjIJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEJubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjAJubj )}(hhh]h)}(h4Callback to execute when inbound message is receivedh]h4Callback to execute when inbound message is received}(hjbJhj`JhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\JhKhj]Jubah}(h]h ]h"]h$]h&]uh1j hjAJubeh}(h]h ]h"]h$]h&]uh1jhj\JhKhjZIubeh}(h]h ]h"]h$]h&]uh1jhj>Iubh)}(h**Description**h]j)}(hjJh]h Description}(hhhjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhj>Iubh)}(hzRequests ownership of an inbound mailbox resource and binds a callback function to the resource. Returns ``0`` on success.h](hiRequests ownership of an inbound mailbox resource and binds a callback function to the resource. Returns }(hiRequests ownership of an inbound mailbox resource and binds a callback function to the resource. Returns hjJhhhNhNubj)}(h``0``h]h0}(hhhjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJubh on success.}(h on success.hjJhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhj>Iubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j!rio_release_inb_mbox (C function)c.rio_release_inb_mboxhNtauh1jhjhhhNhNubj )}(hhh](j)}(hhjJhhhjJhMubj`)}(h#(struct rio_mport *mport, int mbox)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjKhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjKubj.)}(h h]h }(hhhj%KhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjKubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj6KhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj3Kubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj8KmodnameN classnameNjj)}j]j)}jjJsbc.rio_release_inb_mboxasbuh1hhjKubj.)}(h h]h }(hhhjVKhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjKubj)}(hjh]h*}(hhhjdKhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjKubjE)}(hmporth]hmport}(hhhjqKhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjKubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjKubjf)}(hint mboxh](j)}(hinth]hint}(hhhjKhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjKubj.)}(h h]h }(hhhjKhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjKubjE)}(hmboxh]hmbox}(hhhjKhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjKubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjKubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjJhhhjJhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjJhhhjJhMubah}(h]jJah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjJhhubj)}(hhh]h)}(h'release inbound mailbox message serviceh]h'release inbound mailbox message service}(hjKhjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjKhhubah}(h]h ]h"]h$]h&]uh1jhjJhhhjJhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjKjjKjuh1j hhhjhNhNubj)}(hX**Parameters** ``struct rio_mport *mport`` RIO master port from which to release the mailbox resource ``int mbox`` Mailbox number to release **Description** Releases ownership of an inbound mailbox resource. Returns 0 if the request has been satisfied.h](h)}(h**Parameters**h]j)}(hjKh]h Parameters}(hhhjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjKubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjKubj)}(hhh](j)}(hW``struct rio_mport *mport`` RIO master port from which to release the mailbox resource h](j)}(h``struct rio_mport *mport``h]j)}(hjLh]hstruct rio_mport *mport}(hhhjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjLubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj Lubj )}(hhh]h)}(h:RIO master port from which to release the mailbox resourceh]h:RIO master port from which to release the mailbox resource}(hj-Lhj+LhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'LhMhj(Lubah}(h]h ]h"]h$]h&]uh1j hj Lubeh}(h]h ]h"]h$]h&]uh1jhj'LhMhj Lubj)}(h'``int mbox`` Mailbox number to release h](j)}(h ``int mbox``h]j)}(hjKLh]hint mbox}(hhhjMLhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjILubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjELubj )}(hhh]h)}(hMailbox number to releaseh]hMailbox number to release}(hjfLhjdLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`LhMhjaLubah}(h]h ]h"]h$]h&]uh1j hjELubeh}(h]h ]h"]h$]h&]uh1jhj`LhMhj Lubeh}(h]h ]h"]h$]h&]uh1jhjKubh)}(h**Description**h]j)}(hjLh]h Description}(hhhjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjLubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjKubh)}(h_Releases ownership of an inbound mailbox resource. Returns 0 if the request has been satisfied.h]h_Releases ownership of an inbound mailbox resource. Returns 0 if the request has been satisfied.}(hjLhjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjKubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"rio_request_outb_mbox (C function)c.rio_request_outb_mboxhNtauh1jhjhhhNhNubj )}(hhh](j)}(hint rio_request_outb_mbox (struct rio_mport *mport, void *dev_id, int mbox, int entries, void (*moutb) (struct rio_mport * mport, void *dev_id, int mbox, int slot))h]j)}(hint rio_request_outb_mbox(struct rio_mport *mport, void *dev_id, int mbox, int entries, void (*moutb)(struct rio_mport *mport, void *dev_id, int mbox, int slot))h](j)}(hinth]hint}(hhhjLhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjLhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM4ubj.)}(h h]h }(hhhjLhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjLhhhjLhM4ubj?)}(hrio_request_outb_mboxh]jE)}(hrio_request_outb_mboxh]hrio_request_outb_mbox}(hhhjLhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjLubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjLhhhjLhM4ubj`)}(h(struct rio_mport *mport, void *dev_id, int mbox, int entries, void (*moutb)(struct rio_mport *mport, void *dev_id, int mbox, int slot))h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjMhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjMubj.)}(h h]h }(hhhjMhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjMubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj&MhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj#Mubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj(MmodnameN classnameNjj)}j]j)}jjLsbc.rio_request_outb_mboxasbuh1hhjMubj.)}(h h]h }(hhhjFMhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjMubj)}(hjh]h*}(hhhjTMhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjMubjE)}(hmporth]hmport}(hhhjaMhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjMubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjMubjf)}(h void *dev_idh](j)}(hvoidh]hvoid}(hhhjzMhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjvMubj.)}(h h]h }(hhhjMhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjvMubj)}(hjh]h*}(hhhjMhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjvMubjE)}(hdev_idh]hdev_id}(hhhjMhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjvMubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjMubjf)}(hint mboxh](j)}(hinth]hint}(hhhjMhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjMubj.)}(h h]h }(hhhjMhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjMubjE)}(hmboxh]hmbox}(hhhjMhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjMubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjMubjf)}(h int entriesh](j)}(hinth]hint}(hhhjMhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjMubj.)}(h h]h }(hhhjMhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjMubjE)}(hentriesh]hentries}(hhhj NhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjMubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjMubjf)}(hHvoid (*moutb)(struct rio_mport *mport, void *dev_id, int mbox, int slot)h](j)}(hvoidh]hvoid}(hhhj&NhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj"Nubj.)}(h h]h }(hhhj4NhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj"Nubj)}(hjtGh]h(}(hhhjBNhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"Nubj)}(hjh]h*}(hhhjONhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"NubjE)}(hmoutbh]hmoutb}(hhhj\NhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj"Nubj)}(hjGh]h)}(hhhjjNhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"Nubj)}(hjtGh]h(}(hhhjwNhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"Nubjl)}(hjoh]hstruct}(hhhjNhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj"Nubj.)}(h h]h }(hhhjNhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj"Nubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjNhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjNubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjNmodnameN classnameNjj)}j]jBMc.rio_request_outb_mboxasbuh1hhj"Nubj.)}(h h]h }(hhhjNhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj"Nubj)}(hjh]h*}(hhhjNhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"NubjE)}(hmporth]hmport}(hhhjNhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj"Nubj)}(hjHh]h,}(hhhjNhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"Nubj.)}(h h]h }(hhhjNhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj"Nubj)}(hvoidh]hvoid}(hhhjOhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj"Nubj.)}(h h]h }(hhhjOhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj"Nubj)}(hjh]h*}(hhhj OhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"NubjE)}(hdev_idh]hdev_id}(hhhj-OhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj"Nubj)}(hjHh]h,}(hhhj;OhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"Nubj.)}(h h]h }(hhhjHOhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj"Nubj)}(hinth]hint}(hhhjVOhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj"Nubj.)}(h h]h }(hhhjdOhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj"NubjE)}(hmboxh]hmbox}(hhhjrOhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj"Nubj)}(hjHh]h,}(hhhjOhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"Nubj.)}(h h]h }(hhhjOhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj"Nubj)}(hinth]hint}(hhhjOhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj"Nubj.)}(h h]h }(hhhjOhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj"NubjE)}(hsloth]hslot}(hhhjOhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj"Nubj)}(hjGh]h)}(hhhjOhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"Nubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjMubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjLhhhjLhM4ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjLhhhjLhM4ubah}(h]jLah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM=hjLhhubj)}(hhh]h)}(h request outbound mailbox serviceh]h request outbound mailbox service}(hjOhjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM3hjOhhubah}(h]h ]h"]h$]h&]uh1jhjLhhhjLhM4ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjPjjPjuh1j hhhjhNhNubj)}(hX**Parameters** ``struct rio_mport *mport`` RIO master port from which to allocate the mailbox resource ``void *dev_id`` Device specific pointer to pass on event ``int mbox`` Mailbox number to claim ``int entries`` Number of entries in outbound mailbox queue ``void (*moutb) (struct rio_mport * mport, void *dev_id, int mbox, int slot)`` Callback to execute when outbound message is sent **Description** Requests ownership of an outbound mailbox resource and binds a callback function to the resource. Returns 0 on success.h](h)}(h**Parameters**h]j)}(hjPh]h Parameters}(hhhjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjPubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM7hj Pubj)}(hhh](j)}(hX``struct rio_mport *mport`` RIO master port from which to allocate the mailbox resource h](j)}(h``struct rio_mport *mport``h]j)}(hj0Ph]hstruct rio_mport *mport}(hhhj2PhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.Pubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM4hj*Pubj )}(hhh]h)}(h;RIO master port from which to allocate the mailbox resourceh]h;RIO master port from which to allocate the mailbox resource}(hjKPhjIPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEPhM4hjFPubah}(h]h ]h"]h$]h&]uh1j hj*Pubeh}(h]h ]h"]h$]h&]uh1jhjEPhM4hj'Pubj)}(h:``void *dev_id`` Device specific pointer to pass on event h](j)}(h``void *dev_id``h]j)}(hjiPh]h void *dev_id}(hhhjkPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjgPubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM5hjcPubj )}(hhh]h)}(h(Device specific pointer to pass on eventh]h(Device specific pointer to pass on event}(hjPhjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~PhM5hjPubah}(h]h ]h"]h$]h&]uh1j hjcPubeh}(h]h ]h"]h$]h&]uh1jhj~PhM5hj'Pubj)}(h%``int mbox`` Mailbox number to claim h](j)}(h ``int mbox``h]j)}(hjPh]hint mbox}(hhhjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjPubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM6hjPubj )}(hhh]h)}(hMailbox number to claimh]hMailbox number to claim}(hjPhjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPhM6hjPubah}(h]h ]h"]h$]h&]uh1j hjPubeh}(h]h ]h"]h$]h&]uh1jhjPhM6hj'Pubj)}(h<``int entries`` Number of entries in outbound mailbox queue h](j)}(h``int entries``h]j)}(hjPh]h int entries}(hhhjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjPubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM7hjPubj )}(hhh]h)}(h+Number of entries in outbound mailbox queueh]h+Number of entries in outbound mailbox queue}(hjPhjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPhM7hjPubah}(h]h ]h"]h$]h&]uh1j hjPubeh}(h]h ]h"]h$]h&]uh1jhjPhM7hj'Pubj)}(h``void (*moutb) (struct rio_mport * mport, void *dev_id, int mbox, int slot)`` Callback to execute when outbound message is sent h](j)}(hN``void (*moutb) (struct rio_mport * mport, void *dev_id, int mbox, int slot)``h]j)}(hjQh]hJvoid (*moutb) (struct rio_mport * mport, void *dev_id, int mbox, int slot)}(hhhjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM8hjQubj )}(hhh]h)}(h1Callback to execute when outbound message is senth]h1Callback to execute when outbound message is sent}(hj/Qhj-QhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)QhM8hj*Qubah}(h]h ]h"]h$]h&]uh1j hjQubeh}(h]h ]h"]h$]h&]uh1jhj)QhM8hj'Pubeh}(h]h ]h"]h$]h&]uh1jhj Pubh)}(h**Description**h]j)}(hjOQh]h Description}(hhhjQQhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjMQubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM:hj Pubh)}(hwRequests ownership of an outbound mailbox resource and binds a callback function to the resource. Returns 0 on success.h]hwRequests ownership of an outbound mailbox resource and binds a callback function to the resource. Returns 0 on success.}(hjgQhjeQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM:hj Pubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"rio_release_outb_mbox (C function)c.rio_release_outb_mboxhNtauh1jhjhhhNhNubj )}(hhh](j)}(h=int rio_release_outb_mbox (struct rio_mport *mport, int mbox)h]j)}(hhjQhhhjQhMkubj`)}(h#(struct rio_mport *mport, int mbox)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjQhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjQubj.)}(h h]h }(hhhjQhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjQubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjQhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjQubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjQmodnameN classnameNjj)}j]j)}jjQsbc.rio_release_outb_mboxasbuh1hhjQubj.)}(h h]h }(hhhjRhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjQubj)}(hjh]h*}(hhhjRhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjQubjE)}(hmporth]hmport}(hhhj*RhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjQubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjQubjf)}(hint mboxh](j)}(hinth]hint}(hhhjCRhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj?Rubj.)}(h h]h }(hhhjQRhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj?RubjE)}(hmboxh]hmbox}(hhhj_RhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj?Rubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjQubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjQhhhjQhMkubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjQhhhjQhMkubah}(h]jQah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMqhjQhhubj)}(hhh]h)}(h(release outbound mailbox message serviceh]h(release outbound mailbox message service}(hjRhjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMjhjRhhubah}(h]h ]h"]h$]h&]uh1jhjQhhhjQhMkubeh}(h]h ](jfunctioneh"]h$]h&]jjjjRjjRjuh1j hhhjhNhNubj)}(hX**Parameters** ``struct rio_mport *mport`` RIO master port from which to release the mailbox resource ``int mbox`` Mailbox number to release **Description** Releases ownership of an inbound mailbox resource. Returns 0 if the request has been satisfied.h](h)}(h**Parameters**h]j)}(hjRh]h Parameters}(hhhjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjRubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMnhjRubj)}(hhh](j)}(hW``struct rio_mport *mport`` RIO master port from which to release the mailbox resource h](j)}(h``struct rio_mport *mport``h]j)}(hjRh]hstruct rio_mport *mport}(hhhjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjRubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMkhjRubj )}(hhh]h)}(h:RIO master port from which to release the mailbox resourceh]h:RIO master port from which to release the mailbox resource}(hjRhjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRhMkhjRubah}(h]h ]h"]h$]h&]uh1j hjRubeh}(h]h ]h"]h$]h&]uh1jhjRhMkhjRubj)}(h'``int mbox`` Mailbox number to release h](j)}(h ``int mbox``h]j)}(hjSh]hint mbox}(hhhjShhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMlhjRubj )}(hhh]h)}(hMailbox number to releaseh]hMailbox number to release}(hjShjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjShMlhjSubah}(h]h ]h"]h$]h&]uh1j hjRubeh}(h]h ]h"]h$]h&]uh1jhjShMlhjRubeh}(h]h ]h"]h$]h&]uh1jhjRubh)}(h**Description**h]j)}(hj?Sh]h Description}(hhhjAShhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=Subah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMnhjRubh)}(h_Releases ownership of an inbound mailbox resource. Returns 0 if the request has been satisfied.h]h_Releases ownership of an inbound mailbox resource. Returns 0 if the request has been satisfied.}(hjWShjUShhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMnhjRubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"rio_request_inb_dbell (C function)c.rio_request_inb_dbellhNtauh1jhjhhhNhNubj )}(hhh](j)}(hint rio_request_inb_dbell (struct rio_mport *mport, void *dev_id, u16 start, u16 end, void (*dinb) (struct rio_mport * mport, void *dev_id, u16 src, u16 dst, u16 info))h]j)}(hint rio_request_inb_dbell(struct rio_mport *mport, void *dev_id, u16 start, u16 end, void (*dinb)(struct rio_mport *mport, void *dev_id, u16 src, u16 dst, u16 info))h](j)}(hinth]hint}(hhhjShhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjShhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhjShhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjShhhjShMubj?)}(hrio_request_inb_dbellh]jE)}(hrio_request_inb_dbellh]hrio_request_inb_dbell}(hhhjShhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjSubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjShhhjShMubj`)}(h(struct rio_mport *mport, void *dev_id, u16 start, u16 end, void (*dinb)(struct rio_mport *mport, void *dev_id, u16 src, u16 dst, u16 info))h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjShhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjSubj.)}(h h]h }(hhhjShhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjSubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjShhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjSubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjSmodnameN classnameNjj)}j]j)}jjSsbc.rio_request_inb_dbellasbuh1hhjSubj.)}(h h]h }(hhhjShhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjSubj)}(hjh]h*}(hhhj ThhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjSubjE)}(hmporth]hmport}(hhhjThhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjSubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjSubjf)}(h void *dev_idh](j)}(hvoidh]hvoid}(hhhj3ThhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj/Tubj.)}(h h]h }(hhhjAThhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj/Tubj)}(hjh]h*}(hhhjOThhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj/TubjE)}(hdev_idh]hdev_id}(hhhj\ThhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj/Tubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjSubjf)}(h u16 starth](h)}(hhh]jE)}(hu16h]hu16}(hhhjxThhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjuTubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjzTmodnameN classnameNjj)}j]jSc.rio_request_inb_dbellasbuh1hhjqTubj.)}(h h]h }(hhhjThhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjqTubjE)}(hstarth]hstart}(hhhjThhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjqTubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjSubjf)}(hu16 endh](h)}(hhh]jE)}(hu16h]hu16}(hhhjThhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjTubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjTmodnameN classnameNjj)}j]jSc.rio_request_inb_dbellasbuh1hhjTubj.)}(h h]h }(hhhjThhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjTubjE)}(hendh]hend}(hhhjThhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjTubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjSubjf)}(hOvoid (*dinb)(struct rio_mport *mport, void *dev_id, u16 src, u16 dst, u16 info)h](j)}(hvoidh]hvoid}(hhhjUhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjUubj.)}(h h]h }(hhhjUhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjUubj)}(hjtGh]h(}(hhhj!UhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjUubj)}(hjh]h*}(hhhj.UhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjUubjE)}(hdinbh]hdinb}(hhhj;UhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjUubj)}(hjGh]h)}(hhhjIUhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjUubj)}(hjtGh]h(}(hhhjVUhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjUubjl)}(hjoh]hstruct}(hhhjcUhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjUubj.)}(h h]h }(hhhjpUhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjUubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjUhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj~Uubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjUmodnameN classnameNjj)}j]jSc.rio_request_inb_dbellasbuh1hhjUubj.)}(h h]h }(hhhjUhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjUubj)}(hjh]h*}(hhhjUhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjUubjE)}(hmporth]hmport}(hhhjUhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjUubj)}(hjHh]h,}(hhhjUhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjUubj.)}(h h]h }(hhhjUhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjUubj)}(hvoidh]hvoid}(hhhjUhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjUubj.)}(h h]h }(hhhjUhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjUubj)}(hjh]h*}(hhhjUhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjUubjE)}(hdev_idh]hdev_id}(hhhj VhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjUubj)}(hjHh]h,}(hhhjVhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjUubj.)}(h h]h }(hhhj'VhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjUubh)}(hhh]jE)}(hu16h]hu16}(hhhj8VhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj5Vubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj:VmodnameN classnameNjj)}j]jSc.rio_request_inb_dbellasbuh1hhjUubj.)}(h h]h }(hhhjVVhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjUubjE)}(hsrch]hsrc}(hhhjdVhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjUubj)}(hjHh]h,}(hhhjrVhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjUubj.)}(h h]h }(hhhjVhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjUubh)}(hhh]jE)}(hu16h]hu16}(hhhjVhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjVubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjVmodnameN classnameNjj)}j]jSc.rio_request_inb_dbellasbuh1hhjUubj.)}(h h]h }(hhhjVhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjUubjE)}(hdsth]hdst}(hhhjVhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjUubj)}(hjHh]h,}(hhhjVhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjUubj.)}(h h]h }(hhhjVhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjUubh)}(hhh]jE)}(hu16h]hu16}(hhhjVhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjVubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjVmodnameN classnameNjj)}j]jSc.rio_request_inb_dbellasbuh1hhjUubj.)}(h h]h }(hhhjWhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjUubjE)}(hinfoh]hinfo}(hhhjWhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjUubj)}(hjGh]h)}(hhhj"WhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjSubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjShhhjShMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj|ShhhjShMubah}(h]jwSah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjyShhubj)}(hhh]h)}(h(request inbound doorbell message serviceh]h(request inbound doorbell message service}(hjNWhjLWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjIWhhubah}(h]h ]h"]h$]h&]uh1jhjyShhhjShMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjdWjjdWjuh1j hhhjhNhNubj)}(hX!**Parameters** ``struct rio_mport *mport`` RIO master port from which to allocate the doorbell resource ``void *dev_id`` Device specific pointer to pass on event ``u16 start`` Doorbell info range start ``u16 end`` Doorbell info range end ``void (*dinb) (struct rio_mport * mport, void *dev_id, u16 src, u16 dst, u16 info)`` Callback to execute when doorbell is received **Description** Requests ownership of an inbound doorbell resource and binds a callback function to the resource. Returns 0 if the request has been satisfied.h](h)}(h**Parameters**h]j)}(hjnWh]h Parameters}(hhhjpWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjlWubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjhWubj)}(hhh](j)}(hY``struct rio_mport *mport`` RIO master port from which to allocate the doorbell resource h](j)}(h``struct rio_mport *mport``h]j)}(hjWh]hstruct rio_mport *mport}(hhhjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjWubj )}(hhh]h)}(hhjXhhhjXhMubj`)}(h-(struct rio_mport *mport, u16 start, u16 end)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhj.YhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj*Yubj.)}(h h]h }(hhhj;YhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj*Yubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjLYhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjIYubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjNYmodnameN classnameNjj)}j]j)}jjYsbc.rio_release_inb_dbellasbuh1hhj*Yubj.)}(h h]h }(hhhjlYhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj*Yubj)}(hjh]h*}(hhhjzYhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*YubjE)}(hmporth]hmport}(hhhjYhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj*Yubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj&Yubjf)}(h u16 starth](h)}(hhh]jE)}(hu16h]hu16}(hhhjYhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjYubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjYmodnameN classnameNjj)}j]jhYc.rio_release_inb_dbellasbuh1hhjYubj.)}(h h]h }(hhhjYhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYubjE)}(hstarth]hstart}(hhhjYhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjYubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj&Yubjf)}(hu16 endh](h)}(hhh]jE)}(hu16h]hu16}(hhhjYhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjYubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjYmodnameN classnameNjj)}j]jhYc.rio_release_inb_dbellasbuh1hhjYubj.)}(h h]h }(hhhj ZhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYubjE)}(hendh]hend}(hhhjZhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjYubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj&Yubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjXhhhjXhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjXhhhjXhMubah}(h]jXah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjXhhubj)}(hhh]h)}(h(release inbound doorbell message serviceh]h(release inbound doorbell message service}(hjDZhjBZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj?Zhhubah}(h]h ]h"]h$]h&]uh1jhjXhhhjXhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjZZjjZZjuh1j hhhjhNhNubj)}(hX`**Parameters** ``struct rio_mport *mport`` RIO master port from which to release the doorbell resource ``u16 start`` Doorbell info range start ``u16 end`` Doorbell info range end **Description** Releases ownership of an inbound doorbell resource and removes callback from the doorbell event list. Returns 0 if the request has been satisfied.h](h)}(h**Parameters**h]j)}(hjdZh]h Parameters}(hhhjfZhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjbZubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj^Zubj)}(hhh](j)}(hX``struct rio_mport *mport`` RIO master port from which to release the doorbell resource h](j)}(h``struct rio_mport *mport``h]j)}(hjZh]hstruct rio_mport *mport}(hhhjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj}Zubj )}(hhh]h)}(h;RIO master port from which to release the doorbell resourceh]h;RIO master port from which to release the doorbell resource}(hjZhjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZhMhjZubah}(h]h ]h"]h$]h&]uh1j hj}Zubeh}(h]h ]h"]h$]h&]uh1jhjZhMhjzZubj)}(h(``u16 start`` Doorbell info range start h](j)}(h ``u16 start``h]j)}(hjZh]h u16 start}(hhhjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjZubj )}(hhh]h)}(hDoorbell info range starth]hDoorbell info range start}(hjZhjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZhMhjZubah}(h]h ]h"]h$]h&]uh1j hjZubeh}(h]h ]h"]h$]h&]uh1jhjZhMhjzZubj)}(h$``u16 end`` Doorbell info range end h](j)}(h ``u16 end``h]j)}(hjZh]hu16 end}(hhhjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjZubj )}(hhh]h)}(hDoorbell info range endh]hDoorbell info range end}(hj[hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj [hMhj [ubah}(h]h ]h"]h$]h&]uh1j hjZubeh}(h]h ]h"]h$]h&]uh1jhj [hMhjzZubeh}(h]h ]h"]h$]h&]uh1jhj^Zubh)}(h**Description**h]j)}(hj0[h]h Description}(hhhj2[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.[ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj^Zubh)}(hReleases ownership of an inbound doorbell resource and removes callback from the doorbell event list. Returns 0 if the request has been satisfied.h]hReleases ownership of an inbound doorbell resource and removes callback from the doorbell event list. Returns 0 if the request has been satisfied.}(hjH[hjF[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj^Zubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j#rio_request_outb_dbell (C function)c.rio_request_outb_dbellhNtauh1jhjhhhNhNubj )}(hhh](j)}(hSstruct resource * rio_request_outb_dbell (struct rio_dev *rdev, u16 start, u16 end)h]j)}(hQstruct resource *rio_request_outb_dbell(struct rio_dev *rdev, u16 start, u16 end)h](jl)}(hjoh]hstruct}(hhhju[hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjq[hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhj[hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjq[hhhj[hMubh)}(hhh]jE)}(hresourceh]hresource}(hhhj[hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj[ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj[modnameN classnameNjj)}j]j)}jrio_request_outb_dbellsbc.rio_request_outb_dbellasbuh1hhjq[hhhj[hMubj.)}(h h]h }(hhhj[hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjq[hhhj[hMubj)}(hjh]h*}(hhhj[hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjq[hhhj[hMubj?)}(hrio_request_outb_dbellh]jE)}(hj[h]hrio_request_outb_dbell}(hhhj[hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj[ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjq[hhhj[hMubj`)}(h*(struct rio_dev *rdev, u16 start, u16 end)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhj[hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj[ubj.)}(h h]h }(hhhj[hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj[ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhj \hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj \ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj\modnameN classnameNjj)}j]j[c.rio_request_outb_dbellasbuh1hhj[ubj.)}(h h]h }(hhhj+\hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj[ubj)}(hjh]h*}(hhhj9\hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj[ubjE)}(hrdevh]hrdev}(hhhjF\hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj[ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj[ubjf)}(h u16 starth](h)}(hhh]jE)}(hu16h]hu16}(hhhjb\hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj_\ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjd\modnameN classnameNjj)}j]j[c.rio_request_outb_dbellasbuh1hhj[\ubj.)}(h h]h }(hhhj\hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj[\ubjE)}(hstarth]hstart}(hhhj\hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj[\ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj[ubjf)}(hu16 endh](h)}(hhh]jE)}(hu16h]hu16}(hhhj\hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj\ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj\modnameN classnameNjj)}j]j[c.rio_request_outb_dbellasbuh1hhj\ubj.)}(h h]h }(hhhj\hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj\ubjE)}(hendh]hend}(hhhj\hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj\ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj[ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjq[hhhj[hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjm[hhhj[hMubah}(h]jh[ah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjj[hhubj)}(hhh]h)}(h'request outbound doorbell message rangeh]h'request outbound doorbell message range}(hj]hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj\hhubah}(h]h ]h"]h$]h&]uh1jhjj[hhhj[hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj]jj]juh1j hhhjhNhNubj)}(hXI**Parameters** ``struct rio_dev *rdev`` RIO device from which to allocate the doorbell resource ``u16 start`` Doorbell message range start ``u16 end`` Doorbell message range end **Description** Requests ownership of a doorbell message range. Returns a resource if the request has been satisfied or ``NULL`` on failure.h](h)}(h**Parameters**h]j)}(hj#]h]h Parameters}(hhhj%]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj!]ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj]ubj)}(hhh](j)}(hQ``struct rio_dev *rdev`` RIO device from which to allocate the doorbell resource h](j)}(h``struct rio_dev *rdev``h]j)}(hjB]h]hstruct rio_dev *rdev}(hhhjD]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@]ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj<]ubj )}(hhh]h)}(h7RIO device from which to allocate the doorbell resourceh]h7RIO device from which to allocate the doorbell resource}(hj]]hj[]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjW]hMhjX]ubah}(h]h ]h"]h$]h&]uh1j hj<]ubeh}(h]h ]h"]h$]h&]uh1jhjW]hMhj9]ubj)}(h+``u16 start`` Doorbell message range start h](j)}(h ``u16 start``h]j)}(hj{]h]h u16 start}(hhhj}]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjy]ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhju]ubj )}(hhh]h)}(hDoorbell message range starth]hDoorbell message range start}(hj]hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]hMhj]ubah}(h]h ]h"]h$]h&]uh1j hju]ubeh}(h]h ]h"]h$]h&]uh1jhj]hMhj9]ubj)}(h'``u16 end`` Doorbell message range end h](j)}(h ``u16 end``h]j)}(hj]h]hu16 end}(hhhj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj]ubj )}(hhh]h)}(hDoorbell message range endh]hDoorbell message range end}(hj]hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]hMhj]ubah}(h]h ]h"]h$]h&]uh1j hj]ubeh}(h]h ]h"]h$]h&]uh1jhj]hMhj9]ubeh}(h]h ]h"]h$]h&]uh1jhj]ubh)}(h**Description**h]j)}(hj]h]h Description}(hhhj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj]ubh)}(h|Requests ownership of a doorbell message range. Returns a resource if the request has been satisfied or ``NULL`` on failure.h](hhRequests ownership of a doorbell message range. Returns a resource if the request has been satisfied or }(hhRequests ownership of a doorbell message range. Returns a resource if the request has been satisfied or hj^hhhNhNubj)}(h``NULL``h]hNULL}(hhhj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^ubh on failure.}(h on failure.hj^hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj]ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j#rio_release_outb_dbell (C function)c.rio_release_outb_dbellhNtauh1jhjhhhNhNubj )}(hhh](j)}(hGint rio_release_outb_dbell (struct rio_dev *rdev, struct resource *res)h]j)}(hFint rio_release_outb_dbell(struct rio_dev *rdev, struct resource *res)h](j)}(hinth]hint}(hhhjH^hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjD^hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhjW^hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjD^hhhjV^hMubj?)}(hrio_release_outb_dbellh]jE)}(hrio_release_outb_dbellh]hrio_release_outb_dbell}(hhhji^hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhje^ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjD^hhhjV^hMubj`)}(h,(struct rio_dev *rdev, struct resource *res)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhj^hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj^ubj.)}(h h]h }(hhhj^hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj^ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhj^hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj^ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj^modnameN classnameNjj)}j]j)}jjk^sbc.rio_release_outb_dbellasbuh1hhj^ubj.)}(h h]h }(hhhj^hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj^ubj)}(hjh]h*}(hhhj^hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj^ubjE)}(hrdevh]hrdev}(hhhj^hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj^ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj}^ubjf)}(hstruct resource *resh](jl)}(hjoh]hstruct}(hhhj^hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj^ubj.)}(h h]h }(hhhj_hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj^ubh)}(hhh]jE)}(hresourceh]hresource}(hhhj_hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj_ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj_modnameN classnameNjj)}j]j^c.rio_release_outb_dbellasbuh1hhj^ubj.)}(h h]h }(hhhj3_hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj^ubj)}(hjh]h*}(hhhjA_hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj^ubjE)}(hresh]hres}(hhhjN_hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj^ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj}^ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjD^hhhjV^hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj@^hhhjV^hMubah}(h]j;^ah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj=^hhubj)}(hhh]h)}(h'release outbound doorbell message rangeh]h'release outbound doorbell message range}(hj{_hjy_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjv_hhubah}(h]h ]h"]h$]h&]uh1jhj=^hhhjV^hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj_jj_juh1j hhhjhNhNubj)}(hX **Parameters** ``struct rio_dev *rdev`` RIO device from which to release the doorbell resource ``struct resource *res`` Doorbell resource to be freed **Description** Releases ownership of a doorbell message range. Returns 0 if the request has been satisfied.h](h)}(h**Parameters**h]j)}(hj_h]h Parameters}(hhhj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj_ubj)}(hhh](j)}(hP``struct rio_dev *rdev`` RIO device from which to release the doorbell resource h](j)}(h``struct rio_dev *rdev``h]j)}(hj_h]hstruct rio_dev *rdev}(hhhj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj_ubj )}(hhh]h)}(h6RIO device from which to release the doorbell resourceh]h6RIO device from which to release the doorbell resource}(hj_hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_hMhj_ubah}(h]h ]h"]h$]h&]uh1j hj_ubeh}(h]h ]h"]h$]h&]uh1jhj_hMhj_ubj)}(h7``struct resource *res`` Doorbell resource to be freed h](j)}(h``struct resource *res``h]j)}(hj_h]hstruct resource *res}(hhhj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj_ubj )}(hhh]h)}(hDoorbell resource to be freedh]hDoorbell resource to be freed}(hj`hj `hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`hMhj `ubah}(h]h ]h"]h$]h&]uh1j hj_ubeh}(h]h ]h"]h$]h&]uh1jhj`hMhj_ubeh}(h]h ]h"]h$]h&]uh1jhj_ubh)}(h**Description**h]j)}(hj.`h]h Description}(hhhj0`hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,`ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj_ubh)}(h\Releases ownership of a doorbell message range. Returns 0 if the request has been satisfied.h]h\Releases ownership of a doorbell message range. Returns 0 if the request has been satisfied.}(hjF`hjD`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj_ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j%rio_add_mport_pw_handler (C function)c.rio_add_mport_pw_handlerhNtauh1jhjhhhNhNubj )}(hhh](j)}(hint rio_add_mport_pw_handler (struct rio_mport *mport, void *context, int (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step))h]j)}(hint rio_add_mport_pw_handler(struct rio_mport *mport, void *context, int (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step))h](j)}(hinth]hint}(hhhjs`hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjo`hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM+ubj.)}(h h]h }(hhhj`hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjo`hhhj`hM+ubj?)}(hrio_add_mport_pw_handlerh]jE)}(hrio_add_mport_pw_handlerh]hrio_add_mport_pw_handler}(hhhj`hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj`ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjo`hhhj`hM+ubj`)}(h(struct rio_mport *mport, void *context, int (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step))h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhj`hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj`ubj.)}(h h]h }(hhhj`hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj`ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj`hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj`ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj`modnameN classnameNjj)}j]j)}jj`sbc.rio_add_mport_pw_handlerasbuh1hhj`ubj.)}(h h]h }(hhhj`hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj`ubj)}(hjh]h*}(hhhj`hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`ubjE)}(hmporth]hmport}(hhhj ahhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj`ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj`ubjf)}(h void *contexth](j)}(hvoidh]hvoid}(hhhj"ahhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjaubj.)}(h h]h }(hhhj0ahhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjaubj)}(hjh]h*}(hhhj>ahhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjaubjE)}(hcontexth]hcontext}(hhhjKahhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjaubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj`ubjf)}(hWint (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step)h](j)}(hinth]hint}(hhhjdahhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj`aubj.)}(h h]h }(hhhjrahhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj`aubj)}(hjtGh]h(}(hhhjahhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`aubj)}(hjh]h*}(hhhjahhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`aubjE)}(hpwcbackh]hpwcback}(hhhjahhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj`aubj)}(hjGh]h)}(hhhjahhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`aubj)}(hjtGh]h(}(hhhjahhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`aubjl)}(hjoh]hstruct}(hhhjahhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj`aubj.)}(h h]h }(hhhjahhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj`aubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjahhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjaubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjamodnameN classnameNjj)}j]j`c.rio_add_mport_pw_handlerasbuh1hhj`aubj.)}(h h]h }(hhhjahhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj`aubj)}(hjh]h*}(hhhj bhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`aubjE)}(hmporth]hmport}(hhhjbhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj`aubj)}(hjHh]h,}(hhhj'bhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`aubj.)}(h h]h }(hhhj4bhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj`aubj)}(hvoidh]hvoid}(hhhjBbhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj`aubj.)}(h h]h }(hhhjPbhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj`aubj)}(hjh]h*}(hhhj^bhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`aubjE)}(hcontexth]hcontext}(hhhjkbhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj`aubj)}(hjHh]h,}(hhhjybhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`aubj.)}(h h]h }(hhhjbhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj`aubjl)}(hunionh]hunion}(hhhjbhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj`aubj.)}(h h]h }(hhhjbhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj`aubh)}(hhh]jE)}(h rio_pw_msgh]h rio_pw_msg}(hhhjbhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjbubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjbmodnameN classnameNjj)}j]j`c.rio_add_mport_pw_handlerasbuh1hhj`aubj.)}(h h]h }(hhhjbhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj`aubj)}(hjh]h*}(hhhjbhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`aubjE)}(hmsgh]hmsg}(hhhjbhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj`aubj)}(hjHh]h,}(hhhjbhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`aubj.)}(h h]h }(hhhjchhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj`aubj)}(hinth]hint}(hhhjchhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj`aubj.)}(h h]h }(hhhj#chhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj`aubjE)}(hsteph]hstep}(hhhj1chhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj`aubj)}(hjGh]h)}(hhhj?chhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`aubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj`ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjo`hhhj`hM+ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjk`hhhj`hM+ubah}(h]jf`ah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM2hjh`hhubj)}(hhh]h)}(hJadd port-write message handler into the list of mport specific pw handlersh]hJadd port-write message handler into the list of mport specific pw handlers}(hjkchjichhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM*hjfchhubah}(h]h ]h"]h$]h&]uh1jhjh`hhhj`hM+ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjcjjcjuh1j hhhjhNhNubj)}(hXh**Parameters** ``struct rio_mport *mport`` RIO master port to bind the portwrite callback ``void *context`` Handler specific context to pass on event ``int (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step)`` Callback to execute when portwrite is received **Description** Returns 0 if the request has been satisfied.h](h)}(h**Parameters**h]j)}(hjch]h Parameters}(hhhjchhhNhNubah}(h]h ]h"]h$]h&]uh1jhjcubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM.hjcubj)}(hhh](j)}(hK``struct rio_mport *mport`` RIO master port to bind the portwrite callback h](j)}(h``struct rio_mport *mport``h]j)}(hjch]hstruct rio_mport *mport}(hhhjchhhNhNubah}(h]h ]h"]h$]h&]uh1jhjcubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM,hjcubj )}(hhh]h)}(h.RIO master port to bind the portwrite callbackh]h.RIO master port to bind the portwrite callback}(hjchjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhjchM,hjcubah}(h]h ]h"]h$]h&]uh1j hjcubeh}(h]h ]h"]h$]h&]uh1jhjchM,hjcubj)}(h<``void *context`` Handler specific context to pass on event h](j)}(h``void *context``h]j)}(hjch]h void *context}(hhhjchhhNhNubah}(h]h ]h"]h$]h&]uh1jhjcubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM-hjcubj )}(hhh]h)}(h)Handler specific context to pass on eventh]h)Handler specific context to pass on event}(hjchjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhjchM-hjcubah}(h]h ]h"]h$]h&]uh1j hjcubeh}(h]h ]h"]h$]h&]uh1jhjchM-hjcubj)}(h``int (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step)`` Callback to execute when portwrite is received h](j)}(h[``int (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step)``h]j)}(hjdh]hWint (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step)}(hhhjdhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjdubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM.hjdubj )}(hhh]h)}(h.Callback to execute when portwrite is receivedh]h.Callback to execute when portwrite is received}(hj7dhj5dhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1dhM.hj2dubah}(h]h ]h"]h$]h&]uh1j hjdubeh}(h]h ]h"]h$]h&]uh1jhj1dhM.hjcubeh}(h]h ]h"]h$]h&]uh1jhjcubh)}(h**Description**h]j)}(hjWdh]h Description}(hhhjYdhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjUdubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM0hjcubh)}(h,Returns 0 if the request has been satisfied.h]h,Returns 0 if the request has been satisfied.}(hjodhjmdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM0hjcubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j%rio_del_mport_pw_handler (C function)c.rio_del_mport_pw_handlerhNtauh1jhjhhhNhNubj )}(hhh](j)}(hint rio_del_mport_pw_handler (struct rio_mport *mport, void *context, int (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step))h]j)}(hint rio_del_mport_pw_handler(struct rio_mport *mport, void *context, int (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step))h](j)}(hinth]hint}(hhhjdhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjdhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMFubj.)}(h h]h }(hhhjdhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjdhhhjdhMFubj?)}(hrio_del_mport_pw_handlerh]jE)}(hrio_del_mport_pw_handlerh]hrio_del_mport_pw_handler}(hhhjdhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjdubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjdhhhjdhMFubj`)}(h(struct rio_mport *mport, void *context, int (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step))h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjdhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjdubj.)}(h h]h }(hhhjdhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjdubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjdhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjdubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjdmodnameN classnameNjj)}j]j)}jjdsbc.rio_del_mport_pw_handlerasbuh1hhjdubj.)}(h h]h }(hhhjehhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjdubj)}(hjh]h*}(hhhj%ehhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjdubjE)}(hmporth]hmport}(hhhj2ehhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjdubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjdubjf)}(h void *contexth](j)}(hvoidh]hvoid}(hhhjKehhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjGeubj.)}(h h]h }(hhhjYehhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjGeubj)}(hjh]h*}(hhhjgehhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjGeubjE)}(hcontexth]hcontext}(hhhjtehhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjGeubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjdubjf)}(hWint (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step)h](j)}(hinth]hint}(hhhjehhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjeubj.)}(h h]h }(hhhjehhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjeubj)}(hjtGh]h(}(hhhjehhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjeubj)}(hjh]h*}(hhhjehhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjeubjE)}(hpwcbackh]hpwcback}(hhhjehhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjeubj)}(hjGh]h)}(hhhjehhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjeubj)}(hjtGh]h(}(hhhjehhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjeubjl)}(hjoh]hstruct}(hhhjehhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjeubj.)}(h h]h }(hhhjehhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjeubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj fhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjfubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj fmodnameN classnameNjj)}j]jec.rio_del_mport_pw_handlerasbuh1hhjeubj.)}(h h]h }(hhhj'fhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjeubj)}(hjh]h*}(hhhj5fhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjeubjE)}(hmporth]hmport}(hhhjBfhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjeubj)}(hjHh]h,}(hhhjPfhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjeubj.)}(h h]h }(hhhj]fhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjeubj)}(hvoidh]hvoid}(hhhjkfhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjeubj.)}(h h]h }(hhhjyfhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjeubj)}(hjh]h*}(hhhjfhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjeubjE)}(hcontexth]hcontext}(hhhjfhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjeubj)}(hjHh]h,}(hhhjfhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjeubj.)}(h h]h }(hhhjfhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjeubjl)}(hjbh]hunion}(hhhjfhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjeubj.)}(h h]h }(hhhjfhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjeubh)}(hhh]jE)}(h rio_pw_msgh]h rio_pw_msg}(hhhjfhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjfubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjfmodnameN classnameNjj)}j]jec.rio_del_mport_pw_handlerasbuh1hhjeubj.)}(h h]h }(hhhjfhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjeubj)}(hjh]h*}(hhhjghhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjeubjE)}(hmsgh]hmsg}(hhhjghhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjeubj)}(hjHh]h,}(hhhj"ghhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjeubj.)}(h h]h }(hhhj/ghhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjeubj)}(hinth]hint}(hhhj=ghhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjeubj.)}(h h]h }(hhhjKghhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjeubjE)}(hsteph]hstep}(hhhjYghhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjeubj)}(hjGh]h)}(hhhjgghhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjeubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjdubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjdhhhjdhMFubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjdhhhjdhMFubah}(h]jdah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMMhjdhhubj)}(hhh]h)}(hMremove port-write message handler from the list of mport specific pw handlersh]hMremove port-write message handler from the list of mport specific pw handlers}(hjghjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMEhjghhubah}(h]h ]h"]h$]h&]uh1jhjdhhhjdhMFubeh}(h]h ](jfunctioneh"]h$]h&]jjjjgjjgjuh1j hhhjhNhNubj)}(hXa**Parameters** ``struct rio_mport *mport`` RIO master port to bind the portwrite callback ``void *context`` Registered handler specific context to pass on event ``int (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step)`` Registered callback function **Description** Returns 0 if the request has been satisfied.h](h)}(h**Parameters**h]j)}(hjgh]h Parameters}(hhhjghhhNhNubah}(h]h ]h"]h$]h&]uh1jhjgubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMIhjgubj)}(hhh](j)}(hK``struct rio_mport *mport`` RIO master port to bind the portwrite callback h](j)}(h``struct rio_mport *mport``h]j)}(hjgh]hstruct rio_mport *mport}(hhhjghhhNhNubah}(h]h ]h"]h$]h&]uh1jhjgubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMGhjgubj )}(hhh]h)}(h.RIO master port to bind the portwrite callbackh]h.RIO master port to bind the portwrite callback}(hjghjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjghMGhjgubah}(h]h ]h"]h$]h&]uh1j hjgubeh}(h]h ]h"]h$]h&]uh1jhjghMGhjgubj)}(hG``void *context`` Registered handler specific context to pass on event h](j)}(h``void *context``h]j)}(hj hh]h void *context}(hhhj hhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMHhjhubj )}(hhh]h)}(h4Registered handler specific context to pass on eventh]h4Registered handler specific context to pass on event}(hj&hhj$hhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhMHhj!hubah}(h]h ]h"]h$]h&]uh1j hjhubeh}(h]h ]h"]h$]h&]uh1jhj hhMHhjgubj)}(hy``int (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step)`` Registered callback function h](j)}(h[``int (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step)``h]j)}(hjDhh]hWint (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step)}(hhhjFhhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjBhubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMIhj>hubj )}(hhh]h)}(hRegistered callback functionh]hRegistered callback function}(hj_hhj]hhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYhhMIhjZhubah}(h]h ]h"]h$]h&]uh1j hj>hubeh}(h]h ]h"]h$]h&]uh1jhjYhhMIhjgubeh}(h]h ]h"]h$]h&]uh1jhjgubh)}(h**Description**h]j)}(hjhh]h Description}(hhhjhhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj}hubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMKhjgubh)}(h,Returns 0 if the request has been satisfied.h]h,Returns 0 if the request has been satisfied.}(hjhhjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMKhjgubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j#rio_request_inb_pwrite (C function)c.rio_request_inb_pwritehNtauh1jhjhhhNhNubj )}(hhh](j)}(hxint rio_request_inb_pwrite (struct rio_dev *rdev, int (*pwcback)(struct rio_dev *rdev, union rio_pw_msg *msg, int step))h]j)}(hwint rio_request_inb_pwrite(struct rio_dev *rdev, int (*pwcback)(struct rio_dev *rdev, union rio_pw_msg *msg, int step))h](j)}(hinth]hint}(hhhjhhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMeubj.)}(h h]h }(hhhjhhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhhjhhMeubj?)}(hrio_request_inb_pwriteh]jE)}(hrio_request_inb_pwriteh]hrio_request_inb_pwrite}(hhhjhhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjhubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhhjhhMeubj`)}(h](struct rio_dev *rdev, int (*pwcback)(struct rio_dev *rdev, union rio_pw_msg *msg, int step))h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjihhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhubj.)}(h h]h }(hhhjihhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjihhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjiubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj!imodnameN classnameNjj)}j]j)}jjhsbc.rio_request_inb_pwriteasbuh1hhjhubj.)}(h h]h }(hhhj?ihhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhubj)}(hjh]h*}(hhhjMihhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhubjE)}(hrdevh]hrdev}(hhhjZihhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjhubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjhubjf)}(hEint (*pwcback)(struct rio_dev *rdev, union rio_pw_msg *msg, int step)h](j)}(hinth]hint}(hhhjsihhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjoiubj.)}(h h]h }(hhhjihhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjoiubj)}(hjtGh]h(}(hhhjihhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjoiubj)}(hjh]h*}(hhhjihhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjoiubjE)}(hpwcbackh]hpwcback}(hhhjihhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjoiubj)}(hjGh]h)}(hhhjihhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjoiubj)}(hjtGh]h(}(hhhjihhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjoiubjl)}(hjoh]hstruct}(hhhjihhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjoiubj.)}(h h]h }(hhhjihhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjoiubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjihhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjiubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjimodnameN classnameNjj)}j]j;ic.rio_request_inb_pwriteasbuh1hhjoiubj.)}(h h]h }(hhhj jhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjoiubj)}(hjh]h*}(hhhjjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjoiubjE)}(hrdevh]hrdev}(hhhj(jhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjoiubj)}(hjHh]h,}(hhhj6jhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjoiubj.)}(h h]h }(hhhjCjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjoiubjl)}(hjbh]hunion}(hhhjQjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjoiubj.)}(h h]h }(hhhj^jhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjoiubh)}(hhh]jE)}(h rio_pw_msgh]h rio_pw_msg}(hhhjojhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjljubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjqjmodnameN classnameNjj)}j]j;ic.rio_request_inb_pwriteasbuh1hhjoiubj.)}(h h]h }(hhhjjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjoiubj)}(hjh]h*}(hhhjjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjoiubjE)}(hmsgh]hmsg}(hhhjjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjoiubj)}(hjHh]h,}(hhhjjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjoiubj.)}(h h]h }(hhhjjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjoiubj)}(hinth]hint}(hhhjjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjoiubj.)}(h h]h }(hhhjjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjoiubjE)}(hsteph]hstep}(hhhjjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjoiubj)}(hjGh]h)}(hhhjjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjoiubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjhubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhhjhhMeubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhhjhhMeubah}(h]jhah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMlhjhhhubj)}(hhh]h)}(hFrequest inbound port-write message service for specific RapidIO deviceh]hFrequest inbound port-write message service for specific RapidIO device}(hj'khj%khhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMdhj"khhubah}(h]h ]h"]h$]h&]uh1jhjhhhhjhhMeubeh}(h]h ](jfunctioneh"]h$]h&]jjjj=kjj=kjuh1j hhhjhNhNubj)}(hXk**Parameters** ``struct rio_dev *rdev`` RIO device to which register inbound port-write callback routine ``int (*pwcback)(struct rio_dev *rdev, union rio_pw_msg *msg, int step)`` Callback routine to execute when port-write is received **Description** Binds a port-write callback function to the RapidIO device. Returns 0 if the request has been satisfied.h](h)}(h**Parameters**h]j)}(hjGkh]h Parameters}(hhhjIkhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEkubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhhjAkubj)}(hhh](j)}(hZ``struct rio_dev *rdev`` RIO device to which register inbound port-write callback routine h](j)}(h``struct rio_dev *rdev``h]j)}(hjfkh]hstruct rio_dev *rdev}(hhhjhkhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjdkubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMfhj`kubj )}(hhh]h)}(h@RIO device to which register inbound port-write callback routineh]h@RIO device to which register inbound port-write callback routine}(hjkhjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{khMfhj|kubah}(h]h ]h"]h$]h&]uh1j hj`kubeh}(h]h ]h"]h$]h&]uh1jhj{khMfhj]kubj)}(h``int (*pwcback)(struct rio_dev *rdev, union rio_pw_msg *msg, int step)`` Callback routine to execute when port-write is received h](j)}(hI``int (*pwcback)(struct rio_dev *rdev, union rio_pw_msg *msg, int step)``h]j)}(hjkh]hEint (*pwcback)(struct rio_dev *rdev, union rio_pw_msg *msg, int step)}(hhhjkhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjkubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMghjkubj )}(hhh]h)}(h7Callback routine to execute when port-write is receivedh]h7Callback routine to execute when port-write is received}(hjkhjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkhMghjkubah}(h]h ]h"]h$]h&]uh1j hjkubeh}(h]h ]h"]h$]h&]uh1jhjkhMghj]kubeh}(h]h ]h"]h$]h&]uh1jhjAkubh)}(h**Description**h]j)}(hjkh]h Description}(hhhjkhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjkubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMihjAkubh)}(hhBinds a port-write callback function to the RapidIO device. Returns 0 if the request has been satisfied.h]hhBinds a port-write callback function to the RapidIO device. Returns 0 if the request has been satisfied.}(hjkhjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMihjAkubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j#rio_release_inb_pwrite (C function)c.rio_release_inb_pwritehNtauh1jhjhhhNhNubj )}(hhh](j)}(h1int rio_release_inb_pwrite (struct rio_dev *rdev)h]j)}(h0int rio_release_inb_pwrite(struct rio_dev *rdev)h](j)}(hinth]hint}(hhhjlhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjlhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM~ubj.)}(h h]h }(hhhj.lhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjlhhhj-lhM~ubj?)}(hrio_release_inb_pwriteh]jE)}(hrio_release_inb_pwriteh]hrio_release_inb_pwrite}(hhhj@lhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjhjlhhhj-lhM~ubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhj\lhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjXlubj.)}(h h]h }(hhhjilhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjXlubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjzlhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjwlubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj|lmodnameN classnameNjj)}j]j)}jjBlsbc.rio_release_inb_pwriteasbuh1hhjXlubj.)}(h h]h }(hhhjlhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjXlubj)}(hjh]h*}(hhhjlhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjXlubjE)}(hrdevh]hrdev}(hhhjlhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjXlubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjTlubah}(h]h ]h"]h$]h&]j]j^uh1j_hjlhhhj-lhM~ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjlhhhj-lhM~ubah}(h]jlah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjlhhubj)}(hhh]h)}(hRrelease inbound port-write message service associated with specific RapidIO deviceh]hRrelease inbound port-write message service associated with specific RapidIO device}(hjlhjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM}hjlhhubah}(h]h ]h"]h$]h&]uh1jhjlhhhj-lhM~ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjljjljuh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_dev *rdev`` RIO device which registered for inbound port-write callback **Description** Removes callback from the rio_dev structure. Returns 0 if the request has been satisfied.h](h)}(h**Parameters**h]j)}(hjmh]h Parameters}(hhhjmhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjmubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjlubj)}(hhh]j)}(hU``struct rio_dev *rdev`` RIO device which registered for inbound port-write callback h](j)}(h``struct rio_dev *rdev``h]j)}(hj!mh]hstruct rio_dev *rdev}(hhhj#mhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjmubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjmubj )}(hhh]h)}(h;RIO device which registered for inbound port-write callbackh]h;RIO device which registered for inbound port-write callback}(hjhjmhhhjmhMubj`)}(h%(struct rio_mport *mport, int enable)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjmhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjmubj.)}(h h]h }(hhhjmhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjmubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjmhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjmubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmmodnameN classnameNjj)}j]j)}jjmsbc.rio_pw_enableasbuh1hhjmubj.)}(h h]h }(hhhjnhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjmubj)}(hjh]h*}(hhhj*nhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjmubjE)}(hmporth]hmport}(hhhj7nhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjmubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjmubjf)}(h int enableh](j)}(hinth]hint}(hhhjPnhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjLnubj.)}(h h]h }(hhhj^nhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjLnubjE)}(henableh]henable}(hhhjlnhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjLnubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjmubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjmhhhjmhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjmhhhjmhMubah}(h]jmah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjmhhubj)}(hhh]h)}(h5Enables/disables port-write handling by a master porth]h5Enables/disables port-write handling by a master port}(hjnhjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjnhhubah}(h]h ]h"]h$]h&]uh1jhjmhhhjmhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjnjjnjuh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_mport *mport`` Master port associated with port-write handling ``int enable`` 1=enable, 0=disableh](h)}(h**Parameters**h]j)}(hjnh]h Parameters}(hhhjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjnubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjnubj)}(hhh](j)}(hL``struct rio_mport *mport`` Master port associated with port-write handling h](j)}(h``struct rio_mport *mport``h]j)}(hjnh]hstruct rio_mport *mport}(hhhjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjnubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjnubj )}(hhh]h)}(h/Master port associated with port-write handlingh]h/Master port associated with port-write handling}(hjnhjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnhMhjnubah}(h]h ]h"]h$]h&]uh1j hjnubeh}(h]h ]h"]h$]h&]uh1jhjnhMhjnubj)}(h#``int enable`` 1=enable, 0=disableh](j)}(h``int enable``h]j)}(hjoh]h int enable}(hhhjohhhNhNubah}(h]h ]h"]h$]h&]uh1jhjoubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj oubj )}(hhh]h)}(h1=enable, 0=disableh]h1=enable, 0=disable}(hj,ohj*ohhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj'oubah}(h]h ]h"]h$]h&]uh1j hj oubeh}(h]h ]h"]h$]h&]uh1jhj&ohMhjnubeh}(h]h ]h"]h$]h&]uh1jhjnubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_map_inb_region (C function)c.rio_map_inb_regionhNtauh1jhjhhhNhNubj )}(hhh](j)}(hcint rio_map_inb_region (struct rio_mport *mport, dma_addr_t local, u64 rbase, u32 size, u32 rflags)h]j)}(hbint rio_map_inb_region(struct rio_mport *mport, dma_addr_t local, u64 rbase, u32 size, u32 rflags)h](j)}(hinth]hint}(hhhjkohhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjgohhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhjzohhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjgohhhjyohMubj?)}(hrio_map_inb_regionh]jE)}(hrio_map_inb_regionh]hrio_map_inb_region}(hhhjohhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjoubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjgohhhjyohMubj`)}(hL(struct rio_mport *mport, dma_addr_t local, u64 rbase, u32 size, u32 rflags)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjohhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjoubj.)}(h h]h }(hhhjohhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjoubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjohhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjoubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjomodnameN classnameNjj)}j]j)}jjosbc.rio_map_inb_regionasbuh1hhjoubj.)}(h h]h }(hhhjohhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjoubj)}(hjh]h*}(hhhjohhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjoubjE)}(hmporth]hmport}(hhhjphhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjoubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjoubjf)}(hdma_addr_t localh](h)}(hhh]jE)}(h dma_addr_th]h dma_addr_t}(hhhjphhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjpubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjpmodnameN classnameNjj)}j]joc.rio_map_inb_regionasbuh1hhjpubj.)}(h h]h }(hhhj;phhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjpubjE)}(hlocalh]hlocal}(hhhjIphhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjpubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjoubjf)}(h u64 rbaseh](h)}(hhh]jE)}(hu64h]hu64}(hhhjephhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjbpubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjgpmodnameN classnameNjj)}j]joc.rio_map_inb_regionasbuh1hhj^pubj.)}(h h]h }(hhhjphhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj^pubjE)}(hrbaseh]hrbase}(hhhjphhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj^pubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjoubjf)}(hu32 sizeh](h)}(hhh]jE)}(hu32h]hu32}(hhhjphhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjpubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjpmodnameN classnameNjj)}j]joc.rio_map_inb_regionasbuh1hhjpubj.)}(h h]h }(hhhjphhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjpubjE)}(hsizeh]hsize}(hhhjphhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjpubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjoubjf)}(h u32 rflagsh](h)}(hhh]jE)}(hu32h]hu32}(hhhjphhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjpubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjpmodnameN classnameNjj)}j]joc.rio_map_inb_regionasbuh1hhjpubj.)}(h h]h }(hhhjqhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjpubjE)}(hrflagsh]hrflags}(hhhj!qhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjpubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjoubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjgohhhjyohMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjcohhhjyohMubah}(h]j^oah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj`ohhubj)}(hhh]h bullet_list)}(hhh]j})}(hMap inbound memory region.h]h)}(hjSqh]hMap inbound memory region.}(hjSqhjUqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjQqubah}(h]h ]h"]h$]h&]uh1j|hjNqhhhjbqhNubah}(h]h ]h"]h$]h&]bullet-uh1jLqhjbqhMhjIqhhubah}(h]h ]h"]h$]h&]uh1jhj`ohhhjyohMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjzqjjzqjuh1j hhhjhNhNubj)}(hX}**Parameters** ``struct rio_mport *mport`` Master port. ``dma_addr_t local`` physical address of memory region to be mapped ``u64 rbase`` RIO base address assigned to this window ``u32 size`` Size of the memory region ``u32 rflags`` Flags for mapping. **Return** 0 -- Success. **Description** This function will create the mapping from RIO space to local memory.h](h)}(h**Parameters**h]j)}(hjqh]h Parameters}(hhhjqhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjqubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj~qubj)}(hhh](j)}(h)``struct rio_mport *mport`` Master port. h](j)}(h``struct rio_mport *mport``h]j)}(hjqh]hstruct rio_mport *mport}(hhhjqhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjqubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjqubj )}(hhh]h)}(h Master port.h]h Master port.}(hjqhjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqhMhjqubah}(h]h ]h"]h$]h&]uh1j hjqubeh}(h]h ]h"]h$]h&]uh1jhjqhMhjqubj)}(hD``dma_addr_t local`` physical address of memory region to be mapped h](j)}(h``dma_addr_t local``h]j)}(hjqh]hdma_addr_t local}(hhhjqhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjqubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjqubj )}(hhh]h)}(h.physical address of memory region to be mappedh]h.physical address of memory region to be mapped}(hjqhjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqhMhjqubah}(h]h ]h"]h$]h&]uh1j hjqubeh}(h]h ]h"]h$]h&]uh1jhjqhMhjqubj)}(h7``u64 rbase`` RIO base address assigned to this window h](j)}(h ``u64 rbase``h]j)}(hjrh]h u64 rbase}(hhhjrhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjrubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjrubj )}(hhh]h)}(h(RIO base address assigned to this windowh]h(RIO base address assigned to this window}(hj0rhj.rhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*rhMhj+rubah}(h]h ]h"]h$]h&]uh1j hjrubeh}(h]h ]h"]h$]h&]uh1jhj*rhMhjqubj)}(h'``u32 size`` Size of the memory region h](j)}(h ``u32 size``h]j)}(hjNrh]hu32 size}(hhhjPrhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjLrubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjHrubj )}(hhh]h)}(hSize of the memory regionh]hSize of the memory region}(hjirhjgrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjcrhMhjdrubah}(h]h ]h"]h$]h&]uh1j hjHrubeh}(h]h ]h"]h$]h&]uh1jhjcrhMhjqubj)}(h"``u32 rflags`` Flags for mapping. h](j)}(h``u32 rflags``h]j)}(hjrh]h u32 rflags}(hhhjrhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjrubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjrubj )}(hhh]h)}(hFlags for mapping.h]hFlags for mapping.}(hjrhjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrhMhjrubah}(h]h ]h"]h$]h&]uh1j hjrubeh}(h]h ]h"]h$]h&]uh1jhjrhMhjqubeh}(h]h ]h"]h$]h&]uh1jhj~qubh)}(h **Return**h]j)}(hjrh]hReturn}(hhhjrhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjrubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj~qubh)}(h 0 -- Success.h]h 0 -- Success.}(hjrhjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj~qubh)}(h**Description**h]j)}(hjrh]h Description}(hhhjrhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjrubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj~qubh)}(hEThis function will create the mapping from RIO space to local memory.h]hEThis function will create the mapping from RIO space to local memory.}(hjshjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj~qubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j!rio_unmap_inb_region (C function)c.rio_unmap_inb_regionhNtauh1jhjhhhNhNubj )}(hhh](j)}(hFvoid rio_unmap_inb_region (struct rio_mport *mport, dma_addr_t lstart)h]j)}(hEvoid rio_unmap_inb_region(struct rio_mport *mport, dma_addr_t lstart)h](j)}(hvoidh]hvoid}(hhhj.shhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj*shhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhj=shhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj*shhhjhj*shhhjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj:tubah}(h]h ]h"]h$]h&]uh1j|hj7thhhjKthNubah}(h]h ]h"]h$]h&]joqjpquh1jLqhjKthMhj4thhubah}(h]h ]h"]h$]h&]uh1jhj#shhhjuhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj:uubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjuhhhj+uhMubj`)}(hY(struct rio_mport *mport, u16 destid, u64 rbase, u32 size, u32 rflags, dma_addr_t *local)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjZuhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjVuubj.)}(h h]h }(hhhjguhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjVuubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjxuhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjuuubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjzumodnameN classnameNjj)}j]j)}jj@usbc.rio_map_outb_regionasbuh1hhjVuubj.)}(h h]h }(hhhjuhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjVuubj)}(hjh]h*}(hhhjuhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjVuubjE)}(hmporth]hmport}(hhhjuhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjVuubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjRuubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjuhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjuubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjumodnameN classnameNjj)}j]juc.rio_map_outb_regionasbuh1hhjuubj.)}(h h]h }(hhhjuhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjuubjE)}(hdestidh]hdestid}(hhhjuhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjuubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjRuubjf)}(h u64 rbaseh](h)}(hhh]jE)}(hu64h]hu64}(hhhjvhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjvubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjvmodnameN classnameNjj)}j]juc.rio_map_outb_regionasbuh1hhjvubj.)}(h h]h }(hhhj5vhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjvubjE)}(hrbaseh]hrbase}(hhhjCvhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjvubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjRuubjf)}(hu32 sizeh](h)}(hhh]jE)}(hu32h]hu32}(hhhj_vhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj\vubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjavmodnameN classnameNjj)}j]juc.rio_map_outb_regionasbuh1hhjXvubj.)}(h h]h }(hhhj}vhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjXvubjE)}(hsizeh]hsize}(hhhjvhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjXvubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjRuubjf)}(h u32 rflagsh](h)}(hhh]jE)}(hu32h]hu32}(hhhjvhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjvubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjvmodnameN classnameNjj)}j]juc.rio_map_outb_regionasbuh1hhjvubj.)}(h h]h }(hhhjvhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjvubjE)}(hrflagsh]hrflags}(hhhjvhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjvubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjRuubjf)}(hdma_addr_t *localh](h)}(hhh]jE)}(h dma_addr_th]h dma_addr_t}(hhhjvhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjvubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjvmodnameN classnameNjj)}j]juc.rio_map_outb_regionasbuh1hhjvubj.)}(h h]h }(hhhj whhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjvubj)}(hjh]h*}(hhhjwhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjvubjE)}(hlocalh]hlocal}(hhhj(whhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjvubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjRuubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjuhhhj+uhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjuhhhj+uhMubah}(h]juah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjuhhubj)}(hhh]jMq)}(hhh]j})}(hMap outbound memory region.h]h)}(hjXwh]hMap outbound memory region.}(hjXwhjZwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjVwubah}(h]h ]h"]h$]h&]uh1j|hjSwhhhjgwhNubah}(h]h ]h"]h$]h&]joqjpquh1jLqhjgwhMhjPwhhubah}(h]h ]h"]h$]h&]uh1jhjuhhhj+uhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj}wjj}wjuh1j hhhjhNhNubj)}(hX**Parameters** ``struct rio_mport *mport`` Master port. ``u16 destid`` destination id window points to ``u64 rbase`` RIO base address window translates to ``u32 size`` Size of the memory region ``u32 rflags`` Flags for mapping. ``dma_addr_t *local`` physical address of memory region mapped **Return** 0 -- Success. **Description** This function will create the mapping from RIO space to local memory.h](h)}(h**Parameters**h]j)}(hjwh]h Parameters}(hhhjwhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjwubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjwubj)}(hhh](j)}(h)``struct rio_mport *mport`` Master port. h](j)}(h``struct rio_mport *mport``h]j)}(hjwh]hstruct rio_mport *mport}(hhhjwhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjwubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjwubj )}(hhh]h)}(h Master port.h]h Master port.}(hjwhjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjwhMhjwubah}(h]h ]h"]h$]h&]uh1j hjwubeh}(h]h ]h"]h$]h&]uh1jhjwhMhjwubj)}(h/``u16 destid`` destination id window points to h](j)}(h``u16 destid``h]j)}(hjwh]h u16 destid}(hhhjwhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjwubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjwubj )}(hhh]h)}(hdestination id window points toh]hdestination id window points to}(hjwhjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjwhMhjwubah}(h]h ]h"]h$]h&]uh1j hjwubeh}(h]h ]h"]h$]h&]uh1jhjwhMhjwubj)}(h4``u64 rbase`` RIO base address window translates to h](j)}(h ``u64 rbase``h]j)}(hjxh]h u64 rbase}(hhhjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjxubj )}(hhh]h)}(h%RIO base address window translates toh]h%RIO base address window translates to}(hj3xhj1xhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-xhMhj.xubah}(h]h ]h"]h$]h&]uh1j hjxubeh}(h]h ]h"]h$]h&]uh1jhj-xhMhjwubj)}(h'``u32 size`` Size of the memory region h](j)}(h ``u32 size``h]j)}(hjQxh]hu32 size}(hhhjSxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjOxubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjKxubj )}(hhh]h)}(hSize of the memory regionh]hSize of the memory region}(hjlxhjjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfxhMhjgxubah}(h]h ]h"]h$]h&]uh1j hjKxubeh}(h]h ]h"]h$]h&]uh1jhjfxhMhjwubj)}(h"``u32 rflags`` Flags for mapping. h](j)}(h``u32 rflags``h]j)}(hjxh]h u32 rflags}(hhhjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjxubj )}(hhh]h)}(hFlags for mapping.h]hFlags for mapping.}(hjxhjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxhMhjxubah}(h]h ]h"]h$]h&]uh1j hjxubeh}(h]h ]h"]h$]h&]uh1jhjxhMhjwubj)}(h?``dma_addr_t *local`` physical address of memory region mapped h](j)}(h``dma_addr_t *local``h]j)}(hjxh]hdma_addr_t *local}(hhhjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjxubj )}(hhh]h)}(h(physical address of memory region mappedh]h(physical address of memory region mapped}(hjxhjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxhMhjxubah}(h]h ]h"]h$]h&]uh1j hjxubeh}(h]h ]h"]h$]h&]uh1jhjxhMhjwubeh}(h]h ]h"]h$]h&]uh1jhjwubh)}(h **Return**h]j)}(hjxh]hReturn}(hhhjyhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjwubh)}(h 0 -- Success.h]h 0 -- Success.}(hjyhjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjwubh)}(h**Description**h]j)}(hj%yh]h Description}(hhhj'yhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#yubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjwubh)}(hEThis function will create the mapping from RIO space to local memory.h]hEThis function will create the mapping from RIO space to local memory.}(hj=yhj;yhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjwubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"rio_unmap_outb_region (C function)c.rio_unmap_outb_regionhNtauh1jhjhhhNhNubj )}(hhh](j)}(hLvoid rio_unmap_outb_region (struct rio_mport *mport, u16 destid, u64 rstart)h]j)}(hKvoid rio_unmap_outb_region(struct rio_mport *mport, u16 destid, u64 rstart)h](j)}(hvoidh]hvoid}(hhhjjyhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjfyhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhjyyhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjfyhhhjxyhMubj?)}(hrio_unmap_outb_regionh]jE)}(hrio_unmap_outb_regionh]hrio_unmap_outb_region}(hhhjyhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjyubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjfyhhhjxyhMubj`)}(h1(struct rio_mport *mport, u16 destid, u64 rstart)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjyhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjyubj.)}(h h]h }(hhhjyhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjyubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjyhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjyubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjymodnameN classnameNjj)}j]j)}jjysbc.rio_unmap_outb_regionasbuh1hhjyubj.)}(h h]h }(hhhjyhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjyubj)}(hjh]h*}(hhhjyhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjyubjE)}(hmporth]hmport}(hhhjzhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjyubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjyubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjzhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjzubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjzmodnameN classnameNjj)}j]jyc.rio_unmap_outb_regionasbuh1hhjzubj.)}(h h]h }(hhhj:zhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjzubjE)}(hdestidh]hdestid}(hhhjHzhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjzubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjyubjf)}(h u64 rstarth](h)}(hhh]jE)}(hu64h]hu64}(hhhjdzhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjazubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjfzmodnameN classnameNjj)}j]jyc.rio_unmap_outb_regionasbuh1hhj]zubj.)}(h h]h }(hhhjzhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj]zubjE)}(hrstarth]hrstart}(hhhjzhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj]zubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjyubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjfyhhhjxyhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjbyhhhjxyhMubah}(h]j]yah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj_yhhubj)}(hhh]jMq)}(hhh]j})}(hUnmap the inbound memory regionh]h)}(hjzh]hUnmap the inbound memory region}(hjzhjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjzubah}(h]h ]h"]h$]h&]uh1j|hjzhhhjzhNubah}(h]h ]h"]h$]h&]joqjpquh1jLqhjzhMhjzhhubah}(h]h ]h"]h$]h&]uh1jhj_yhhhjxyhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjzjjzjuh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_mport *mport`` Master port ``u16 destid`` destination id mapping points to ``u64 rstart`` RIO base address window translates toh](h)}(h**Parameters**h]j)}(hjzh]h Parameters}(hhhjzhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjzubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjzubj)}(hhh](j)}(h(``struct rio_mport *mport`` Master port h](j)}(h``struct rio_mport *mport``h]j)}(hj{h]hstruct rio_mport *mport}(hhhj{hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj {ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj{ubj )}(hhh]h)}(h Master porth]h Master port}(hj){hj'{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#{hMhj${ubah}(h]h ]h"]h$]h&]uh1j hj{ubeh}(h]h ]h"]h$]h&]uh1jhj#{hMhj{ubj)}(h0``u16 destid`` destination id mapping points to h](j)}(h``u16 destid``h]j)}(hjG{h]h u16 destid}(hhhjI{hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjE{ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjA{ubj )}(hhh]h)}(h destination id mapping points toh]h destination id mapping points to}(hjb{hj`{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\{hMhj]{ubah}(h]h ]h"]h$]h&]uh1j hjA{ubeh}(h]h ]h"]h$]h&]uh1jhj\{hMhj{ubj)}(h4``u64 rstart`` RIO base address window translates toh](j)}(h``u64 rstart``h]j)}(hj{h]h u64 rstart}(hhhj{hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~{ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjz{ubj )}(hhh]h)}(h%RIO base address window translates toh]h%RIO base address window translates to}(hj{hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj{ubah}(h]h ]h"]h$]h&]uh1j hjz{ubeh}(h]h ]h"]h$]h&]uh1jhj{hMhj{ubeh}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"rio_mport_get_physefb (C function)c.rio_mport_get_physefbhNtauh1jhjhhhNhNubj )}(hhh](j)}(hau32 rio_mport_get_physefb (struct rio_mport *port, int local, u16 destid, u8 hopcount, u32 *rmap)h]j)}(h`u32 rio_mport_get_physefb(struct rio_mport *port, int local, u16 destid, u8 hopcount, u32 *rmap)h](h)}(hhh]jE)}(hu32h]hu32}(hhhj{hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj{ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj{modnameN classnameNjj)}j]j)}jrio_mport_get_physefbsbc.rio_mport_get_physefbasbuh1hhj{hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhj{hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj{hhhj{hMubj?)}(hrio_mport_get_physefbh]jE)}(hj{h]hrio_mport_get_physefb}(hhhj|hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj |ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj{hhhj{hMubj`)}(hG(struct rio_mport *port, int local, u16 destid, u8 hopcount, u32 *rmap)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhj,|hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj(|ubj.)}(h h]h }(hhhj9|hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj(|ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjJ|hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjG|ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjL|modnameN classnameNjj)}j]j{c.rio_mport_get_physefbasbuh1hhj(|ubj.)}(h h]h }(hhhjh|hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj(|ubj)}(hjh]h*}(hhhjv|hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj(|ubjE)}(hporth]hport}(hhhj|hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj(|ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj$|ubjf)}(h int localh](j)}(hinth]hint}(hhhj|hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj|ubj.)}(h h]h }(hhhj|hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj|ubjE)}(hlocalh]hlocal}(hhhj|hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj|ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj$|ubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhj|hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj|ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj|modnameN classnameNjj)}j]j{c.rio_mport_get_physefbasbuh1hhj|ubj.)}(h h]h }(hhhj|hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj|ubjE)}(hdestidh]hdestid}(hhhj}hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj|ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj$|ubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhj}hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj}ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj}modnameN classnameNjj)}j]j{c.rio_mport_get_physefbasbuh1hhj}ubj.)}(h h]h }(hhhj:}hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj}ubjE)}(hhopcounth]hhopcount}(hhhjH}hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj}ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj$|ubjf)}(h u32 *rmaph](h)}(hhh]jE)}(hu32h]hu32}(hhhjd}hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhja}ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjf}modnameN classnameNjj)}j]j{c.rio_mport_get_physefbasbuh1hhj]}ubj.)}(h h]h }(hhhj}hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj]}ubj)}(hjh]h*}(hhhj}hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj]}ubjE)}(hrmaph]hrmap}(hhhj}hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj]}ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj$|ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj{hhhj{hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj{hhhj{hMubah}(h]j{ah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM hj{hhubj)}(hhh]h)}(hXHelper function that returns register offset for Physical Layer Extended Features Block.h]hXHelper function that returns register offset for Physical Layer Extended Features Block.}(hj}hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj}hhubah}(h]h ]h"]h$]h&]uh1jhj{hhhj{hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj}jj}juh1j hhhjhNhNubj)}(hX>**Parameters** ``struct rio_mport *port`` Master port to issue transaction ``int local`` Indicate a local master port or remote device access ``u16 destid`` Destination ID of the device ``u8 hopcount`` Number of switch hops to the device ``u32 *rmap`` pointer to location to store register map type infoh](h)}(h**Parameters**h]j)}(hj}h]h Parameters}(hhhj}hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj}ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj}ubj)}(hhh](j)}(h<``struct rio_mport *port`` Master port to issue transaction h](j)}(h``struct rio_mport *port``h]j)}(hj ~h]hstruct rio_mport *port}(hhhj ~hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj~ubj )}(hhh]h)}(h Master port to issue transactionh]h Master port to issue transaction}(hj$~hj"~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~hMhj~ubah}(h]h ]h"]h$]h&]uh1j hj~ubeh}(h]h ]h"]h$]h&]uh1jhj~hMhj~ubj)}(hC``int local`` Indicate a local master port or remote device access h](j)}(h ``int local``h]j)}(hjB~h]h int local}(hhhjD~hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@~ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj<~ubj )}(hhh]h)}(h4Indicate a local master port or remote device accessh]h4Indicate a local master port or remote device access}(hj]~hj[~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjW~hMhjX~ubah}(h]h ]h"]h$]h&]uh1j hj<~ubeh}(h]h ]h"]h$]h&]uh1jhjW~hMhj~ubj)}(h,``u16 destid`` Destination ID of the device h](j)}(h``u16 destid``h]j)}(hj{~h]h u16 destid}(hhhj}~hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjy~ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhju~ubj )}(hhh]h)}(hDestination ID of the deviceh]hDestination ID of the device}(hj~hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~hMhj~ubah}(h]h ]h"]h$]h&]uh1j hju~ubeh}(h]h ]h"]h$]h&]uh1jhj~hMhj~ubj)}(h4``u8 hopcount`` Number of switch hops to the device h](j)}(h``u8 hopcount``h]j)}(hj~h]h u8 hopcount}(hhhj~hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj~ubj )}(hhh]h)}(h#Number of switch hops to the deviceh]h#Number of switch hops to the device}(hj~hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~hMhj~ubah}(h]h ]h"]h$]h&]uh1j hj~ubeh}(h]h ]h"]h$]h&]uh1jhj~hMhj~ubj)}(hA``u32 *rmap`` pointer to location to store register map type infoh](j)}(h ``u32 *rmap``h]j)}(hj~h]h u32 *rmap}(hhhj~hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM hj~ubj )}(hhh]h)}(h3pointer to location to store register map type infoh]h3pointer to location to store register map type info}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM hjubah}(h]h ]h"]h$]h&]uh1j hj~ubeh}(h]h ]h"]h$]h&]uh1jhjhM hj~ubeh}(h]h ]h"]h$]h&]uh1jhj}ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_get_comptag (C function)c.rio_get_comptaghNtauh1jhjhhhNhNubj )}(hhh](j)}(hEstruct rio_dev * rio_get_comptag (u32 comp_tag, struct rio_dev *from)h]j)}(hCstruct rio_dev *rio_get_comptag(u32 comp_tag, struct rio_dev *from)h](jl)}(hjoh]hstruct}(hhhjGhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjChhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM>ubj.)}(h h]h }(hhhjUhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjChhhjThM>ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjfhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjcubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjhmodnameN classnameNjj)}j]j)}jrio_get_comptagsbc.rio_get_comptagasbuh1hhjChhhjThM>ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjChhhjThM>ubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjChhhjThM>ubj?)}(hrio_get_comptagh]jE)}(hjh]hrio_get_comptag}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjChhhjThM>ubj`)}(h$(u32 comp_tag, struct rio_dev *from)h](jf)}(h u32 comp_tagh](h)}(hhh]jE)}(hu32h]hu32}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_get_comptagasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hcomp_tagh]hcomp_tag}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hstruct rio_dev *fromh](jl)}(hjoh]hstruct}(hhhj hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhj'hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj$ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj)modnameN classnameNjj)}j]jc.rio_get_comptagasbuh1hhjubj.)}(h h]h }(hhhjEhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjShhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hfromh]hfrom}(hhhj`hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjChhhjThM>ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj?hhhjThM>ubah}(h]j:ah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMHhj<hhubj)}(hhh]h)}(h=Begin or continue searching for a RIO device by component tagh]h=Begin or continue searching for a RIO device by component tag}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM=hjhhubah}(h]h ]h"]h$]h&]uh1jhj<hhhjThM>ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hX **Parameters** ``u32 comp_tag`` RIO component tag to match ``struct rio_dev *from`` Previous RIO device found in search, or ``NULL`` for new search **Description** Iterates through the list of known RIO devices. If a RIO device is found with a matching **comp_tag**, a pointer to its device structure is returned. Otherwise, ``NULL`` is returned. A new search is initiated by passing ``NULL`` to the **from** argument. Otherwise, if **from** is not ``NULL``, searches continue from next device on the global list.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMAhjubj)}(hhh](j)}(h,``u32 comp_tag`` RIO component tag to match h](j)}(h``u32 comp_tag``h]j)}(hj̀h]h u32 comp_tag}(hhhj΀hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjʀubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM>hjƀubj )}(hhh]h)}(hRIO component tag to matchh]hRIO component tag to match}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM>hjubah}(h]h ]h"]h$]h&]uh1j hjƀubeh}(h]h ]h"]h$]h&]uh1jhjhM>hjÀubj)}(hY``struct rio_dev *from`` Previous RIO device found in search, or ``NULL`` for new search h](j)}(h``struct rio_dev *from``h]j)}(hjh]hstruct rio_dev *from}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM?hjubj )}(hhh]h)}(h?Previous RIO device found in search, or ``NULL`` for new searchh](h(Previous RIO device found in search, or }(h(Previous RIO device found in search, or hjhhhNhNubj)}(h``NULL``h]hNULL}(hhhj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh for new search}(h for new searchhjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM?hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM?hjÀubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjTh]h Description}(hhhjVhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjRubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMAhjubh)}(hX]Iterates through the list of known RIO devices. If a RIO device is found with a matching **comp_tag**, a pointer to its device structure is returned. Otherwise, ``NULL`` is returned. A new search is initiated by passing ``NULL`` to the **from** argument. Otherwise, if **from** is not ``NULL``, searches continue from next device on the global list.h](hYIterates through the list of known RIO devices. If a RIO device is found with a matching }(hYIterates through the list of known RIO devices. If a RIO device is found with a matching hjjhhhNhNubj)}(h **comp_tag**h]hcomp_tag}(hhhjshhhNhNubah}(h]h ]h"]h$]h&]uh1jhjjubh<, a pointer to its device structure is returned. Otherwise, }(h<, a pointer to its device structure is returned. Otherwise, hjjhhhNhNubj)}(h``NULL``h]hNULL}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjjubh3 is returned. A new search is initiated by passing }(h3 is returned. A new search is initiated by passing hjjhhhNhNubj)}(h``NULL``h]hNULL}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjjubh to the }(h to the hjjhhhNhNubj)}(h**from**h]hfrom}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjjubh argument. Otherwise, if }(h argument. Otherwise, if hjjhhhNhNubj)}(h**from**h]hfrom}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjjubh is not }(h is not hjjhhhNhNubj)}(h``NULL``h]hNULL}(hhhjҁhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjjubh8, searches continue from next device on the global list.}(h8, searches continue from next device on the global list.hjjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMAhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j!rio_set_port_lockout (C function)c.rio_set_port_lockouthNtauh1jhjhhhNhNubj )}(hhh](j)}(hCint rio_set_port_lockout (struct rio_dev *rdev, u32 pnum, int lock)h]j)}(hBint rio_set_port_lockout(struct rio_dev *rdev, u32 pnum, int lock)h](j)}(hinth]hint}(hhhj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM_ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhM_ubj?)}(hrio_set_port_lockouth]jE)}(hrio_set_port_lockouth]hrio_set_port_lockout}(hhhj-hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj)ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhM_ubj`)}(h*(struct rio_dev *rdev, u32 pnum, int lock)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjIhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjEubj.)}(h h]h }(hhhjVhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjEubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjghhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjdubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjimodnameN classnameNjj)}j]j)}jj/sbc.rio_set_port_lockoutasbuh1hhjEubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjEubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjEubjE)}(hrdevh]hrdev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjEubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubjf)}(hu32 pnumh](h)}(hhh]jE)}(hu32h]hu32}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_set_port_lockoutasbuh1hhjubj.)}(h h]h }(hhhj܂hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hpnumh]hpnum}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubjf)}(hint lockh](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hlockh]hlock}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhM_ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhM_ubah}(h]jah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMchjhhubj)}(hhh]h)}(h7Sets/clears LOCKOUT bit (RIO EM 1.3) for a switch port.h]h7Sets/clears LOCKOUT bit (RIO EM 1.3) for a switch port.}(hjLhjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM^hjGhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhM_ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjbjjbjuh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_dev *rdev`` Pointer to RIO device control structure ``u32 pnum`` Switch port number to set LOCKOUT bit ``int lock`` Operation : set (=1) or clear (=0)h](h)}(h**Parameters**h]j)}(hjlh]h Parameters}(hhhjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMbhjfubj)}(hhh](j)}(hA``struct rio_dev *rdev`` Pointer to RIO device control structure h](j)}(h``struct rio_dev *rdev``h]j)}(hjh]hstruct rio_dev *rdev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM_hjubj )}(hhh]h)}(h'Pointer to RIO device control structureh]h'Pointer to RIO device control structure}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM_hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM_hjubj)}(h3``u32 pnum`` Switch port number to set LOCKOUT bit h](j)}(h ``u32 pnum``h]j)}(hjăh]hu32 pnum}(hhhjƃhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjƒubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM`hjubj )}(hhh]h)}(h%Switch port number to set LOCKOUT bith]h%Switch port number to set LOCKOUT bit}(hj߃hj݃hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjكhM`hjڃubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjكhM`hjubj)}(h/``int lock`` Operation : set (=1) or clear (=0)h](j)}(h ``int lock``h]j)}(hjh]hint lock}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMbhjubj )}(hhh]h)}(h"Operation : set (=1) or clear (=0)h]h"Operation : set (=1) or clear (=0)}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMahjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMbhjubeh}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"rio_enable_rx_tx_port (C function)c.rio_enable_rx_tx_porthNtauh1jhjhhhNhNubj )}(hhh](j)}(hcint rio_enable_rx_tx_port (struct rio_mport *port, int local, u16 destid, u8 hopcount, u8 port_num)h]j)}(hbint rio_enable_rx_tx_port(struct rio_mport *port, int local, u16 destid, u8 hopcount, u8 port_num)h](j)}(hinth]hint}(hhhjWhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjShhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMxubj.)}(h h]h }(hhhjfhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjShhhjehMxubj?)}(hrio_enable_rx_tx_porth]jE)}(hrio_enable_rx_tx_porth]hrio_enable_rx_tx_port}(hhhjxhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjtubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjShhhjehMxubj`)}(hI(struct rio_mport *port, int local, u16 destid, u8 hopcount, u8 port_num)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjzsbc.rio_enable_rx_tx_portasbuh1hhjubj.)}(h h]h }(hhhj҄hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hporth]hport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h int localh](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hlocalh]hlocal}(hhhj"hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhj>hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj;ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj@modnameN classnameNjj)}j]j΄c.rio_enable_rx_tx_portasbuh1hhj7ubj.)}(h h]h }(hhhj\hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj7ubjE)}(hdestidh]hdestid}(hhhjjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj7ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j΄c.rio_enable_rx_tx_portasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 port_numh](h)}(hhh]jE)}(hu8h]hu8}(hhhj΅hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj˅ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjЅmodnameN classnameNjj)}j]j΄c.rio_enable_rx_tx_portasbuh1hhjDžubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjDžubjE)}(hport_numh]hport_num}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjDžubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjShhhjehMxubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjOhhhjehMxubah}(h]jJah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjLhhubj)}(hhh]h)}(h:enable input receiver and output transmitter of given porth]h:enable input receiver and output transmitter of given port}(hj'hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMwhj"hhubah}(h]h ]h"]h$]h&]uh1jhjLhhhjehMxubeh}(h]h ](jfunctioneh"]h$]h&]jjjj=jj=juh1j hhhjhNhNubj)}(hX**Parameters** ``struct rio_mport *port`` Master port associated with the RIO network ``int local`` local=1 select local port otherwise a far device is reached ``u16 destid`` Destination ID of the device to check host bit ``u8 hopcount`` Number of hops to reach the target ``u8 port_num`` Port (-number on switch) to enable on a far end device **Description** Returns 0 or 1 from on General Control Command and Status Register (EXT_PTR+0x3C)h](h)}(h**Parameters**h]j)}(hjGh]h Parameters}(hhhjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM{hjAubj)}(hhh](j)}(hG``struct rio_mport *port`` Master port associated with the RIO network h](j)}(h``struct rio_mport *port``h]j)}(hjfh]hstruct rio_mport *port}(hhhjhhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjdubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMyhj`ubj )}(hhh]h)}(h+Master port associated with the RIO networkh]h+Master port associated with the RIO network}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{hMyhj|ubah}(h]h ]h"]h$]h&]uh1j hj`ubeh}(h]h ]h"]h$]h&]uh1jhj{hMyhj]ubj)}(hJ``int local`` local=1 select local port otherwise a far device is reached h](j)}(h ``int local``h]j)}(hjh]h int local}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMzhjubj )}(hhh]h)}(h;local=1 select local port otherwise a far device is reachedh]h;local=1 select local port otherwise a far device is reached}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMzhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMzhj]ubj)}(h>``u16 destid`` Destination ID of the device to check host bit h](j)}(h``u16 destid``h]j)}(hj؆h]h u16 destid}(hhhjچhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjֆubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM{hj҆ubj )}(hhh]h)}(h.Destination ID of the device to check host bith]h.Destination ID of the device to check host bit}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM{hjubah}(h]h ]h"]h$]h&]uh1j hj҆ubeh}(h]h ]h"]h$]h&]uh1jhjhM{hj]ubj)}(h3``u8 hopcount`` Number of hops to reach the target h](j)}(h``u8 hopcount``h]j)}(hjh]h u8 hopcount}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM|hj ubj )}(hhh]h)}(h"Number of hops to reach the targeth]h"Number of hops to reach the target}(hj,hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&hM|hj'ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj&hM|hj]ubj)}(hG``u8 port_num`` Port (-number on switch) to enable on a far end device h](j)}(h``u8 port_num``h]j)}(hjJh]h u8 port_num}(hhhjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjHubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM}hjDubj )}(hhh]h)}(h6Port (-number on switch) to enable on a far end deviceh]h6Port (-number on switch) to enable on a far end device}(hjehjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_hM}hj`ubah}(h]h ]h"]h$]h&]uh1j hjDubeh}(h]h ]h"]h$]h&]uh1jhj_hM}hj]ubeh}(h]h ]h"]h$]h&]uh1jhjAubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjAubh)}(hQReturns 0 or 1 from on General Control Command and Status Register (EXT_PTR+0x3C)h]hQReturns 0 or 1 from on General Control Command and Status Register (EXT_PTR+0x3C)}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjAubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j%rio_mport_chk_dev_access (C function)c.rio_mport_chk_dev_accesshNtauh1jhjhhhNhNubj )}(hhh](j)}(hOint rio_mport_chk_dev_access (struct rio_mport *mport, u16 destid, u8 hopcount)h]j)}(hNint rio_mport_chk_dev_access(struct rio_mport *mport, u16 destid, u8 hopcount)h](j)}(hinth]hint}(hhhjʇhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjƇhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhjهhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjƇhhhj؇hMubj?)}(hrio_mport_chk_dev_accessh]jE)}(hrio_mport_chk_dev_accessh]hrio_mport_chk_dev_access}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjƇhhhj؇hMubj`)}(h2(struct rio_mport *mport, u16 destid, u8 hopcount)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj"ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj'modnameN classnameNjj)}j]j)}jjsbc.rio_mport_chk_dev_accessasbuh1hhjubj.)}(h h]h }(hhhjEhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjShhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hmporth]hmport}(hhhj`hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhj|hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjyubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj~modnameN classnameNjj)}j]jAc.rio_mport_chk_dev_accessasbuh1hhjuubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjuubjE)}(hdestidh]hdestid}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjuubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhjĈhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjƈmodnameN classnameNjj)}j]jAc.rio_mport_chk_dev_accessasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjƇhhhj؇hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj‡hhhj؇hMubah}(h]jah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjhhubj)}(hhh]h)}(h(Validate access to the specified device.h]h(Validate access to the specified device.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhj؇hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj3jj3juh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_mport *mport`` Master port to send transactions ``u16 destid`` Device destination ID in network ``u8 hopcount`` Number of hops into the networkh](h)}(h**Parameters**h]j)}(hj=h]h Parameters}(hhhj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj7ubj)}(hhh](j)}(h=``struct rio_mport *mport`` Master port to send transactions h](j)}(h``struct rio_mport *mport``h]j)}(hj\h]hstruct rio_mport *mport}(hhhj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjVubj )}(hhh]h)}(h Master port to send transactionsh]h Master port to send transactions}(hjwhjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqhMhjrubah}(h]h ]h"]h$]h&]uh1j hjVubeh}(h]h ]h"]h$]h&]uh1jhjqhMhjSubj)}(h0``u16 destid`` Device destination ID in network h](j)}(h``u16 destid``h]j)}(hjh]h u16 destid}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjubj )}(hhh]h)}(h Device destination ID in networkh]h Device destination ID in network}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjSubj)}(h/``u8 hopcount`` Number of hops into the networkh](j)}(h``u8 hopcount``h]j)}(hjΉh]h u8 hopcount}(hhhjЉhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj̉ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjȉubj )}(hhh]h)}(hNumber of hops into the networkh]hNumber of hops into the network}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjubah}(h]h ]h"]h$]h&]uh1j hjȉubeh}(h]h ]h"]h$]h&]uh1jhjhMhjSubeh}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j#rio_inb_pwrite_handler (C function)c.rio_inb_pwrite_handlerhNtauh1jhjhhhNhNubj )}(hhh](j)}(hNint rio_inb_pwrite_handler (struct rio_mport *mport, union rio_pw_msg *pw_msg)h]j)}(hMint rio_inb_pwrite_handler(struct rio_mport *mport, union rio_pw_msg *pw_msg)h](j)}(hinth]hint}(hhhj(hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj$hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhj7hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj$hhhj6hMubj?)}(hrio_inb_pwrite_handlerh]jE)}(hrio_inb_pwrite_handlerh]hrio_inb_pwrite_handler}(hhhjIhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjEubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj$hhhj6hMubj`)}(h3(struct rio_mport *mport, union rio_pw_msg *pw_msg)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjehhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjaubj.)}(h h]h }(hhhjrhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjaubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjKsbc.rio_inb_pwrite_handlerasbuh1hhjaubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjaubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjaubjE)}(hmporth]hmport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjaubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj]ubjf)}(hunion rio_pw_msg *pw_msgh](jl)}(hjbh]hunion}(hhhj׊hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjӊubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjӊubh)}(hhh]jE)}(h rio_pw_msgh]h rio_pw_msg}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_inb_pwrite_handlerasbuh1hhjӊubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjӊubj)}(hjh]h*}(hhhj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjӊubjE)}(hpw_msgh]hpw_msg}(hhhj.hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjӊubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj]ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj$hhhj6hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj hhhj6hMubah}(h]jah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjhhubj)}(hhh]h)}(h"inbound port-write message handlerh]h"inbound port-write message handler}(hj[hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjVhhubah}(h]h ]h"]h$]h&]uh1jhjhhhj6hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjqjjqjuh1j hhhjhNhNubj)}(hX**Parameters** ``struct rio_mport *mport`` mport device associated with port-write ``union rio_pw_msg *pw_msg`` pointer to inbound port-write message **Description** Processes an inbound port-write message. Returns 0 if the request has been satisfied.h](h)}(h**Parameters**h]j)}(hj{h]h Parameters}(hhhj}hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjuubj)}(hhh](j)}(hD``struct rio_mport *mport`` mport device associated with port-write h](j)}(h``struct rio_mport *mport``h]j)}(hjh]hstruct rio_mport *mport}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjubj )}(hhh]h)}(h'mport device associated with port-writeh]h'mport device associated with port-write}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hC``union rio_pw_msg *pw_msg`` pointer to inbound port-write message h](j)}(h``union rio_pw_msg *pw_msg``h]j)}(hjӋh]hunion rio_pw_msg *pw_msg}(hhhjՋhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjыubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj͋ubj )}(hhh]h)}(h%pointer to inbound port-write messageh]h%pointer to inbound port-write message}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hj͋ubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjuubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjuubh)}(hUProcesses an inbound port-write message. Returns 0 if the request has been satisfied.h]hUProcesses an inbound port-write message. Returns 0 if the request has been satisfied.}(hj&hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjuubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_mport_get_efb (C function)c.rio_mport_get_efbhNtauh1jhjhhhNhNubj )}(hhh](j)}(h\u32 rio_mport_get_efb (struct rio_mport *port, int local, u16 destid, u8 hopcount, u32 from)h]j)}(h[u32 rio_mport_get_efb(struct rio_mport *port, int local, u16 destid, u8 hopcount, u32 from)h](h)}(hhh]jE)}(hu32h]hu32}(hhhjVhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjSubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjXmodnameN classnameNjj)}j]j)}jrio_mport_get_efbsbc.rio_mport_get_efbasbuh1hhjOhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM9ubj.)}(h h]h }(hhhjxhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjOhhhjwhM9ubj?)}(hrio_mport_get_efbh]jE)}(hjth]hrio_mport_get_efb}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjOhhhjwhM9ubj`)}(hF(struct rio_mport *port, int local, u16 destid, u8 hopcount, u32 from)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjÌhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjŌmodnameN classnameNjj)}j]jrc.rio_mport_get_efbasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hporth]hport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h int localh](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hhhj#hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hlocalh]hlocal}(hhhj1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjMhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjJubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjOmodnameN classnameNjj)}j]jrc.rio_mport_get_efbasbuh1hhjFubj.)}(h h]h }(hhhjkhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjFubjE)}(hdestidh]hdestid}(hhhjyhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjFubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jrc.rio_mport_get_efbasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hu32 fromh](h)}(hhh]jE)}(hu32h]hu32}(hhhjݍhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjڍubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjߍmodnameN classnameNjj)}j]jrc.rio_mport_get_efbasbuh1hhj֍ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj֍ubjE)}(hfromh]hfrom}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj֍ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjOhhhjwhM9ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjKhhhjwhM9ubah}(h]jFah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM@hjHhhubj)}(hhh]h)}(h+get pointer to next extended features blockh]h+get pointer to next extended features block}(hj6hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM8hj1hhubah}(h]h ]h"]h$]h&]uh1jhjHhhhjwhM9ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjLjjLjuh1j hhhjhNhNubj)}(hX]**Parameters** ``struct rio_mport *port`` Master port to issue transaction ``int local`` Indicate a local master port or remote device access ``u16 destid`` Destination ID of the device ``u8 hopcount`` Number of switch hops to the device ``u32 from`` Offset of current Extended Feature block header (if 0 starts from ExtFeaturePtr)h](h)}(h**Parameters**h]j)}(hjVh]h Parameters}(hhhjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjTubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM<hjPubj)}(hhh](j)}(h<``struct rio_mport *port`` Master port to issue transaction h](j)}(h``struct rio_mport *port``h]j)}(hjuh]hstruct rio_mport *port}(hhhjwhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjsubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM9hjoubj )}(hhh]h)}(h Master port to issue transactionh]h Master port to issue transaction}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM9hjubah}(h]h ]h"]h$]h&]uh1j hjoubeh}(h]h ]h"]h$]h&]uh1jhjhM9hjlubj)}(hC``int local`` Indicate a local master port or remote device access h](j)}(h ``int local``h]j)}(hjh]h int local}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM:hjubj )}(hhh]h)}(h4Indicate a local master port or remote device accessh]h4Indicate a local master port or remote device access}(hjɎhjǎhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjÎhM:hjĎubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjÎhM:hjlubj)}(h,``u16 destid`` Destination ID of the device h](j)}(h``u16 destid``h]j)}(hjh]h u16 destid}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM;hjubj )}(hhh]h)}(hDestination ID of the deviceh]hDestination ID of the device}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM;hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM;hjlubj)}(h4``u8 hopcount`` Number of switch hops to the device h](j)}(h``u8 hopcount``h]j)}(hj h]h u8 hopcount}(hhhj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM<hjubj )}(hhh]h)}(h#Number of switch hops to the deviceh]h#Number of switch hops to the device}(hj;hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5hM<hj6ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj5hM<hjlubj)}(h^``u32 from`` Offset of current Extended Feature block header (if 0 starts from ExtFeaturePtr)h](j)}(h ``u32 from``h]j)}(hjYh]hu32 from}(hhhj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM=hjSubj )}(hhh]h)}(hQOffset of current Extended Feature block header (if 0 starts from ExtFeaturePtr)h]hQOffset of current Extended Feature block header (if 0 starts from ExtFeaturePtr)}(hjthjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnhM=hjoubah}(h]h ]h"]h$]h&]uh1j hjSubeh}(h]h ]h"]h$]h&]uh1jhjnhM=hjlubeh}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"rio_mport_get_feature (C function)c.rio_mport_get_featurehNtauh1jhjhhhNhNubj )}(hhh](j)}(h`u32 rio_mport_get_feature (struct rio_mport * port, int local, u16 destid, u8 hopcount, int ftr)h]j)}(h^u32 rio_mport_get_feature(struct rio_mport *port, int local, u16 destid, u8 hopcount, int ftr)h](h)}(hhh]jE)}(hu32h]hu32}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jrio_mport_get_featuresbc.rio_mport_get_featureasbuh1hhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM[ubj.)}(h h]h }(hhhj׏hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj֏hM[ubj?)}(hrio_mport_get_featureh]jE)}(hjӏh]hrio_mport_get_feature}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhj֏hM[ubj`)}(hE(struct rio_mport *port, int local, u16 destid, u8 hopcount, int ftr)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj"hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj$modnameN classnameNjj)}j]jяc.rio_mport_get_featureasbuh1hhjubj.)}(h h]h }(hhhj@hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjNhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hporth]hport}(hhhj[hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h int localh](j)}(hinth]hint}(hhhjthhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjpubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjpubjE)}(hlocalh]hlocal}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjpubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jяc.rio_mport_get_featureasbuh1hhjubj.)}(h h]h }(hhhjʐhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdestidh]hdestid}(hhhjؐhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jяc.rio_mport_get_featureasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hint ftrh](j)}(hinth]hint}(hhhj9hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj5ubj.)}(h h]h }(hhhjGhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj5ubjE)}(hftrh]hftr}(hhhjUhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj5ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhj֏hM[ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhj֏hM[ubah}(h]jah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMfhjhhubj)}(hhh]h)}(h$query for devices' extended featuresh]h&query for devices’ extended features}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMZhj}hhubah}(h]h ]h"]h$]h&]uh1jhjhhhj֏hM[ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hX**Parameters** ``struct rio_mport * port`` Master port to issue transaction ``int local`` Indicate a local master port or remote device access ``u16 destid`` Destination ID of the device ``u8 hopcount`` Number of switch hops to the device ``int ftr`` Extended feature code **Description** Tell if a device supports a given RapidIO capability. Returns the offset of the requested extended feature block within the device's RIO configuration space or 0 in case the device does not support it.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM^hjubj)}(hhh](j)}(h=``struct rio_mport * port`` Master port to issue transaction h](j)}(h``struct rio_mport * port``h]j)}(hjh]hstruct rio_mport * port}(hhhjÑhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM[hjubj )}(hhh]h)}(h Master port to issue transactionh]h Master port to issue transaction}(hjܑhjڑhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj֑hM[hjבubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj֑hM[hjubj)}(hC``int local`` Indicate a local master port or remote device access h](j)}(h ``int local``h]j)}(hjh]h int local}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM\hjubj )}(hhh]h)}(h4Indicate a local master port or remote device accessh]h4Indicate a local master port or remote device access}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM\hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM\hjubj)}(h,``u16 destid`` Destination ID of the device h](j)}(h``u16 destid``h]j)}(hj3h]h u16 destid}(hhhj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM]hj-ubj )}(hhh]h)}(hDestination ID of the deviceh]hDestination ID of the device}(hjNhjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHhM]hjIubah}(h]h ]h"]h$]h&]uh1j hj-ubeh}(h]h ]h"]h$]h&]uh1jhjHhM]hjubj)}(h4``u8 hopcount`` Number of switch hops to the device h](j)}(h``u8 hopcount``h]j)}(hjlh]h u8 hopcount}(hhhjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM^hjfubj )}(hhh]h)}(h#Number of switch hops to the deviceh]h#Number of switch hops to the device}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM^hjubah}(h]h ]h"]h$]h&]uh1j hjfubeh}(h]h ]h"]h$]h&]uh1jhjhM^hjubj)}(h"``int ftr`` Extended feature code h](j)}(h ``int ftr``h]j)}(hjh]hint ftr}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM_hjubj )}(hhh]h)}(hExtended feature codeh]hExtended feature code}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM_hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM_hjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjޒubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMahjubh)}(hTell if a device supports a given RapidIO capability. Returns the offset of the requested extended feature block within the device's RIO configuration space or 0 in case the device does not support it.h]hTell if a device supports a given RapidIO capability. Returns the offset of the requested extended feature block within the device’s RIO configuration space or 0 in case the device does not support it.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMahjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_lock_device (C function)c.rio_lock_devicehNtauh1jhjhhhNhNubj )}(hhh](j)}(hRint rio_lock_device (struct rio_mport *port, u16 destid, u8 hopcount, int wait_ms)h]j)}(hQint rio_lock_device(struct rio_mport *port, u16 destid, u8 hopcount, int wait_ms)h](j)}(hinth]hint}(hhhj%hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj!hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhj4hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!hhhj3hMubj?)}(hrio_lock_deviceh]jE)}(hrio_lock_deviceh]hrio_lock_device}(hhhjFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj!hhhj3hMubj`)}(h>(struct rio_mport *port, u16 destid, u8 hopcount, int wait_ms)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhjbhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj^ubj.)}(h h]h }(hhhjohhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj^ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj}ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjHsbc.rio_lock_deviceasbuh1hhj^ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj^ubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj^ubjE)}(hporth]hport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj^ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjZubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjדhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjԓubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjٓmodnameN classnameNjj)}j]jc.rio_lock_deviceasbuh1hhjГubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjГubjE)}(hdestidh]hdestid}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjГubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjZubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj!modnameN classnameNjj)}j]jc.rio_lock_deviceasbuh1hhjubj.)}(h h]h }(hhhj=hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hhhjKhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjZubjf)}(h int wait_msh](j)}(hinth]hint}(hhhjdhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj`ubj.)}(h h]h }(hhhjrhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj`ubjE)}(hwait_msh]hwait_ms}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj`ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjZubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj!hhhj3hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhj3hMubah}(h]jah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjhhubj)}(hhh]h)}(h.Acquires host device lock for specified deviceh]h.Acquires host device lock for specified device}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhj3hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjÔjjÔjuh1j hhhjhNhNubj)}(hXp**Parameters** ``struct rio_mport *port`` Master port to send transaction ``u16 destid`` Destination ID for device/switch ``u8 hopcount`` Hopcount to reach switch ``int wait_ms`` Max wait time in msec (0 = no timeout) **Description** Attepts to acquire host device lock for specified device Returns 0 if device lock acquired or EINVAL if timeout expires.h](h)}(h**Parameters**h]j)}(hj͔h]h Parameters}(hhhjϔhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj˔ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjǔubj)}(hhh](j)}(h;``struct rio_mport *port`` Master port to send transaction h](j)}(h``struct rio_mport *port``h]j)}(hjh]hstruct rio_mport *port}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjubj )}(hhh]h)}(hMaster port to send transactionh]hMaster port to send transaction}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h0``u16 destid`` Destination ID for device/switch h](j)}(h``u16 destid``h]j)}(hj%h]h u16 destid}(hhhj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjubj )}(hhh]h)}(h Destination ID for device/switchh]h Destination ID for device/switch}(hj@hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:hMhj;ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj:hMhjubj)}(h)``u8 hopcount`` Hopcount to reach switch h](j)}(h``u8 hopcount``h]j)}(hj^h]h u8 hopcount}(hhhj`hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj\ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjXubj )}(hhh]h)}(hHopcount to reach switchh]hHopcount to reach switch}(hjyhjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjshMhjtubah}(h]h ]h"]h$]h&]uh1j hjXubeh}(h]h ]h"]h$]h&]uh1jhjshMhjubj)}(h7``int wait_ms`` Max wait time in msec (0 = no timeout) h](j)}(h``int wait_ms``h]j)}(hjh]h int wait_ms}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjubj )}(hhh]h)}(h&Max wait time in msec (0 = no timeout)h]h&Max wait time in msec (0 = no timeout)}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjǔubh)}(h**Description**h]j)}(hjҕh]h Description}(hhhjԕhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjЕubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjǔubh)}(hxAttepts to acquire host device lock for specified device Returns 0 if device lock acquired or EINVAL if timeout expires.h]hxAttepts to acquire host device lock for specified device Returns 0 if device lock acquired or EINVAL if timeout expires.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjǔubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_unlock_device (C function)c.rio_unlock_devicehNtauh1jhjhhhNhNubj )}(hhh](j)}(hGint rio_unlock_device (struct rio_mport *port, u16 destid, u8 hopcount)h]j)}(hFint rio_unlock_device(struct rio_mport *port, u16 destid, u8 hopcount)h](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM"ubj.)}(h h]h }(hhhj&hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj%hM"ubj?)}(hrio_unlock_deviceh]jE)}(hrio_unlock_deviceh]hrio_unlock_device}(hhhj8hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj4ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhj%hM"ubj`)}(h1(struct rio_mport *port, u16 destid, u8 hopcount)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhjThhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjPubj.)}(h h]h }(hhhjahhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjPubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjrhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjoubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjtmodnameN classnameNjj)}j]j)}jj:sbc.rio_unlock_deviceasbuh1hhjPubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjPubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjPubjE)}(hporth]hport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjPubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjLubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjɖhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjƖubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj˖modnameN classnameNjj)}j]jc.rio_unlock_deviceasbuh1hhj–ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj–ubjE)}(hdestidh]hdestid}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj–ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjLubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_unlock_deviceasbuh1hhj ubj.)}(h h]h }(hhhj/hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubjE)}(hhopcounth]hhopcount}(hhhj=hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjLubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhj%hM"ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhj%hM"ubah}(h]j ah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM(hj hhubj)}(hhh]h)}(h.Releases host device lock for specified deviceh]h.Releases host device lock for specified device}(hjjhjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM!hjehhubah}(h]h ]h"]h$]h&]uh1jhj hhhj%hM"ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_mport *port`` Master port to send transaction ``u16 destid`` Destination ID for device/switch ``u8 hopcount`` Hopcount to reach switch **Description** Returns 0 if device lock released or EINVAL if fails.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM%hjubj)}(hhh](j)}(h;``struct rio_mport *port`` Master port to send transaction h](j)}(h``struct rio_mport *port``h]j)}(hjh]hstruct rio_mport *port}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM"hjubj )}(hhh]h)}(hMaster port to send transactionh]hMaster port to send transaction}(hjėhj—hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM"hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM"hjubj)}(h0``u16 destid`` Destination ID for device/switch h](j)}(h``u16 destid``h]j)}(hjh]h u16 destid}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM#hjܗubj )}(hhh]h)}(h Destination ID for device/switchh]h Destination ID for device/switch}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM#hjubah}(h]h ]h"]h$]h&]uh1j hjܗubeh}(h]h ]h"]h$]h&]uh1jhjhM#hjubj)}(h)``u8 hopcount`` Hopcount to reach switch h](j)}(h``u8 hopcount``h]j)}(hjh]h u8 hopcount}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM$hjubj )}(hhh]h)}(hHopcount to reach switchh]hHopcount to reach switch}(hj6hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0hM$hj1ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj0hM$hjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjVh]h Description}(hhhjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjTubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM&hjubh)}(h5Returns 0 if device lock released or EINVAL if fails.h]h5Returns 0 if device lock released or EINVAL if fails.}(hjnhjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM&hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j rio_route_add_entry (C function)c.rio_route_add_entryhNtauh1jhjhhhNhNubj )}(hhh](j)}(hdint rio_route_add_entry (struct rio_dev *rdev, u16 table, u16 route_destid, u8 route_port, int lock)h]j)}(hcint rio_route_add_entry(struct rio_dev *rdev, u16 table, u16 route_destid, u8 route_port, int lock)h](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM?ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhM?ubj?)}(hrio_route_add_entryh]jE)}(hrio_route_add_entryh]hrio_route_add_entry}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhM?ubj`)}(hL(struct rio_dev *rdev, u16 table, u16 route_destid, u8 route_port, int lock)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjؘhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjԘubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjԘubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_route_add_entryasbuh1hhjԘubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjԘubj)}(hjh]h*}(hhhj$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjԘubjE)}(hrdevh]hrdev}(hhhj1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjԘubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjИubjf)}(h u16 tableh](h)}(hhh]jE)}(hu16h]hu16}(hhhjMhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjJubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjOmodnameN classnameNjj)}j]jc.rio_route_add_entryasbuh1hhjFubj.)}(h h]h }(hhhjkhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjFubjE)}(htableh]htable}(hhhjyhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjFubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjИubjf)}(hu16 route_destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_route_add_entryasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(h route_destidh]h route_destid}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjИubjf)}(h u8 route_porth](h)}(hhh]jE)}(hu8h]hu8}(hhhjݙhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjڙubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjߙmodnameN classnameNjj)}j]jc.rio_route_add_entryasbuh1hhj֙ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj֙ubjE)}(h route_porth]h route_port}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj֙ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjИubjf)}(hint lockh](j)}(hinth]hint}(hhhj"hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hhhj0hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hlockh]hlock}(hhhj>hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjИubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhM?ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhM?ubah}(h]jah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMNhjhhubj)}(hhh]h)}(h+Add a route entry to a switch routing tableh]h+Add a route entry to a switch routing table}(hjkhjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM>hjfhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhM?ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hX**Parameters** ``struct rio_dev *rdev`` RIO device ``u16 table`` Routing table ID ``u16 route_destid`` Destination ID to be routed ``u8 route_port`` Port number to be routed ``int lock`` apply a hardware lock on switch device flag (1=lock, 0=no_lock) **Description** If available calls the switch specific add_entry() method to add a route entry into a switch routing table. Otherwise uses standard RT update method as defined by RapidIO specification. A specific routing table can be selected using the **table** argument if a switch has per port routing tables or the standard (or global) table may be used by passing ``RIO_GLOBAL_TABLE`` in **table**. Returns ``0`` on success or ``-EINVAL`` on failure.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMBhjubj)}(hhh](j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hjh]hstruct rio_dev *rdev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM?hjubj )}(hhh]h)}(h RIO deviceh]h RIO device}(hjŚhjÚhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM?hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM?hjubj)}(h``u16 table`` Routing table ID h](j)}(h ``u16 table``h]j)}(hjh]h u16 table}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM@hjݚubj )}(hhh]h)}(hRouting table IDh]hRouting table ID}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM@hjubah}(h]h ]h"]h$]h&]uh1j hjݚubeh}(h]h ]h"]h$]h&]uh1jhjhM@hjubj)}(h1``u16 route_destid`` Destination ID to be routed h](j)}(h``u16 route_destid``h]j)}(hjh]hu16 route_destid}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMAhjubj )}(hhh]h)}(hDestination ID to be routedh]hDestination ID to be routed}(hj7hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1hMAhj2ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj1hMAhjubj)}(h+``u8 route_port`` Port number to be routed h](j)}(h``u8 route_port``h]j)}(hjUh]h u8 route_port}(hhhjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMBhjOubj )}(hhh]h)}(hPort number to be routedh]hPort number to be routed}(hjphjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjhMBhjkubah}(h]h ]h"]h$]h&]uh1j hjOubeh}(h]h ]h"]h$]h&]uh1jhjjhMBhjubj)}(hM``int lock`` apply a hardware lock on switch device flag (1=lock, 0=no_lock) h](j)}(h ``int lock``h]j)}(hjh]hint lock}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMChjubj )}(hhh]h)}(h?apply a hardware lock on switch device flag (1=lock, 0=no_lock)h]h?apply a hardware lock on switch device flag (1=lock, 0=no_lock)}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMChjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMChjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjɛh]h Description}(hhhj˛hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjǛubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMEhjubh)}(hXIf available calls the switch specific add_entry() method to add a route entry into a switch routing table. Otherwise uses standard RT update method as defined by RapidIO specification. A specific routing table can be selected using the **table** argument if a switch has per port routing tables or the standard (or global) table may be used by passing ``RIO_GLOBAL_TABLE`` in **table**.h](hIf available calls the switch specific add_entry() method to add a route entry into a switch routing table. Otherwise uses standard RT update method as defined by RapidIO specification. A specific routing table can be selected using the }(hIf available calls the switch specific add_entry() method to add a route entry into a switch routing table. Otherwise uses standard RT update method as defined by RapidIO specification. A specific routing table can be selected using the hjߛhhhNhNubj)}(h **table**h]htable}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjߛubhk argument if a switch has per port routing tables or the standard (or global) table may be used by passing }(hk argument if a switch has per port routing tables or the standard (or global) table may be used by passing hjߛhhhNhNubj)}(h``RIO_GLOBAL_TABLE``h]hRIO_GLOBAL_TABLE}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjߛubh in }(h in hjߛhhhNhNubj)}(h **table**h]htable}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjߛubh.}(hjhjߛhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMEhjubh)}(h3Returns ``0`` on success or ``-EINVAL`` on failure.h](hReturns }(hReturns hj'hhhNhNubj)}(h``0``h]h0}(hhhj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubh on success or }(h on success or hj'hhhNhNubj)}(h ``-EINVAL``h]h-EINVAL}(hhhjChhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubh on failure.}(h on failure.hj'hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMLhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j rio_route_get_entry (C function)c.rio_route_get_entryhNtauh1jhjhhhNhNubj )}(hhh](j)}(heint rio_route_get_entry (struct rio_dev *rdev, u16 table, u16 route_destid, u8 *route_port, int lock)h]j)}(hdint rio_route_get_entry(struct rio_dev *rdev, u16 table, u16 route_destid, u8 *route_port, int lock)h](j)}(hinth]hint}(hhhj}hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjyhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMtubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjyhhhjhMtubj?)}(hrio_route_get_entryh]jE)}(hrio_route_get_entryh]hrio_route_get_entry}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjyhhhjhMtubj`)}(hM(struct rio_dev *rdev, u16 table, u16 route_destid, u8 *route_port, int lock)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(2h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjǜhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhj؜hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj՜ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjڜmodnameN classnameNjj)}j]j)}jjsbc.rio_route_get_entryasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 tableh](h)}(hhh]jE)}(hu16h]hu16}(hhhj/hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj,ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj1modnameN classnameNjj)}j]jc.rio_route_get_entryasbuh1hhj(ubj.)}(h h]h }(hhhjMhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj(ubjE)}(htableh]htable}(hhhj[hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj(ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hu16 route_destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjwhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjtubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjymodnameN classnameNjj)}j]jc.rio_route_get_entryasbuh1hhjpubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjpubjE)}(h route_destidh]h route_destid}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjpubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hu8 *route_porth](h)}(hhh]jE)}(hu8h]hu8}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_route_get_entryasbuh1hhjubj.)}(h h]h }(hhhjݝhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(h route_porth]h route_port}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hint lockh](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubjE)}(hlockh]hlock}(hhhj-hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjyhhhjhMtubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjuhhhjhMtubah}(h]jpah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjrhhubj)}(hhh]h)}(h)Read an entry from a switch routing tableh]h)Read an entry from a switch routing table}(hjZhjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMshjUhhubah}(h]h ]h"]h$]h&]uh1jhjrhhhjhMtubeh}(h]h ](jfunctioneh"]h$]h&]jjjjpjjpjuh1j hhhjhNhNubj)}(hX**Parameters** ``struct rio_dev *rdev`` RIO device ``u16 table`` Routing table ID ``u16 route_destid`` Destination ID to be routed ``u8 *route_port`` Pointer to read port number into ``int lock`` apply a hardware lock on switch device flag (1=lock, 0=no_lock) **Description** If available calls the switch specific get_entry() method to fetch a route entry from a switch routing table. Otherwise uses standard RT read method as defined by RapidIO specification. A specific routing table can be selected using the **table** argument if a switch has per port routing tables or the standard (or global) table may be used by passing ``RIO_GLOBAL_TABLE`` in **table**. Returns ``0`` on success or ``-EINVAL`` on failure.h](h)}(h**Parameters**h]j)}(hjzh]h Parameters}(hhhj|hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMwhjtubj)}(hhh](j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hjh]hstruct rio_dev *rdev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMthjubj )}(hhh]h)}(h RIO deviceh]h RIO device}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMthjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMthjubj)}(h``u16 table`` Routing table ID h](j)}(h ``u16 table``h]j)}(hjҞh]h u16 table}(hhhjԞhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjОubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMuhj̞ubj )}(hhh]h)}(hRouting table IDh]hRouting table ID}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMuhjubah}(h]h ]h"]h$]h&]uh1j hj̞ubeh}(h]h ]h"]h$]h&]uh1jhjhMuhjubj)}(h1``u16 route_destid`` Destination ID to be routed h](j)}(h``u16 route_destid``h]j)}(hj h]hu16 route_destid}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMvhjubj )}(hhh]h)}(hDestination ID to be routedh]hDestination ID to be routed}(hj&hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMvhj!ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj hMvhjubj)}(h4``u8 *route_port`` Pointer to read port number into h](j)}(h``u8 *route_port``h]j)}(hjDh]hu8 *route_port}(hhhjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjBubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMwhj>ubj )}(hhh]h)}(h Pointer to read port number intoh]h Pointer to read port number into}(hj_hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYhMwhjZubah}(h]h ]h"]h$]h&]uh1j hj>ubeh}(h]h ]h"]h$]h&]uh1jhjYhMwhjubj)}(hM``int lock`` apply a hardware lock on switch device flag (1=lock, 0=no_lock) h](j)}(h ``int lock``h]j)}(hj}h]hint lock}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj{ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMxhjwubj )}(hhh]h)}(h?apply a hardware lock on switch device flag (1=lock, 0=no_lock)h]h?apply a hardware lock on switch device flag (1=lock, 0=no_lock)}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMxhjubah}(h]h ]h"]h$]h&]uh1j hjwubeh}(h]h ]h"]h$]h&]uh1jhjhMxhjubeh}(h]h ]h"]h$]h&]uh1jhjtubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMzhjtubh)}(hXIf available calls the switch specific get_entry() method to fetch a route entry from a switch routing table. Otherwise uses standard RT read method as defined by RapidIO specification. A specific routing table can be selected using the **table** argument if a switch has per port routing tables or the standard (or global) table may be used by passing ``RIO_GLOBAL_TABLE`` in **table**.h](hIf available calls the switch specific get_entry() method to fetch a route entry from a switch routing table. Otherwise uses standard RT read method as defined by RapidIO specification. A specific routing table can be selected using the }(hIf available calls the switch specific get_entry() method to fetch a route entry from a switch routing table. Otherwise uses standard RT read method as defined by RapidIO specification. A specific routing table can be selected using the hjΟhhhNhNubj)}(h **table**h]htable}(hhhjןhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjΟubhk argument if a switch has per port routing tables or the standard (or global) table may be used by passing }(hk argument if a switch has per port routing tables or the standard (or global) table may be used by passing hjΟhhhNhNubj)}(h``RIO_GLOBAL_TABLE``h]hRIO_GLOBAL_TABLE}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjΟubh in }(h in hjΟhhhNhNubj)}(h **table**h]htable}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjΟubh.}(hjhjΟhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMzhjtubh)}(h3Returns ``0`` on success or ``-EINVAL`` on failure.h](hReturns }(hReturns hjhhhNhNubj)}(h``0``h]h0}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh on success or }(h on success or hjhhhNhNubj)}(h ``-EINVAL``h]h-EINVAL}(hhhj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh on failure.}(h on failure.hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjtubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j rio_route_clr_table (C function)c.rio_route_clr_tablehNtauh1jhjhhhNhNubj )}(hhh](j)}(hCint rio_route_clr_table (struct rio_dev *rdev, u16 table, int lock)h]j)}(hBint rio_route_clr_table(struct rio_dev *rdev, u16 table, int lock)h](j)}(hinth]hint}(hhhjlhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhj{hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhhjzhMubj?)}(hrio_route_clr_tableh]jE)}(hrio_route_clr_tableh]hrio_route_clr_table}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhhjzhMubj`)}(h+(struct rio_dev *rdev, u16 table, int lock)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjǠhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjĠubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjɠmodnameN classnameNjj)}j]j)}jjsbc.rio_route_clr_tableasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 tableh](h)}(hhh]jE)}(hu16h]hu16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]jc.rio_route_clr_tableasbuh1hhjubj.)}(h h]h }(hhhj<hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(htableh]htable}(hhhjJhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hint lockh](j)}(hinth]hint}(hhhjchhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj_ubj.)}(h h]h }(hhhjqhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj_ubjE)}(hlockh]hlock}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj_ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhhjzhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjdhhhjzhMubah}(h]j_ah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjahhubj)}(hhh]h)}(hClear a switch routing tableh]hClear a switch routing table}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjahhhjzhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj¡jj¡juh1j hhhjhNhNubj)}(hX`**Parameters** ``struct rio_dev *rdev`` RIO device ``u16 table`` Routing table ID ``int lock`` apply a hardware lock on switch device flag (1=lock, 0=no_lock) **Description** If available calls the switch specific clr_table() method to clear a switch routing table. Otherwise uses standard RT write method as defined by RapidIO specification. A specific routing table can be selected using the **table** argument if a switch has per port routing tables or the standard (or global) table may be used by passing ``RIO_GLOBAL_TABLE`` in **table**. Returns ``0`` on success or ``-EINVAL`` on failure.h](h)}(h**Parameters**h]j)}(hj̡h]h Parameters}(hhhjΡhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjʡubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjơubj)}(hhh](j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hjh]hstruct rio_dev *rdev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjubj )}(hhh]h)}(h RIO deviceh]h RIO device}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h``u16 table`` Routing table ID h](j)}(h ``u16 table``h]j)}(hj$h]h u16 table}(hhhj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjubj )}(hhh]h)}(hRouting table IDh]hRouting table ID}(hj?hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9hMhj:ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj9hMhjubj)}(hM``int lock`` apply a hardware lock on switch device flag (1=lock, 0=no_lock) h](j)}(h ``int lock``h]j)}(hj]h]hint lock}(hhhj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjWubj )}(hhh]h)}(h?apply a hardware lock on switch device flag (1=lock, 0=no_lock)h]h?apply a hardware lock on switch device flag (1=lock, 0=no_lock)}(hjxhjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrhMhjsubah}(h]h ]h"]h$]h&]uh1j hjWubeh}(h]h ]h"]h$]h&]uh1jhjrhMhjubeh}(h]h ]h"]h$]h&]uh1jhjơubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjơubh)}(hXqIf available calls the switch specific clr_table() method to clear a switch routing table. Otherwise uses standard RT write method as defined by RapidIO specification. A specific routing table can be selected using the **table** argument if a switch has per port routing tables or the standard (or global) table may be used by passing ``RIO_GLOBAL_TABLE`` in **table**.h](hIf available calls the switch specific clr_table() method to clear a switch routing table. Otherwise uses standard RT write method as defined by RapidIO specification. A specific routing table can be selected using the }(hIf available calls the switch specific clr_table() method to clear a switch routing table. Otherwise uses standard RT write method as defined by RapidIO specification. A specific routing table can be selected using the hjhhhNhNubj)}(h **table**h]htable}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhk argument if a switch has per port routing tables or the standard (or global) table may be used by passing }(hk argument if a switch has per port routing tables or the standard (or global) table may be used by passing hjhhhNhNubj)}(h``RIO_GLOBAL_TABLE``h]hRIO_GLOBAL_TABLE}(hhhjʢhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh in }(h in hjhhhNhNubj)}(h **table**h]htable}(hhhjݢhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjơubh)}(h3Returns ``0`` on success or ``-EINVAL`` on failure.h](hReturns }(hReturns hjhhhNhNubj)}(h``0``h]h0}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh on success or }(h on success or hjhhhNhNubj)}(h ``-EINVAL``h]h-EINVAL}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh on failure.}(h on failure.hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjơubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"rio_request_mport_dma (C function)c.rio_request_mport_dmahNtauh1jhjhhhNhNubj )}(hhh](j)}(hAstruct dma_chan * rio_request_mport_dma (struct rio_mport *mport)h]j)}(h?struct dma_chan *rio_request_mport_dma(struct rio_mport *mport)h](jl)}(hjoh]hstruct}(hhhjLhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjHhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhjZhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjHhhhjYhMubh)}(hhh]jE)}(hdma_chanh]hdma_chan}(hhhjkhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjhubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmmodnameN classnameNjj)}j]j)}jrio_request_mport_dmasbc.rio_request_mport_dmaasbuh1hhjHhhhjYhMubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjHhhhjYhMubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjHhhhjYhMubj?)}(hrio_request_mport_dmah]jE)}(hjh]hrio_request_mport_dma}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjHhhhjYhMubj`)}(h(struct rio_mport *mport)h]jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjƣhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj£ubj.)}(h h]h }(hhhjӣhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj£ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_request_mport_dmaasbuh1hhj£ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj£ubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj£ubjE)}(hmporth]hmport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj£ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubah}(h]h ]h"]h$]h&]j]j^uh1j_hjHhhhjYhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjDhhhjYhMubah}(h]j?ah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjAhhubj)}(hhh]h)}(hYrequest RapidIO capable DMA channel associated with specified local RapidIO mport device.h]hYrequest RapidIO capable DMA channel associated with specified local RapidIO mport device.}(hjJhjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjEhhubah}(h]h ]h"]h$]h&]uh1jhjAhhhjYhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj`jj`juh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_mport *mport`` RIO mport to perform DMA data transfers **Description** Returns pointer to allocated DMA channel or NULL if failed.h](h)}(h**Parameters**h]j)}(hjjh]h Parameters}(hhhjlhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjdubj)}(hhh]j)}(hD``struct rio_mport *mport`` RIO mport to perform DMA data transfers h](j)}(h``struct rio_mport *mport``h]j)}(hjh]hstruct rio_mport *mport}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjubj )}(hhh]h)}(h'RIO mport to perform DMA data transfersh]h'RIO mport to perform DMA data transfers}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjdubh)}(h**Description**h]j)}(hjĤh]h Description}(hhhjƤhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj¤ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjdubh)}(h;Returns pointer to allocated DMA channel or NULL if failed.h]h;Returns pointer to allocated DMA channel or NULL if failed.}(hjܤhjڤhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjdubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_request_dma (C function)c.rio_request_dmahNtauh1jhjhhhNhNubj )}(hhh](j)}(h8struct dma_chan * rio_request_dma (struct rio_dev *rdev)h]j)}(h6struct dma_chan *rio_request_dma(struct rio_dev *rdev)h](jl)}(hjoh]hstruct}(hhhj hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubh)}(hhh]jE)}(hdma_chanh]hdma_chan}(hhhj(hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj*modnameN classnameNjj)}j]j)}jrio_request_dmasbc.rio_request_dmaasbuh1hhjhhhjhMubj.)}(h h]h }(hhhjIhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj)}(hjh]h*}(hhhjWhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhMubj?)}(hrio_request_dmah]jE)}(hjFh]hrio_request_dma}(hhhjhhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjdubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jDc.rio_request_dmaasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjͥhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hhhjڥhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj{ubah}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjhhubj)}(hhh]h)}(hRrequest RapidIO capable DMA channel that supports specified target RapidIO device.h]hRrequest RapidIO capable DMA channel that supports specified target RapidIO device.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_dev *rdev`` RIO device associated with DMA transfer **Description** Returns pointer to allocated DMA channel or NULL if failed.h](h)}(h**Parameters**h]j)}(hj'h]h Parameters}(hhhj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj!ubj)}(hhh]j)}(hA``struct rio_dev *rdev`` RIO device associated with DMA transfer h](j)}(h``struct rio_dev *rdev``h]j)}(hjFh]hstruct rio_dev *rdev}(hhhjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj@ubj )}(hhh]h)}(h'RIO device associated with DMA transferh]h'RIO device associated with DMA transfer}(hjahj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[hMhj\ubah}(h]h ]h"]h$]h&]uh1j hj@ubeh}(h]h ]h"]h$]h&]uh1jhj[hMhj=ubah}(h]h ]h"]h$]h&]uh1jhj!ubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj!ubh)}(h;Returns pointer to allocated DMA channel or NULL if failed.h]h;Returns pointer to allocated DMA channel or NULL if failed.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj!ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_release_dma (C function)c.rio_release_dmahNtauh1jhjhhhNhNubj )}(hhh](j)}(h-void rio_release_dma (struct dma_chan *dchan)h]j)}(h,void rio_release_dma(struct dma_chan *dchan)h](j)}(hvoidh]hvoid}(hhhjƦhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj¦hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhjզhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj¦hhhjԦhMubj?)}(hrio_release_dmah]jE)}(hrio_release_dmah]hrio_release_dma}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj¦hhhjԦhMubj`)}(h(struct dma_chan *dchan)h]jf)}(hstruct dma_chan *dchanh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hdma_chanh]hdma_chan}(hhhj!hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj#modnameN classnameNjj)}j]j)}jjsbc.rio_release_dmaasbuh1hhjubj.)}(h h]h }(hhhjAhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjOhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hdchanh]hdchan}(hhhj\hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubah}(h]h ]h"]h$]h&]j]j^uh1j_hj¦hhhjԦhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjԦhMubah}(h]jah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjhhubj)}(hhh]h)}(hrelease specified DMA channelh]hrelease specified DMA channel}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjԦhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hC**Parameters** ``struct dma_chan *dchan`` DMA channel to releaseh](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjubj)}(hhh]j)}(h1``struct dma_chan *dchan`` DMA channel to releaseh](j)}(h``struct dma_chan *dchan``h]j)}(hjȧh]hstruct dma_chan *dchan}(hhhjʧhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjƧubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj§ubj )}(hhh]h)}(hDMA channel to releaseh]hDMA channel to release}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjާubah}(h]h ]h"]h$]h&]uh1j hj§ubeh}(h]h ]h"]h$]h&]uh1jhjݧhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_dma_prep_xfer (C function)c.rio_dma_prep_xferhNtauh1jhjhhhNhNubj )}(hhh](j)}(hstruct dma_async_tx_descriptor * rio_dma_prep_xfer (struct dma_chan *dchan, u16 destid, struct rio_dma_data *data, enum dma_transfer_direction direction, unsigned long flags)h]j)}(hstruct dma_async_tx_descriptor *rio_dma_prep_xfer(struct dma_chan *dchan, u16 destid, struct rio_dma_data *data, enum dma_transfer_direction direction, unsigned long flags)h](jl)}(hjoh]hstruct}(hhhj"hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM ubj.)}(h h]h }(hhhj0hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj/hM ubh)}(hhh]jE)}(hdma_async_tx_descriptorh]hdma_async_tx_descriptor}(hhhjAhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj>ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjCmodnameN classnameNjj)}j]j)}jrio_dma_prep_xfersbc.rio_dma_prep_xferasbuh1hhjhhhj/hM ubj.)}(h h]h }(hhhjbhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj/hM ubj)}(hjh]h*}(hhhjphhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhj/hM ubj?)}(hrio_dma_prep_xferh]jE)}(hj_h]hrio_dma_prep_xfer}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj}ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhj/hM ubj`)}(h{(struct dma_chan *dchan, u16 destid, struct rio_dma_data *data, enum dma_transfer_direction direction, unsigned long flags)h](jf)}(hstruct dma_chan *dchanh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hdma_chanh]hdma_chan}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j]c.rio_dma_prep_xferasbuh1hhjubj.)}(h h]h }(hhhjبhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hdchanh]hdchan}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j]c.rio_dma_prep_xferasbuh1hhjubj.)}(h h]h }(hhhj-hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdestidh]hdestid}(hhhj;hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hstruct rio_dma_data *datah](jl)}(hjoh]hstruct}(hhhjThhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjPubj.)}(h h]h }(hhhjahhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjPubh)}(hhh]jE)}(h rio_dma_datah]h rio_dma_data}(hhhjrhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjoubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjtmodnameN classnameNjj)}j]j]c.rio_dma_prep_xferasbuh1hhjPubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjPubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjPubjE)}(hdatah]hdata}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjPubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h%enum dma_transfer_direction directionh](jl)}(henumh]henum}(hhhjĩhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjҩhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hdma_transfer_directionh]hdma_transfer_direction}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j]c.rio_dma_prep_xferasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(h directionh]h direction}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hunsigned long flagsh](j)}(hunsignedh]hunsigned}(hhhj(hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj$ubj.)}(h h]h }(hhhj6hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj$ubj)}(hlongh]hlong}(hhhjDhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj$ubj.)}(h h]h }(hhhjRhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj$ubjE)}(hflagsh]hflags}(hhhj`hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj$ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhj/hM ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhj/hM ubah}(h]jah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjhhubj)}(hhh]h)}(hPRapidIO specific wrapper for device_prep_slave_sg callback defined by DMAENGINE.h]hPRapidIO specific wrapper for device_prep_slave_sg callback defined by DMAENGINE.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM hjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhj/hM ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hXx**Parameters** ``struct dma_chan *dchan`` DMA channel to configure ``u16 destid`` target RapidIO device destination ID ``struct rio_dma_data *data`` RIO specific data descriptor ``enum dma_transfer_direction direction`` DMA data transfer direction (TO or FROM the device) ``unsigned long flags`` dmaengine defined flags **Description** Initializes RapidIO capable DMA channel for the specified data transfer. Uses DMA channel private extension to pass information related to remote target RIO device. **Return** pointer to DMA transaction descriptor if successful, error-valued pointer or NULL if failed.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM hjubj)}(hhh](j)}(h4``struct dma_chan *dchan`` DMA channel to configure h](j)}(h``struct dma_chan *dchan``h]j)}(hj̪h]hstruct dma_chan *dchan}(hhhjΪhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjʪubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM hjƪubj )}(hhh]h)}(hDMA channel to configureh]hDMA channel to configure}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM hjubah}(h]h ]h"]h$]h&]uh1j hjƪubeh}(h]h ]h"]h$]h&]uh1jhjhM hjêubj)}(h4``u16 destid`` target RapidIO device destination ID h](j)}(h``u16 destid``h]j)}(hjh]h u16 destid}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM hjubj )}(hhh]h)}(h$target RapidIO device destination IDh]h$target RapidIO device destination ID}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM hjêubj)}(h;``struct rio_dma_data *data`` RIO specific data descriptor h](j)}(h``struct rio_dma_data *data``h]j)}(hj>h]hstruct rio_dma_data *data}(hhhj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM hj8ubj )}(hhh]h)}(hRIO specific data descriptorh]hRIO specific data descriptor}(hjYhjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjShM hjTubah}(h]h ]h"]h$]h&]uh1j hj8ubeh}(h]h ]h"]h$]h&]uh1jhjShM hjêubj)}(h^``enum dma_transfer_direction direction`` DMA data transfer direction (TO or FROM the device) h](j)}(h)``enum dma_transfer_direction direction``h]j)}(hjwh]h%enum dma_transfer_direction direction}(hhhjyhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjuubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjqubj )}(hhh]h)}(h3DMA data transfer direction (TO or FROM the device)h]h3DMA data transfer direction (TO or FROM the device)}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjqubeh}(h]h ]h"]h$]h&]uh1jhjhMhjêubj)}(h0``unsigned long flags`` dmaengine defined flags h](j)}(h``unsigned long flags``h]j)}(hjh]hunsigned long flags}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjubj )}(hhh]h)}(hdmaengine defined flagsh]hdmaengine defined flags}(hj˫hjɫhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjūhMhjƫubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjūhMhjêubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjubh)}(hInitializes RapidIO capable DMA channel for the specified data transfer. Uses DMA channel private extension to pass information related to remote target RIO device.h]hInitializes RapidIO capable DMA channel for the specified data transfer. Uses DMA channel private extension to pass information related to remote target RIO device.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjubh)}(h **Return**h]j)}(hjh]hReturn}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjubj)}(hhh]j)}(h\pointer to DMA transaction descriptor if successful, error-valued pointer or NULL if failed.h](j)}(h4pointer to DMA transaction descriptor if successful,h]h4pointer to DMA transaction descriptor if successful,}(hj1hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj+ubj )}(hhh]h)}(h'error-valued pointer or NULL if failed.h]h'error-valued pointer or NULL if failed.}(hjChjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj>ubah}(h]h ]h"]h$]h&]uh1j hj+ubeh}(h]h ]h"]h$]h&]uh1jhj=hMhj(ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"rio_dma_prep_slave_sg (C function)c.rio_dma_prep_slave_sghNtauh1jhjhhhNhNubj )}(hhh](j)}(hstruct dma_async_tx_descriptor * rio_dma_prep_slave_sg (struct rio_dev *rdev, struct dma_chan *dchan, struct rio_dma_data *data, enum dma_transfer_direction direction, unsigned long flags)h]j)}(hstruct dma_async_tx_descriptor *rio_dma_prep_slave_sg(struct rio_dev *rdev, struct dma_chan *dchan, struct rio_dma_data *data, enum dma_transfer_direction direction, unsigned long flags)h](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj~hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM/ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj~hhhjhM/ubh)}(hhh]jE)}(hdma_async_tx_descriptorh]hdma_async_tx_descriptor}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jrio_dma_prep_slave_sgsbc.rio_dma_prep_slave_sgasbuh1hhj~hhhjhM/ubj.)}(h h]h }(hhhj¬hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj~hhhjhM/ubj)}(hjh]h*}(hhhjЬhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj~hhhjhM/ubj?)}(hrio_dma_prep_slave_sgh]jE)}(hjh]hrio_dma_prep_slave_sg}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjݬubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj~hhhjhM/ubj`)}(h(struct rio_dev *rdev, struct dma_chan *dchan, struct rio_dma_data *data, enum dma_transfer_direction direction, unsigned long flags)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_dma_prep_slave_sgasbuh1hhjubj.)}(h h]h }(hhhj8hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjFhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hhhjShhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hstruct dma_chan *dchanh](jl)}(hjoh]hstruct}(hhhjlhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhubj.)}(h h]h }(hhhjyhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhubh)}(hhh]jE)}(hdma_chanh]hdma_chan}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_dma_prep_slave_sgasbuh1hhjhubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhubjE)}(hdchanh]hdchan}(hhhjíhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjhubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hstruct rio_dma_data *datah](jl)}(hjoh]hstruct}(hhhjܭhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjحubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjحubh)}(hhh]jE)}(h rio_dma_datah]h rio_dma_data}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_dma_prep_slave_sgasbuh1hhjحubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjحubj)}(hjh]h*}(hhhj&hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjحubjE)}(hdatah]hdata}(hhhj3hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjحubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h%enum dma_transfer_direction directionh](jl)}(hjƩh]henum}(hhhjLhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjHubj.)}(h h]h }(hhhjYhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjHubh)}(hhh]jE)}(hdma_transfer_directionh]hdma_transfer_direction}(hhhjjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjgubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjlmodnameN classnameNjj)}j]jc.rio_dma_prep_slave_sgasbuh1hhjHubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjHubjE)}(h directionh]h direction}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjHubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hunsigned long flagsh](j)}(hunsignedh]hunsigned}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hlongh]hlong}(hhhjˮhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hhhjٮhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hflagsh]hflags}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj~hhhjhM/ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjzhhhjhM/ubah}(h]juah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM=hjwhhubj)}(hhh]h)}(hPRapidIO specific wrapper for device_prep_slave_sg callback defined by DMAENGINE.h]hPRapidIO specific wrapper for device_prep_slave_sg callback defined by DMAENGINE.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM.hjhhubah}(h]h ]h"]h$]h&]uh1jhjwhhhjhM/ubeh}(h]h ](jfunctioneh"]h$]h&]jjjj*jj*juh1j hhhjhNhNubj)}(hXz**Parameters** ``struct rio_dev *rdev`` RIO device control structure ``struct dma_chan *dchan`` DMA channel to configure ``struct rio_dma_data *data`` RIO specific data descriptor ``enum dma_transfer_direction direction`` DMA data transfer direction (TO or FROM the device) ``unsigned long flags`` dmaengine defined flags **Description** Initializes RapidIO capable DMA channel for the specified data transfer. Uses DMA channel private extension to pass information related to remote target RIO device. **Return** pointer to DMA transaction descriptor if successful, error-valued pointer or NULL if failed.h](h)}(h**Parameters**h]j)}(hj4h]h Parameters}(hhhj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM2hj.ubj)}(hhh](j)}(h6``struct rio_dev *rdev`` RIO device control structure h](j)}(h``struct rio_dev *rdev``h]j)}(hjSh]hstruct rio_dev *rdev}(hhhjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM0hjMubj )}(hhh]h)}(hRIO device control structureh]hRIO device control structure}(hjnhjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhM0hjiubah}(h]h ]h"]h$]h&]uh1j hjMubeh}(h]h ]h"]h$]h&]uh1jhjhhM0hjJubj)}(h4``struct dma_chan *dchan`` DMA channel to configure h](j)}(h``struct dma_chan *dchan``h]j)}(hjh]hstruct dma_chan *dchan}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM1hjubj )}(hhh]h)}(hDMA channel to configureh]hDMA channel to configure}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM1hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM1hjJubj)}(h;``struct rio_dma_data *data`` RIO specific data descriptor h](j)}(h``struct rio_dma_data *data``h]j)}(hjůh]hstruct rio_dma_data *data}(hhhjǯhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjïubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM2hjubj )}(hhh]h)}(hRIO specific data descriptorh]hRIO specific data descriptor}(hjhjޯhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjگhM2hjۯubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjگhM2hjJubj)}(h^``enum dma_transfer_direction direction`` DMA data transfer direction (TO or FROM the device) h](j)}(h)``enum dma_transfer_direction direction``h]j)}(hjh]h%enum dma_transfer_direction direction}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM3hjubj )}(hhh]h)}(h3DMA data transfer direction (TO or FROM the device)h]h3DMA data transfer direction (TO or FROM the device)}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM3hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM3hjJubj)}(h0``unsigned long flags`` dmaengine defined flags h](j)}(h``unsigned long flags``h]j)}(hj7h]hunsigned long flags}(hhhj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM4hj1ubj )}(hhh]h)}(hdmaengine defined flagsh]hdmaengine defined flags}(hjRhjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLhM4hjMubah}(h]h ]h"]h$]h&]uh1j hj1ubeh}(h]h ]h"]h$]h&]uh1jhjLhM4hjJubeh}(h]h ]h"]h$]h&]uh1jhj.ubh)}(h**Description**h]j)}(hjrh]h Description}(hhhjthhhNhNubah}(h]h ]h"]h$]h&]uh1jhjpubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM6hj.ubh)}(hInitializes RapidIO capable DMA channel for the specified data transfer. Uses DMA channel private extension to pass information related to remote target RIO device.h]hInitializes RapidIO capable DMA channel for the specified data transfer. Uses DMA channel private extension to pass information related to remote target RIO device.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM6hj.ubh)}(h **Return**h]j)}(hjh]hReturn}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM:hj.ubj)}(hhh]j)}(h\pointer to DMA transaction descriptor if successful, error-valued pointer or NULL if failed.h](j)}(h4pointer to DMA transaction descriptor if successful,h]h4pointer to DMA transaction descriptor if successful,}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM:hjubj )}(hhh]h)}(h'error-valued pointer or NULL if failed.h]h'error-valued pointer or NULL if failed.}(hjʰhjȰhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM;hjŰubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjİhM:hjubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_register_scan (C function)c.rio_register_scanhNtauh1jhjhhhNhNubj )}(hhh](j)}(h?int rio_register_scan (int mport_id, struct rio_scan *scan_ops)h]j)}(h>int rio_register_scan(int mport_id, struct rio_scan *scan_ops)h](j)}(hinth]hint}(hhhj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMaubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMaubj?)}(hrio_register_scanh]jE)}(hrio_register_scanh]hrio_register_scan}(hhhj*hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj&ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMaubj`)}(h)(int mport_id, struct rio_scan *scan_ops)h](jf)}(h int mport_idh](j)}(hinth]hint}(hhhjFhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjBubj.)}(h h]h }(hhhjThhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjBubjE)}(hmport_idh]hmport_id}(hhhjbhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj>ubjf)}(hstruct rio_scan *scan_opsh](jl)}(hjoh]hstruct}(hhhj{hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjwubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjwubh)}(hhh]jE)}(hrio_scanh]hrio_scan}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jj,sbc.rio_register_scanasbuh1hhjwubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjwubj)}(hjh]h*}(hhhjDZhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjwubjE)}(hscan_opsh]hscan_ops}(hhhjԱhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjwubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj>ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhMaubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMaubah}(h]jah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMlhjhhubj)}(hhh]h)}(h3enumeration/discovery method registration interfaceh]h3enumeration/discovery method registration interface}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM`hjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMaubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hX'**Parameters** ``int mport_id`` mport device ID for which fabric scan routine has to be set (RIO_MPORT_ANY = set for all available mports) ``struct rio_scan *scan_ops`` enumeration/discovery operations structure **Description** Registers enumeration/discovery operations with RapidIO subsystem and attaches it to the specified mport device (or all available mports if RIO_MPORT_ANY is specified). Returns error if the mport already has an enumerator attached to it. In case of RIO_MPORT_ANY skips mports with valid scan routines (no error).eh](h)}(h**Parameters**h]j)}(hj!h]h Parameters}(hhhj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMdhjubj)}(hhh](j)}(h|``int mport_id`` mport device ID for which fabric scan routine has to be set (RIO_MPORT_ANY = set for all available mports) h](j)}(h``int mport_id``h]j)}(hj@h]h int mport_id}(hhhjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj>ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMbhj:ubj )}(hhh]h)}(hjmport device ID for which fabric scan routine has to be set (RIO_MPORT_ANY = set for all available mports)h]hjmport device ID for which fabric scan routine has to be set (RIO_MPORT_ANY = set for all available mports)}(hj[hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMahjVubah}(h]h ]h"]h$]h&]uh1j hj:ubeh}(h]h ]h"]h$]h&]uh1jhjUhMbhj7ubj)}(hI``struct rio_scan *scan_ops`` enumeration/discovery operations structure h](j)}(h``struct rio_scan *scan_ops``h]j)}(hjzh]hstruct rio_scan *scan_ops}(hhhj|hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMchjtubj )}(hhh]h)}(h*enumeration/discovery operations structureh]h*enumeration/discovery operations structure}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMchjubah}(h]h ]h"]h$]h&]uh1j hjtubeh}(h]h ]h"]h$]h&]uh1jhjhMchj7ubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMehjubh)}(hRegisters enumeration/discovery operations with RapidIO subsystem and attaches it to the specified mport device (or all available mports if RIO_MPORT_ANY is specified).h]hRegisters enumeration/discovery operations with RapidIO subsystem and attaches it to the specified mport device (or all available mports if RIO_MPORT_ANY is specified).}(hjͲhj˲hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMehjubh)}(hReturns error if the mport already has an enumerator attached to it. In case of RIO_MPORT_ANY skips mports with valid scan routines (no error).h]hReturns error if the mport already has an enumerator attached to it. In case of RIO_MPORT_ANY skips mports with valid scan routines (no error).}(hjܲhjڲhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMihjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j rio_unregister_scan (C function)c.rio_unregister_scanhNtauh1jhjhhhNhNubj )}(hhh](j)}(hAint rio_unregister_scan (int mport_id, struct rio_scan *scan_ops)h]j)}(h@int rio_unregister_scan(int mport_id, struct rio_scan *scan_ops)h](j)}(hinth]hint}(hhhj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj?)}(hrio_unregister_scanh]jE)}(hrio_unregister_scanh]hrio_unregister_scan}(hhhj*hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj&ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubj`)}(h)(int mport_id, struct rio_scan *scan_ops)h](jf)}(h int mport_idh](j)}(hinth]hint}(hhhjFhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjBubj.)}(h h]h }(hhhjThhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjBubjE)}(hmport_idh]hmport_id}(hhhjbhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj>ubjf)}(hstruct rio_scan *scan_opsh](jl)}(hjoh]hstruct}(hhhj{hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjwubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjwubh)}(hhh]jE)}(hrio_scanh]hrio_scan}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jj,sbc.rio_unregister_scanasbuh1hhjwubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjwubj)}(hjh]h*}(hhhjdzhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjwubjE)}(hscan_opsh]hscan_ops}(hhhjԳhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjwubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj>ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjhhubj)}(hhh]h)}(h/removes enumeration/discovery method from mporth]h/removes enumeration/discovery method from mport}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hX**Parameters** ``int mport_id`` mport device ID for which fabric scan routine has to be unregistered (RIO_MPORT_ANY = apply to all mports that use the specified scan_ops) ``struct rio_scan *scan_ops`` enumeration/discovery operations structure **Description** Removes enumeration or discovery method assigned to the specified mport device. If RIO_MPORT_ANY is specified, removes the specified operations from all mports that have them attached.h](h)}(h**Parameters**h]j)}(hj!h]h Parameters}(hhhj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjubj)}(hhh](j)}(h``int mport_id`` mport device ID for which fabric scan routine has to be unregistered (RIO_MPORT_ANY = apply to all mports that use the specified scan_ops) h](j)}(h``int mport_id``h]j)}(hj@h]h int mport_id}(hhhjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj>ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj:ubj )}(hhh]h)}(hmport device ID for which fabric scan routine has to be unregistered (RIO_MPORT_ANY = apply to all mports that use the specified scan_ops)h]hmport device ID for which fabric scan routine has to be unregistered (RIO_MPORT_ANY = apply to all mports that use the specified scan_ops)}(hj[hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjVubah}(h]h ]h"]h$]h&]uh1j hj:ubeh}(h]h ]h"]h$]h&]uh1jhjUhMhj7ubj)}(hI``struct rio_scan *scan_ops`` enumeration/discovery operations structure h](j)}(h``struct rio_scan *scan_ops``h]j)}(hjzh]hstruct rio_scan *scan_ops}(hhhj|hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjtubj )}(hhh]h)}(h*enumeration/discovery operations structureh]h*enumeration/discovery operations structure}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjtubeh}(h]h ]h"]h$]h&]uh1jhjhMhj7ubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjubh)}(hRemoves enumeration or discovery method assigned to the specified mport device. If RIO_MPORT_ANY is specified, removes the specified operations from all mports that have them attached.h]hRemoves enumeration or discovery method assigned to the specified mport device. If RIO_MPORT_ANY is specified, removes the specified operations from all mports that have them attached.}(hjʹhj˴hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubeh}(h] functionsah ]h"] functionsah$]h&]uh1hhjhhhhhK+ubeh}(h]rapidio-driver-interfaceah ]h"]rapidio driver interfaceah$]h&]uh1hhhhhhhhK$ubh)}(hhh](h)}(h Internalsh]h Internals}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK7ubh)}(hOThis chapter contains the autogenerated documentation of the RapidIO subsystem.h]hOThis chapter contains the autogenerated documentation of the RapidIO subsystem.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hjhhubh)}(hhh](h)}(h Structuresh]h Structures}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK=ubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_switch (C struct) c.rio_switchhNtauh1jhjhhhNhNubj )}(hhh](j)}(h rio_switchh]j)}(hstruct rio_switchh](jl)}(hjoh]hstruct}(hhhj:hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj6hhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKZubj.)}(h h]h }(hhhjHhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj6hhhjGhKZubj?)}(h rio_switchh]jE)}(hj4h]h rio_switch}(hhhjZhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjVubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj6hhhjGhKZubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj2hhhjGhKZubah}(h]j-ah ](jjeh"]h$]h&]juh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj/hhubj)}(hhh]h)}(hRIO switch infoh]hRIO switch info}(hjhj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKYhjzhhubah}(h]h ]h"]h$]h&]uh1jhj/hhhjGhKZubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hX'**Definition**:: struct rio_switch { struct list_head node; u8 *route_table; u32 port_ok; struct rio_switch_ops *ops; spinlock_t lock; struct rio_dev *nextdev[]; }; **Members** ``node`` Node in global list of switches ``route_table`` Copy of switch routing table ``port_ok`` Status of each port (one bit per port) - OK=1 or UNINIT=0 ``ops`` pointer to switch-specific operations ``lock`` lock to serialize operations updates ``nextdev`` Array of per-port pointers to the next attached deviceh](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(h:hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhK]hjubh literal_block)}(hstruct rio_switch { struct list_head node; u8 *route_table; u32 port_ok; struct rio_switch_ops *ops; spinlock_t lock; struct rio_dev *nextdev[]; };h]hstruct rio_switch { struct list_head node; u8 *route_table; u32 port_ok; struct rio_switch_ops *ops; spinlock_t lock; struct rio_dev *nextdev[]; };}(hhhjubah}(h]h ]h"]h$]h&]j]j^uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhK_hjubh)}(h **Members**h]j)}(hjεh]hMembers}(hhhjеhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj̵ubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhhjubj)}(hhh](j)}(h)``node`` Node in global list of switches h](j)}(h``node``h]j)}(hjh]hnode}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhK[hjubj )}(hhh]h)}(hNode in global list of switchesh]hNode in global list of switches}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK[hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhK[hjubj)}(h-``route_table`` Copy of switch routing table h](j)}(h``route_table``h]j)}(hj&h]h route_table}(hhhj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhK\hj ubj )}(hhh]h)}(hCopy of switch routing tableh]hCopy of switch routing table}(hjAhj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;hK\hj<ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj;hK\hjubj)}(hF``port_ok`` Status of each port (one bit per port) - OK=1 or UNINIT=0 h](j)}(h ``port_ok``h]j)}(hj_h]hport_ok}(hhhjahhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhK]hjYubj )}(hhh]h)}(h9Status of each port (one bit per port) - OK=1 or UNINIT=0h]h9Status of each port (one bit per port) - OK=1 or UNINIT=0}(hjzhjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjthK]hjuubah}(h]h ]h"]h$]h&]uh1j hjYubeh}(h]h ]h"]h$]h&]uh1jhjthK]hjubj)}(h.``ops`` pointer to switch-specific operations h](j)}(h``ops``h]j)}(hjh]hops}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhK^hjubj )}(hhh]h)}(h%pointer to switch-specific operationsh]h%pointer to switch-specific operations}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK^hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhK^hjubj)}(h.``lock`` lock to serialize operations updates h](j)}(h``lock``h]j)}(hjѶh]hlock}(hhhjӶhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj϶ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhK_hj˶ubj )}(hhh]h)}(h$lock to serialize operations updatesh]h$lock to serialize operations updates}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK_hjubah}(h]h ]h"]h$]h&]uh1j hj˶ubeh}(h]h ]h"]h$]h&]uh1jhjhK_hjubj)}(hB``nextdev`` Array of per-port pointers to the next attached deviceh](j)}(h ``nextdev``h]j)}(hj h]hnextdev}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhK_hjubj )}(hhh]h)}(h6Array of per-port pointers to the next attached deviceh]h6Array of per-port pointers to the next attached device}(hj%hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhK`hj ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhK_hjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_switch_ops (C struct)c.rio_switch_opshNtauh1jhjhhhNhNubj )}(hhh](j)}(hrio_switch_opsh]j)}(hstruct rio_switch_opsh](jl)}(hjoh]hstruct}(hhhjdhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj`hhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKlubj.)}(h h]h }(hhhjrhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj`hhhjqhKlubj?)}(hrio_switch_opsh]jE)}(hj^h]hrio_switch_ops}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj`hhhjqhKlubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj\hhhjqhKlubah}(h]jWah ](jjeh"]h$]h&]juh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKfhjYhhubj)}(hhh]h)}(hPer-switch operationsh]hPer-switch operations}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKkhjhhubah}(h]h ]h"]h$]h&]uh1jhjYhhhjqhKlubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hX**Definition**:: struct rio_switch_ops { struct module *owner; int (*add_entry) (struct rio_mport *mport, u16 destid, u8 hopcount, u16 table, u16 route_destid, u8 route_port); int (*get_entry) (struct rio_mport *mport, u16 destid, u8 hopcount, u16 table, u16 route_destid, u8 *route_port); int (*clr_table) (struct rio_mport *mport, u16 destid, u8 hopcount, u16 table); int (*set_domain) (struct rio_mport *mport, u16 destid, u8 hopcount, u8 sw_domain); int (*get_domain) (struct rio_mport *mport, u16 destid, u8 hopcount, u8 *sw_domain); int (*em_init) (struct rio_dev *dev); int (*em_handle) (struct rio_dev *dev, u8 swport); }; **Members** ``owner`` The module owner of this structure ``add_entry`` Callback for switch-specific route add function ``get_entry`` Callback for switch-specific route get function ``clr_table`` Callback for switch-specific clear route table function ``set_domain`` Callback for switch-specific domain setting function ``get_domain`` Callback for switch-specific domain get function ``em_init`` Callback for switch-specific error management init function ``em_handle`` Callback for switch-specific error management handler functionh](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hhhj˷hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjǷubh:}(hjhjǷhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKohj÷ubj)}(hXstruct rio_switch_ops { struct module *owner; int (*add_entry) (struct rio_mport *mport, u16 destid, u8 hopcount, u16 table, u16 route_destid, u8 route_port); int (*get_entry) (struct rio_mport *mport, u16 destid, u8 hopcount, u16 table, u16 route_destid, u8 *route_port); int (*clr_table) (struct rio_mport *mport, u16 destid, u8 hopcount, u16 table); int (*set_domain) (struct rio_mport *mport, u16 destid, u8 hopcount, u8 sw_domain); int (*get_domain) (struct rio_mport *mport, u16 destid, u8 hopcount, u8 *sw_domain); int (*em_init) (struct rio_dev *dev); int (*em_handle) (struct rio_dev *dev, u8 swport); };h]hXstruct rio_switch_ops { struct module *owner; int (*add_entry) (struct rio_mport *mport, u16 destid, u8 hopcount, u16 table, u16 route_destid, u8 route_port); int (*get_entry) (struct rio_mport *mport, u16 destid, u8 hopcount, u16 table, u16 route_destid, u8 *route_port); int (*clr_table) (struct rio_mport *mport, u16 destid, u8 hopcount, u16 table); int (*set_domain) (struct rio_mport *mport, u16 destid, u8 hopcount, u8 sw_domain); int (*get_domain) (struct rio_mport *mport, u16 destid, u8 hopcount, u8 *sw_domain); int (*em_init) (struct rio_dev *dev); int (*em_handle) (struct rio_dev *dev, u8 swport); };}(hhhjubah}(h]h ]h"]h$]h&]j]j^uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKqhj÷ubh)}(h **Members**h]j)}(hjh]hMembers}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhK|hj÷ubj)}(hhh](j)}(h-``owner`` The module owner of this structure h](j)}(h ``owner``h]j)}(hjh]howner}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKmhjubj )}(hhh]h)}(h"The module owner of this structureh]h"The module owner of this structure}(hj/hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)hKmhj*ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj)hKmhj ubj)}(h>``add_entry`` Callback for switch-specific route add function h](j)}(h ``add_entry``h]j)}(hjMh]h add_entry}(hhhjOhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjKubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKnhjGubj )}(hhh]h)}(h/Callback for switch-specific route add functionh]h/Callback for switch-specific route add function}(hjhhjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbhKnhjcubah}(h]h ]h"]h$]h&]uh1j hjGubeh}(h]h ]h"]h$]h&]uh1jhjbhKnhj ubj)}(h>``get_entry`` Callback for switch-specific route get function h](j)}(h ``get_entry``h]j)}(hjh]h get_entry}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKohjubj )}(hhh]h)}(h/Callback for switch-specific route get functionh]h/Callback for switch-specific route get function}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKohjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKohj ubj)}(hF``clr_table`` Callback for switch-specific clear route table function h](j)}(h ``clr_table``h]j)}(hjh]h clr_table}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKphjubj )}(hhh]h)}(h7Callback for switch-specific clear route table functionh]h7Callback for switch-specific clear route table function}(hjڸhjظhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjԸhKphjոubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjԸhKphj ubj)}(hD``set_domain`` Callback for switch-specific domain setting function h](j)}(h``set_domain``h]j)}(hjh]h set_domain}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKqhjubj )}(hhh]h)}(h4Callback for switch-specific domain setting functionh]h4Callback for switch-specific domain setting function}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKqhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj hKqhj ubj)}(h@``get_domain`` Callback for switch-specific domain get function h](j)}(h``get_domain``h]j)}(hj1h]h get_domain}(hhhj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKrhj+ubj )}(hhh]h)}(h0Callback for switch-specific domain get functionh]h0Callback for switch-specific domain get function}(hjLhjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFhKrhjGubah}(h]h ]h"]h$]h&]uh1j hj+ubeh}(h]h ]h"]h$]h&]uh1jhjFhKrhj ubj)}(hH``em_init`` Callback for switch-specific error management init function h](j)}(h ``em_init``h]j)}(hjjh]hem_init}(hhhjlhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKshjdubj )}(hhh]h)}(h;Callback for switch-specific error management init functionh]h;Callback for switch-specific error management init function}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKshjubah}(h]h ]h"]h$]h&]uh1j hjdubeh}(h]h ]h"]h$]h&]uh1jhjhKshj ubj)}(hL``em_handle`` Callback for switch-specific error management handler functionh](j)}(h ``em_handle``h]j)}(hjh]h em_handle}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKshjubj )}(hhh]h)}(h>Callback for switch-specific error management handler functionh]h>Callback for switch-specific error management handler function}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKthjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKshj ubeh}(h]h ]h"]h$]h&]uh1jhj÷ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKwhjhhubh)}(h_Defines the operations that are necessary to initialize/control a particular RIO switch device.h]h_Defines the operations that are necessary to initialize/control a particular RIO switch device.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKuhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_dev (C struct) c.rio_devhNtauh1jhjhhhNhNubj )}(hhh](j)}(hrio_devh]j)}(hstruct rio_devh](jl)}(hjoh]hstruct}(hhhj$hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj hhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKubj.)}(h h]h }(hhhj2hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj hhhj1hKubj?)}(hrio_devh]jE)}(hjh]hrio_dev}(hhhjDhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj@ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj hhhj1hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhj1hKubah}(h]jah ](jjeh"]h$]h&]juh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhK{hjhhubj)}(hhh]h)}(hRIO device infoh]hRIO device info}(hjihjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjdhhubah}(h]h ]h"]h$]h&]uh1jhjhhhj1hKubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hX**Definition**:: struct rio_dev { struct list_head global_list; struct list_head net_list; struct rio_net *net; bool do_enum; u16 did; u16 vid; u32 device_rev; u16 asm_did; u16 asm_vid; u16 asm_rev; u16 efptr; u32 pef; u32 swpinfo; u32 src_ops; u32 dst_ops; u32 comp_tag; u32 phys_efptr; u32 phys_rmap; u32 em_efptr; u64 dma_mask; struct rio_driver *driver; struct device dev; struct resource riores[RIO_MAX_DEV_RESOURCES]; int (*pwcback) (struct rio_dev *rdev, union rio_pw_msg *msg, int step); u16 destid; u8 hopcount; struct rio_dev *prev; atomic_t state; struct rio_switch rswitch[]; }; **Members** ``global_list`` Node in list of all RIO devices ``net_list`` Node in list of RIO devices in a network ``net`` Network this device is a part of ``do_enum`` Enumeration flag ``did`` Device ID ``vid`` Vendor ID ``device_rev`` Device revision ``asm_did`` Assembly device ID ``asm_vid`` Assembly vendor ID ``asm_rev`` Assembly revision ``efptr`` Extended feature pointer ``pef`` Processing element features ``swpinfo`` Switch port info ``src_ops`` Source operation capabilities ``dst_ops`` Destination operation capabilities ``comp_tag`` RIO component tag ``phys_efptr`` RIO device extended features pointer ``phys_rmap`` LP-Serial Register Map Type (1 or 2) ``em_efptr`` RIO Error Management features pointer ``dma_mask`` Mask of bits of RIO address this device implements ``driver`` Driver claiming this device ``dev`` Device model device ``riores`` RIO resources this device owns ``pwcback`` port-write callback function for this device ``destid`` Network destination ID (or associated destid for switch) ``hopcount`` Hopcount to this device ``prev`` Previous RIO device connected to the current one ``state`` device state ``rswitch`` struct rio_switch (if valid for this device)h](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj)}(hXstruct rio_dev { struct list_head global_list; struct list_head net_list; struct rio_net *net; bool do_enum; u16 did; u16 vid; u32 device_rev; u16 asm_did; u16 asm_vid; u16 asm_rev; u16 efptr; u32 pef; u32 swpinfo; u32 src_ops; u32 dst_ops; u32 comp_tag; u32 phys_efptr; u32 phys_rmap; u32 em_efptr; u64 dma_mask; struct rio_driver *driver; struct device dev; struct resource riores[RIO_MAX_DEV_RESOURCES]; int (*pwcback) (struct rio_dev *rdev, union rio_pw_msg *msg, int step); u16 destid; u8 hopcount; struct rio_dev *prev; atomic_t state; struct rio_switch rswitch[]; };h]hXstruct rio_dev { struct list_head global_list; struct list_head net_list; struct rio_net *net; bool do_enum; u16 did; u16 vid; u32 device_rev; u16 asm_did; u16 asm_vid; u16 asm_rev; u16 efptr; u32 pef; u32 swpinfo; u32 src_ops; u32 dst_ops; u32 comp_tag; u32 phys_efptr; u32 phys_rmap; u32 em_efptr; u64 dma_mask; struct rio_driver *driver; struct device dev; struct resource riores[RIO_MAX_DEV_RESOURCES]; int (*pwcback) (struct rio_dev *rdev, union rio_pw_msg *msg, int step); u16 destid; u8 hopcount; struct rio_dev *prev; atomic_t state; struct rio_switch rswitch[]; };}(hhhjubah}(h]h ]h"]h$]h&]j]j^uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubh)}(h **Members**h]j)}(hjh]hMembers}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj)}(hhh](j)}(h0``global_list`` Node in list of all RIO devices h](j)}(h``global_list``h]j)}(hjԺh]h global_list}(hhhjֺhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjҺubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjκubj )}(hhh]h)}(hNode in list of all RIO devicesh]hNode in list of all RIO devices}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjκubeh}(h]h ]h"]h$]h&]uh1jhjhKhj˺ubj)}(h6``net_list`` Node in list of RIO devices in a network h](j)}(h ``net_list``h]j)}(hj h]hnet_list}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(h(Node in list of RIO devices in a networkh]h(Node in list of RIO devices in a network}(hj(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"hKhj#ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj"hKhj˺ubj)}(h)``net`` Network this device is a part of h](j)}(h``net``h]j)}(hjFh]hnet}(hhhjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj@ubj )}(hhh]h)}(h Network this device is a part ofh]h Network this device is a part of}(hjahj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[hKhj\ubah}(h]h ]h"]h$]h&]uh1j hj@ubeh}(h]h ]h"]h$]h&]uh1jhj[hKhj˺ubj)}(h``do_enum`` Enumeration flag h](j)}(h ``do_enum``h]j)}(hjh]hdo_enum}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj}ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjyubj )}(hhh]h)}(hEnumeration flagh]hEnumeration flag}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjyubeh}(h]h ]h"]h$]h&]uh1jhjhKhj˺ubj)}(h``did`` Device ID h](j)}(h``did``h]j)}(hjh]hdid}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(h Device IDh]h Device ID}(hjӻhjѻhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjͻhKhjλubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjͻhKhj˺ubj)}(h``vid`` Vendor ID h](j)}(h``vid``h]j)}(hjh]hvid}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(h Vendor IDh]h Vendor ID}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj˺ubj)}(h``device_rev`` Device revision h](j)}(h``device_rev``h]j)}(hj*h]h device_rev}(hhhj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj$ubj )}(hhh]h)}(hDevice revisionh]hDevice revision}(hjEhjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?hKhj@ubah}(h]h ]h"]h$]h&]uh1j hj$ubeh}(h]h ]h"]h$]h&]uh1jhj?hKhj˺ubj)}(h``asm_did`` Assembly device ID h](j)}(h ``asm_did``h]j)}(hjch]hasm_did}(hhhjehhhNhNubah}(h]h ]h"]h$]h&]uh1jhjaubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj]ubj )}(hhh]h)}(hAssembly device IDh]hAssembly device ID}(hj~hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxhKhjyubah}(h]h ]h"]h$]h&]uh1j hj]ubeh}(h]h ]h"]h$]h&]uh1jhjxhKhj˺ubj)}(h``asm_vid`` Assembly vendor ID h](j)}(h ``asm_vid``h]j)}(hjh]hasm_vid}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(hAssembly vendor IDh]hAssembly vendor ID}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj˺ubj)}(h``asm_rev`` Assembly revision h](j)}(h ``asm_rev``h]j)}(hjռh]hasm_rev}(hhhj׼hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjӼubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjϼubj )}(hhh]h)}(hAssembly revisionh]hAssembly revision}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjϼubeh}(h]h ]h"]h$]h&]uh1jhjhKhj˺ubj)}(h#``efptr`` Extended feature pointer h](j)}(h ``efptr``h]j)}(hjh]hefptr}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(hExtended feature pointerh]hExtended feature pointer}(hj)hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#hKhj$ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj#hKhj˺ubj)}(h$``pef`` Processing element features h](j)}(h``pef``h]j)}(hjGh]hpef}(hhhjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjAubj )}(hhh]h)}(hProcessing element featuresh]hProcessing element features}(hjbhj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\hKhj]ubah}(h]h ]h"]h$]h&]uh1j hjAubeh}(h]h ]h"]h$]h&]uh1jhj\hKhj˺ubj)}(h``swpinfo`` Switch port info h](j)}(h ``swpinfo``h]j)}(hjh]hswpinfo}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjzubj )}(hhh]h)}(hSwitch port infoh]hSwitch port info}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjzubeh}(h]h ]h"]h$]h&]uh1jhjhKhj˺ubj)}(h*``src_ops`` Source operation capabilities h](j)}(h ``src_ops``h]j)}(hjh]hsrc_ops}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(hSource operation capabilitiesh]hSource operation capabilities}(hjԽhjҽhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjνhKhjϽubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjνhKhj˺ubj)}(h/``dst_ops`` Destination operation capabilities h](j)}(h ``dst_ops``h]j)}(hjh]hdst_ops}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(h"Destination operation capabilitiesh]h"Destination operation capabilities}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj˺ubj)}(h``comp_tag`` RIO component tag h](j)}(h ``comp_tag``h]j)}(hj+h]hcomp_tag}(hhhj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj%ubj )}(hhh]h)}(hRIO component tagh]hRIO component tag}(hjFhjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@hKhjAubah}(h]h ]h"]h$]h&]uh1j hj%ubeh}(h]h ]h"]h$]h&]uh1jhj@hKhj˺ubj)}(h4``phys_efptr`` RIO device extended features pointer h](j)}(h``phys_efptr``h]j)}(hjdh]h phys_efptr}(hhhjfhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjbubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj^ubj )}(hhh]h)}(h$RIO device extended features pointerh]h$RIO device extended features pointer}(hjhj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjyhKhjzubah}(h]h ]h"]h$]h&]uh1j hj^ubeh}(h]h ]h"]h$]h&]uh1jhjyhKhj˺ubj)}(h3``phys_rmap`` LP-Serial Register Map Type (1 or 2) h](j)}(h ``phys_rmap``h]j)}(hjh]h phys_rmap}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(h$LP-Serial Register Map Type (1 or 2)h]h$LP-Serial Register Map Type (1 or 2)}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj˺ubj)}(h3``em_efptr`` RIO Error Management features pointer h](j)}(h ``em_efptr``h]j)}(hj־h]hem_efptr}(hhhjؾhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjԾubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjоubj )}(hhh]h)}(h%RIO Error Management features pointerh]h%RIO Error Management features pointer}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjоubeh}(h]h ]h"]h$]h&]uh1jhjhKhj˺ubj)}(h@``dma_mask`` Mask of bits of RIO address this device implements h](j)}(h ``dma_mask``h]j)}(hjh]hdma_mask}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj ubj )}(hhh]h)}(h2Mask of bits of RIO address this device implementsh]h2Mask of bits of RIO address this device implements}(hj*hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$hKhj%ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj$hKhj˺ubj)}(h'``driver`` Driver claiming this device h](j)}(h ``driver``h]j)}(hjHh]hdriver}(hhhjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjFubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjBubj )}(hhh]h)}(hDriver claiming this deviceh]hDriver claiming this device}(hjchjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]hKhj^ubah}(h]h ]h"]h$]h&]uh1j hjBubeh}(h]h ]h"]h$]h&]uh1jhj]hKhj˺ubj)}(h``dev`` Device model device h](j)}(h``dev``h]j)}(hjh]hdev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj{ubj )}(hhh]h)}(hDevice model deviceh]hDevice model device}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hj{ubeh}(h]h ]h"]h$]h&]uh1jhjhKhj˺ubj)}(h*``riores`` RIO resources this device owns h](j)}(h ``riores``h]j)}(hjh]hriores}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(hRIO resources this device ownsh]hRIO resources this device owns}(hjտhjӿhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjϿhKhjпubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjϿhKhj˺ubj)}(h9``pwcback`` port-write callback function for this device h](j)}(h ``pwcback``h]j)}(hjh]hpwcback}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(h,port-write callback function for this deviceh]h,port-write callback function for this device}(hjhj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj˺ubj)}(hD``destid`` Network destination ID (or associated destid for switch) h](j)}(h ``destid``h]j)}(hj,h]hdestid}(hhhj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj&ubj )}(hhh]h)}(h8Network destination ID (or associated destid for switch)h]h8Network destination ID (or associated destid for switch)}(hjGhjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAhKhjBubah}(h]h ]h"]h$]h&]uh1j hj&ubeh}(h]h ]h"]h$]h&]uh1jhjAhKhj˺ubj)}(h%``hopcount`` Hopcount to this device h](j)}(h ``hopcount``h]j)}(hjeh]hhopcount}(hhhjghhhNhNubah}(h]h ]h"]h$]h&]uh1jhjcubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj_ubj )}(hhh]h)}(hHopcount to this deviceh]hHopcount to this device}(hjhj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzhKhj{ubah}(h]h ]h"]h$]h&]uh1j hj_ubeh}(h]h ]h"]h$]h&]uh1jhjzhKhj˺ubj)}(h:``prev`` Previous RIO device connected to the current one h](j)}(h``prev``h]j)}(hjh]hprev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(h0Previous RIO device connected to the current oneh]h0Previous RIO device connected to the current one}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj˺ubj)}(h``state`` device state h](j)}(h ``state``h]j)}(hjh]hstate}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(h device stateh]h device state}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj˺ubj)}(h8``rswitch`` struct rio_switch (if valid for this device)h](j)}(h ``rswitch``h]j)}(hjh]hrswitch}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj ubj )}(hhh]h)}(h,struct rio_switch (if valid for this device)h]h,struct rio_switch (if valid for this device)}(hj+hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj&ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj%hKhj˺ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_msg (C struct) c.rio_msghNtauh1jhjhhhNhNubj )}(hhh](j)}(hrio_msgh]j)}(hstruct rio_msgh](jl)}(hjoh]hstruct}(hhhjjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjfhhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKubj.)}(h h]h }(hhhjxhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjfhhhjwhKubj?)}(hrio_msgh]jE)}(hjdh]hrio_msg}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjfhhhjwhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjbhhhjwhKubah}(h]j]ah ](jjeh"]h$]h&]juh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj_hhubj)}(hhh]h)}(hRIO message eventh]hRIO message event}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jhj_hhhjwhKubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(h**Definition**:: struct rio_msg { struct resource *res; void (*mcback) (struct rio_mport * mport, void *dev_id, int mbox, int slot); }; **Members** ``res`` Mailbox resource ``mcback`` Message event callbackh](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj)}(h~struct rio_msg { struct resource *res; void (*mcback) (struct rio_mport * mport, void *dev_id, int mbox, int slot); };h]h~struct rio_msg { struct resource *res; void (*mcback) (struct rio_mport * mport, void *dev_id, int mbox, int slot); };}(hhhjubah}(h]h ]h"]h$]h&]j]j^uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubh)}(h **Members**h]j)}(hjh]hMembers}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj)}(hhh](j)}(h``res`` Mailbox resource h](j)}(h``res``h]j)}(hjh]hres}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(hMailbox resourceh]hMailbox resource}(hj5hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/hKhj0ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj/hKhjubj)}(h!``mcback`` Message event callbackh](j)}(h ``mcback``h]j)}(hjSh]hmcback}(hhhjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjMubj )}(hhh]h)}(hMessage event callbackh]hMessage event callback}(hjnhjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjiubah}(h]h ]h"]h$]h&]uh1j hjMubeh}(h]h ]h"]h$]h&]uh1jhjhhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_dbell (C struct) c.rio_dbellhNtauh1jhjhhhNhNubj )}(hhh](j)}(h rio_dbellh]j)}(hstruct rio_dbellh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKubj?)}(h rio_dbellh]jE)}(hjh]h rio_dbell}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]juh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjhhubj)}(hhh]h)}(hRIO doorbell eventh]hRIO doorbell event}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hX**Definition**:: struct rio_dbell { struct list_head node; struct resource *res; void (*dinb) (struct rio_mport *mport, void *dev_id, u16 src, u16 dst, u16 info); void *dev_id; }; **Members** ``node`` Node in list of doorbell events ``res`` Doorbell resource ``dinb`` Doorbell event callback ``dev_id`` Device specific pointer to pass on eventh](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj ubj)}(hstruct rio_dbell { struct list_head node; struct resource *res; void (*dinb) (struct rio_mport *mport, void *dev_id, u16 src, u16 dst, u16 info); void *dev_id; };h]hstruct rio_dbell { struct list_head node; struct resource *res; void (*dinb) (struct rio_mport *mport, void *dev_id, u16 src, u16 dst, u16 info); void *dev_id; };}(hhhj-ubah}(h]h ]h"]h$]h&]j]j^uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj ubh)}(h **Members**h]j)}(hj>h]hMembers}(hhhj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj ubj)}(hhh](j)}(h)``node`` Node in list of doorbell events h](j)}(h``node``h]j)}(hj]h]hnode}(hhhj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjWubj )}(hhh]h)}(hNode in list of doorbell eventsh]hNode in list of doorbell events}(hjxhjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrhKhjsubah}(h]h ]h"]h$]h&]uh1j hjWubeh}(h]h ]h"]h$]h&]uh1jhjrhKhjTubj)}(h``res`` Doorbell resource h](j)}(h``res``h]j)}(hjh]hres}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(hDoorbell resourceh]hDoorbell resource}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjTubj)}(h!``dinb`` Doorbell event callback h](j)}(h``dinb``h]j)}(hjh]hdinb}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(hDoorbell event callbackh]hDoorbell event callback}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjTubj)}(h3``dev_id`` Device specific pointer to pass on eventh](j)}(h ``dev_id``h]j)}(hjh]hdev_id}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(h(Device specific pointer to pass on eventh]h(Device specific pointer to pass on event}(hj#hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjTubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_mport (C struct) c.rio_mporthNtauh1jhjhhhNhNubj )}(hhh](j)}(h rio_mporth]j)}(hstruct rio_mporth](jl)}(hjoh]hstruct}(hhhjbhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj^hhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKubj.)}(h h]h }(hhhjphhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj^hhhjohKubj?)}(h rio_mporth]jE)}(hj\h]h rio_mport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj~ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj^hhhjohKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjZhhhjohKubah}(h]jUah ](jjeh"]h$]h&]juh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjWhhubj)}(hhh]h)}(hRIO master port infoh]hRIO master port info}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jhjWhhhjohKubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hX**Definition**:: struct rio_mport { struct list_head dbells; struct list_head pwrites; struct list_head node; struct list_head nnode; struct rio_net *net; struct mutex lock; struct resource iores; struct resource riores[RIO_MAX_MPORT_RESOURCES]; struct rio_msg inb_msg[RIO_MAX_MBOX]; struct rio_msg outb_msg[RIO_MAX_MBOX]; int host_deviceid; struct rio_ops *ops; unsigned char id; unsigned char index; unsigned int sys_size; u32 phys_efptr; u32 phys_rmap; unsigned char name[RIO_MAX_MPORT_NAME]; struct device dev; void *priv; #ifdef CONFIG_RAPIDIO_DMA_ENGINE; struct dma_device dma; #endif; struct rio_scan *nscan; atomic_t state; unsigned int pwe_refcnt; }; **Members** ``dbells`` List of doorbell events ``pwrites`` List of portwrite events ``node`` Node in global list of master ports ``nnode`` Node in network list of master ports ``net`` RIO net this mport is attached to ``lock`` lock to synchronize lists manipulations ``iores`` I/O mem resource that this master port interface owns ``riores`` RIO resources that this master port interfaces owns ``inb_msg`` RIO inbound message event descriptors ``outb_msg`` RIO outbound message event descriptors ``host_deviceid`` Host device ID associated with this master port ``ops`` configuration space functions ``id`` Port ID, unique among all ports ``index`` Port index, unique among all port interfaces of the same type ``sys_size`` RapidIO common transport system size ``phys_efptr`` RIO port extended features pointer ``phys_rmap`` LP-Serial EFB Register Mapping type (1 or 2). ``name`` Port name string ``dev`` device structure associated with an mport ``priv`` Master port private data ``dma`` DMA device associated with mport ``nscan`` RapidIO network enumeration/discovery operations ``state`` mport device state ``pwe_refcnt`` port-write enable ref counter to track enable/disable requestsh](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj)}(hXstruct rio_mport { struct list_head dbells; struct list_head pwrites; struct list_head node; struct list_head nnode; struct rio_net *net; struct mutex lock; struct resource iores; struct resource riores[RIO_MAX_MPORT_RESOURCES]; struct rio_msg inb_msg[RIO_MAX_MBOX]; struct rio_msg outb_msg[RIO_MAX_MBOX]; int host_deviceid; struct rio_ops *ops; unsigned char id; unsigned char index; unsigned int sys_size; u32 phys_efptr; u32 phys_rmap; unsigned char name[RIO_MAX_MPORT_NAME]; struct device dev; void *priv; #ifdef CONFIG_RAPIDIO_DMA_ENGINE; struct dma_device dma; #endif; struct rio_scan *nscan; atomic_t state; unsigned int pwe_refcnt; };h]hXstruct rio_mport { struct list_head dbells; struct list_head pwrites; struct list_head node; struct list_head nnode; struct rio_net *net; struct mutex lock; struct resource iores; struct resource riores[RIO_MAX_MPORT_RESOURCES]; struct rio_msg inb_msg[RIO_MAX_MBOX]; struct rio_msg outb_msg[RIO_MAX_MBOX]; int host_deviceid; struct rio_ops *ops; unsigned char id; unsigned char index; unsigned int sys_size; u32 phys_efptr; u32 phys_rmap; unsigned char name[RIO_MAX_MPORT_NAME]; struct device dev; void *priv; #ifdef CONFIG_RAPIDIO_DMA_ENGINE; struct dma_device dma; #endif; struct rio_scan *nscan; atomic_t state; unsigned int pwe_refcnt; };}(hhhjubah}(h]h ]h"]h$]h&]j]j^uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubh)}(h **Members**h]j)}(hjh]hMembers}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj)}(hhh](j)}(h#``dbells`` List of doorbell events h](j)}(h ``dbells``h]j)}(hjh]hdbells}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj ubj )}(hhh]h)}(hList of doorbell eventsh]hList of doorbell events}(hj-hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'hKhj(ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj'hKhj ubj)}(h%``pwrites`` List of portwrite events h](j)}(h ``pwrites``h]j)}(hjKh]hpwrites}(hhhjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjEubj )}(hhh]h)}(hList of portwrite eventsh]hList of portwrite events}(hjfhjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`hKhjaubah}(h]h ]h"]h$]h&]uh1j hjEubeh}(h]h ]h"]h$]h&]uh1jhj`hKhj ubj)}(h-``node`` Node in global list of master ports h](j)}(h``node``h]j)}(hjh]hnode}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj~ubj )}(hhh]h)}(h#Node in global list of master portsh]h#Node in global list of master ports}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hj~ubeh}(h]h ]h"]h$]h&]uh1jhjhKhj ubj)}(h/``nnode`` Node in network list of master ports h](j)}(h ``nnode``h]j)}(hjh]hnnode}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(h$Node in network list of master portsh]h$Node in network list of master ports}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj ubj)}(h*``net`` RIO net this mport is attached to h](j)}(h``net``h]j)}(hjh]hnet}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(h!RIO net this mport is attached toh]h!RIO net this mport is attached to}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubj)}(h1``lock`` lock to synchronize lists manipulations h](j)}(h``lock``h]j)}(hj/h]hlock}(hhhj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj-ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj)ubj )}(hhh]h)}(h'lock to synchronize lists manipulationsh]h'lock to synchronize lists manipulations}(hjJhjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDhKhjEubah}(h]h ]h"]h$]h&]uh1j hj)ubeh}(h]h ]h"]h$]h&]uh1jhjDhKhj ubj)}(h@``iores`` I/O mem resource that this master port interface owns h](j)}(h ``iores``h]j)}(hjhh]hiores}(hhhjjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjfubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjbubj )}(hhh]h)}(h5I/O mem resource that this master port interface ownsh]h5I/O mem resource that this master port interface owns}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}hKhj~ubah}(h]h ]h"]h$]h&]uh1j hjbubeh}(h]h ]h"]h$]h&]uh1jhj}hKhj ubj)}(h?``riores`` RIO resources that this master port interfaces owns h](j)}(h ``riores``h]j)}(hjh]hriores}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(h3RIO resources that this master port interfaces ownsh]h3RIO resources that this master port interfaces owns}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj ubj)}(h2``inb_msg`` RIO inbound message event descriptors h](j)}(h ``inb_msg``h]j)}(hjh]hinb_msg}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(h%RIO inbound message event descriptorsh]h%RIO inbound message event descriptors}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj ubj)}(h4``outb_msg`` RIO outbound message event descriptors h](j)}(h ``outb_msg``h]j)}(hjh]houtb_msg}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj ubj )}(hhh]h)}(h&RIO outbound message event descriptorsh]h&RIO outbound message event descriptors}(hj.hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(hKhj)ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj(hKhj ubj)}(hB``host_deviceid`` Host device ID associated with this master port h](j)}(h``host_deviceid``h]j)}(hjLh]h host_deviceid}(hhhjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjFubj )}(hhh]h)}(h/Host device ID associated with this master porth]h/Host device ID associated with this master port}(hjghjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjahKhjbubah}(h]h ]h"]h$]h&]uh1j hjFubeh}(h]h ]h"]h$]h&]uh1jhjahKhj ubj)}(h&``ops`` configuration space functions h](j)}(h``ops``h]j)}(hjh]hops}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(hconfiguration space functionsh]hconfiguration space functions}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj ubj)}(h'``id`` Port ID, unique among all ports h](j)}(h``id``h]j)}(hjh]hid}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(hPort ID, unique among all portsh]hPort ID, unique among all ports}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj ubj)}(hH``index`` Port index, unique among all port interfaces of the same type h](j)}(h ``index``h]j)}(hjh]hindex}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubj )}(hhh]h)}(h=Port index, unique among all port interfaces of the same typeh]h=Port index, unique among all port interfaces of the same type}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubj)}(h2``sys_size`` RapidIO common transport system size h](j)}(h ``sys_size``h]j)}(hj0h]hsys_size}(hhhj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj*ubj )}(hhh]h)}(h$RapidIO common transport system sizeh]h$RapidIO common transport system size}(hjKhjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEhKhjFubah}(h]h ]h"]h$]h&]uh1j hj*ubeh}(h]h ]h"]h$]h&]uh1jhjEhKhj ubj)}(h2``phys_efptr`` RIO port extended features pointer h](j)}(h``phys_efptr``h]j)}(hjih]h phys_efptr}(hhhjkhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjgubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjcubj )}(hhh]h)}(h"RIO port extended features pointerh]h"RIO port extended features pointer}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~hMhjubah}(h]h ]h"]h$]h&]uh1j hjcubeh}(h]h ]h"]h$]h&]uh1jhj~hMhj ubj)}(h<``phys_rmap`` LP-Serial EFB Register Mapping type (1 or 2). h](j)}(h ``phys_rmap``h]j)}(hjh]h phys_rmap}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h-LP-Serial EFB Register Mapping type (1 or 2).h]h-LP-Serial EFB Register Mapping type (1 or 2).}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj ubj)}(h``name`` Port name string h](j)}(h``name``h]j)}(hjh]hname}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(hPort name stringh]hPort name string}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj ubj)}(h2``dev`` device structure associated with an mport h](j)}(h``dev``h]j)}(hjh]hdev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h)device structure associated with an mporth]h)device structure associated with an mport}(hj/hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)hMhj*ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj)hMhj ubj)}(h"``priv`` Master port private data h](j)}(h``priv``h]j)}(hjMh]hpriv}(hhhjOhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjKubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjGubj )}(hhh]h)}(hMaster port private datah]hMaster port private data}(hjhhjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbhMhjcubah}(h]h ]h"]h$]h&]uh1j hjGubeh}(h]h ]h"]h$]h&]uh1jhjbhMhj ubj)}(h)``dma`` DMA device associated with mport h](j)}(h``dma``h]j)}(hjh]hdma}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h DMA device associated with mporth]h DMA device associated with mport}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj ubj)}(h;``nscan`` RapidIO network enumeration/discovery operations h](j)}(h ``nscan``h]j)}(hjh]hnscan}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h0RapidIO network enumeration/discovery operationsh]h0RapidIO network enumeration/discovery operations}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj ubj)}(h``state`` mport device state h](j)}(h ``state``h]j)}(hjh]hstate}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(hmport device stateh]hmport device state}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj hMhj ubj)}(hM``pwe_refcnt`` port-write enable ref counter to track enable/disable requestsh](j)}(h``pwe_refcnt``h]j)}(hj1h]h pwe_refcnt}(hhhj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhj+ubj )}(hhh]h)}(h>port-write enable ref counter to track enable/disable requestsh]h>port-write enable ref counter to track enable/disable requests}(hjLhjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjGubah}(h]h ]h"]h$]h&]uh1j hj+ubeh}(h]h ]h"]h$]h&]uh1jhjFhMhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_net (C struct) c.rio_nethNtauh1jhjhhhNhNubj )}(hhh](j)}(hrio_neth]j)}(hstruct rio_neth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM6ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhM6ubj?)}(hrio_neth]jE)}(hjh]hrio_net}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhM6ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhM6ubah}(h]j~ah ](jjeh"]h$]h&]juh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjhhubj)}(hhh]h)}(hRIO network infoh]hRIO network info}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM5hjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhM6ubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hX**Definition**:: struct rio_net { struct list_head node; struct list_head devices; struct list_head switches; struct list_head mports; struct rio_mport *hport; unsigned char id; struct device dev; void *enum_data; void (*release)(struct rio_net *net); }; **Members** ``node`` Node in global list of RIO networks ``devices`` List of devices in this network ``switches`` List of switches in this network ``mports`` List of master ports accessing this network ``hport`` Default port for accessing this network ``id`` RIO network ID ``dev`` Device object ``enum_data`` private data specific to a network enumerator ``release`` enumerator-specific release callbackh](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM9hjubj)}(hXstruct rio_net { struct list_head node; struct list_head devices; struct list_head switches; struct list_head mports; struct rio_mport *hport; unsigned char id; struct device dev; void *enum_data; void (*release)(struct rio_net *net); };h]hXstruct rio_net { struct list_head node; struct list_head devices; struct list_head switches; struct list_head mports; struct rio_mport *hport; unsigned char id; struct device dev; void *enum_data; void (*release)(struct rio_net *net); };}(hhhj ubah}(h]h ]h"]h$]h&]j]j^uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM;hjubh)}(h **Members**h]j)}(hjh]hMembers}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMGhjubj)}(hhh](j)}(h-``node`` Node in global list of RIO networks h](j)}(h``node``h]j)}(hj;h]hnode}(hhhj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM7hj5ubj )}(hhh]h)}(h#Node in global list of RIO networksh]h#Node in global list of RIO networks}(hjVhjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPhM7hjQubah}(h]h ]h"]h$]h&]uh1j hj5ubeh}(h]h ]h"]h$]h&]uh1jhjPhM7hj2ubj)}(h,``devices`` List of devices in this network h](j)}(h ``devices``h]j)}(hjth]hdevices}(hhhjvhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjrubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM8hjnubj )}(hhh]h)}(hList of devices in this networkh]hList of devices in this network}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM8hjubah}(h]h ]h"]h$]h&]uh1j hjnubeh}(h]h ]h"]h$]h&]uh1jhjhM8hj2ubj)}(h.``switches`` List of switches in this network h](j)}(h ``switches``h]j)}(hjh]hswitches}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM9hjubj )}(hhh]h)}(h List of switches in this networkh]h List of switches in this network}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM9hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM9hj2ubj)}(h7``mports`` List of master ports accessing this network h](j)}(h ``mports``h]j)}(hjh]hmports}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM:hjubj )}(hhh]h)}(h+List of master ports accessing this networkh]h+List of master ports accessing this network}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM:hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM:hj2ubj)}(h2``hport`` Default port for accessing this network h](j)}(h ``hport``h]j)}(hjh]hhport}(hhhj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM;hjubj )}(hhh]h)}(h'Default port for accessing this networkh]h'Default port for accessing this network}(hj:hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4hM;hj5ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj4hM;hj2ubj)}(h``id`` RIO network ID h](j)}(h``id``h]j)}(hjXh]hid}(hhhjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjVubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM<hjRubj )}(hhh]h)}(hRIO network IDh]hRIO network ID}(hjshjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmhM<hjnubah}(h]h ]h"]h$]h&]uh1j hjRubeh}(h]h ]h"]h$]h&]uh1jhjmhM<hj2ubj)}(h``dev`` Device object h](j)}(h``dev``h]j)}(hjh]hdev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM=hjubj )}(hhh]h)}(h Device objecth]h Device object}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM=hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM=hj2ubj)}(h<``enum_data`` private data specific to a network enumerator h](j)}(h ``enum_data``h]j)}(hjh]h enum_data}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM>hjubj )}(hhh]h)}(h-private data specific to a network enumeratorh]h-private data specific to a network enumerator}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM>hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM>hj2ubj)}(h0``release`` enumerator-specific release callbackh](j)}(h ``release``h]j)}(hjh]hrelease}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM>hjubj )}(hhh]h)}(h$enumerator-specific release callbackh]h$enumerator-specific release callback}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM?hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM>hj2ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_mport_attr (C struct)c.rio_mport_attrhNtauh1jhjhhhNhNubj )}(hhh](j)}(hrio_mport_attrh]j)}(hstruct rio_mport_attrh](jl)}(hjoh]hstruct}(hhhj]hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjYhhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMfubj.)}(h h]h }(hhhjkhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYhhhjjhMfubj?)}(hrio_mport_attrh]jE)}(hjWh]hrio_mport_attr}(hhhj}hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjyubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjYhhhjjhMfubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjUhhhjjhMfubah}(h]jPah ](jjeh"]h$]h&]juh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMEhjRhhubj)}(hhh]h)}(hRIO mport device attributesh]hRIO mport device attributes}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMehjhhubah}(h]h ]h"]h$]h&]uh1jhjRhhhjjhMfubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hXt**Definition**:: struct rio_mport_attr { int flags; int link_speed; int link_width; int dma_max_sge; int dma_max_size; int dma_align; }; **Members** ``flags`` mport device capability flags ``link_speed`` SRIO link speed value (as defined by RapidIO specification) ``link_width`` SRIO link width value (as defined by RapidIO specification) ``dma_max_sge`` number of SG list entries that can be handled by DMA channel(s) ``dma_max_size`` max number of bytes in single DMA transfer (SG entry) ``dma_align`` alignment shift for DMA operations (as for other DMA operations)h](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMihjubj)}(hstruct rio_mport_attr { int flags; int link_speed; int link_width; int dma_max_sge; int dma_max_size; int dma_align; };h]hstruct rio_mport_attr { int flags; int link_speed; int link_width; int dma_max_sge; int dma_max_size; int dma_align; };}(hhhjubah}(h]h ]h"]h$]h&]j]j^uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMkhjubh)}(h **Members**h]j)}(hjh]hMembers}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMthjubj)}(hhh](j)}(h(``flags`` mport device capability flags h](j)}(h ``flags``h]j)}(hj h]hflags}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMghjubj )}(hhh]h)}(hmport device capability flagsh]hmport device capability flags}(hj(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"hMghj#ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj"hMghjubj)}(hK``link_speed`` SRIO link speed value (as defined by RapidIO specification) h](j)}(h``link_speed``h]j)}(hjFh]h link_speed}(hhhjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhhj@ubj )}(hhh]h)}(h;SRIO link speed value (as defined by RapidIO specification)h]h;SRIO link speed value (as defined by RapidIO specification)}(hjahj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[hMhhj\ubah}(h]h ]h"]h$]h&]uh1j hj@ubeh}(h]h ]h"]h$]h&]uh1jhj[hMhhjubj)}(hK``link_width`` SRIO link width value (as defined by RapidIO specification) h](j)}(h``link_width``h]j)}(hjh]h link_width}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj}ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMihjyubj )}(hhh]h)}(h;SRIO link width value (as defined by RapidIO specification)h]h;SRIO link width value (as defined by RapidIO specification)}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMihjubah}(h]h ]h"]h$]h&]uh1j hjyubeh}(h]h ]h"]h$]h&]uh1jhjhMihjubj)}(hP``dma_max_sge`` number of SG list entries that can be handled by DMA channel(s) h](j)}(h``dma_max_sge``h]j)}(hjh]h dma_max_sge}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMjhjubj )}(hhh]h)}(h?number of SG list entries that can be handled by DMA channel(s)h]h?number of SG list entries that can be handled by DMA channel(s)}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMjhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMjhjubj)}(hG``dma_max_size`` max number of bytes in single DMA transfer (SG entry) h](j)}(h``dma_max_size``h]j)}(hjh]h dma_max_size}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMkhjubj )}(hhh]h)}(h5max number of bytes in single DMA transfer (SG entry)h]h5max number of bytes in single DMA transfer (SG entry)}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMkhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMkhjubj)}(hN``dma_align`` alignment shift for DMA operations (as for other DMA operations)h](j)}(h ``dma_align``h]j)}(hj*h]h dma_align}(hhhj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMkhj$ubj )}(hhh]h)}(h@alignment shift for DMA operations (as for other DMA operations)h]h@alignment shift for DMA operations (as for other DMA operations)}(hjEhjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMlhj@ubah}(h]h ]h"]h$]h&]uh1j hj$ubeh}(h]h ]h"]h$]h&]uh1jhj?hMkhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_ops (C struct) c.rio_opshNtauh1jhjhhhNhNubj )}(hhh](j)}(hrio_opsh]j)}(hstruct rio_opsh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM|ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhM|ubj?)}(hrio_opsh]jE)}(hj~h]hrio_ops}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhM|ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj|hhhjhM|ubah}(h]jwah ](jjeh"]h$]h&]juh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMrhjyhhubj)}(hhh]h)}(h,Low-level RIO configuration space operationsh]h,Low-level RIO configuration space operations}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM{hjhhubah}(h]h ]h"]h$]h&]uh1jhjyhhhjhM|ubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hX1 **Definition**:: 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, u64 size, u32 flags); void (*unmap_inb)(struct rio_mport *mport, dma_addr_t lstart); int (*query_mport)(struct rio_mport *mport, struct rio_mport_attr *attr); int (*map_outb)(struct rio_mport *mport, u16 destid, u64 rstart, u32 size, u32 flags, dma_addr_t *laddr); void (*unmap_outb)(struct rio_mport *mport, u16 destid, u64 rstart); }; **Members** ``lcread`` Callback to perform local (master port) read of config space. ``lcwrite`` Callback to perform local (master port) write of config space. ``cread`` Callback to perform network read of config space. ``cwrite`` Callback to perform network write of config space. ``dsend`` Callback to send a doorbell message. ``pwenable`` Callback to enable/disable port-write message handling. ``open_outb_mbox`` Callback to initialize outbound mailbox. ``close_outb_mbox`` Callback to shut down outbound mailbox. ``open_inb_mbox`` Callback to initialize inbound mailbox. ``close_inb_mbox`` Callback to shut down inbound mailbox. ``add_outb_message`` Callback to add a message to an outbound mailbox queue. ``add_inb_buffer`` Callback to add a buffer to an inbound mailbox queue. ``get_inb_message`` Callback to get a message from an inbound mailbox queue. ``map_inb`` Callback to map RapidIO address region into local memory space. ``unmap_inb`` Callback to unmap RapidIO address region mapped with map_inb(). ``query_mport`` Callback to query mport device attributes. ``map_outb`` Callback to map outbound address region into local memory space. ``unmap_outb`` Callback to unmap outbound RapidIO address region.h](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj)}(hXstruct 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, u64 size, u32 flags); void (*unmap_inb)(struct rio_mport *mport, dma_addr_t lstart); int (*query_mport)(struct rio_mport *mport, struct rio_mport_attr *attr); int (*map_outb)(struct rio_mport *mport, u16 destid, u64 rstart, u32 size, u32 flags, dma_addr_t *laddr); void (*unmap_outb)(struct rio_mport *mport, u16 destid, u64 rstart); };h]hXstruct 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, u64 size, u32 flags); void (*unmap_inb)(struct rio_mport *mport, dma_addr_t lstart); int (*query_mport)(struct rio_mport *mport, struct rio_mport_attr *attr); int (*map_outb)(struct rio_mport *mport, u16 destid, u64 rstart, u32 size, u32 flags, dma_addr_t *laddr); void (*unmap_outb)(struct rio_mport *mport, u16 destid, u64 rstart); };}(hhhjubah}(h]h ]h"]h$]h&]j]j^uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubh)}(h **Members**h]j)}(hjh]hMembers}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj)}(hhh](j)}(hI``lcread`` Callback to perform local (master port) read of config space. h](j)}(h ``lcread``h]j)}(hj4h]hlcread}(hhhj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM}hj.ubj )}(hhh]h)}(h=Callback to perform local (master port) read of config space.h]h=Callback to perform local (master port) read of config space.}(hjOhjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIhM}hjJubah}(h]h ]h"]h$]h&]uh1j hj.ubeh}(h]h ]h"]h$]h&]uh1jhjIhM}hj+ubj)}(hK``lcwrite`` Callback to perform local (master port) write of config space. h](j)}(h ``lcwrite``h]j)}(hjmh]hlcwrite}(hhhjohhhNhNubah}(h]h ]h"]h$]h&]uh1jhjkubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM~hjgubj )}(hhh]h)}(h>Callback to perform local (master port) write of config space.h]h>Callback to perform local (master port) write of config space.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM~hjubah}(h]h ]h"]h$]h&]uh1j hjgubeh}(h]h ]h"]h$]h&]uh1jhjhM~hj+ubj)}(h<``cread`` Callback to perform network read of config space. h](j)}(h ``cread``h]j)}(hjh]hcread}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h1Callback to perform network read of config space.h]h1Callback to perform network read of config space.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj+ubj)}(h>``cwrite`` Callback to perform network write of config space. h](j)}(h ``cwrite``h]j)}(hjh]hcwrite}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h2Callback to perform network write of config space.h]h2Callback to perform network write of config space.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj+ubj)}(h/``dsend`` Callback to send a doorbell message. h](j)}(h ``dsend``h]j)}(hjh]hdsend}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h$Callback to send a doorbell message.h]h$Callback to send a doorbell message.}(hj3hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-hMhj.ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj-hMhj+ubj)}(hE``pwenable`` Callback to enable/disable port-write message handling. h](j)}(h ``pwenable``h]j)}(hjQh]hpwenable}(hhhjShhhNhNubah}(h]h ]h"]h$]h&]uh1jhjOubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjKubj )}(hhh]h)}(h7Callback to enable/disable port-write message handling.h]h7Callback to enable/disable port-write message handling.}(hjlhjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfhMhjgubah}(h]h ]h"]h$]h&]uh1j hjKubeh}(h]h ]h"]h$]h&]uh1jhjfhMhj+ubj)}(h<``open_outb_mbox`` Callback to initialize outbound mailbox. h](j)}(h``open_outb_mbox``h]j)}(hjh]hopen_outb_mbox}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h(Callback to initialize outbound mailbox.h]h(Callback to initialize outbound mailbox.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj+ubj)}(h<``close_outb_mbox`` Callback to shut down outbound mailbox. h](j)}(h``close_outb_mbox``h]j)}(hjh]hclose_outb_mbox}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h'Callback to shut down outbound mailbox.h]h'Callback to shut down outbound mailbox.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj+ubj)}(h:``open_inb_mbox`` Callback to initialize inbound mailbox. h](j)}(h``open_inb_mbox``h]j)}(hjh]h open_inb_mbox}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h'Callback to initialize inbound mailbox.h]h'Callback to initialize inbound mailbox.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj+ubj)}(h:``close_inb_mbox`` Callback to shut down inbound mailbox. h](j)}(h``close_inb_mbox``h]j)}(hj5h]hclose_inb_mbox}(hhhj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhj/ubj )}(hhh]h)}(h&Callback to shut down inbound mailbox.h]h&Callback to shut down inbound mailbox.}(hjPhjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJhMhjKubah}(h]h ]h"]h$]h&]uh1j hj/ubeh}(h]h ]h"]h$]h&]uh1jhjJhMhj+ubj)}(hM``add_outb_message`` Callback to add a message to an outbound mailbox queue. h](j)}(h``add_outb_message``h]j)}(hjnh]hadd_outb_message}(hhhjphhhNhNubah}(h]h ]h"]h$]h&]uh1jhjlubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjhubj )}(hhh]h)}(h7Callback to add a message to an outbound mailbox queue.h]h7Callback to add a message to an outbound mailbox queue.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjhubeh}(h]h ]h"]h$]h&]uh1jhjhMhj+ubj)}(hI``add_inb_buffer`` Callback to add a buffer to an inbound mailbox queue. h](j)}(h``add_inb_buffer``h]j)}(hjh]hadd_inb_buffer}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h5Callback to add a buffer to an inbound mailbox queue.h]h5Callback to add a buffer to an inbound mailbox queue.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj+ubj)}(hM``get_inb_message`` Callback to get a message from an inbound mailbox queue. h](j)}(h``get_inb_message``h]j)}(hjh]hget_inb_message}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h8Callback to get a message from an inbound mailbox queue.h]h8Callback to get a message from an inbound mailbox queue.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj+ubj)}(hL``map_inb`` Callback to map RapidIO address region into local memory space. h](j)}(h ``map_inb``h]j)}(hjh]hmap_inb}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h?Callback to map RapidIO address region into local memory space.h]h?Callback to map RapidIO address region into local memory space.}(hj4hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hMhj/ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj.hMhj+ubj)}(hN``unmap_inb`` Callback to unmap RapidIO address region mapped with map_inb(). h](j)}(h ``unmap_inb``h]j)}(hjRh]h unmap_inb}(hhhjThhhNhNubah}(h]h ]h"]h$]h&]uh1jhjPubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjLubj )}(hhh]h)}(h?Callback to unmap RapidIO address region mapped with map_inb().h]h?Callback to unmap RapidIO address region mapped with map_inb().}(hjmhjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjghMhjhubah}(h]h ]h"]h$]h&]uh1j hjLubeh}(h]h ]h"]h$]h&]uh1jhjghMhj+ubj)}(h;``query_mport`` Callback to query mport device attributes. h](j)}(h``query_mport``h]j)}(hjh]h query_mport}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h*Callback to query mport device attributes.h]h*Callback to query mport device attributes.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj+ubj)}(hN``map_outb`` Callback to map outbound address region into local memory space. h](j)}(h ``map_outb``h]j)}(hjh]hmap_outb}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h@Callback to map outbound address region into local memory space.h]h@Callback to map outbound address region into local memory space.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj+ubj)}(hA``unmap_outb`` Callback to unmap outbound RapidIO address region.h](j)}(h``unmap_outb``h]j)}(hjh]h unmap_outb}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h2Callback to unmap outbound RapidIO address region.h]h2Callback to unmap outbound RapidIO address region.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj+ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_driver (C struct) c.rio_driverhNtauh1jhjhhhNhNubj )}(hhh](j)}(h rio_driverh]j)}(hstruct rio_driverh](jl)}(hjoh]hstruct}(hhhjWhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjShhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMubj.)}(h h]h }(hhhjehhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjShhhjdhMubj?)}(h rio_driverh]jE)}(hjQh]h rio_driver}(hhhjwhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjsubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjShhhjdhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjOhhhjdhMubah}(h]jJah ](jjeh"]h$]h&]juh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjLhhubj)}(hhh]h)}(hRIO driver infoh]hRIO driver info}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjLhhhjdhMubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hX**Definition**:: struct rio_driver { struct list_head node; char *name; const struct rio_device_id *id_table; int (*probe) (struct rio_dev * dev, const struct rio_device_id * id); void (*remove) (struct rio_dev * dev); void (*shutdown)(struct rio_dev *dev); int (*suspend) (struct rio_dev * dev, u32 state); int (*resume) (struct rio_dev * dev); int (*enable_wake) (struct rio_dev * dev, u32 state, int enable); struct device_driver driver; }; **Members** ``node`` Node in list of drivers ``name`` RIO driver name ``id_table`` RIO device ids to be associated with this driver ``probe`` RIO device inserted ``remove`` RIO device removed ``shutdown`` shutdown notification callback ``suspend`` RIO device suspended ``resume`` RIO device awakened ``enable_wake`` RIO device enable wake event ``driver`` LDM driver structh](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj)}(hXstruct rio_driver { struct list_head node; char *name; const struct rio_device_id *id_table; int (*probe) (struct rio_dev * dev, const struct rio_device_id * id); void (*remove) (struct rio_dev * dev); void (*shutdown)(struct rio_dev *dev); int (*suspend) (struct rio_dev * dev, u32 state); int (*resume) (struct rio_dev * dev); int (*enable_wake) (struct rio_dev * dev, u32 state, int enable); struct device_driver driver; };h]hXstruct rio_driver { struct list_head node; char *name; const struct rio_device_id *id_table; int (*probe) (struct rio_dev * dev, const struct rio_device_id * id); void (*remove) (struct rio_dev * dev); void (*shutdown)(struct rio_dev *dev); int (*suspend) (struct rio_dev * dev, u32 state); int (*resume) (struct rio_dev * dev); int (*enable_wake) (struct rio_dev * dev, u32 state, int enable); struct device_driver driver; };}(hhhjubah}(h]h ]h"]h$]h&]j]j^uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubh)}(h **Members**h]j)}(hjh]hMembers}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj)}(hhh](j)}(h!``node`` Node in list of drivers h](j)}(h``node``h]j)}(hjh]hnode}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(hNode in list of driversh]hNode in list of drivers}(hj"hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h``name`` RIO driver name h](j)}(h``name``h]j)}(hj@h]hname}(hhhjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj>ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhj:ubj )}(hhh]h)}(hRIO driver nameh]hRIO driver name}(hj[hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjUhMhjVubah}(h]h ]h"]h$]h&]uh1j hj:ubeh}(h]h ]h"]h$]h&]uh1jhjUhMhjubj)}(h>``id_table`` RIO device ids to be associated with this driver h](j)}(h ``id_table``h]j)}(hjyh]hid_table}(hhhj{hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjwubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjsubj )}(hhh]h)}(h0RIO device ids to be associated with this driverh]h0RIO device ids to be associated with this driver}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjsubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h``probe`` RIO device inserted h](j)}(h ``probe``h]j)}(hjh]hprobe}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(hRIO device insertedh]hRIO device inserted}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h``remove`` RIO device removed h](j)}(h ``remove``h]j)}(hjh]hremove}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(hRIO device removedh]hRIO device removed}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h,``shutdown`` shutdown notification callback h](j)}(h ``shutdown``h]j)}(hj$h]hshutdown}(hhhj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(hshutdown notification callbackh]hshutdown notification callback}(hj?hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9hMhj:ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj9hMhjubj)}(h!``suspend`` RIO device suspended h](j)}(h ``suspend``h]j)}(hj]h]hsuspend}(hhhj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjWubj )}(hhh]h)}(hRIO device suspendedh]hRIO device suspended}(hjxhjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrhMhjsubah}(h]h ]h"]h$]h&]uh1j hjWubeh}(h]h ]h"]h$]h&]uh1jhjrhMhjubj)}(h``resume`` RIO device awakened h](j)}(h ``resume``h]j)}(hjh]hresume}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(hRIO device awakenedh]hRIO device awakened}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h-``enable_wake`` RIO device enable wake event h](j)}(h``enable_wake``h]j)}(hjh]h enable_wake}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(hRIO device enable wake eventh]hRIO device enable wake event}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h``driver`` LDM driver structh](j)}(h ``driver``h]j)}(hjh]hdriver}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(hLDM driver structh]hLDM driver struct}(hj#hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubh)}(h**Description**h]j)}(hjKh]h Description}(hhhjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjhhubh)}(hYProvides info on a RIO device driver for insertion/removal and power management purposes.h]hYProvides info on a RIO device driver for insertion/removal and power management purposes.}(hjchjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_scan (C struct) c.rio_scanhNtauh1jhjhhhNhNubj )}(hhh](j)}(hrio_scanh]j)}(hstruct rio_scanh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhM ubj?)}(hrio_scanh]jE)}(hjh]hrio_scan}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhM ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhM ubah}(h]j|ah ](jjeh"]h$]h&]juh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhj~hhubj)}(hhh]h)}(h(RIO enumeration and discovery operationsh]h(RIO enumeration and discovery operations}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM hjhhubah}(h]h ]h"]h$]h&]uh1jhj~hhhjhM ubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjuh1j hhhjhNhNubj)}(hXy**Definition**:: struct rio_scan { struct module *owner; int (*enumerate)(struct rio_mport *mport, u32 flags); int (*discover)(struct rio_mport *mport, u32 flags); }; **Members** ``owner`` The module owner of this structure ``enumerate`` Callback to perform RapidIO fabric enumeration. ``discover`` Callback to perform RapidIO fabric discovery.h](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj)}(hstruct rio_scan { struct module *owner; int (*enumerate)(struct rio_mport *mport, u32 flags); int (*discover)(struct rio_mport *mport, u32 flags); };h]hstruct rio_scan { struct module *owner; int (*enumerate)(struct rio_mport *mport, u32 flags); int (*discover)(struct rio_mport *mport, u32 flags); };}(hhhj ubah}(h]h ]h"]h$]h&]j]j^uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubh)}(h **Members**h]j)}(hjh]hMembers}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj)}(hhh](j)}(h-``owner`` The module owner of this structure h](j)}(h ``owner``h]j)}(hj9h]howner}(hhhj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM hj3ubj )}(hhh]h)}(h"The module owner of this structureh]h"The module owner of this structure}(hjThjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNhM hjOubah}(h]h ]h"]h$]h&]uh1j hj3ubeh}(h]h ]h"]h$]h&]uh1jhjNhM hj0ubj)}(h>``enumerate`` Callback to perform RapidIO fabric enumeration. h](j)}(h ``enumerate``h]j)}(hjrh]h enumerate}(hhhjthhhNhNubah}(h]h ]h"]h$]h&]uh1jhjpubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjlubj )}(hhh]h)}(h/Callback to perform RapidIO fabric enumeration.h]h/Callback to perform RapidIO fabric enumeration.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjlubeh}(h]h ]h"]h$]h&]uh1jhjhMhj0ubj)}(h:``discover`` Callback to perform RapidIO fabric discovery.h](j)}(h ``discover``h]j)}(hjh]hdiscover}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h-Callback to perform RapidIO fabric discovery.h]h-Callback to perform RapidIO fabric discovery.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj0ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_scan_node (C struct)c.rio_scan_nodehNtauh1jhjhhhNhNubj )}(hhh](j)}(h rio_scan_nodeh]j)}(hstruct rio_scan_nodeh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj?)}(h rio_scan_nodeh]jE)}(hjh]h rio_scan_node}(hhhj%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj!ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]juh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjhhubj)}(hhh]h)}(hRlist node to register RapidIO enumeration and discovery methods with RapidIO core.h]hRlist node to register RapidIO enumeration and discovery methods with RapidIO core.}(hjJhjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjEhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](jstructeh"]h$]h&]jjjj`jj`juh1j hhhjhNhNubj)}(hX8**Definition**:: struct rio_scan_node { int mport_id; struct list_head node; struct rio_scan *ops; }; **Members** ``mport_id`` ID of an mport (net) serviced by this enumerator ``node`` node in global list of registered enumerators ``ops`` RIO enumeration and discovery operationsh](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hhhjlhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhubh:}(hjhjhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjdubj)}(h`struct rio_scan_node { int mport_id; struct list_head node; struct rio_scan *ops; };h]h`struct rio_scan_node { int mport_id; struct list_head node; struct rio_scan *ops; };}(hhhjubah}(h]h ]h"]h$]h&]j]j^uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjdubh)}(h **Members**h]j)}(hjh]hMembers}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM#hjdubj)}(hhh](j)}(h>``mport_id`` ID of an mport (net) serviced by this enumerator h](j)}(h ``mport_id``h]j)}(hjh]hmport_id}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h0ID of an mport (net) serviced by this enumeratorh]h0ID of an mport (net) serviced by this enumerator}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h7``node`` node in global list of registered enumerators h](j)}(h``node``h]j)}(hjh]hnode}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubj )}(hhh]h)}(h-node in global list of registered enumeratorsh]h-node in global list of registered enumerators}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h0``ops`` RIO enumeration and discovery operationsh](j)}(h``ops``h]j)}(hj'h]hops}(hhhj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhj!ubj )}(hhh]h)}(h(RIO enumeration and discovery operationsh]h(RIO enumeration and discovery operations}(hjBhj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhj=ubah}(h]h ]h"]h$]h&]uh1j hj!ubeh}(h]h ]h"]h$]h&]uh1jhj<hMhjubeh}(h]h ]h"]h$]h&]uh1jhjdubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubeh}(h] structuresah ]h"] structuresah$]h&]uh1hhjhhhhhK=ubh)}(hhh](h)}(hEnumeration and Discoveryh]hEnumeration and Discovery}(hjuhjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjphhhhhKCubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_destid_alloc (C function)c.rio_destid_allochNtauh1jhjphhhNhNubj )}(hhh](j)}(h*u16 rio_destid_alloc (struct rio_net *net)h]j)}(h)u16 rio_destid_alloc(struct rio_net *net)h](h)}(hhh]jE)}(hu16h]hu16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jrio_destid_allocsbc.rio_destid_allocasbuh1hhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chK2ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhK2ubj?)}(hrio_destid_alloch]jE)}(hjh]hrio_destid_alloc}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhK2ubj`)}(h(struct rio_net *net)h]jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_neth]hrio_net}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]jc.rio_destid_allocasbuh1hhjubj.)}(h h]h }(hhhj(hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhj6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hneth]hnet}(hhhjChhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubah}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhK2ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhK2ubah}(h]jah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chK8hjhhubj)}(hhh]h)}(h0Allocate next available destID for given networkh]h0Allocate next available destID for given network}(hjphjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chK1hjkhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhK2ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjphNhNubj)}(h**Parameters** ``struct rio_net *net`` RIO network **Description** Returns next available device destination ID for the specified RIO network. Marks allocated ID as one in use. Returns RIO_INVALID_DESTID if new destID is not available.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chK5hjubj)}(hhh]j)}(h$``struct rio_net *net`` RIO network h](j)}(h``struct rio_net *net``h]j)}(hjh]hstruct rio_net *net}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chK2hjubj )}(hhh]h)}(h RIO networkh]h RIO network}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK2hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhK2hjubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chK4hjubh)}(hReturns next available device destination ID for the specified RIO network. Marks allocated ID as one in use. Returns RIO_INVALID_DESTID if new destID is not available.h]hReturns next available device destination ID for the specified RIO network. Marks allocated ID as one in use. Returns RIO_INVALID_DESTID if new destID is not available.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chK4hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_destid_reserve (C function)c.rio_destid_reservehNtauh1jhjphhhNhNubj )}(hhh](j)}(h8int rio_destid_reserve (struct rio_net *net, u16 destid)h]j)}(h7int rio_destid_reserve(struct rio_net *net, u16 destid)h](j)}(hinth]hint}(hhhj/hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj+hhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKLubj.)}(h h]h }(hhhj>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj+hhhj=hKLubj?)}(hrio_destid_reserveh]jE)}(hrio_destid_reserveh]hrio_destid_reserve}(hhhjPhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjLubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj+hhhj=hKLubj`)}(h!(struct rio_net *net, u16 destid)h](jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hhhjlhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhubj.)}(h h]h }(hhhjyhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhubh)}(hhh]jE)}(hrio_neth]hrio_net}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjRsbc.rio_destid_reserveasbuh1hhjhubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhubjE)}(hneth]hnet}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjhubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjdubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_destid_reserveasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdestidh]hdestid}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjdubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj+hhhj=hKLubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj'hhhj=hKLubah}(h]j"ah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKRhj$hhubj)}(hhh]h)}(hReserve the specified destIDh]hReserve the specified destID}(hj:hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKKhj5hhubah}(h]h ]h"]h$]h&]uh1jhj$hhhj=hKLubeh}(h]h ](jfunctioneh"]h$]h&]jjjjPjjPjuh1j hhhjphNhNubj)}(h**Parameters** ``struct rio_net *net`` RIO network ``u16 destid`` destID to reserve **Description** Tries to reserve the specified destID. Returns 0 if successful.h](h)}(h**Parameters**h]j)}(hjZh]h Parameters}(hhhj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKOhjTubj)}(hhh](j)}(h$``struct rio_net *net`` RIO network h](j)}(h``struct rio_net *net``h]j)}(hjyh]hstruct rio_net *net}(hhhj{hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjwubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKLhjsubj )}(hhh]h)}(h RIO networkh]h RIO network}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKLhjubah}(h]h ]h"]h$]h&]uh1j hjsubeh}(h]h ]h"]h$]h&]uh1jhjhKLhjpubj)}(h!``u16 destid`` destID to reserve h](j)}(h``u16 destid``h]j)}(hjh]h u16 destid}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKMhjubj )}(hhh]h)}(hdestID to reserveh]hdestID to reserve}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKMhjpubeh}(h]h ]h"]h$]h&]uh1jhjTubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKOhjTubh)}(h?Tries to reserve the specified destID. Returns 0 if successful.h]h?Tries to reserve the specified destID. Returns 0 if successful.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKOhjTubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_destid_free (C function)c.rio_destid_freehNtauh1jhjphhhNhNubj )}(hhh](j)}(h6void rio_destid_free (struct rio_net *net, u16 destid)h]j)}(h5void rio_destid_free(struct rio_net *net, u16 destid)h](j)}(hvoidh]hvoid}(hhhj2hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj.hhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chK`ubj.)}(h h]h }(hhhjAhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj.hhhj@hK`ubj?)}(hrio_destid_freeh]jE)}(hrio_destid_freeh]hrio_destid_free}(hhhjShhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjOubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj.hhhj@hK`ubj`)}(h!(struct rio_net *net, u16 destid)h](jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hhhjohhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjkubj.)}(h h]h }(hhhj|hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjkubh)}(hhh]jE)}(hrio_neth]hrio_net}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjUsbc.rio_destid_freeasbuh1hhjkubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjkubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjkubjE)}(hneth]hnet}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjkubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjgubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_destid_freeasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdestidh]hdestid}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjgubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj.hhhj@hK`ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj*hhhj@hK`ubah}(h]j%ah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKehj'hhubj)}(hhh]h)}(h"free a previously allocated destIDh]h"free a previously allocated destID}(hj=hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chK_hj8hhubah}(h]h ]h"]h$]h&]uh1jhj'hhhj@hK`ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjSjjSjuh1j hhhjphNhNubj)}(h**Parameters** ``struct rio_net *net`` RIO network ``u16 destid`` destID to free **Description** Makes the specified destID available for use.h](h)}(h**Parameters**h]j)}(hj]h]h Parameters}(hhhj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKchjWubj)}(hhh](j)}(h$``struct rio_net *net`` RIO network h](j)}(h``struct rio_net *net``h]j)}(hj|h]hstruct rio_net *net}(hhhj~hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjzubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chK`hjvubj )}(hhh]h)}(h RIO networkh]h RIO network}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK`hjubah}(h]h ]h"]h$]h&]uh1j hjvubeh}(h]h ]h"]h$]h&]uh1jhjhK`hjsubj)}(h``u16 destid`` destID to free h](j)}(h``u16 destid``h]j)}(hjh]h u16 destid}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKahjubj )}(hhh]h)}(hdestID to freeh]hdestID to free}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKahjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKahjsubeh}(h]h ]h"]h$]h&]uh1jhjWubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKchjWubh)}(h-Makes the specified destID available for use.h]h-Makes the specified destID available for use.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKchjWubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_destid_first (C function)c.rio_destid_firsthNtauh1jhjphhhNhNubj )}(hhh](j)}(h*u16 rio_destid_first (struct rio_net *net)h]j)}(h)u16 rio_destid_first(struct rio_net *net)h](h)}(hhh]jE)}(hu16h]hu16}(hhhj8hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj5ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj:modnameN classnameNjj)}j]j)}jrio_destid_firstsbc.rio_destid_firstasbuh1hhj1hhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKqubj.)}(h h]h }(hhhjZhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj1hhhjYhKqubj?)}(hrio_destid_firsth]jE)}(hjVh]hrio_destid_first}(hhhjlhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjhubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj1hhhjYhKqubj`)}(h(struct rio_net *net)h]jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_neth]hrio_net}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jTc.rio_destid_firstasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hneth]hnet}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubah}(h]h ]h"]h$]h&]j]j^uh1j_hj1hhhjYhKqubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj-hhhjYhKqubah}(h]j(ah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKshj*hhubj)}(hhh]h)}(hreturn first destID in useh]hreturn first destID in use}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKphjhhubah}(h]h ]h"]h$]h&]uh1jhj*hhhjYhKqubeh}(h]h ](jfunctioneh"]h$]h&]jjjj!jj!juh1j hhhjphNhNubj)}(h5**Parameters** ``struct rio_net *net`` RIO networkh](h)}(h**Parameters**h]j)}(hj+h]h Parameters}(hhhj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKthj%ubj)}(hhh]j)}(h#``struct rio_net *net`` RIO networkh](j)}(h``struct rio_net *net``h]j)}(hjJh]hstruct rio_net *net}(hhhjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjHubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKvhjDubj )}(hhh]h)}(h RIO networkh]h RIO network}(hjehjchhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKqhj`ubah}(h]h ]h"]h$]h&]uh1j hjDubeh}(h]h ]h"]h$]h&]uh1jhj_hKvhjAubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_destid_next (C function)c.rio_destid_nexthNtauh1jhjphhhNhNubj )}(hhh](j)}(h3u16 rio_destid_next (struct rio_net *net, u16 from)h]j)}(h2u16 rio_destid_next(struct rio_net *net, u16 from)h](h)}(hhh]jE)}(hu16h]hu16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jrio_destid_nextsbc.rio_destid_nextasbuh1hhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKubj?)}(hrio_destid_nexth]jE)}(hjh]hrio_destid_next}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhKubj`)}(h(struct rio_net *net, u16 from)h](jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_neth]hrio_net}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_destid_nextasbuh1hhjubj.)}(h h]h }(hhhj2hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhj@hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hneth]hnet}(hhhjMhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hu16 fromh](h)}(hhh]jE)}(hu16h]hu16}(hhhjihhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjfubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjkmodnameN classnameNjj)}j]jc.rio_destid_nextasbuh1hhjbubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjbubjE)}(hfromh]hfrom}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjbubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjhhubj)}(hhh]h)}(hreturn next destID in useh]hreturn next destID in use}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjphNhNubj)}(hu**Parameters** ``struct rio_net *net`` RIO network ``u16 from`` destination ID from which search shall continueh](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjubj)}(hhh](j)}(h$``struct rio_net *net`` RIO network h](j)}(h``struct rio_net *net``h]j)}(hjh]hstruct rio_net *net}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjubj )}(hhh]h)}(h RIO networkh]h RIO network}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h<``u16 from`` destination ID from which search shall continueh](j)}(h ``u16 from``h]j)}(hj:h]hu16 from}(hhhj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8ubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhj4ubj )}(hhh]h)}(h/destination ID from which search shall continueh]h/destination ID from which search shall continue}(hjUhjShhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjPubah}(h]h ]h"]h$]h&]uh1j hj4ubeh}(h]h ]h"]h$]h&]uh1jhjOhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_get_device_id (C function)c.rio_get_device_idhNtauh1jhjphhhNhNubj )}(hhh](j)}(hGu16 rio_get_device_id (struct rio_mport *port, u16 destid, u8 hopcount)h]j)}(hFu16 rio_get_device_id(struct rio_mport *port, u16 destid, u8 hopcount)h](h)}(hhh]jE)}(hu16h]hu16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jrio_get_device_idsbc.rio_get_device_idasbuh1hhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKubj?)}(hrio_get_device_idh]jE)}(hjh]hrio_get_device_id}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhKubj`)}(h1(struct rio_mport *port, u16 destid, u8 hopcount)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_get_device_idasbuh1hhjubj.)}(h h]h }(hhhj"hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhj0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hporth]hport}(hhhj=hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjYhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjVubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj[modnameN classnameNjj)}j]jc.rio_get_device_idasbuh1hhjRubj.)}(h h]h }(hhhjwhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjRubjE)}(hdestidh]hdestid}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjRubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_get_device_idasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjhhubj)}(hhh]h)}(h,Get the base/extended device id for a deviceh]h,Get the base/extended device id for a device}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjphNhNubj)}(h**Parameters** ``struct rio_mport *port`` RIO master port ``u16 destid`` Destination ID of device ``u8 hopcount`` Hopcount to device **Description** Reads the base/extended device id from a device. Returns the 8/16-bit device ID.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjubj)}(hhh](j)}(h+``struct rio_mport *port`` RIO master port h](j)}(h``struct rio_mport *port``h]j)}(hj9h]hstruct rio_mport *port}(hhhj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhj3ubj )}(hhh]h)}(hRIO master porth]hRIO master port}(hjThjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNhKhjOubah}(h]h ]h"]h$]h&]uh1j hj3ubeh}(h]h ]h"]h$]h&]uh1jhjNhKhj0ubj)}(h(``u16 destid`` Destination ID of device h](j)}(h``u16 destid``h]j)}(hjrh]h u16 destid}(hhhjthhhNhNubah}(h]h ]h"]h$]h&]uh1jhjpubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjlubj )}(hhh]h)}(hDestination ID of deviceh]hDestination ID of device}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjlubeh}(h]h ]h"]h$]h&]uh1jhjhKhj0ubj)}(h#``u8 hopcount`` Hopcount to device h](j)}(h``u8 hopcount``h]j)}(hjh]h u8 hopcount}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjubj )}(hhh]h)}(hHopcount to deviceh]hHopcount to device}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj0ubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjubh)}(hPReads the base/extended device id from a device. Returns the 8/16-bit device ID.h]hPReads the base/extended device id from a device. Returns the 8/16-bit device ID.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_set_device_id (C function)c.rio_set_device_idhNtauh1jhjphhhNhNubj )}(hhh](j)}(hQvoid rio_set_device_id (struct rio_mport *port, u16 destid, u8 hopcount, u16 did)h]j)}(hPvoid rio_set_device_id(struct rio_mport *port, u16 destid, u8 hopcount, u16 did)h](j)}(hvoidh]hvoid}(hhhj+hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj'hhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKubj.)}(h h]h }(hhhj:hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj'hhhj9hKubj?)}(hrio_set_device_idh]jE)}(hrio_set_device_idh]hrio_set_device_id}(hhhjLhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjHubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj'hhhj9hKubj`)}(h:(struct rio_mport *port, u16 destid, u8 hopcount, u16 did)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhjhhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjdubj.)}(h h]h }(hhhjuhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjdubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjNsbc.rio_set_device_idasbuh1hhjdubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjdubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjdubjE)}(hporth]hport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjdubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj`ubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_set_device_idasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdestidh]hdestid}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj`ubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhj%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj"ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj'modnameN classnameNjj)}j]jc.rio_set_device_idasbuh1hhjubj.)}(h h]h }(hhhjChhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hhhjQhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj`ubjf)}(hu16 didh](h)}(hhh]jE)}(hu16h]hu16}(hhhjmhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjomodnameN classnameNjj)}j]jc.rio_set_device_idasbuh1hhjfubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjfubjE)}(hdidh]hdid}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjfubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj`ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj'hhhj9hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj#hhhj9hKubah}(h]jah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhj hhubj)}(hhh]h)}(h,Set the base/extended device id for a deviceh]h,Set the base/extended device id for a device}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjhhubah}(h]h ]h"]h$]h&]uh1jhj hhhj9hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjphNhNubj)}(h**Parameters** ``struct rio_mport *port`` RIO master port ``u16 destid`` Destination ID of device ``u8 hopcount`` Hopcount to device ``u16 did`` Device ID value to be written **Description** Writes the base/extended device id from a device.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjubj)}(hhh](j)}(h+``struct rio_mport *port`` RIO master port h](j)}(h``struct rio_mport *port``h]j)}(hjh]hstruct rio_mport *port}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjubj )}(hhh]h)}(hRIO master porth]hRIO master port}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h(``u16 destid`` Destination ID of device h](j)}(h``u16 destid``h]j)}(hj>h]h u16 destid}(hhhj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhj8ubj )}(hhh]h)}(hDestination ID of deviceh]hDestination ID of device}(hjYhjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjShKhjTubah}(h]h ]h"]h$]h&]uh1j hj8ubeh}(h]h ]h"]h$]h&]uh1jhjShKhjubj)}(h#``u8 hopcount`` Hopcount to device h](j)}(h``u8 hopcount``h]j)}(hjwh]h u8 hopcount}(hhhjyhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjuubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjqubj )}(hhh]h)}(hHopcount to deviceh]hHopcount to device}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjqubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h*``u16 did`` Device ID value to be written h](j)}(h ``u16 did``h]j)}(hjh]hu16 did}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjubj )}(hhh]h)}(hDevice ID value to be writtenh]hDevice ID value to be written}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjubh)}(h1Writes the base/extended device id from a device.h]h1Writes the base/extended device id from a device.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_clear_locks (C function)c.rio_clear_lockshNtauh1jhjphhhNhNubj )}(hhh](j)}(h)int rio_clear_locks (struct rio_net *net)h]j)}(h(int rio_clear_locks(struct rio_net *net)h](j)}(hinth]hint}(hhhj0hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj,hhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKubj.)}(h h]h }(hhhj?hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,hhhj>hKubj?)}(hrio_clear_locksh]jE)}(hrio_clear_locksh]hrio_clear_locks}(hhhjQhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjMubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj,hhhj>hKubj`)}(h(struct rio_net *net)h]jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hhhjmhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjiubj.)}(h h]h }(hhhjzhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjiubh)}(hhh]jE)}(hrio_neth]hrio_net}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjSsbc.rio_clear_locksasbuh1hhjiubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjiubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjiubjE)}(hneth]hnet}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjiubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjeubah}(h]h ]h"]h$]h&]j]j^uh1j_hj,hhhj>hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj(hhhj>hKubah}(h]j#ah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhj%hhubj)}(hhh]h)}(h6Release all host locks and signal enumeration completeh]h6Release all host locks and signal enumeration complete}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjhhubah}(h]h ]h"]h$]h&]uh1jhj%hhhj>hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj jj juh1j hhhjphNhNubj)}(hX**Parameters** ``struct rio_net *net`` RIO network to run on **Description** Marks the component tag CSR on each device with the enumeration complete flag. When complete, it then release the host locks on each device. Returns 0 on success or ``-EINVAL`` on failure.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhj ubj)}(hhh]j)}(h.``struct rio_net *net`` RIO network to run on h](j)}(h``struct rio_net *net``h]j)}(hj2h]hstruct rio_net *net}(hhhj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhj,ubj )}(hhh]h)}(hRIO network to run onh]hRIO network to run on}(hjMhjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGhKhjHubah}(h]h ]h"]h$]h&]uh1j hj,ubeh}(h]h ]h"]h$]h&]uh1jhjGhKhj)ubah}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]j)}(hjmh]h Description}(hhhjohhhNhNubah}(h]h ]h"]h$]h&]uh1jhjkubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhj ubh)}(hMarks the component tag CSR on each device with the enumeration complete flag. When complete, it then release the host locks on each device. Returns 0 on success or ``-EINVAL`` on failure.h](hMarks the component tag CSR on each device with the enumeration complete flag. When complete, it then release the host locks on each device. Returns 0 on success or }(hMarks the component tag CSR on each device with the enumeration complete flag. When complete, it then release the host locks on each device. Returns 0 on success or hjhhhNhNubj)}(h ``-EINVAL``h]h-EINVAL}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh on failure.}(h on failure.hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_enum_host (C function)c.rio_enum_hosthNtauh1jhjphhhNhNubj )}(hhh](j)}(h*int rio_enum_host (struct rio_mport *port)h]j)}(h)int rio_enum_host(struct rio_mport *port)h](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKubj?)}(h rio_enum_hosth]jE)}(h rio_enum_hosth]h rio_enum_host}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhKubj`)}(h(struct rio_mport *port)h]jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj!hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj#modnameN classnameNjj)}j]j)}jjsbc.rio_enum_hostasbuh1hhjubj.)}(h h]h }(hhhjAhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjOhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hporth]hport}(hhhj\hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubah}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjhhubj)}(hhh]h)}(h0Set host lock and initialize host destination IDh]h0Set host lock and initialize host destination ID}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjphNhNubj)}(hX$**Parameters** ``struct rio_mport *port`` Master port to issue transaction **Description** Sets the local host master port lock and destination ID register with the host device ID value. The host device ID value is provided by the platform. Returns ``0`` on success or ``-1`` on failure.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjubj)}(hhh]j)}(h<``struct rio_mport *port`` Master port to issue transaction h](j)}(h``struct rio_mport *port``h]j)}(hjh]hstruct rio_mport *port}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjubj )}(hhh]h)}(h Master port to issue transactionh]h Master port to issue transaction}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjubh)}(hSets the local host master port lock and destination ID register with the host device ID value. The host device ID value is provided by the platform. Returns ``0`` on success or ``-1`` on failure.h](hSets the local host master port lock and destination ID register with the host device ID value. The host device ID value is provided by the platform. Returns }(hSets the local host master port lock and destination ID register with the host device ID value. The host device ID value is provided by the platform. Returns hjhhhNhNubj)}(h``0``h]h0}(hhhj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh on success or }(h on success or hjhhhNhNubj)}(h``-1``h]h-1}(hhhj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh on failure.}(h on failure.hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"rio_device_has_destid (C function)c.rio_device_has_destidhNtauh1jhjphhhNhNubj )}(hhh](j)}(hLint rio_device_has_destid (struct rio_mport *port, int src_ops, int dst_ops)h]j)}(hKint rio_device_has_destid(struct rio_mport *port, int src_ops, int dst_ops)h](j)}(hinth]hint}(hhhjohhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjkhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMubj.)}(h h]h }(hhhj~hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjkhhhj}hMubj?)}(hrio_device_has_destidh]jE)}(hrio_device_has_destidh]hrio_device_has_destid}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjkhhhj}hMubj`)}(h2(struct rio_mport *port, int src_ops, int dst_ops)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_device_has_destidasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hporth]hport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h int src_opsh](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hhhj,hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hsrc_opsh]hsrc_ops}(hhhj:hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h int dst_opsh](j)}(hinth]hint}(hhhjShhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjOubj.)}(h h]h }(hhhjahhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjOubjE)}(hdst_opsh]hdst_ops}(hhhjohhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjOubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjkhhhj}hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjghhhj}hMubah}(h]jbah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM hjdhhubj)}(hhh]h)}(h3Test if a device contains a destination ID registerh]h3Test if a device contains a destination ID register}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjdhhhj}hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjphNhNubj)}(hX**Parameters** ``struct rio_mport *port`` Master port to issue transaction ``int src_ops`` RIO device source operations ``int dst_ops`` RIO device destination operations **Description** Checks the provided **src_ops** and **dst_ops** for the necessary transaction capabilities that indicate whether or not a device will implement a destination ID register. Returns 1 if true or 0 if false.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj)}(hhh](j)}(h<``struct rio_mport *port`` Master port to issue transaction h](j)}(h``struct rio_mport *port``h]j)}(hjh]hstruct rio_mport *port}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj )}(hhh]h)}(h Master port to issue transactionh]h Master port to issue transaction}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h-``int src_ops`` RIO device source operations h](j)}(h``int src_ops``h]j)}(hjh]h int src_ops}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj )}(hhh]h)}(hRIO device source operationsh]hRIO device source operations}(hj/hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)hMhj*ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj)hMhjubj)}(h2``int dst_ops`` RIO device destination operations h](j)}(h``int dst_ops``h]j)}(hjMh]h int dst_ops}(hhhjOhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjKubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjGubj )}(hhh]h)}(h!RIO device destination operationsh]h!RIO device destination operations}(hjhhjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbhMhjcubah}(h]h ]h"]h$]h&]uh1j hjGubeh}(h]h ]h"]h$]h&]uh1jhjbhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubh)}(hChecks the provided **src_ops** and **dst_ops** for the necessary transaction capabilities that indicate whether or not a device will implement a destination ID register. Returns 1 if true or 0 if false.h](hChecks the provided }(hChecks the provided hjhhhNhNubj)}(h **src_ops**h]hsrc_ops}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and }(h and hjhhhNhNubj)}(h **dst_ops**h]hdst_ops}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh for the necessary transaction capabilities that indicate whether or not a device will implement a destination ID register. Returns 1 if true or 0 if false.}(h for the necessary transaction capabilities that indicate whether or not a device will implement a destination ID register. Returns 1 if true or 0 if false.hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_release_dev (C function)c.rio_release_devhNtauh1jhjphhhNhNubj )}(hhh](j)}(h)void rio_release_dev (struct device *dev)h]j)}(h(void rio_release_dev(struct device *dev)h](j)}(hvoidh]hvoid}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj?)}(hrio_release_devh]jE)}(hrio_release_devh]hrio_release_dev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubj`)}(h(struct device *dev)h]jf)}(hstruct device *devh](jl)}(hjoh]hstruct}(hhhj1hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj-ubj.)}(h h]h }(hhhj>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj-ubh)}(hhh]jE)}(hdeviceh]hdevice}(hhhjOhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjLubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjQmodnameN classnameNjj)}j]j)}jjsbc.rio_release_devasbuh1hhj-ubj.)}(h h]h }(hhhjohhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj-ubj)}(hjh]h*}(hhhj}hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj-ubjE)}(hdevh]hdev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj-ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj)ubah}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjhhubj)}(hhh]h)}(hFrees a RIO device structh]hFrees a RIO device struct}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjphNhNubj)}(h**Parameters** ``struct device *dev`` LDM device associated with a RIO device struct **Description** Gets the RIO device struct associated a RIO device struct. The RIO device struct is freed.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj)}(hhh]j)}(hF``struct device *dev`` LDM device associated with a RIO device struct h](j)}(h``struct device *dev``h]j)}(hjh]hstruct device *dev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj )}(hhh]h)}(h.LDM device associated with a RIO device structh]h.LDM device associated with a RIO device struct}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj hMhjubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hj1h]h Description}(hhhj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubh)}(hZGets the RIO device struct associated a RIO device struct. The RIO device struct is freed.h]hZGets the RIO device struct associated a RIO device struct. The RIO device struct is freed.}(hjIhjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_is_switch (C function)c.rio_is_switchhNtauh1jhjphhhNhNubj )}(hhh](j)}(h(int rio_is_switch (struct rio_dev *rdev)h]j)}(h'int rio_is_switch(struct rio_dev *rdev)h](j)}(hinth]hint}(hhhjvhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjrhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM$ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjrhhhjhM$ubj?)}(h rio_is_switchh]jE)}(h rio_is_switchh]h rio_is_switch}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjrhhhjhM$ubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_is_switchasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubah}(h]h ]h"]h$]h&]j]j^uh1j_hjrhhhjhM$ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjnhhhjhM$ubah}(h]jiah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM+hjkhhubj)}(hhh]h)}(h-Tests if a RIO device has switch capabilitiesh]h-Tests if a RIO device has switch capabilities}(hj9hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM#hj4hhubah}(h]h ]h"]h$]h&]uh1jhjkhhhjhM$ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjOjjOjuh1j hhhjphNhNubj)}(hX **Parameters** ``struct rio_dev *rdev`` RIO device **Description** Gets the RIO device Processing Element Features register contents and tests for switch capabilities. Returns 1 if the device is a switch or 0 if it is not a switch. The RIO device struct is freed.h](h)}(h**Parameters**h]j)}(hjYh]h Parameters}(hhhj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM'hjSubj)}(hhh]j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hjxh]hstruct rio_dev *rdev}(hhhjzhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjvubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM$hjrubj )}(hhh]h)}(h RIO deviceh]h RIO device}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM$hjubah}(h]h ]h"]h$]h&]uh1j hjrubeh}(h]h ]h"]h$]h&]uh1jhjhM$hjoubah}(h]h ]h"]h$]h&]uh1jhjSubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM&hjSubh)}(hGets the RIO device Processing Element Features register contents and tests for switch capabilities. Returns 1 if the device is a switch or 0 if it is not a switch. The RIO device struct is freed.h]hGets the RIO device Processing Element Features register contents and tests for switch capabilities. Returns 1 if the device is a switch or 0 if it is not a switch. The RIO device struct is freed.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM&hjSubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_setup_device (C function)c.rio_setup_devicehNtauh1jhjphhhNhNubj )}(hhh](j)}(hustruct rio_dev * rio_setup_device (struct rio_net *net, struct rio_mport *port, u16 destid, u8 hopcount, int do_enum)h]j)}(hsstruct rio_dev *rio_setup_device(struct rio_net *net, struct rio_mport *port, u16 destid, u8 hopcount, int do_enum)h](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM4ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhM4ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jrio_setup_devicesbc.rio_setup_deviceasbuh1hhjhhhjhM4ubj.)}(h h]h }(hhhj8hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhM4ubj)}(hjh]h*}(hhhjFhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhM4ubj?)}(hrio_setup_deviceh]jE)}(hj5h]hrio_setup_device}(hhhjWhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjSubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhM4ubj`)}(hS(struct rio_net *net, struct rio_mport *port, u16 destid, u8 hopcount, int do_enum)h](jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hhhjrhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjnubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjnubh)}(hhh]jE)}(hrio_neth]hrio_net}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j3c.rio_setup_deviceasbuh1hhjnubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjnubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjnubjE)}(hneth]hnet}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjnubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjjubjf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j3c.rio_setup_deviceasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhj,hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hporth]hport}(hhhj9hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjUhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjRubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjWmodnameN classnameNjj)}j]j3c.rio_setup_deviceasbuh1hhjNubj.)}(h h]h }(hhhjshhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjNubjE)}(hdestidh]hdestid}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjNubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjjubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j3c.rio_setup_deviceasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjjubjf)}(h int do_enumh](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdo_enumh]hdo_enum}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhM4ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhM4ubah}(h]jah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMBhjhhubj)}(hhh]h)}(h"Allocates and sets up a RIO deviceh]h"Allocates and sets up a RIO device}(hj+hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM3hj&hhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhM4ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjAjjAjuh1j hhhjphNhNubj)}(hX**Parameters** ``struct rio_net *net`` RIO network ``struct rio_mport *port`` Master port to send transactions ``u16 destid`` Current destination ID ``u8 hopcount`` Current hopcount ``int do_enum`` Enumeration/Discovery mode flag **Description** Allocates a RIO device and configures fields based on configuration space contents. If device has a destination ID register, a destination ID is either assigned in enumeration mode or read from configuration space in discovery mode. If the device has switch capabilities, then a switch is allocated and configured appropriately. Returns a pointer to a RIO device on success or NULL on failure.h](h)}(h**Parameters**h]j)}(hjKh]h Parameters}(hhhjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM7hjEubj)}(hhh](j)}(h$``struct rio_net *net`` RIO network h](j)}(h``struct rio_net *net``h]j)}(hjjh]hstruct rio_net *net}(hhhjlhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM4hjdubj )}(hhh]h)}(h RIO networkh]h RIO network}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM4hjubah}(h]h ]h"]h$]h&]uh1j hjdubeh}(h]h ]h"]h$]h&]uh1jhjhM4hjaubj)}(h<``struct rio_mport *port`` Master port to send transactions h](j)}(h``struct rio_mport *port``h]j)}(hjh]hstruct rio_mport *port}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM5hjubj )}(hhh]h)}(h Master port to send transactionsh]h Master port to send transactions}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM5hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM5hjaubj)}(h&``u16 destid`` Current destination ID h](j)}(h``u16 destid``h]j)}(hjh]h u16 destid}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM6hjubj )}(hhh]h)}(hCurrent destination IDh]hCurrent destination ID}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM6hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM6hjaubj)}(h!``u8 hopcount`` Current hopcount h](j)}(h``u8 hopcount``h]j)}(hjh]h u8 hopcount}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM7hjubj )}(hhh]h)}(hCurrent hopcounth]hCurrent hopcount}(hj0hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*hM7hj+ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj*hM7hjaubj)}(h0``int do_enum`` Enumeration/Discovery mode flag h](j)}(h``int do_enum``h]j)}(hjNh]h int do_enum}(hhhjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjLubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM8hjHubj )}(hhh]h)}(hEnumeration/Discovery mode flagh]hEnumeration/Discovery mode flag}(hjihjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjchM8hjdubah}(h]h ]h"]h$]h&]uh1j hjHubeh}(h]h ]h"]h$]h&]uh1jhjchM8hjaubeh}(h]h ]h"]h$]h&]uh1jhjEubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM:hjEubh)}(hXAllocates a RIO device and configures fields based on configuration space contents. If device has a destination ID register, a destination ID is either assigned in enumeration mode or read from configuration space in discovery mode. If the device has switch capabilities, then a switch is allocated and configured appropriately. Returns a pointer to a RIO device on success or NULL on failure.h]hXAllocates a RIO device and configures fields based on configuration space contents. If device has a destination ID register, a destination ID is either assigned in enumeration mode or read from configuration space in discovery mode. If the device has switch capabilities, then a switch is allocated and configured appropriately. Returns a pointer to a RIO device on success or NULL on failure.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM:hjEubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j rio_sport_is_active (C function)c.rio_sport_is_activehNtauh1jhjphhhNhNubj )}(hhh](j)}(h6int rio_sport_is_active (struct rio_dev *rdev, int sp)h]j)}(h5int rio_sport_is_active(struct rio_dev *rdev, int sp)h](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj?)}(hrio_sport_is_activeh]jE)}(hrio_sport_is_activeh]hrio_sport_is_active}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubj`)}(h(struct rio_dev *rdev, int sp)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhj hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhj)hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj&ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj+modnameN classnameNjj)}j]j)}jjsbc.rio_sport_is_activeasbuh1hhjubj.)}(h h]h }(hhhjIhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjWhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hhhjdhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hint sph](j)}(hinth]hint}(hhhj}hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjyubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjyubjE)}(hsph]hsp}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjyubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjhhubj)}(hhh]h)}(h0Tests if a switch port has an active connection.h]h0Tests if a switch port has an active connection.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjphNhNubj)}(hX7**Parameters** ``struct rio_dev *rdev`` RapidIO device object ``int sp`` Switch port number **Description** Reads the port error status CSR for a particular switch port to determine if the port has an active link. Returns ``RIO_PORT_N_ERR_STS_PORT_OK`` if the port is active or ``0`` if it is inactive.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj)}(hhh](j)}(h/``struct rio_dev *rdev`` RapidIO device object h](j)}(h``struct rio_dev *rdev``h]j)}(hjh]hstruct rio_dev *rdev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj )}(hhh]h)}(hRapidIO device objecth]hRapidIO device object}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h``int sp`` Switch port number h](j)}(h ``int sp``h]j)}(hj>h]hint sp}(hhhj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj8ubj )}(hhh]h)}(hSwitch port numberh]hSwitch port number}(hjYhjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjShMhjTubah}(h]h ]h"]h$]h&]uh1j hj8ubeh}(h]h ]h"]h$]h&]uh1jhjShMhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjyh]h Description}(hhhj{hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjwubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubh)}(hReads the port error status CSR for a particular switch port to determine if the port has an active link. Returns ``RIO_PORT_N_ERR_STS_PORT_OK`` if the port is active or ``0`` if it is inactive.h](hsReads the port error status CSR for a particular switch port to determine if the port has an active link. Returns }(hsReads the port error status CSR for a particular switch port to determine if the port has an active link. Returns hjhhhNhNubj)}(h``RIO_PORT_N_ERR_STS_PORT_OK``h]hRIO_PORT_N_ERR_STS_PORT_OK}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh if the port is active or }(h if the port is active or hjhhhNhNubj)}(h``0``h]h0}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh if it is inactive.}(h if it is inactive.hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j'rio_get_host_deviceid_lock (C function)c.rio_get_host_deviceid_lockhNtauh1jhjphhhNhNubj )}(hhh](j)}(hDu16 rio_get_host_deviceid_lock (struct rio_mport *port, u8 hopcount)h]j)}(hCu16 rio_get_host_deviceid_lock(struct rio_mport *port, u8 hopcount)h](h)}(hhh]jE)}(hu16h]hu16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jrio_get_host_deviceid_locksbc.rio_get_host_deviceid_lockasbuh1hhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj hMubj?)}(hrio_get_host_deviceid_lockh]jE)}(hjh]hrio_get_host_deviceid_lock}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhj hMubj`)}(h%(struct rio_mport *port, u8 hopcount)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhj7hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj3ubj.)}(h h]h }(hhhjDhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj3ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjUhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjRubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjWmodnameN classnameNjj)}j]jc.rio_get_host_deviceid_lockasbuh1hhj3ubj.)}(h h]h }(hhhjshhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj3ubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj3ubjE)}(hporth]hport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj3ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj/ubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_get_host_deviceid_lockasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj/ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhj hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhj hMubah}(h]jah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjhhubj)}(hhh]h)}(h-Reads the Host Device ID Lock CSR on a deviceh]h-Reads the Host Device ID Lock CSR on a device}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhj hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjphNhNubj)}(hX**Parameters** ``struct rio_mport *port`` Master port to send transaction ``u8 hopcount`` Number of hops to the device **Description** Used during enumeration to read the Host Device ID Lock CSR on a RIO device. Returns the value of the lock register.h](h)}(h**Parameters**h]j)}(hj#h]h Parameters}(hhhj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj!ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj)}(hhh](j)}(h;``struct rio_mport *port`` Master port to send transaction h](j)}(h``struct rio_mport *port``h]j)}(hjBh]hstruct rio_mport *port}(hhhjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@ubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj<ubj )}(hhh]h)}(hMaster port to send transactionh]hMaster port to send transaction}(hj]hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWhMhjXubah}(h]h ]h"]h$]h&]uh1j hj<ubeh}(h]h ]h"]h$]h&]uh1jhjWhMhj9ubj)}(h-``u8 hopcount`` Number of hops to the device h](j)}(h``u8 hopcount``h]j)}(hj{h]h u8 hopcount}(hhhj}hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjuubj )}(hhh]h)}(hNumber of hops to the deviceh]hNumber of hops to the device}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjuubeh}(h]h ]h"]h$]h&]uh1jhjhMhj9ubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubh)}(htUsed during enumeration to read the Host Device ID Lock CSR on a RIO device. Returns the value of the lock register.h]htUsed during enumeration to read the Host Device ID Lock CSR on a RIO device. Returns the value of the lock register.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_enum_peer (C function)c.rio_enum_peerhNtauh1jhjphhhNhNubj )}(hhh](j)}(hqint rio_enum_peer (struct rio_net *net, struct rio_mport *port, u8 hopcount, struct rio_dev *prev, int prev_port)h]j)}(hpint rio_enum_peer(struct rio_net *net, struct rio_mport *port, u8 hopcount, struct rio_dev *prev, int prev_port)h](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj hMubj?)}(h rio_enum_peerh]jE)}(h rio_enum_peerh]h rio_enum_peer}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhj hMubj`)}(h_(struct rio_net *net, struct rio_mport *port, u8 hopcount, struct rio_dev *prev, int prev_port)h](jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hhhj8hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj4ubj.)}(h h]h }(hhhjEhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj4ubh)}(hhh]jE)}(hrio_neth]hrio_net}(hhhjVhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjSubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjXmodnameN classnameNjj)}j]j)}jjsbc.rio_enum_peerasbuh1hhj4ubj.)}(h h]h }(hhhjvhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj4ubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj4ubjE)}(hneth]hnet}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj4ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj0ubjf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jrc.rio_enum_peerasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hporth]hport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj0ubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jrc.rio_enum_peerasbuh1hhjubj.)}(h h]h }(hhhj;hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hhhjIhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj0ubjf)}(hstruct rio_dev *prevh](jl)}(hjoh]hstruct}(hhhjbhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj^ubj.)}(h h]h }(hhhjohhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj^ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj}ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jrc.rio_enum_peerasbuh1hhj^ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj^ubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj^ubjE)}(hprevh]hprev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj^ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj0ubjf)}(h int prev_porth](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(h prev_porth]h prev_port}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj0ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhj hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhj hMubah}(h]jah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjhhubj)}(hhh]h)}(h9Recursively enumerate a RIO network through a master porth]h9Recursively enumerate a RIO network through a master port}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhj hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj1jj1juh1j hhhjphNhNubj)}(hX**Parameters** ``struct rio_net *net`` RIO network being enumerated ``struct rio_mport *port`` Master port to send transactions ``u8 hopcount`` Number of hops into the network ``struct rio_dev *prev`` Previous RIO device connected to the enumerated one ``int prev_port`` Port on previous RIO device **Description** Recursively enumerates a RIO network. Transactions are sent via the master port passed in **port**.h](h)}(h**Parameters**h]j)}(hj;h]h Parameters}(hhhj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj5ubj)}(hhh](j)}(h5``struct rio_net *net`` RIO network being enumerated h](j)}(h``struct rio_net *net``h]j)}(hjZh]hstruct rio_net *net}(hhhj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjTubj )}(hhh]h)}(hRIO network being enumeratedh]hRIO network being enumerated}(hjuhjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjohMhjpubah}(h]h ]h"]h$]h&]uh1j hjTubeh}(h]h ]h"]h$]h&]uh1jhjohMhjQubj)}(h<``struct rio_mport *port`` Master port to send transactions h](j)}(h``struct rio_mport *port``h]j)}(hjh]hstruct rio_mport *port}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj )}(hhh]h)}(h Master port to send transactionsh]h Master port to send transactions}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjQubj)}(h0``u8 hopcount`` Number of hops into the network h](j)}(h``u8 hopcount``h]j)}(hjh]h u8 hopcount}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj )}(hhh]h)}(hNumber of hops into the networkh]hNumber of hops into the network}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjQubj)}(hM``struct rio_dev *prev`` Previous RIO device connected to the enumerated one h](j)}(h``struct rio_dev *prev``h]j)}(hjh]hstruct rio_dev *prev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj )}(hhh]h)}(h3Previous RIO device connected to the enumerated oneh]h3Previous RIO device connected to the enumerated one}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjQubj)}(h.``int prev_port`` Port on previous RIO device h](j)}(h``int prev_port``h]j)}(hj>h]h int prev_port}(hhhj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM hj8ubj )}(hhh]h)}(hPort on previous RIO deviceh]hPort on previous RIO device}(hjYhjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjShM hjTubah}(h]h ]h"]h$]h&]uh1j hj8ubeh}(h]h ]h"]h$]h&]uh1jhjShM hjQubeh}(h]h ]h"]h$]h&]uh1jhj5ubh)}(h**Description**h]j)}(hjyh]h Description}(hhhj{hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjwubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM hj5ubh)}(hdRecursively enumerates a RIO network. Transactions are sent via the master port passed in **port**.h](h[Recursively enumerates a RIO network. Transactions are sent via the master port passed in }(h[Recursively enumerates a RIO network. Transactions are sent via the master port passed in hjhhhNhNubj)}(h**port**h]hport}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM hj5ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_enum_complete (C function)c.rio_enum_completehNtauh1jhjphhhNhNubj )}(hhh](j)}(h.int rio_enum_complete (struct rio_mport *port)h]j)}(h-int rio_enum_complete(struct rio_mport *port)h](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj?)}(hrio_enum_completeh]jE)}(hrio_enum_completeh]hrio_enum_complete}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubj`)}(h(struct rio_mport *port)h]jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj,hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj)ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj.modnameN classnameNjj)}j]j)}jjsbc.rio_enum_completeasbuh1hhj ubj.)}(h h]h }(hhhjLhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubj)}(hjh]h*}(hhhjZhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjE)}(hporth]hport}(hhhjghhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubah}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjhhubj)}(hhh]h)}(h-Tests if enumeration of a network is completeh]h-Tests if enumeration of a network is complete}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjphNhNubj)}(h**Parameters** ``struct rio_mport *port`` Master port to send transaction **Description** Tests the PGCCSR discovered bit for non-zero value (enumeration complete flag). Return ``1`` if enumeration is complete or ``0`` if enumeration is incomplete.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj)}(hhh]j)}(h;``struct rio_mport *port`` Master port to send transaction h](j)}(h``struct rio_mport *port``h]j)}(hjh]hstruct rio_mport *port}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj )}(hhh]h)}(hMaster port to send transactionh]hMaster port to send transaction}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubh)}(hTests the PGCCSR discovered bit for non-zero value (enumeration complete flag). Return ``1`` if enumeration is complete or ``0`` if enumeration is incomplete.h](hWTests the PGCCSR discovered bit for non-zero value (enumeration complete flag). Return }(hWTests the PGCCSR discovered bit for non-zero value (enumeration complete flag). Return hj$hhhNhNubj)}(h``1``h]h1}(hhhj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubh if enumeration is complete or }(h if enumeration is complete or hj$hhhNhNubj)}(h``0``h]h0}(hhhj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubh if enumeration is incomplete.}(h if enumeration is incomplete.hj$hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_disc_peer (C function)c.rio_disc_peerhNtauh1jhjphhhNhNubj )}(hhh](j)}(h}int rio_disc_peer (struct rio_net *net, struct rio_mport *port, u16 destid, u8 hopcount, struct rio_dev *prev, int prev_port)h]j)}(h|int rio_disc_peer(struct rio_net *net, struct rio_mport *port, u16 destid, u8 hopcount, struct rio_dev *prev, int prev_port)h](j)}(hinth]hint}(hhhjzhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjvhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjvhhhjhMubj?)}(h rio_disc_peerh]jE)}(h rio_disc_peerh]h rio_disc_peer}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjvhhhjhMubj`)}(hk(struct rio_net *net, struct rio_mport *port, u16 destid, u8 hopcount, struct rio_dev *prev, int prev_port)h](jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_neth]hrio_net}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_disc_peerasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hneth]hnet}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhj)hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj%ubj.)}(h h]h }(hhhj6hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjDubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjImodnameN classnameNjj)}j]jc.rio_disc_peerasbuh1hhj%ubj.)}(h h]h }(hhhjehhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%ubj)}(hjh]h*}(hhhjshhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%ubjE)}(hporth]hport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_disc_peerasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdestidh]hdestid}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_disc_peerasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hstruct rio_dev *prevh](jl)}(hjoh]hstruct}(hhhj)hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj%ubj.)}(h h]h }(hhhj6hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjDubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjImodnameN classnameNjj)}j]jc.rio_disc_peerasbuh1hhj%ubj.)}(h h]h }(hhhjehhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%ubj)}(hjh]h*}(hhhjshhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%ubjE)}(hprevh]hprev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h int prev_porth](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(h prev_porth]h prev_port}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjvhhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjrhhhjhMubah}(h]jmah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjohhubj)}(hhh]h)}(h9Recursively discovers a RIO network through a master porth]h9Recursively discovers a RIO network through a master port}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjohhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjphNhNubj)}(hX**Parameters** ``struct rio_net *net`` RIO network being discovered ``struct rio_mport *port`` Master port to send transactions ``u16 destid`` Current destination ID in network ``u8 hopcount`` Number of hops into the network ``struct rio_dev *prev`` previous rio_dev ``int prev_port`` previous port number **Description** Recursively discovers a RIO network. Transactions are sent via the master port passed in **port**.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj)}(hhh](j)}(h5``struct rio_net *net`` RIO network being discovered h](j)}(h``struct rio_net *net``h]j)}(hj!h]hstruct rio_net *net}(hhhj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj )}(hhh]h)}(hRIO network being discoveredh]hRIO network being discovered}(hj<hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6hMhj7ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj6hMhjubj)}(h<``struct rio_mport *port`` Master port to send transactions h](j)}(h``struct rio_mport *port``h]j)}(hjZh]hstruct rio_mport *port}(hhhj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjTubj )}(hhh]h)}(h Master port to send transactionsh]h Master port to send transactions}(hjuhjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjohMhjpubah}(h]h ]h"]h$]h&]uh1j hjTubeh}(h]h ]h"]h$]h&]uh1jhjohMhjubj)}(h1``u16 destid`` Current destination ID in network h](j)}(h``u16 destid``h]j)}(hjh]h u16 destid}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj )}(hhh]h)}(h!Current destination ID in networkh]h!Current destination ID in network}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h0``u8 hopcount`` Number of hops into the network h](j)}(h``u8 hopcount``h]j)}(hjh]h u8 hopcount}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj )}(hhh]h)}(hNumber of hops into the networkh]hNumber of hops into the network}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h*``struct rio_dev *prev`` previous rio_dev h](j)}(h``struct rio_dev *prev``h]j)}(hjh]hstruct rio_dev *prev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj )}(hhh]h)}(hprevious rio_devh]hprevious rio_dev}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h'``int prev_port`` previous port number h](j)}(h``int prev_port``h]j)}(hj>h]h int prev_port}(hhhj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj8ubj )}(hhh]h)}(hprevious port numberh]hprevious port number}(hjYhjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjShMhjTubah}(h]h ]h"]h$]h&]uh1j hj8ubeh}(h]h ]h"]h$]h&]uh1jhjShMhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjyh]h Description}(hhhj{hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjwubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubh)}(hcRecursively discovers a RIO network. Transactions are sent via the master port passed in **port**.h](hZRecursively discovers a RIO network. Transactions are sent via the master port passed in }(hZRecursively discovers a RIO network. Transactions are sent via the master port passed in hjhhhNhNubj)}(h**port**h]hport}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j rio_mport_is_active (C function)c.rio_mport_is_activehNtauh1jhjphhhNhNubj )}(hhh](j)}(h0int rio_mport_is_active (struct rio_mport *port)h]j)}(h/int rio_mport_is_active(struct rio_mport *port)h](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj?)}(hrio_mport_is_activeh]jE)}(hrio_mport_is_activeh]hrio_mport_is_active}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubj`)}(h(struct rio_mport *port)h]jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj ubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj,hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj)ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj.modnameN classnameNjj)}j]j)}jjsbc.rio_mport_is_activeasbuh1hhj ubj.)}(h h]h }(hhhjLhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubj)}(hjh]h*}(hhhjZhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjE)}(hporth]hport}(hhhjghhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubah}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM!hjhhubj)}(hhh]h)}(h#Tests if master port link is activeh]h#Tests if master port link is active}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjphNhNubj)}(hX**Parameters** ``struct rio_mport *port`` Master port to test **Description** Reads the port error status CSR for the master port to determine if the port has an active link. Returns ``RIO_PORT_N_ERR_STS_PORT_OK`` if the master port is active or ``0`` if it is inactive.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj)}(hhh]j)}(h/``struct rio_mport *port`` Master port to test h](j)}(h``struct rio_mport *port``h]j)}(hjh]hstruct rio_mport *port}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj )}(hhh]h)}(hMaster port to testh]hMaster port to test}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubh)}(hReads the port error status CSR for the master port to determine if the port has an active link. Returns ``RIO_PORT_N_ERR_STS_PORT_OK`` if the master port is active or ``0`` if it is inactive.h](hjReads the port error status CSR for the master port to determine if the port has an active link. Returns }(hjReads the port error status CSR for the master port to determine if the port has an active link. Returns hj$hhhNhNubj)}(h``RIO_PORT_N_ERR_STS_PORT_OK``h]hRIO_PORT_N_ERR_STS_PORT_OK}(hhhj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubh" if the master port is active or }(h" if the master port is active or hj$hhhNhNubj)}(h``0``h]h0}(hhhj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubh if it is inactive.}(h if it is inactive.hj$hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$rio_update_route_tables (C function)c.rio_update_route_tableshNtauh1jhjphhhNhNubj )}(hhh](j)}(h2void rio_update_route_tables (struct rio_net *net)h]j)}(h1void rio_update_route_tables(struct rio_net *net)h](j)}(hvoidh]hvoid}(hhhjzhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjvhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMrubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjvhhhjhMrubj?)}(hrio_update_route_tablesh]jE)}(hrio_update_route_tablesh]hrio_update_route_tables}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjvhhhjhMrubj`)}(h(struct rio_net *net)h]jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_neth]hrio_net}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_update_route_tablesasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hneth]hnet}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubah}(h]h ]h"]h$]h&]j]j^uh1j_hjvhhhjhMrubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjrhhhjhMrubah}(h]jmah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMxhjohhubj)}(hhh]h)}(h Updates route tables in switchesh]h Updates route tables in switches}(hj=hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMqhj8hhubah}(h]h ]h"]h$]h&]uh1jhjohhhjhMrubeh}(h]h ](jfunctioneh"]h$]h&]jjjjSjjSjuh1j hhhjphNhNubj)}(hX**Parameters** ``struct rio_net *net`` RIO network to run update on **Description** For each enumerated device, ensure that each switch in a system has correct routing entries. Add routes for devices that where unknown during the first enumeration pass through the switch.h](h)}(h**Parameters**h]j)}(hj]h]h Parameters}(hhhj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMuhjWubj)}(hhh]j)}(h5``struct rio_net *net`` RIO network to run update on h](j)}(h``struct rio_net *net``h]j)}(hj|h]hstruct rio_net *net}(hhhj~hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjzubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMrhjvubj )}(hhh]h)}(hRIO network to run update onh]hRIO network to run update on}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMrhjubah}(h]h ]h"]h$]h&]uh1j hjvubeh}(h]h ]h"]h$]h&]uh1jhjhMrhjsubah}(h]h ]h"]h$]h&]uh1jhjWubh)}(h**Description**h]j)}(hjh]h Description}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMthjWubh)}(hFor each enumerated device, ensure that each switch in a system has correct routing entries. Add routes for devices that where unknown during the first enumeration pass through the switch.h]hFor each enumerated device, ensure that each switch in a system has correct routing entries. Add routes for devices that where unknown during the first enumeration pass through the switch.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMthjWubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_init_em (C function) c.rio_init_emhNtauh1jhjphhhNhNubj )}(hhh](j)}(h'void rio_init_em (struct rio_dev *rdev)h]j)}(h&void rio_init_em(struct rio_dev *rdev)h](j)}(hvoidh]hvoid}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj hMubj?)}(h rio_init_emh]jE)}(h rio_init_emh]h rio_init_em}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhj hMubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhj9hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj5ubj.)}(h h]h }(hhhjFhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj5ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjWhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjTubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjYmodnameN classnameNjj)}j]j)}jjsb c.rio_init_emasbuh1hhj5ubj.)}(h h]h }(hhhjwhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj5ubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj5ubjE)}(hrdevh]hrdev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj5ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj1ubah}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhj hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhj hMubah}(h]jah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjhhubj)}(hhh]h)}(h/Initializes RIO Error Management (for switches)h]h/Initializes RIO Error Management (for switches)}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhj hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjphNhNubj)}(h**Parameters** ``struct rio_dev *rdev`` RIO device **Description** For each enumerated switch, call device-specific error management initialization routine (if supplied by the switch driver).h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj)}(hhh]j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hjh]hstruct rio_dev *rdev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubj )}(hhh]h)}(h RIO deviceh]h RIO device}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hj9h]h Description}(hhhj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubh)}(h|For each enumerated switch, call device-specific error management initialization routine (if supplied by the switch driver).h]h|For each enumerated switch, call device-specific error management initialization routine (if supplied by the switch driver).}(hjQhjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_enum_mport (C function)c.rio_enum_mporthNtauh1jhjphhhNhNubj )}(hhh](j)}(h7int rio_enum_mport (struct rio_mport *mport, u32 flags)h]j)}(h6int rio_enum_mport(struct rio_mport *mport, u32 flags)h](j)}(hinth]hint}(hhhj~hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjzhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjzhhhjhMubj?)}(hrio_enum_mporth]jE)}(hrio_enum_mporth]hrio_enum_mport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjzhhhjhMubj`)}(h$(struct rio_mport *mport, u32 flags)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_enum_mportasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hmporth]hmport}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u32 flagsh](h)}(hhh]jE)}(hu32h]hu32}(hhhj0 hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj- ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj2 modnameN classnameNjj)}j]jc.rio_enum_mportasbuh1hhj) ubj.)}(h h]h }(hhhjN hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj) ubjE)}(hflagsh]hflags}(hhhj\ hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj) ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjzhhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjvhhhjhMubah}(h]jqah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjshhubj)}(hhh]h)}(h'Start enumeration through a master porth]h'Start enumeration through a master port}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj hhubah}(h]h ]h"]h$]h&]uh1jhjshhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj jj juh1j hhhjphNhNubj)}(hX**Parameters** ``struct rio_mport *mport`` Master port to send transactions ``u32 flags`` Enumeration control flags **Description** Starts the enumeration process. If somebody has enumerated our master port device, then give up. If not and we have an active link, then start recursive peer enumeration. Returns ``0`` if enumeration succeeds or ``-EBUSY`` if enumeration fails.h](h)}(h**Parameters**h]j)}(hj h]h Parameters}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj ubj)}(hhh](j)}(h=``struct rio_mport *mport`` Master port to send transactions h](j)}(h``struct rio_mport *mport``h]j)}(hj h]hstruct rio_mport *mport}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj ubj )}(hhh]h)}(h Master port to send transactionsh]h Master port to send transactions}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj hMhj ubj)}(h(``u32 flags`` Enumeration control flags h](j)}(h ``u32 flags``h]j)}(hj h]h u32 flags}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj ubj )}(hhh]h)}(hEnumeration control flagsh]hEnumeration control flags}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj hMhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]j)}(hj< h]h Description}(hhhj> hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj: ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj ubh)}(hStarts the enumeration process. If somebody has enumerated our master port device, then give up. If not and we have an active link, then start recursive peer enumeration. Returns ``0`` if enumeration succeeds or ``-EBUSY`` if enumeration fails.h](hStarts the enumeration process. If somebody has enumerated our master port device, then give up. If not and we have an active link, then start recursive peer enumeration. Returns }(hStarts the enumeration process. If somebody has enumerated our master port device, then give up. If not and we have an active link, then start recursive peer enumeration. Returns hjR hhhNhNubj)}(h``0``h]h0}(hhhj[ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjR ubh if enumeration succeeds or }(h if enumeration succeeds or hjR hhhNhNubj)}(h ``-EBUSY``h]h-EBUSY}(hhhjn hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjR ubh if enumeration fails.}(h if enumeration fails.hjR hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j#rio_build_route_tables (C function)c.rio_build_route_tableshNtauh1jhjphhhNhNubj )}(hhh](j)}(h1void rio_build_route_tables (struct rio_net *net)h]j)}(h0void rio_build_route_tables(struct rio_net *net)h](j)}(hvoidh]hvoid}(hhhj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj hhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj hhhj hMubj?)}(hrio_build_route_tablesh]jE)}(hrio_build_route_tablesh]hrio_build_route_tables}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj hhhj hMubj`)}(h(struct rio_net *net)h]jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hhhj hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj ubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubh)}(hhh]jE)}(hrio_neth]hrio_net}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j)}jj sbc.rio_build_route_tablesasbuh1hhj ubj.)}(h h]h }(hhhj# hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubj)}(hjh]h*}(hhhj1 hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjE)}(hneth]hnet}(hhhj> hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj ubah}(h]h ]h"]h$]h&]j]j^uh1j_hj hhhj hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj hhhj hMubah}(h]j ah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj hhubj)}(hhh]h)}(h/Generate route tables from switch route entriesh]h/Generate route tables from switch route entries}(hjk hji hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjf hhubah}(h]h ]h"]h$]h&]uh1jhj hhhj hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj jj juh1j hhhjphNhNubj)}(h**Parameters** ``struct rio_net *net`` RIO network to run route tables scan on **Description** For each switch device, generate a route table by copying existing route entries from the switch.h](h)}(h**Parameters**h]j)}(hj h]h Parameters}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj ubj)}(hhh]j)}(h@``struct rio_net *net`` RIO network to run route tables scan on h](j)}(h``struct rio_net *net``h]j)}(hj h]hstruct rio_net *net}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj ubj )}(hhh]h)}(h'RIO network to run route tables scan onh]h'RIO network to run route tables scan on}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj hMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]j)}(hj h]h Description}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj ubh)}(haFor each switch device, generate a route table by copying existing route entries from the switch.h]haFor each switch device, generate a route table by copying existing route entries from the switch.}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_disc_mport (C function)c.rio_disc_mporthNtauh1jhjphhhNhNubj )}(hhh](j)}(h7int rio_disc_mport (struct rio_mport *mport, u32 flags)h]j)}(h6int rio_disc_mport(struct rio_mport *mport, u32 flags)h](j)}(hinth]hint}(hhhj* hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj& hhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMubj.)}(h h]h }(hhhj9 hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj& hhhj8 hMubj?)}(hrio_disc_mporth]jE)}(hrio_disc_mporth]hrio_disc_mport}(hhhjK hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjG ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj& hhhj8 hMubj`)}(h$(struct rio_mport *mport, u32 flags)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjg hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjc ubj.)}(h h]h }(hhhjt hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjc ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j)}jjM sbc.rio_disc_mportasbuh1hhjc ubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjc ubj)}(hjh]h*}(hhhj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjc ubjE)}(hmporth]hmport}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjc ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj_ ubjf)}(h u32 flagsh](h)}(hhh]jE)}(hu32h]hu32}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j c.rio_disc_mportasbuh1hhj ubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubjE)}(hflagsh]hflags}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj_ ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj& hhhj8 hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj" hhhj8 hMubah}(h]j ah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM%hj hhubj)}(hhh]h)}(h%Start discovery through a master porth]h%Start discovery through a master port}(hj5 hj3 hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj0 hhubah}(h]h ]h"]h$]h&]uh1jhj hhhj8 hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjK jjK juh1j hhhjphNhNubj)}(hX**Parameters** ``struct rio_mport *mport`` Master port to send transactions ``u32 flags`` discovery control flags **Description** Starts the discovery process. If we have an active link, then wait for the signal that enumeration is complete (if wait is allowed). When enumeration completion is signaled, start recursive peer discovery. Returns ``0`` if discovery succeeds or ``-EBUSY`` on failure.h](h)}(h**Parameters**h]j)}(hjU h]h Parameters}(hhhjW hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjS ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjO ubj)}(hhh](j)}(h=``struct rio_mport *mport`` Master port to send transactions h](j)}(h``struct rio_mport *mport``h]j)}(hjt h]hstruct rio_mport *mport}(hhhjv hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjr ubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjn ubj )}(hhh]h)}(h Master port to send transactionsh]h Master port to send transactions}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1j hjn ubeh}(h]h ]h"]h$]h&]uh1jhj hMhjk ubj)}(h&``u32 flags`` discovery control flags h](j)}(h ``u32 flags``h]j)}(hj h]h u32 flags}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj ubj )}(hhh]h)}(hdiscovery control flagsh]hdiscovery control flags}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj hMhjk ubeh}(h]h ]h"]h$]h&]uh1jhjO ubh)}(h**Description**h]j)}(hj h]h Description}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjO ubh)}(hX Starts the discovery process. If we have an active link, then wait for the signal that enumeration is complete (if wait is allowed). When enumeration completion is signaled, start recursive peer discovery. Returns ``0`` if discovery succeeds or ``-EBUSY`` on failure.h](hStarts the discovery process. If we have an active link, then wait for the signal that enumeration is complete (if wait is allowed). When enumeration completion is signaled, start recursive peer discovery. Returns }(hStarts the discovery process. If we have an active link, then wait for the signal that enumeration is complete (if wait is allowed). When enumeration completion is signaled, start recursive peer discovery. Returns hj hhhNhNubj)}(h``0``h]h0}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh if discovery succeeds or }(h if discovery succeeds or hj hhhNhNubj)}(h ``-EBUSY``h]h-EBUSY}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh on failure.}(h on failure.hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjO ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_basic_attach (C function)c.rio_basic_attachhNtauh1jhjphhhNhNubj )}(hhh](j)}(hint rio_basic_attach (void)h]j)}(hint rio_basic_attach(void)h](j)}(hinth]hint}(hhhjThhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjPhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMkubj.)}(h h]h }(hhhjchhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjPhhhjbhMkubj?)}(hrio_basic_attachh]jE)}(hrio_basic_attachh]hrio_basic_attach}(hhhjuhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjqubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjPhhhjbhMkubj`)}(h(void)h]jf)}(hvoidh]j)}(hvoidh]hvoid}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubah}(h]h ]h"]h$]h&]j]j^uh1j_hjPhhhjbhMkubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjLhhhjbhMkubah}(h]jGah ](jjeh"]h$]h&]juh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMwhjIhhubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjIhhhjbhMkubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhjphNhNubj)}(hX**Parameters** ``void`` no arguments **Description** When this enumeration/discovery method is loaded as a module this function registers its specific enumeration and discover routines for all available RapidIO mport devices. The "scan" command line parameter controls ability of the module to start RapidIO enumeration/discovery automatically. Returns 0 for success or -EIO if unable to register itself. This enumeration/discovery method cannot be unloaded and therefore does not provide a matching cleanup_module routine.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMnhjubj)}(hhh]j)}(h``void`` no arguments h](j)}(h``void``h]j)}(hjh]hvoid}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMqhjubj )}(hhh]h)}(h no argumentsh]h no arguments}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMqhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMqhjubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hj)h]h Description}(hhhj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMshjubh)}(hX#When this enumeration/discovery method is loaded as a module this function registers its specific enumeration and discover routines for all available RapidIO mport devices. The "scan" command line parameter controls ability of the module to start RapidIO enumeration/discovery automatically.h]hX'When this enumeration/discovery method is loaded as a module this function registers its specific enumeration and discover routines for all available RapidIO mport devices. The “scan” command line parameter controls ability of the module to start RapidIO enumeration/discovery automatically.}(hjAhj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMmhjubh)}(h;Returns 0 for success or -EIO if unable to register itself.h]h;Returns 0 for success or -EIO if unable to register itself.}(hjPhjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMrhjubh)}(hvThis enumeration/discovery method cannot be unloaded and therefore does not provide a matching cleanup_module routine.h]hvThis enumeration/discovery method cannot be unloaded and therefore does not provide a matching cleanup_module routine.}(hj_hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMthjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhNhNubeh}(h]enumeration-and-discoveryah ]h"]enumeration and discoveryah$]h&]uh1hhjhhhhhKCubh)}(hhh](h)}(hDriver functionalityh]hDriver functionality}(hjhj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{hhhhhKIubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j rio_setup_inb_dbell (C function)c.rio_setup_inb_dbellhNtauh1jhj{hhhNhNubj )}(hhh](j)}(hint rio_setup_inb_dbell (struct rio_mport *mport, void *dev_id, struct resource *res, void (*dinb) (struct rio_mport * mport, void *dev_id, u16 src, u16 dst, u16 info))h]j)}(hint rio_setup_inb_dbell(struct rio_mport *mport, void *dev_id, struct resource *res, void (*dinb)(struct rio_mport *mport, void *dev_id, u16 src, u16 dst, u16 info))h](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj?)}(hrio_setup_inb_dbellh]jE)}(hrio_setup_inb_dbellh]hrio_setup_inb_dbell}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubj`)}(h(struct rio_mport *mport, void *dev_id, struct resource *res, void (*dinb)(struct rio_mport *mport, void *dev_id, u16 src, u16 dst, u16 info))h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_setup_inb_dbellasbuh1hhjubj.)}(h h]h }(hhhj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhj.hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hmporth]hmport}(hhhj;hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h void *dev_idh](j)}(hvoidh]hvoid}(hhhjThhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjPubj.)}(h h]h }(hhhjbhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjPubj)}(hjh]h*}(hhhjphhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjPubjE)}(hdev_idh]hdev_id}(hhhj}hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjPubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hstruct resource *resh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hresourceh]hresource}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_setup_inb_dbellasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hresh]hres}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hOvoid (*dinb)(struct rio_mport *mport, void *dev_id, u16 src, u16 dst, u16 info)h](j)}(hvoidh]hvoid}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjtGh]h(}(hhhj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hjh]h*}(hhhj/hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hdinbh]hdinb}(hhhj<hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubj)}(hjGh]h)}(hhhjJhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hjtGh]h(}(hhhjWhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjl)}(hjoh]hstruct}(hhhjdhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjqhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_setup_inb_dbellasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hmporth]hmport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubj)}(hjHh]h,}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hvoidh]hvoid}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hdev_idh]hdev_id}(hhhj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubj)}(hjHh]h,}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj.)}(h h]h }(hhhj(hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hu16h]hu16}(hhhj9hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj6ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj;modnameN classnameNjj)}j]jc.rio_setup_inb_dbellasbuh1hhjubj.)}(h h]h }(hhhjWhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hsrch]hsrc}(hhhjehhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubj)}(hjHh]h,}(hhhjshhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hu16h]hu16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_setup_inb_dbellasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdsth]hdst}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubj)}(hjHh]h,}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hu16h]hu16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_setup_inb_dbellasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hinfoh]hinfo}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubj)}(hjGh]h)}(hhhj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjhhubj)}(hhh]h)}(hbind inbound doorbell callbackh]hbind inbound doorbell callback}(hjOhjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjJhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjejjejuh1j hhhj{hNhNubj)}(hX**Parameters** ``struct rio_mport *mport`` RIO master port to bind the doorbell callback ``void *dev_id`` Device specific pointer to pass on event ``struct resource *res`` Doorbell message resource ``void (*dinb) (struct rio_mport * mport, void *dev_id, u16 src, u16 dst, u16 info)`` Callback to execute when doorbell is received **Description** Adds a doorbell resource/callback pair into a port's doorbell event list. Returns 0 if the request has been satisfied.h](h)}(h**Parameters**h]j)}(hjoh]h Parameters}(hhhjqhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjmubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjiubj)}(hhh](j)}(hJ``struct rio_mport *mport`` RIO master port to bind the doorbell callback h](j)}(h``struct rio_mport *mport``h]j)}(hjh]hstruct rio_mport *mport}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjubj )}(hhh]h)}(h-RIO master port to bind the doorbell callbackh]h-RIO master port to bind the doorbell callback}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h:``void *dev_id`` Device specific pointer to pass on event h](j)}(h``void *dev_id``h]j)}(hjh]h void *dev_id}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjubj )}(hhh]h)}(h(Device specific pointer to pass on eventh]h(Device specific pointer to pass on event}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h3``struct resource *res`` Doorbell message resource h](j)}(h``struct resource *res``h]j)}(hjh]hstruct resource *res}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjubj )}(hhh]h)}(hDoorbell message resourceh]hDoorbell message resource}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h``void (*dinb) (struct rio_mport * mport, void *dev_id, u16 src, u16 dst, u16 info)`` Callback to execute when doorbell is received h](j)}(hU``void (*dinb) (struct rio_mport * mport, void *dev_id, u16 src, u16 dst, u16 info)``h]j)}(hj9h]hQvoid (*dinb) (struct rio_mport * mport, void *dev_id, u16 src, u16 dst, u16 info)}(hhhj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj3ubj )}(hhh]h)}(h-Callback to execute when doorbell is receivedh]h-Callback to execute when doorbell is received}(hjThjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNhMhjOubah}(h]h ]h"]h$]h&]uh1j hj3ubeh}(h]h ]h"]h$]h&]uh1jhjNhMhjubeh}(h]h ]h"]h$]h&]uh1jhjiubh)}(h**Description**h]j)}(hjth]h Description}(hhhjvhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjrubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjiubh)}(hvAdds a doorbell resource/callback pair into a port's doorbell event list. Returns 0 if the request has been satisfied.h]hxAdds a doorbell resource/callback pair into a port’s doorbell event list. Returns 0 if the request has been satisfied.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjiubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj{hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_chk_dev_route (C function)c.rio_chk_dev_routehNtauh1jhj{hhhNhNubj )}(hhh](j)}(hPint rio_chk_dev_route (struct rio_dev *rdev, struct rio_dev **nrdev, int *npnum)h]j)}(hOint rio_chk_dev_route(struct rio_dev *rdev, struct rio_dev **nrdev, int *npnum)h](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj?)}(hrio_chk_dev_routeh]jE)}(hrio_chk_dev_routeh]hrio_chk_dev_route}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubj`)}(h:(struct rio_dev *rdev, struct rio_dev **nrdev, int *npnum)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_chk_dev_routeasbuh1hhjubj.)}(h h]h }(hhhj4hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjBhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hhhjOhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hstruct rio_dev **nrdevh](jl)}(hjoh]hstruct}(hhhjhhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjdubj.)}(h h]h }(hhhjuhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjdubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j0c.rio_chk_dev_routeasbuh1hhjdubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjdubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjdubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjdubjE)}(hnrdevh]hnrdev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjdubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h int *npnumh](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hnpnumh]hnpnum}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjhhubj)}(hhh]h)}(h'Validate route to the specified device.h]h'Validate route to the specified device.}(hj;hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj6hhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjQjjQjuh1j hhhj{hNhNubj)}(hXX**Parameters** ``struct rio_dev *rdev`` RIO device failed to respond ``struct rio_dev **nrdev`` Last active device on the route to rdev ``int *npnum`` nrdev's port number on the route to rdev **Description** Follows a route to the specified RIO device to determine the last available device (and corresponding RIO port) on the route.h](h)}(h**Parameters**h]j)}(hj[h]h Parameters}(hhhj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjYubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjUubj)}(hhh](j)}(h6``struct rio_dev *rdev`` RIO device failed to respond h](j)}(h``struct rio_dev *rdev``h]j)}(hjzh]hstruct rio_dev *rdev}(hhhj|hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjtubj )}(hhh]h)}(hRIO device failed to respondh]hRIO device failed to respond}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjtubeh}(h]h ]h"]h$]h&]uh1jhjhMhjqubj)}(hC``struct rio_dev **nrdev`` Last active device on the route to rdev h](j)}(h``struct rio_dev **nrdev``h]j)}(hjh]hstruct rio_dev **nrdev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjubj )}(hhh]h)}(h'Last active device on the route to rdevh]h'Last active device on the route to rdev}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjqubj)}(h8``int *npnum`` nrdev's port number on the route to rdev h](j)}(h``int *npnum``h]j)}(hjh]h int *npnum}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjubj )}(hhh]h)}(h(nrdev's port number on the route to rdevh]h*nrdev’s port number on the route to rdev}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjqubeh}(h]h ]h"]h$]h&]uh1jhjUubh)}(h**Description**h]j)}(hj'h]h Description}(hhhj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjUubh)}(h}Follows a route to the specified RIO device to determine the last available device (and corresponding RIO port) on the route.h]h}Follows a route to the specified RIO device to determine the last available device (and corresponding RIO port) on the route.}(hj?hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjUubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj{hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_chk_dev_access (C function)c.rio_chk_dev_accesshNtauh1jhj{hhhNhNubj )}(hhh](j)}(h-int rio_chk_dev_access (struct rio_dev *rdev)h]j)}(h,int rio_chk_dev_access(struct rio_dev *rdev)h](j)}(hinth]hint}(hhhjlhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhj{hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhhjzhMubj?)}(hrio_chk_dev_accessh]jE)}(hrio_chk_dev_accessh]hrio_chk_dev_access}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhhjzhMubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_chk_dev_accessasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubah}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhhjzhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjdhhhjzhMubah}(h]j_ah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjahhubj)}(hhh]h)}(h(Validate access to the specified device.h]h(Validate access to the specified device.}(hj/hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj*hhubah}(h]h ]h"]h$]h&]uh1jhjahhhjzhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjEjjEjuh1j hhhj{hNhNubj)}(hR**Parameters** ``struct rio_dev *rdev`` Pointer to RIO device control structureh](h)}(h**Parameters**h]j)}(hjOh]h Parameters}(hhhjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjMubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjIubj)}(hhh]j)}(h@``struct rio_dev *rdev`` Pointer to RIO device control structureh](j)}(h``struct rio_dev *rdev``h]j)}(hjnh]hstruct rio_dev *rdev}(hhhjphhhNhNubah}(h]h ]h"]h$]h&]uh1jhjlubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjhubj )}(hhh]h)}(h'Pointer to RIO device control structureh]h'Pointer to RIO device control structure}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjubah}(h]h ]h"]h$]h&]uh1j hjhubeh}(h]h ]h"]h$]h&]uh1jhjhMhjeubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj{hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j!rio_get_input_status (C function)c.rio_get_input_statushNtauh1jhj{hhhNhNubj )}(hhh](j)}(hGint rio_get_input_status (struct rio_dev *rdev, int pnum, u32 *lnkresp)h]j)}(hFint rio_get_input_status(struct rio_dev *rdev, int pnum, u32 *lnkresp)h](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj?)}(hrio_get_input_statush]jE)}(hrio_get_input_statush]hrio_get_input_status}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubj`)}(h.(struct rio_dev *rdev, int pnum, u32 *lnkresp)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhj#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj%modnameN classnameNjj)}j]j)}jjsbc.rio_get_input_statusasbuh1hhjubj.)}(h h]h }(hhhjChhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjQhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hhhj^hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hint pnumh](j)}(hinth]hint}(hhhjwhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjsubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjsubjE)}(hpnumh]hpnum}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjsubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u32 *lnkresph](h)}(hhh]jE)}(hu32h]hu32}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j?c.rio_get_input_statusasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hlnkresph]hlnkresp}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjhhubj)}(hhh]h)}(hZSends a Link-Request/Input-Status control symbol and returns link-response (if requested).h]hZSends a Link-Request/Input-Status control symbol and returns link-response (if requested).}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj+jj+juh1j hhhj{hNhNubj)}(h**Parameters** ``struct rio_dev *rdev`` RIO devive to issue Input-status command ``int pnum`` Device port number to issue the command ``u32 *lnkresp`` Response from a link partnerh](h)}(h**Parameters**h]j)}(hj5h]h Parameters}(hhhj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj/ubj)}(hhh](j)}(hB``struct rio_dev *rdev`` RIO devive to issue Input-status command h](j)}(h``struct rio_dev *rdev``h]j)}(hjTh]hstruct rio_dev *rdev}(hhhjVhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjRubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjNubj )}(hhh]h)}(h(RIO devive to issue Input-status commandh]h(RIO devive to issue Input-status command}(hjohjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjihMhjjubah}(h]h ]h"]h$]h&]uh1j hjNubeh}(h]h ]h"]h$]h&]uh1jhjihMhjKubj)}(h5``int pnum`` Device port number to issue the command h](j)}(h ``int pnum``h]j)}(hjh]hint pnum}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjubj )}(hhh]h)}(h'Device port number to issue the commandh]h'Device port number to issue the command}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjKubj)}(h-``u32 *lnkresp`` Response from a link partnerh](j)}(h``u32 *lnkresp``h]j)}(hjh]h u32 *lnkresp}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjubj )}(hhh]h)}(hResponse from a link partnerh]hResponse from a link partner}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjKubeh}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj{hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j rio_clr_err_stopped (C function)c.rio_clr_err_stoppedhNtauh1jhj{hhhNhNubj )}(hhh](j)}(hHint rio_clr_err_stopped (struct rio_dev *rdev, u32 pnum, u32 err_status)h]j)}(hGint rio_clr_err_stopped(struct rio_dev *rdev, u32 pnum, u32 err_status)h](j)}(hinth]hint}(hhhj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chM,ubj.)}(h h]h }(hhhj/hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj.hM,ubj?)}(hrio_clr_err_stoppedh]jE)}(hrio_clr_err_stoppedh]hrio_clr_err_stopped}(hhhjAhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj=ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhj.hM,ubj`)}(h0(struct rio_dev *rdev, u32 pnum, u32 err_status)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hhhj]hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjYubj.)}(h h]h }(hhhjjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhj{hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjxubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj}modnameN classnameNjj)}j]j)}jjCsbc.rio_clr_err_stoppedasbuh1hhjYubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYubj)}(hjh]h*}(hhhjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjYubjE)}(hrdevh]hrdev}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjYubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjUubjf)}(hu32 pnumh](h)}(hhh]jE)}(hu32h]hu32}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_clr_err_stoppedasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hpnumh]hpnum}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjUubjf)}(hu32 err_statush](h)}(hhh]jE)}(hu32h]hu32}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_clr_err_stoppedasbuh1hhjubj.)}(h h]h }(hhhj8hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(h err_statush]h err_status}(hhhjFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjUubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhj.hM,ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhj.hM,ubah}(h]jah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chM7hjhhubj)}(hhh]h)}(h!Clears port Error-stopped states.h]h!Clears port Error-stopped states.}(hjshjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chM+hjnhhubah}(h]h ]h"]h$]h&]uh1jhjhhhj.hM,ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhj{hNhNubj)}(hXS**Parameters** ``struct rio_dev *rdev`` Pointer to RIO device control structure ``u32 pnum`` Switch port number to clear errors ``u32 err_status`` port error status (if 0 reads register from device) **Description** TODO: Currently this routine is not compatible with recovery process specified for idt_gen3 RapidIO switch devices. It has to be reviewed to implement universal recovery process that is compatible full range off available devices. IDT gen3 switch driver now implements HW-specific error handler that issues soft port reset to the port to reset ERR_STOP bits and ackIDs.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chM/hjubj)}(hhh](j)}(hA``struct rio_dev *rdev`` Pointer to RIO device control structure h](j)}(h``struct rio_dev *rdev``h]j)}(hjh]hstruct rio_dev *rdev}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chM,hjubj )}(hhh]h)}(h'Pointer to RIO device control structureh]h'Pointer to RIO device control structure}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM,hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM,hjubj)}(h0``u32 pnum`` Switch port number to clear errors h](j)}(h ``u32 pnum``h]j)}(hjh]hu32 pnum}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chM-hjubj )}(hhh]h)}(h"Switch port number to clear errorsh]h"Switch port number to clear errors}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM-hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjhM-hjubj)}(hG``u32 err_status`` port error status (if 0 reads register from device) h](j)}(h``u32 err_status``h]j)}(hj$h]hu32 err_status}(hhhj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chM.hjubj )}(hhh]h)}(h3port error status (if 0 reads register from device)h]h3port error status (if 0 reads register from device)}(hj?hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9hM.hj:ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj9hM.hjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hj_h]h Description}(hhhjahhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chM0hjubh)}(hXqTODO: Currently this routine is not compatible with recovery process specified for idt_gen3 RapidIO switch devices. It has to be reviewed to implement universal recovery process that is compatible full range off available devices. IDT gen3 switch driver now implements HW-specific error handler that issues soft port reset to the port to reset ERR_STOP bits and ackIDs.h]hXqTODO: Currently this routine is not compatible with recovery process specified for idt_gen3 RapidIO switch devices. It has to be reviewed to implement universal recovery process that is compatible full range off available devices. IDT gen3 switch driver now implements HW-specific error handler that issues soft port reset to the port to reset ERR_STOP bits and ackIDs.}(hjwhjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chM0hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj{hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$rio_std_route_add_entry (C function)c.rio_std_route_add_entryhNtauh1jhj{hhhNhNubj )}(hhh](j)}(hzint rio_std_route_add_entry (struct rio_mport *mport, u16 destid, u8 hopcount, u16 table, u16 route_destid, u8 route_port)h]j)}(hyint rio_std_route_add_entry(struct rio_mport *mport, u16 destid, u8 hopcount, u16 table, u16 route_destid, u8 route_port)h](j)}(hinth]hint}(hhhjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj?)}(hrio_std_route_add_entryh]jE)}(hrio_std_route_add_entryh]hrio_std_route_add_entry}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubj`)}(h^(struct rio_mport *mport, u16 destid, u8 hopcount, u16 table, u16 route_destid, u8 route_port)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_std_route_add_entryasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hhhj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hmporth]hmport}(hhhj:hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjVhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjSubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjXmodnameN classnameNjj)}j]jc.rio_std_route_add_entryasbuh1hhjOubj.)}(h h]h }(hhhjthhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjOubjE)}(hdestidh]hdestid}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjOubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_std_route_add_entryasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 tableh](h)}(hhh]jE)}(hu16h]hu16}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_std_route_add_entryasbuh1hhjubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(htableh]htable}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hu16 route_destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhj.hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj+ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj0modnameN classnameNjj)}j]jc.rio_std_route_add_entryasbuh1hhj'ubj.)}(h h]h }(hhhjLhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj'ubjE)}(h route_destidh]h route_destid}(hhhjZhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj'ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 route_porth](h)}(hhh]jE)}(hu8h]hu8}(hhhjvhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjsubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjxmodnameN classnameNjj)}j]jc.rio_std_route_add_entryasbuh1hhjoubj.)}(h h]h }(hhhjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjoubjE)}(h route_porth]h route_port}(hhhjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjoubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjhhubj)}(hhh]h)}(hZAdd switch route table entry using standard registers defined in RIO specification rev.1.3h]hZAdd switch route table entry using standard registers defined in RIO specification rev.1.3}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjuh1j hhhj{hNhNubj)}(hXZ**Parameters** ``struct rio_mport *mport`` Master port to issue transaction ``u16 destid`` Destination ID of the device ``u8 hopcount`` Number of switch hops to the device ``u16 table`` routing table ID (global or port-specific) ``u16 route_destid`` destID entry in the RT ``u8 route_port`` destination port for specified destIDh](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjubj)}(hhh](j)}(h=``struct rio_mport *mport`` Master port to issue transaction h](j)}(h``struct rio_mport *mport``h]j)}(hj h]hstruct rio_mport *mport}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj ubj )}(hhh]h)}(h Master port to issue transactionh]h Master port to issue transaction}(hj) hj' hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj# hMhj$ ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj# hMhj ubj)}(h,``u16 destid`` Destination ID of the device h](j)}(h``u16 destid``h]j)}(hjG h]h u16 destid}(hhhjI hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjE ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjA ubj )}(hhh]h)}(hDestination ID of the deviceh]hDestination ID of the device}(hjb hj` hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\ hMhj] ubah}(h]h ]h"]h$]h&]uh1j hjA ubeh}(h]h ]h"]h$]h&]uh1jhj\ hMhj ubj)}(h4``u8 hopcount`` Number of switch hops to the device h](j)}(h``u8 hopcount``h]j)}(hj h]h u8 hopcount}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~ ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjz ubj )}(hhh]h)}(h#Number of switch hops to the deviceh]h#Number of switch hops to the device}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1j hjz ubeh}(h]h ]h"]h$]h&]uh1jhj hMhj ubj)}(h9``u16 table`` routing table ID (global or port-specific) h](j)}(h ``u16 table``h]j)}(hj h]h u16 table}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj ubj )}(hhh]h)}(h*routing table ID (global or port-specific)h]h*routing table ID (global or port-specific)}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj hMhj ubj)}(h,``u16 route_destid`` destID entry in the RT h](j)}(h``u16 route_destid``h]j)}(hj h]hu16 route_destid}(hhhj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj ubj )}(hhh]h)}(hdestID entry in the RTh]hdestID entry in the RT}(hj !hj !hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!hMhj!ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj!hMhj ubj)}(h7``u8 route_port`` destination port for specified destIDh](j)}(h``u8 route_port``h]j)}(hj+!h]h u8 route_port}(hhhj-!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)!ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj%!ubj )}(hhh]h)}(h%destination port for specified destIDh]h%destination port for specified destID}(hjF!hjD!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjA!ubah}(h]h ]h"]h$]h&]uh1j hj%!ubeh}(h]h ]h"]h$]h&]uh1jhj@!hMhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj{hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$rio_std_route_get_entry (C function)c.rio_std_route_get_entryhNtauh1jhj{hhhNhNubj )}(hhh](j)}(h{int rio_std_route_get_entry (struct rio_mport *mport, u16 destid, u8 hopcount, u16 table, u16 route_destid, u8 *route_port)h]j)}(hzint rio_std_route_get_entry(struct rio_mport *mport, u16 destid, u8 hopcount, u16 table, u16 route_destid, u8 *route_port)h](j)}(hinth]hint}(hhhj!hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj!hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhj!hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!hhhj!hMubj?)}(hrio_std_route_get_entryh]jE)}(hrio_std_route_get_entryh]hrio_std_route_get_entry}(hhhj!hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj!ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj!hhhj!hMubj`)}(h_(struct rio_mport *mport, u16 destid, u8 hopcount, u16 table, u16 route_destid, u8 *route_port)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhj!hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj!ubj.)}(h h]h }(hhhj!hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj!hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj!ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj!modnameN classnameNjj)}j]j)}jj!sbc.rio_std_route_get_entryasbuh1hhj!ubj.)}(h h]h }(hhhj"hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!ubj)}(hjh]h*}(hhhj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubjE)}(hmporth]hmport}(hhhj"hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj!ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj!ubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhj7"hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj4"ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj9"modnameN classnameNjj)}j]j!c.rio_std_route_get_entryasbuh1hhj0"ubj.)}(h h]h }(hhhjU"hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj0"ubjE)}(hdestidh]hdestid}(hhhjc"hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj0"ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj!ubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhj"hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj|"ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj"modnameN classnameNjj)}j]j!c.rio_std_route_get_entryasbuh1hhjx"ubj.)}(h h]h }(hhhj"hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjx"ubjE)}(hhopcounth]hhopcount}(hhhj"hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjx"ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj!ubjf)}(h u16 tableh](h)}(hhh]jE)}(hu16h]hu16}(hhhj"hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj"ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj"modnameN classnameNjj)}j]j!c.rio_std_route_get_entryasbuh1hhj"ubj.)}(h h]h }(hhhj"hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj"ubjE)}(htableh]htable}(hhhj"hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj"ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj!ubjf)}(hu16 route_destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhj#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj #ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj#modnameN classnameNjj)}j]j!c.rio_std_route_get_entryasbuh1hhj#ubj.)}(h h]h }(hhhj-#hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj#ubjE)}(h route_destidh]h route_destid}(hhhj;#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj#ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj!ubjf)}(hu8 *route_porth](h)}(hhh]jE)}(hu8h]hu8}(hhhjW#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjT#ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjY#modnameN classnameNjj)}j]j!c.rio_std_route_get_entryasbuh1hhjP#ubj.)}(h h]h }(hhhju#hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjP#ubj)}(hjh]h*}(hhhj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjP#ubjE)}(h route_porth]h route_port}(hhhj#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjP#ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj!ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj!hhhj!hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj}!hhhj!hMubah}(h]jx!ah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjz!hhubj)}(hhh]h)}(hRead switch route table entry (port number) associated with specified destID using standard registers defined in RIO specification rev.1.3h]hRead switch route table entry (port number) associated with specified destID using standard registers defined in RIO specification rev.1.3}(hj#hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj#hhubah}(h]h ]h"]h$]h&]uh1jhjz!hhhj!hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj#jj#juh1j hhhj{hNhNubj)}(hXd**Parameters** ``struct rio_mport *mport`` Master port to issue transaction ``u16 destid`` Destination ID of the device ``u8 hopcount`` Number of switch hops to the device ``u16 table`` routing table ID (global or port-specific) ``u16 route_destid`` destID entry in the RT ``u8 *route_port`` returned destination port for specified destIDh](h)}(h**Parameters**h]j)}(hj#h]h Parameters}(hhhj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj#ubj)}(hhh](j)}(h=``struct rio_mport *mport`` Master port to issue transaction h](j)}(h``struct rio_mport *mport``h]j)}(hj#h]hstruct rio_mport *mport}(hhhj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj#ubj )}(hhh]h)}(h Master port to issue transactionh]h Master port to issue transaction}(hj$hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$hMhj$ubah}(h]h ]h"]h$]h&]uh1j hj#ubeh}(h]h ]h"]h$]h&]uh1jhj$hMhj#ubj)}(h,``u16 destid`` Destination ID of the device h](j)}(h``u16 destid``h]j)}(hj5$h]h u16 destid}(hhhj7$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3$ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj/$ubj )}(hhh]h)}(hDestination ID of the deviceh]hDestination ID of the device}(hjP$hjN$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJ$hMhjK$ubah}(h]h ]h"]h$]h&]uh1j hj/$ubeh}(h]h ]h"]h$]h&]uh1jhjJ$hMhj#ubj)}(h4``u8 hopcount`` Number of switch hops to the device h](j)}(h``u8 hopcount``h]j)}(hjn$h]h u8 hopcount}(hhhjp$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjl$ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjh$ubj )}(hhh]h)}(h#Number of switch hops to the deviceh]h#Number of switch hops to the device}(hj$hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$hMhj$ubah}(h]h ]h"]h$]h&]uh1j hjh$ubeh}(h]h ]h"]h$]h&]uh1jhj$hMhj#ubj)}(h9``u16 table`` routing table ID (global or port-specific) h](j)}(h ``u16 table``h]j)}(hj$h]h u16 table}(hhhj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj$ubj )}(hhh]h)}(h*routing table ID (global or port-specific)h]h*routing table ID (global or port-specific)}(hj$hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$hMhj$ubah}(h]h ]h"]h$]h&]uh1j hj$ubeh}(h]h ]h"]h$]h&]uh1jhj$hMhj#ubj)}(h,``u16 route_destid`` destID entry in the RT h](j)}(h``u16 route_destid``h]j)}(hj$h]hu16 route_destid}(hhhj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj$ubj )}(hhh]h)}(hdestID entry in the RTh]hdestID entry in the RT}(hj$hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$hMhj$ubah}(h]h ]h"]h$]h&]uh1j hj$ubeh}(h]h ]h"]h$]h&]uh1jhj$hMhj#ubj)}(hA``u8 *route_port`` returned destination port for specified destIDh](j)}(h``u8 *route_port``h]j)}(hj%h]hu8 *route_port}(hhhj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj%ubj )}(hhh]h)}(h.returned destination port for specified destIDh]h.returned destination port for specified destID}(hj4%hj2%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj/%ubah}(h]h ]h"]h$]h&]uh1j hj%ubeh}(h]h ]h"]h$]h&]uh1jhj.%hMhj#ubeh}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj{hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$rio_std_route_clr_table (C function)c.rio_std_route_clr_tablehNtauh1jhj{hhhNhNubj )}(hhh](j)}(hYint rio_std_route_clr_table (struct rio_mport *mport, u16 destid, u8 hopcount, u16 table)h]j)}(hXint rio_std_route_clr_table(struct rio_mport *mport, u16 destid, u8 hopcount, u16 table)h](j)}(hinth]hint}(hhhjs%hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjo%hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhj%hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjo%hhhj%hMubj?)}(hrio_std_route_clr_tableh]jE)}(hrio_std_route_clr_tableh]hrio_std_route_clr_table}(hhhj%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjo%hhhj%hMubj`)}(h=(struct rio_mport *mport, u16 destid, u8 hopcount, u16 table)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhj%hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj%ubj.)}(h h]h }(hhhj%hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj%modnameN classnameNjj)}j]j)}jj%sbc.rio_std_route_clr_tableasbuh1hhj%ubj.)}(h h]h }(hhhj%hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%ubj)}(hjh]h*}(hhhj%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%ubjE)}(hmporth]hmport}(hhhj &hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj%ubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhj%&hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj"&ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj'&modnameN classnameNjj)}j]j%c.rio_std_route_clr_tableasbuh1hhj&ubj.)}(h h]h }(hhhjC&hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj&ubjE)}(hdestidh]hdestid}(hhhjQ&hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj&ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj%ubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhjm&hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjj&ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjo&modnameN classnameNjj)}j]j%c.rio_std_route_clr_tableasbuh1hhjf&ubj.)}(h h]h }(hhhj&hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjf&ubjE)}(hhopcounth]hhopcount}(hhhj&hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjf&ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj%ubjf)}(h u16 tableh](h)}(hhh]jE)}(hu16h]hu16}(hhhj&hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj&ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj&modnameN classnameNjj)}j]j%c.rio_std_route_clr_tableasbuh1hhj&ubj.)}(h h]h }(hhhj&hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj&ubjE)}(htableh]htable}(hhhj&hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj&ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj%ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjo%hhhj%hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjk%hhhj%hMubah}(h]jf%ah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjh%hhubj)}(hhh]h)}(hWClear swotch route table using standard registers defined in RIO specification rev.1.3.h]hWClear swotch route table using standard registers defined in RIO specification rev.1.3.}(hj'hj 'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj 'hhubah}(h]h ]h"]h$]h&]uh1jhjh%hhhj%hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj$'jj$'juh1j hhhj{hNhNubj)}(h**Parameters** ``struct rio_mport *mport`` Master port to issue transaction ``u16 destid`` Destination ID of the device ``u8 hopcount`` Number of switch hops to the device ``u16 table`` routing table ID (global or port-specific)h](h)}(h**Parameters**h]j)}(hj.'h]h Parameters}(hhhj0'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,'ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj('ubj)}(hhh](j)}(h=``struct rio_mport *mport`` Master port to issue transaction h](j)}(h``struct rio_mport *mport``h]j)}(hjM'h]hstruct rio_mport *mport}(hhhjO'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjK'ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjG'ubj )}(hhh]h)}(h Master port to issue transactionh]h Master port to issue transaction}(hjh'hjf'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjb'hMhjc'ubah}(h]h ]h"]h$]h&]uh1j hjG'ubeh}(h]h ]h"]h$]h&]uh1jhjb'hMhjD'ubj)}(h,``u16 destid`` Destination ID of the device h](j)}(h``u16 destid``h]j)}(hj'h]h u16 destid}(hhhj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj'ubj )}(hhh]h)}(hDestination ID of the deviceh]hDestination ID of the device}(hj'hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'hMhj'ubah}(h]h ]h"]h$]h&]uh1j hj'ubeh}(h]h ]h"]h$]h&]uh1jhj'hMhjD'ubj)}(h4``u8 hopcount`` Number of switch hops to the device h](j)}(h``u8 hopcount``h]j)}(hj'h]h u8 hopcount}(hhhj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj'ubj )}(hhh]h)}(h#Number of switch hops to the deviceh]h#Number of switch hops to the device}(hj'hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'hMhj'ubah}(h]h ]h"]h$]h&]uh1j hj'ubeh}(h]h ]h"]h$]h&]uh1jhj'hMhjD'ubj)}(h8``u16 table`` routing table ID (global or port-specific)h](j)}(h ``u16 table``h]j)}(hj'h]h u16 table}(hhhj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj'ubj )}(hhh]h)}(h*routing table ID (global or port-specific)h]h*routing table ID (global or port-specific)}(hj(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj(ubah}(h]h ]h"]h$]h&]uh1j hj'ubeh}(h]h ]h"]h$]h&]uh1jhj (hMhjD'ubeh}(h]h ]h"]h$]h&]uh1jhj('ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj{hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_find_mport (C function)c.rio_find_mporthNtauh1jhj{hhhNhNubj )}(hhh](j)}(h0struct rio_mport * rio_find_mport (int mport_id)h]j)}(h.struct rio_mport *rio_find_mport(int mport_id)h](jl)}(hjoh]hstruct}(hhhjR(hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjN(hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMIubj.)}(h h]h }(hhhj`(hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjN(hhhj_(hMIubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjq(hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjn(ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjs(modnameN classnameNjj)}j]j)}jrio_find_mportsbc.rio_find_mportasbuh1hhjN(hhhj_(hMIubj.)}(h h]h }(hhhj(hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjN(hhhj_(hMIubj)}(hjh]h*}(hhhj(hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjN(hhhj_(hMIubj?)}(hrio_find_mporth]jE)}(hj(h]hrio_find_mport}(hhhj(hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj(ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjN(hhhj_(hMIubj`)}(h(int mport_id)h]jf)}(h int mport_idh](j)}(hinth]hint}(hhhj(hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj(ubj.)}(h h]h }(hhhj(hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj(ubjE)}(hmport_idh]hmport_id}(hhhj(hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj(ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj(ubah}(h]h ]h"]h$]h&]j]j^uh1j_hjN(hhhj_(hMIubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjJ(hhhj_(hMIubah}(h]jE(ah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMOhjG(hhubj)}(hhh]h)}(hfind RIO mport by its IDh]hfind RIO mport by its ID}(hj)hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMHhj)hhubah}(h]h ]h"]h$]h&]uh1jhjG(hhhj_(hMIubeh}(h]h ](jfunctioneh"]h$]h&]jjjj+)jj+)juh1j hhhj{hNhNubj)}(hX**Parameters** ``int mport_id`` number (ID) of mport device **Description** Given a RIO mport number, the desired mport is located in the global list of mports. If the mport is found, a pointer to its data structure is returned. If no mport is found, ``NULL`` is returned.h](h)}(h**Parameters**h]j)}(hj5)h]h Parameters}(hhhj7)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3)ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMLhj/)ubj)}(hhh]j)}(h-``int mport_id`` number (ID) of mport device h](j)}(h``int mport_id``h]j)}(hjT)h]h int mport_id}(hhhjV)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjR)ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMIhjN)ubj )}(hhh]h)}(hnumber (ID) of mport deviceh]hnumber (ID) of mport device}(hjo)hjm)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhji)hMIhjj)ubah}(h]h ]h"]h$]h&]uh1j hjN)ubeh}(h]h ]h"]h$]h&]uh1jhji)hMIhjK)ubah}(h]h ]h"]h$]h&]uh1jhj/)ubh)}(h**Description**h]j)}(hj)h]h Description}(hhhj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMKhj/)ubh)}(hGiven a RIO mport number, the desired mport is located in the global list of mports. If the mport is found, a pointer to its data structure is returned. If no mport is found, ``NULL`` is returned.h](hGiven a RIO mport number, the desired mport is located in the global list of mports. If the mport is found, a pointer to its data structure is returned. If no mport is found, }(hGiven a RIO mport number, the desired mport is located in the global list of mports. If the mport is found, a pointer to its data structure is returned. If no mport is found, hj)hhhNhNubj)}(h``NULL``h]hNULL}(hhhj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubh is returned.}(h is returned.hj)hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMKhj/)ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj{hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_mport_scan (C function)c.rio_mport_scanhNtauh1jhj{hhhNhNubj )}(hhh](j)}(h!int rio_mport_scan (int mport_id)h]j)}(h int rio_mport_scan(int mport_id)h](j)}(hinth]hint}(hhhj)hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj)hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hhhj)hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj)hhhj)hMubj?)}(hrio_mport_scanh]jE)}(hrio_mport_scanh]hrio_mport_scan}(hhhj *hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj*ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj)hhhj)hMubj`)}(h(int mport_id)h]jf)}(h int mport_idh](j)}(hinth]hint}(hhhj%*hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj!*ubj.)}(h h]h }(hhhj3*hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!*ubjE)}(hmport_idh]hmport_id}(hhhjA*hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj!*ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj*ubah}(h]h ]h"]h$]h&]j]j^uh1j_hj)hhhj)hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj)hhhj)hMubah}(h]j)ah ](jjeh"]h$]h&]juh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj)hhubj)}(hhh]h)}(h4execute enumeration/discovery on the specified mporth]h4execute enumeration/discovery on the specified mport}(hjn*hjl*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhji*hhubah}(h]h ]h"]h$]h&]uh1jhj)hhhj)hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj*jj*juh1j hhhj{hNhNubj)}(h>**Parameters** ``int mport_id`` number (ID) of mport deviceh](h)}(h**Parameters**h]j)}(hj*h]h Parameters}(hhhj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj*ubj)}(hhh]j)}(h,``int mport_id`` number (ID) of mport deviceh](j)}(h``int mport_id``h]j)}(hj*h]h int mport_id}(hhhj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj*ubj )}(hhh]h)}(hnumber (ID) of mport deviceh]hnumber (ID) of mport device}(hj*hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhj*ubah}(h]h ]h"]h$]h&]uh1j hj*ubeh}(h]h ]h"]h$]h&]uh1jhj*hMhj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj{hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jRIO_LOP_READ (C macro)c.RIO_LOP_READhNtauh1jhj{hhhNhNubj )}(hhh](j)}(h RIO_LOP_READh]j)}(h RIO_LOP_READh]j?)}(h RIO_LOP_READh]jE)}(hj+h]h RIO_LOP_READ}(hhhj +hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj+ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj+hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chK!ubah}(h]h ]h"]h$]h&]j]j^juh1jjjhj*hhhj+hK!ubah}(h]j*ah ](jjeh"]h$]h&]juh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chK hj*hhubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj*hhhj+hK!ubeh}(h]h ](jmacroeh"]h$]h&]jjjj8+jj8+juh1j hhhj{hNhNubh)}(h"``RIO_LOP_READ (size, type, len)``h]j)}(hj>+h]hRIO_LOP_READ (size, type, len)}(hhhj@+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<+ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chK"hj{hhubj()}(hhh]h)}(h*Generate rio_local_read_config_* functionsh]h*Generate rio_local_read_config_* functions}(hjY+hjW+hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKhjT+ubah}(h]h ]h"]h$]h&]uh1j(hj{hhhNhNubj)}(hX/**Parameters** ``size`` Size of configuration space read (8, 16, 32 bits) ``type`` C type of value argument ``len`` Length of configuration space read (1, 2, 4 bytes) **Description** Generates rio_local_read_config_* functions used to access configuration space registers on the local device.h](h)}(h**Parameters**h]j)}(hjr+h]h Parameters}(hhhjt+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjp+ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKhjl+ubj)}(hhh](j)}(h;``size`` Size of configuration space read (8, 16, 32 bits) h](j)}(h``size``h]j)}(hj+h]hsize}(hhhj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKhj+ubj )}(hhh]h)}(h1Size of configuration space read (8, 16, 32 bits)h]h1Size of configuration space read (8, 16, 32 bits)}(hj+hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+hKhj+ubah}(h]h ]h"]h$]h&]uh1j hj+ubeh}(h]h ]h"]h$]h&]uh1jhj+hKhj+ubj)}(h"``type`` C type of value argument h](j)}(h``type``h]j)}(hj+h]htype}(hhhj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKhj+ubj )}(hhh]h)}(hC type of value argumenth]hC type of value argument}(hj+hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+hKhj+ubah}(h]h ]h"]h$]h&]uh1j hj+ubeh}(h]h ]h"]h$]h&]uh1jhj+hKhj+ubj)}(h;``len`` Length of configuration space read (1, 2, 4 bytes) h](j)}(h``len``h]j)}(hj,h]hlen}(hhhj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKhj+ubj )}(hhh]h)}(h2Length of configuration space read (1, 2, 4 bytes)h]h2Length of configuration space read (1, 2, 4 bytes)}(hj,hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,hKhj,ubah}(h]h ]h"]h$]h&]uh1j hj+ubeh}(h]h ]h"]h$]h&]uh1jhj,hKhj+ubeh}(h]h ]h"]h$]h&]uh1jhjl+ubh)}(h**Description**h]j)}(hj>,h]h Description}(hhhj@,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<,ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKhjl+ubh)}(hmGenerates rio_local_read_config_* functions used to access configuration space registers on the local device.h]hmGenerates rio_local_read_config_* functions used to access configuration space registers on the local device.}(hjV,hjT,hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKhjl+ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj{hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jRIO_LOP_WRITE (C macro)c.RIO_LOP_WRITEhNtauh1jhj{hhhNhNubj )}(hhh](j)}(h RIO_LOP_WRITEh]j)}(h RIO_LOP_WRITEh]j?)}(h RIO_LOP_WRITEh]jE)}(hj},h]h RIO_LOP_WRITE}(hhhj,hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj,ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj,hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chK6ubah}(h]h ]h"]h$]h&]j]j^juh1jjjhj{,hhhj,hK6ubah}(h]jv,ah ](jjeh"]h$]h&]juh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chK5hjx,hhubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjx,hhhj,hK6ubeh}(h]h ](jmacroeh"]h$]h&]jjjj,jj,juh1j hhhj{hNhNubh)}(h#``RIO_LOP_WRITE (size, type, len)``h]j)}(hj,h]hRIO_LOP_WRITE (size, type, len)}(hhhj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chK7hj{hhubj()}(hhh]h)}(h+Generate rio_local_write_config_* functionsh]h+Generate rio_local_write_config_* functions}(hj,hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chK-hj,ubah}(h]h ]h"]h$]h&]uh1j(hj{hhhNhNubj)}(hX2**Parameters** ``size`` Size of configuration space write (8, 16, 32 bits) ``type`` C type of value argument ``len`` Length of configuration space write (1, 2, 4 bytes) **Description** Generates rio_local_write_config_* functions used to access configuration space registers on the local device.h](h)}(h**Parameters**h]j)}(hj,h]h Parameters}(hhhj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chK1hj,ubj)}(hhh](j)}(h<``size`` Size of configuration space write (8, 16, 32 bits) h](j)}(h``size``h]j)}(hj -h]hsize}(hhhj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj -ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chK.hj-ubj )}(hhh]h)}(h2Size of configuration space write (8, 16, 32 bits)h]h2Size of configuration space write (8, 16, 32 bits)}(hj(-hj&-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"-hK.hj#-ubah}(h]h ]h"]h$]h&]uh1j hj-ubeh}(h]h ]h"]h$]h&]uh1jhj"-hK.hj-ubj)}(h"``type`` C type of value argument h](j)}(h``type``h]j)}(hjF-h]htype}(hhhjH-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjD-ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chK/hj@-ubj )}(hhh]h)}(hC type of value argumenth]hC type of value argument}(hja-hj_-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[-hK/hj\-ubah}(h]h ]h"]h$]h&]uh1j hj@-ubeh}(h]h ]h"]h$]h&]uh1jhj[-hK/hj-ubj)}(h<``len`` Length of configuration space write (1, 2, 4 bytes) h](j)}(h``len``h]j)}(hj-h]hlen}(hhhj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj}-ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chK0hjy-ubj )}(hhh]h)}(h3Length of configuration space write (1, 2, 4 bytes)h]h3Length of configuration space write (1, 2, 4 bytes)}(hj-hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-hK0hj-ubah}(h]h ]h"]h$]h&]uh1j hjy-ubeh}(h]h ]h"]h$]h&]uh1jhj-hK0hj-ubeh}(h]h ]h"]h$]h&]uh1jhj,ubh)}(h**Description**h]j)}(hj-h]h Description}(hhhj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj-ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chK2hj,ubh)}(hnGenerates rio_local_write_config_* functions used to access configuration space registers on the local device.h]hnGenerates rio_local_write_config_* functions used to access configuration space registers on the local device.}(hj-hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chK2hj,ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj{hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jRIO_OP_READ (C macro) c.RIO_OP_READhNtauh1jhj{hhhNhNubj )}(hhh](j)}(h RIO_OP_READh]j)}(h RIO_OP_READh]j?)}(h RIO_OP_READh]jE)}(hj-h]h RIO_OP_READ}(hhhj.hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj-ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj-hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKUubah}(h]h ]h"]h$]h&]j]j^juh1jjjhj-hhhj.hKUubah}(h]j-ah ](jjeh"]h$]h&]juh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKThj-hhubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj-hhhj.hKUubeh}(h]h ](jmacroeh"]h$]h&]jjjj0.jj0.juh1j hhhj{hNhNubh)}(h!``RIO_OP_READ (size, type, len)``h]j)}(hj6.h]hRIO_OP_READ (size, type, len)}(hhhj8.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4.ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKVhj{hhubj()}(hhh]h)}(h*Generate rio_mport_read_config_* functionsh]h*Generate rio_mport_read_config_* functions}(hjQ.hjO.hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKLhjL.ubah}(h]h ]h"]h$]h&]uh1j(hj{hhhNhNubj)}(hX/**Parameters** ``size`` Size of configuration space read (8, 16, 32 bits) ``type`` C type of value argument ``len`` Length of configuration space read (1, 2, 4 bytes) **Description** Generates rio_mport_read_config_* functions used to access configuration space registers on the local device.h](h)}(h**Parameters**h]j)}(hjj.h]h Parameters}(hhhjl.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjh.ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKPhjd.ubj)}(hhh](j)}(h;``size`` Size of configuration space read (8, 16, 32 bits) h](j)}(h``size``h]j)}(hj.h]hsize}(hhhj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKMhj.ubj )}(hhh]h)}(h1Size of configuration space read (8, 16, 32 bits)h]h1Size of configuration space read (8, 16, 32 bits)}(hj.hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hKMhj.ubah}(h]h ]h"]h$]h&]uh1j hj.ubeh}(h]h ]h"]h$]h&]uh1jhj.hKMhj.ubj)}(h"``type`` C type of value argument h](j)}(h``type``h]j)}(hj.h]htype}(hhhj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKNhj.ubj )}(hhh]h)}(hC type of value argumenth]hC type of value argument}(hj.hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hKNhj.ubah}(h]h ]h"]h$]h&]uh1j hj.ubeh}(h]h ]h"]h$]h&]uh1jhj.hKNhj.ubj)}(h;``len`` Length of configuration space read (1, 2, 4 bytes) h](j)}(h``len``h]j)}(hj.h]hlen}(hhhj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKOhj.ubj )}(hhh]h)}(h2Length of configuration space read (1, 2, 4 bytes)h]h2Length of configuration space read (1, 2, 4 bytes)}(hj/hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/hKOhj/ubah}(h]h ]h"]h$]h&]uh1j hj.ubeh}(h]h ]h"]h$]h&]uh1jhj/hKOhj.ubeh}(h]h ]h"]h$]h&]uh1jhjd.ubh)}(h**Description**h]j)}(hj6/h]h Description}(hhhj8/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4/ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKQhjd.ubh)}(hmGenerates rio_mport_read_config_* functions used to access configuration space registers on the local device.h]hmGenerates rio_mport_read_config_* functions used to access configuration space registers on the local device.}(hjN/hjL/hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKQhjd.ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj{hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jRIO_OP_WRITE (C macro)c.RIO_OP_WRITEhNtauh1jhj{hhhNhNubj )}(hhh](j)}(h RIO_OP_WRITEh]j)}(h RIO_OP_WRITEh]j?)}(h RIO_OP_WRITEh]jE)}(hju/h]h RIO_OP_WRITE}(hhhj/hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj{/ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjw/hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKjubah}(h]h ]h"]h$]h&]j]j^juh1jjjhjs/hhhj/hKjubah}(h]jn/ah ](jjeh"]h$]h&]juh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKihjp/hhubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjp/hhhj/hKjubeh}(h]h ](jmacroeh"]h$]h&]jjjj/jj/juh1j hhhj{hNhNubh)}(h"``RIO_OP_WRITE (size, type, len)``h]j)}(hj/h]hRIO_OP_WRITE (size, type, len)}(hhhj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKkhj{hhubj()}(hhh]h)}(h+Generate rio_mport_write_config_* functionsh]h+Generate rio_mport_write_config_* functions}(hj/hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKahj/ubah}(h]h ]h"]h$]h&]uh1j(hj{hhhNhNubj)}(hX2**Parameters** ``size`` Size of configuration space write (8, 16, 32 bits) ``type`` C type of value argument ``len`` Length of configuration space write (1, 2, 4 bytes) **Description** Generates rio_mport_write_config_* functions used to access configuration space registers on the local device.h](h)}(h**Parameters**h]j)}(hj/h]h Parameters}(hhhj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKehj/ubj)}(hhh](j)}(h<``size`` Size of configuration space write (8, 16, 32 bits) h](j)}(h``size``h]j)}(hj0h]hsize}(hhhj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKbhj/ubj )}(hhh]h)}(h2Size of configuration space write (8, 16, 32 bits)h]h2Size of configuration space write (8, 16, 32 bits)}(hj 0hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0hKbhj0ubah}(h]h ]h"]h$]h&]uh1j hj/ubeh}(h]h ]h"]h$]h&]uh1jhj0hKbhj/ubj)}(h"``type`` C type of value argument h](j)}(h``type``h]j)}(hj>0h]htype}(hhhj@0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<0ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKchj80ubj )}(hhh]h)}(hC type of value argumenth]hC type of value argument}(hjY0hjW0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjS0hKchjT0ubah}(h]h ]h"]h$]h&]uh1j hj80ubeh}(h]h ]h"]h$]h&]uh1jhjS0hKchj/ubj)}(h<``len`` Length of configuration space write (1, 2, 4 bytes) h](j)}(h``len``h]j)}(hjw0h]hlen}(hhhjy0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhju0ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKdhjq0ubj )}(hhh]h)}(h3Length of configuration space write (1, 2, 4 bytes)h]h3Length of configuration space write (1, 2, 4 bytes)}(hj0hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0hKdhj0ubah}(h]h ]h"]h$]h&]uh1j hjq0ubeh}(h]h ]h"]h$]h&]uh1jhj0hKdhj/ubeh}(h]h ]h"]h$]h&]uh1jhj/ubh)}(h**Description**h]j)}(hj0h]h Description}(hhhj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKfhj/ubh)}(hnGenerates rio_mport_write_config_* functions used to access configuration space registers on the local device.h]hnGenerates rio_mport_write_config_* functions used to access configuration space registers on the local device.}(hj0hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKfhj/ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj{hhhNhNubeh}(h]driver-functionalityah ]h"]driver functionalityah$]h&]uh1hhjhhhhhKIubh)}(hhh](h)}(hDevice model supporth]hDevice model support}(hj0hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0hhhhhKRubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_match_device (C function)c.rio_match_devicehNtauh1jhj0hhhNhNubj )}(hhh](j)}(hjconst struct rio_device_id * rio_match_device (const struct rio_device_id *id, const struct rio_dev *rdev)h]j)}(hhconst struct rio_device_id *rio_match_device(const struct rio_device_id *id, const struct rio_dev *rdev)h](jl)}(hj'1h]hconst}(hhhj1hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj 1hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKubj.)}(h h]h }(hhhj1hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj 1hhhj1hKubjl)}(hjoh]hstruct}(hhhj,1hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj 1hhhj1hKubj.)}(h h]h }(hhhj91hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj 1hhhj1hKubh)}(hhh]jE)}(h rio_device_idh]h rio_device_id}(hhhjJ1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjG1ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjL1modnameN classnameNjj)}j]j)}jrio_match_devicesbc.rio_match_deviceasbuh1hhj 1hhhj1hKubj.)}(h h]h }(hhhjk1hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj 1hhhj1hKubj)}(hjh]h*}(hhhjy1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj 1hhhj1hKubj?)}(hrio_match_deviceh]jE)}(hjh1h]hrio_match_device}(hhhj1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj1ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj 1hhhj1hKubj`)}(h<(const struct rio_device_id *id, const struct rio_dev *rdev)h](jf)}(hconst struct rio_device_id *idh](jl)}(hj'1h]hconst}(hhhj1hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj1ubj.)}(h h]h }(hhhj1hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj1ubjl)}(hjoh]hstruct}(hhhj1hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj1ubj.)}(h h]h }(hhhj1hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj1ubh)}(hhh]jE)}(h rio_device_idh]h rio_device_id}(hhhj1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj1ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj1modnameN classnameNjj)}j]jf1c.rio_match_deviceasbuh1hhj1ubj.)}(h h]h }(hhhj1hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj1ubj)}(hjh]h*}(hhhj 2hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj1ubjE)}(hidh]hid}(hhhj2hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj1ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj1ubjf)}(hconst struct rio_dev *rdevh](jl)}(hj'1h]hconst}(hhhj02hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj,2ubj.)}(h h]h }(hhhj=2hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,2ubjl)}(hjoh]hstruct}(hhhjK2hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj,2ubj.)}(h h]h }(hhhjX2hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,2ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hhhji2hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjf2ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjk2modnameN classnameNjj)}j]jf1c.rio_match_deviceasbuh1hhj,2ubj.)}(h h]h }(hhhj2hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,2ubj)}(hjh]h*}(hhhj2hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,2ubjE)}(hrdevh]hrdev}(hhhj2hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj,2ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj1ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj 1hhhj1hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj1hhhj1hKubah}(h]j1ah ](jjeh"]h$]h&]juh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj1hhubj)}(hhh]h)}(h;Tell if a RIO device has a matching RIO device id structureh]h;Tell if a RIO device has a matching RIO device id structure}(hj2hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj2hhubah}(h]h ]h"]h$]h&]uh1jhj1hhhj1hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj2jj2juh1j hhhj0hNhNubj)}(hX**Parameters** ``const struct rio_device_id *id`` the RIO device id structure to match against ``const struct rio_dev *rdev`` the RIO device structure to match against Used from driver probe and bus matching to check whether a RIO device matches a device id structure provided by a RIO driver. Returns the matching :c:type:`struct rio_device_id ` or ``NULL`` if there is no match.h](h)}(h**Parameters**h]j)}(hj2h]h Parameters}(hhhj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj2ubj)}(hhh](j)}(hP``const struct rio_device_id *id`` the RIO device id structure to match against h](j)}(h"``const struct rio_device_id *id``h]j)}(hj3h]hconst struct rio_device_id *id}(hhhj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj 3ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj3ubj )}(hhh]h)}(h,the RIO device id structure to match againsth]h,the RIO device id structure to match against}(hj)3hj'3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#3hKhj$3ubah}(h]h ]h"]h$]h&]uh1j hj3ubeh}(h]h ]h"]h$]h&]uh1jhj#3hKhj3ubj)}(hX-``const struct rio_dev *rdev`` the RIO device structure to match against Used from driver probe and bus matching to check whether a RIO device matches a device id structure provided by a RIO driver. Returns the matching :c:type:`struct rio_device_id ` or ``NULL`` if there is no match.h](j)}(h``const struct rio_dev *rdev``h]j)}(hjG3h]hconst struct rio_dev *rdev}(hhhjI3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjE3ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhjA3ubj )}(hhh](h)}(h)the RIO device structure to match againsth]h)the RIO device structure to match against}(hjb3hj`3hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj]3ubh)}(hUsed from driver probe and bus matching to check whether a RIO device matches a device id structure provided by a RIO driver. Returns the matching :c:type:`struct rio_device_id ` or ``NULL`` if there is no match.h](hUsed from driver probe and bus matching to check whether a RIO device matches a device id structure provided by a RIO driver. Returns the matching }(hUsed from driver probe and bus matching to check whether a RIO device matches a device id structure provided by a RIO driver. Returns the matching hjo3hhhNhNubh)}(h.:c:type:`struct rio_device_id `h]j)}(hjz3h]hstruct rio_device_id}(hhhj|3hhhNhNubah}(h]h ](j:jc-typeeh"]h$]h&]uh1jhjx3ubah}(h]h ]h"]h$]h&]refdocj ; refdomainjreftypetype refexplicitrefwarnj;j;j; rio_device_iduh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhjo3ubh or }(h or hjo3hhhNhNubj)}(h``NULL``h]hNULL}(hhhj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjo3ubh if there is no match.}(h if there is no match.hjo3hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj3hKhj]3ubeh}(h]h ]h"]h$]h&]uh1j hjA3ubeh}(h]h ]h"]h$]h&]uh1jhj\3hKhj3ubeh}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj0hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_device_probe (C function)c.rio_device_probehNtauh1jhj0hhhNhNubj )}(hhh](j)}(h)int rio_device_probe (struct device *dev)h]j)}(h(int rio_device_probe(struct device *dev)h](j)}(hinth]hint}(hhhj3hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj3hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKOubj.)}(h h]h }(hhhj3hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj3hhhj3hKOubj?)}(hrio_device_probeh]jE)}(hrio_device_probeh]hrio_device_probe}(hhhj 4hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj4ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj3hhhj3hKOubj`)}(h(struct device *dev)h]jf)}(hstruct device *devh](jl)}(hjoh]hstruct}(hhhj%4hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj!4ubj.)}(h h]h }(hhhj24hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!4ubh)}(hhh]jE)}(hdeviceh]hdevice}(hhhjC4hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj@4ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjE4modnameN classnameNjj)}j]j)}jj 4sbc.rio_device_probeasbuh1hhj!4ubj.)}(h h]h }(hhhjc4hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!4ubj)}(hjh]h*}(hhhjq4hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!4ubjE)}(hdevh]hdev}(hhhj~4hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj!4ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj4ubah}(h]h ]h"]h$]h&]j]j^uh1j_hj3hhhj3hKOubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj3hhhj3hKOubah}(h]j3ah ](jjeh"]h$]h&]juh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKShj3hhubj)}(hhh]h)}(hETell if a RIO device structure has a matching RIO device id structureh]hETell if a RIO device structure has a matching RIO device id structure}(hj4hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKNhj4hhubah}(h]h ]h"]h$]h&]uh1jhj3hhhj3hKOubeh}(h]h ](jfunctioneh"]h$]h&]jjjj4jj4juh1j hhhj0hNhNubj)}(h**Parameters** ``struct device *dev`` the RIO device structure to match against **Description** return 0 and set rio_dev->driver when drv claims rio_dev, else errorh](h)}(h**Parameters**h]j)}(hj4h]h Parameters}(hhhj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKRhj4ubj)}(hhh]j)}(hA``struct device *dev`` the RIO device structure to match against h](j)}(h``struct device *dev``h]j)}(hj4h]hstruct device *dev}(hhhj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKOhj4ubj )}(hhh]h)}(h)the RIO device structure to match againsth]h)the RIO device structure to match against}(hj5hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4hKOhj5ubah}(h]h ]h"]h$]h&]uh1j hj4ubeh}(h]h ]h"]h$]h&]uh1jhj4hKOhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubh)}(h**Description**h]j)}(hj%5h]h Description}(hhhj'5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#5ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKQhj4ubh)}(hDreturn 0 and set rio_dev->driver when drv claims rio_dev, else errorh]hDreturn 0 and set rio_dev->driver when drv claims rio_dev, else error}(hj=5hj;5hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKQhj4ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj0hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_device_remove (C function)c.rio_device_removehNtauh1jhj0hhhNhNubj )}(hhh](j)}(h+void rio_device_remove (struct device *dev)h]j)}(h*void rio_device_remove(struct device *dev)h](j)}(hvoidh]hvoid}(hhhjj5hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjf5hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKlubj.)}(h h]h }(hhhjy5hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjf5hhhjx5hKlubj?)}(hrio_device_removeh]jE)}(hrio_device_removeh]hrio_device_remove}(hhhj5hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj5ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjf5hhhjx5hKlubj`)}(h(struct device *dev)h]jf)}(hstruct device *devh](jl)}(hjoh]hstruct}(hhhj5hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj5ubj.)}(h h]h }(hhhj5hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj5ubh)}(hhh]jE)}(hdeviceh]hdevice}(hhhj5hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj5ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj5modnameN classnameNjj)}j]j)}jj5sbc.rio_device_removeasbuh1hhj5ubj.)}(h h]h }(hhhj5hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj5ubj)}(hjh]h*}(hhhj5hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj5ubjE)}(hdevh]hdev}(hhhj6hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj5ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj5ubah}(h]h ]h"]h$]h&]j]j^uh1j_hjf5hhhjx5hKlubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjb5hhhjx5hKlubah}(h]j]5ah ](jjeh"]h$]h&]juh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKshj_5hhubj)}(hhh]h)}(h#Remove a RIO device from the systemh]h#Remove a RIO device from the system}(hj-6hj+6hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKkhj(6hhubah}(h]h ]h"]h$]h&]uh1jhj_5hhhjx5hKlubeh}(h]h ](jfunctioneh"]h$]h&]jjjjC6jjC6juh1j hhhj0hNhNubj)}(h**Parameters** ``struct device *dev`` the RIO device structure to match against **Description** Remove a RIO device from the system. If it has an associated driver, then run the driver remove() method. Then update the reference count.h](h)}(h**Parameters**h]j)}(hjM6h]h Parameters}(hhhjO6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjK6ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKohjG6ubj)}(hhh]j)}(hA``struct device *dev`` the RIO device structure to match against h](j)}(h``struct device *dev``h]j)}(hjl6h]hstruct device *dev}(hhhjn6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjj6ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKmhjf6ubj )}(hhh]h)}(h)the RIO device structure to match againsth]h)the RIO device structure to match against}(hj6hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6hKmhj6ubah}(h]h ]h"]h$]h&]uh1j hjf6ubeh}(h]h ]h"]h$]h&]uh1jhj6hKmhjc6ubah}(h]h ]h"]h$]h&]uh1jhjG6ubh)}(h**Description**h]j)}(hj6h]h Description}(hhhj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKohjG6ubh)}(hRemove a RIO device from the system. If it has an associated driver, then run the driver remove() method. Then update the reference count.h]hRemove a RIO device from the system. If it has an associated driver, then run the driver remove() method. Then update the reference count.}(hj6hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKohjG6ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj0hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_match_bus (C function)c.rio_match_bushNtauh1jhj0hhhNhNubj )}(hhh](j)}(hAint rio_match_bus (struct device *dev, struct device_driver *drv)h]j)}(h@int rio_match_bus(struct device *dev, struct device_driver *drv)h](j)}(hinth]hint}(hhhj6hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj6hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKubj.)}(h h]h }(hhhj6hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj6hhhj6hKubj?)}(h rio_match_bush]jE)}(h rio_match_bush]h rio_match_bus}(hhhj 7hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj 7ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj6hhhj6hKubj`)}(h/(struct device *dev, struct device_driver *drv)h](jf)}(hstruct device *devh](jl)}(hjoh]hstruct}(hhhj)7hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj%7ubj.)}(h h]h }(hhhj67hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%7ubh)}(hhh]jE)}(hdeviceh]hdevice}(hhhjG7hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjD7ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjI7modnameN classnameNjj)}j]j)}jj7sbc.rio_match_busasbuh1hhj%7ubj.)}(h h]h }(hhhjg7hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%7ubj)}(hjh]h*}(hhhju7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%7ubjE)}(hdevh]hdev}(hhhj7hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%7ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj!7ubjf)}(hstruct device_driver *drvh](jl)}(hjoh]hstruct}(hhhj7hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj7ubj.)}(h h]h }(hhhj7hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj7ubh)}(hhh]jE)}(h device_driverh]h device_driver}(hhhj7hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj7ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj7modnameN classnameNjj)}j]jc7c.rio_match_busasbuh1hhj7ubj.)}(h h]h }(hhhj7hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj7ubj)}(hjh]h*}(hhhj7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj7ubjE)}(hdrvh]hdrv}(hhhj7hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj7ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj!7ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj6hhhj6hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj6hhhj6hKubah}(h]j6ah ](jjeh"]h$]h&]juh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj6hhubj)}(hhh]h)}(hLTell if a RIO device structure has a matching RIO driver device id structureh]hLTell if a RIO device structure has a matching RIO driver device id structure}(hj8hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj8hhubah}(h]h ]h"]h$]h&]uh1jhj6hhhj6hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj58jj58juh1j hhhj0hNhNubj)}(hX**Parameters** ``struct device *dev`` the standard device structure to match against ``struct device_driver *drv`` the standard driver structure containing the ids to match against Used by a driver to check whether a RIO device present in the system is in its list of supported devices. Returns 1 if there is a matching :c:type:`struct rio_device_id ` or 0 if there is no match.h](h)}(h**Parameters**h]j)}(hj?8h]h Parameters}(hhhjA8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=8ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj98ubj)}(hhh](j)}(hF``struct device *dev`` the standard device structure to match against h](j)}(h``struct device *dev``h]j)}(hj^8h]hstruct device *dev}(hhhj`8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj\8ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhjX8ubj )}(hhh]h)}(h.the standard device structure to match againsth]h.the standard device structure to match against}(hjy8hjw8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjs8hKhjt8ubah}(h]h ]h"]h$]h&]uh1j hjX8ubeh}(h]h ]h"]h$]h&]uh1jhjs8hKhjU8ubj)}(hX5``struct device_driver *drv`` the standard driver structure containing the ids to match against Used by a driver to check whether a RIO device present in the system is in its list of supported devices. Returns 1 if there is a matching :c:type:`struct rio_device_id ` or 0 if there is no match.h](j)}(h``struct device_driver *drv``h]j)}(hj8h]hstruct device_driver *drv}(hhhj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj8ubj )}(hhh](h)}(hAthe standard driver structure containing the ids to match againsth]hAthe standard driver structure containing the ids to match against}(hj8hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj8ubh)}(hUsed by a driver to check whether a RIO device present in the system is in its list of supported devices. Returns 1 if there is a matching :c:type:`struct rio_device_id ` or 0 if there is no match.h](hUsed by a driver to check whether a RIO device present in the system is in its list of supported devices. Returns 1 if there is a matching }(hUsed by a driver to check whether a RIO device present in the system is in its list of supported devices. Returns 1 if there is a matching hj8hhhNhNubh)}(h.:c:type:`struct rio_device_id `h]j)}(hj8h]hstruct rio_device_id}(hhhj8hhhNhNubah}(h]h ](j:jc-typeeh"]h$]h&]uh1jhj8ubah}(h]h ]h"]h$]h&]refdocj ; refdomainjreftypetype refexplicitrefwarnj;j;j; rio_device_iduh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj8ubh or 0 if there is no match.}(h or 0 if there is no match.hj8hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj8hKhj8ubeh}(h]h ]h"]h$]h&]uh1j hj8ubeh}(h]h ]h"]h$]h&]uh1jhj8hKhjU8ubeh}(h]h ]h"]h$]h&]uh1jhj98ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj0hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_bus_init (C function)c.rio_bus_inithNtauh1jhj0hhhNhNubj )}(hhh](j)}(hint rio_bus_init (void)h]j)}(hint rio_bus_init(void)h](j)}(hinth]hint}(hhhj%9hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj!9hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKubj.)}(h h]h }(hhhj49hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!9hhhj39hKubj?)}(h rio_bus_inith]jE)}(h rio_bus_inith]h rio_bus_init}(hhhjF9hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjB9ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj!9hhhj39hKubj`)}(h(void)h]jf)}(hvoidh]j)}(hvoidh]hvoid}(hhhjb9hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj^9ubah}(h]h ]h"]h$]h&]noemphj]j^uh1jehjZ9ubah}(h]h ]h"]h$]h&]j]j^uh1j_hj!9hhhj39hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj9hhhj39hKubah}(h]j9ah ](jjeh"]h$]h&]juh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj9hhubj)}(hhh]h)}(h.Register the RapidIO bus with the device modelh]h.Register the RapidIO bus with the device model}(hj9hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj9hhubah}(h]h ]h"]h$]h&]uh1jhj9hhhj39hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj9jj9juh1j hhhj0hNhNubj)}(h**Parameters** ``void`` no arguments **Description** Registers the RIO mport device class and RIO bus type with the Linux device model.h](h)}(h**Parameters**h]j)}(hj9h]h Parameters}(hhhj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj9ubj)}(hhh]j)}(h``void`` no arguments h](j)}(h``void``h]j)}(hj9h]hvoid}(hhhj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj9ubj )}(hhh]h)}(h no argumentsh]h no arguments}(hj9hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9hKhj9ubah}(h]h ]h"]h$]h&]uh1j hj9ubeh}(h]h ]h"]h$]h&]uh1jhj9hKhj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubh)}(h**Description**h]j)}(hj :h]h Description}(hhhj :hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj9ubj()}(hhh]h)}(hRRegisters the RIO mport device class and RIO bus type with the Linux device model.h]hRRegisters the RIO mport device class and RIO bus type with the Linux device model.}(hj$:hj":hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj:ubah}(h]h ]h"]h$]h&]uh1j(hj9ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj0hhhNhNubeh}(h]device-model-supportah ]h"]device model supportah$]h&]uh1hhjhhhhhKRubh)}(hhh](h)}(h PPC32 supporth]h PPC32 support}(hjK:hjI:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjF:hhhhhKXubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"fsl_local_config_read (C function)c.fsl_local_config_readhNtauh1jhjF:hhhNhNubj )}(hhh](j)}(h^int fsl_local_config_read (struct rio_mport *mport, int index, u32 offset, int len, u32 *data)h]j)}(h]int fsl_local_config_read(struct rio_mport *mport, int index, u32 offset, int len, u32 *data)h](j)}(hinth]hint}(hhhjp:hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjl:hhha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKubj.)}(h h]h }(hhhj:hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjl:hhhj~:hKubj?)}(hfsl_local_config_readh]jE)}(hfsl_local_config_readh]hfsl_local_config_read}(hhhj:hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj:ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjl:hhhj~:hKubj`)}(hD(struct rio_mport *mport, int index, u32 offset, int len, u32 *data)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhj:hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj:ubj.)}(h h]h }(hhhj:hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj:ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj:hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj:ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj:modnameN classnameNjj)}j]j)}jj:sbc.fsl_local_config_readasbuh1hhj:ubj.)}(h h]h }(hhhj:hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj:ubj)}(hjh]h*}(hhhj:hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj:ubjE)}(hmporth]hmport}(hhhj;hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj:ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj:ubjf)}(h int indexh](j)}(hinth]hint}(hhhj;hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj;ubj.)}(h h]h }(hhhj-;hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj;ubjE)}(hindexh]hindex}(hhhj;;hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj;ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj:ubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hhhjW;hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjT;ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjY;modnameN classnameNjj)}j]j:c.fsl_local_config_readasbuh1hhjP;ubj.)}(h h]h }(hhhju;hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjP;ubjE)}(hoffseth]hoffset}(hhhj;hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjP;ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj:ubjf)}(hint lenh](j)}(hinth]hint}(hhhj;hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj;ubj.)}(h h]h }(hhhj;hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj;ubjE)}(hlenh]hlen}(hhhj;hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj;ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj:ubjf)}(h u32 *datah](h)}(hhh]jE)}(hu32h]hu32}(hhhj;hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj;ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj;modnameN classnameNjj)}j]j:c.fsl_local_config_readasbuh1hhj;ubj.)}(h h]h }(hhhj;hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj;ubj)}(hjh]h*}(hhhj<hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;ubjE)}(hdatah]hdata}(hhhj <hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj;ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj:ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjl:hhhj~:hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjh:hhhj~:hKubah}(h]jc:ah ](jjeh"]h$]h&]juh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhje:hhubj)}(hhh]h)}(h*Generate a MPC85xx local config space readh]h*Generate a MPC85xx local config space read}(hj:<hj8<hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj5<hhubah}(h]h ]h"]h$]h&]uh1jhje:hhhj~:hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjP<jjP<juh1j hhhjF:hNhNubj)}(hX**Parameters** ``struct rio_mport *mport`` RapidIO master port info ``int index`` ID of RapdiIO interface ``u32 offset`` Offset into configuration space ``int len`` Length (in bytes) of the maintenance transaction ``u32 *data`` Value to be read into **Description** Generates a MPC85xx local configuration space read. Returns ``0`` on success or ``-EINVAL`` on failure.h](h)}(h**Parameters**h]j)}(hjZ<h]h Parameters}(hhhj\<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjX<ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjT<ubj)}(hhh](j)}(h5``struct rio_mport *mport`` RapidIO master port info h](j)}(h``struct rio_mport *mport``h]j)}(hjy<h]hstruct rio_mport *mport}(hhhj{<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjw<ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjs<ubj )}(hhh]h)}(hRapidIO master port infoh]hRapidIO master port info}(hj<hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<hKhj<ubah}(h]h ]h"]h$]h&]uh1j hjs<ubeh}(h]h ]h"]h$]h&]uh1jhj<hKhjp<ubj)}(h&``int index`` ID of RapdiIO interface h](j)}(h ``int index``h]j)}(hj<h]h int index}(hhhj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj<ubj )}(hhh]h)}(hID of RapdiIO interfaceh]hID of RapdiIO interface}(hj<hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<hKhj<ubah}(h]h ]h"]h$]h&]uh1j hj<ubeh}(h]h ]h"]h$]h&]uh1jhj<hKhjp<ubj)}(h/``u32 offset`` Offset into configuration space h](j)}(h``u32 offset``h]j)}(hj<h]h u32 offset}(hhhj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj<ubj )}(hhh]h)}(hOffset into configuration spaceh]hOffset into configuration space}(hj=hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=hKhj=ubah}(h]h ]h"]h$]h&]uh1j hj<ubeh}(h]h ]h"]h$]h&]uh1jhj=hKhjp<ubj)}(h=``int len`` Length (in bytes) of the maintenance transaction h](j)}(h ``int len``h]j)}(hj$=h]hint len}(hhhj&=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"=ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj=ubj )}(hhh]h)}(h0Length (in bytes) of the maintenance transactionh]h0Length (in bytes) of the maintenance transaction}(hj?=hj==hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9=hKhj:=ubah}(h]h ]h"]h$]h&]uh1j hj=ubeh}(h]h ]h"]h$]h&]uh1jhj9=hKhjp<ubj)}(h$``u32 *data`` Value to be read into h](j)}(h ``u32 *data``h]j)}(hj]=h]h u32 *data}(hhhj_=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[=ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjW=ubj )}(hhh]h)}(hValue to be read intoh]hValue to be read into}(hjx=hjv=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjr=hKhjs=ubah}(h]h ]h"]h$]h&]uh1j hjW=ubeh}(h]h ]h"]h$]h&]uh1jhjr=hKhjp<ubeh}(h]h ]h"]h$]h&]uh1jhjT<ubh)}(h**Description**h]j)}(hj=h]h Description}(hhhj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjT<ubh)}(hgGenerates a MPC85xx local configuration space read. Returns ``0`` on success or ``-EINVAL`` on failure.h](hhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj>hhha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKubj.)}(h h]h }(hhhj>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj>hhhj>hKubj?)}(hfsl_local_config_writeh]jE)}(hfsl_local_config_writeh]hfsl_local_config_write}(hhhj%>hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj!>ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj>hhhj>hKubj`)}(hC(struct rio_mport *mport, int index, u32 offset, int len, u32 data)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjA>hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj=>ubj.)}(h h]h }(hhhjN>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj=>ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj_>hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj\>ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetja>modnameN classnameNjj)}j]j)}jj'>sbc.fsl_local_config_writeasbuh1hhj=>ubj.)}(h h]h }(hhhj>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj=>ubj)}(hjh]h*}(hhhj>hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj=>ubjE)}(hmporth]hmport}(hhhj>hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj=>ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj9>ubjf)}(h int indexh](j)}(hinth]hint}(hhhj>hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj>ubj.)}(h h]h }(hhhj>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj>ubjE)}(hindexh]hindex}(hhhj>hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj>ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj9>ubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hhhj>hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj>ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj>modnameN classnameNjj)}j]j{>c.fsl_local_config_writeasbuh1hhj>ubj.)}(h h]h }(hhhj ?hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj>ubjE)}(hoffseth]hoffset}(hhhj?hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj>ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj9>ubjf)}(hint lenh](j)}(hinth]hint}(hhhj0?hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj,?ubj.)}(h h]h }(hhhj>?hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,?ubjE)}(hlenh]hlen}(hhhjL?hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj,?ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj9>ubjf)}(hu32 datah](h)}(hhh]jE)}(hu32h]hu32}(hhhjh?hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhje?ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjj?modnameN classnameNjj)}j]j{>c.fsl_local_config_writeasbuh1hhja?ubj.)}(h h]h }(hhhj?hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hja?ubjE)}(hdatah]hdata}(hhhj?hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhja?ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj9>ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj>hhhj>hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj=hhhj>hKubah}(h]j=ah ](jjeh"]h$]h&]juh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj=hhubj)}(hhh]h)}(h+Generate a MPC85xx local config space writeh]h+Generate a MPC85xx local config space write}(hj?hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj?hhubah}(h]h ]h"]h$]h&]uh1jhj=hhhj>hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj?jj?juh1j hhhjF:hNhNubj)}(hX**Parameters** ``struct rio_mport *mport`` RapidIO master port info ``int index`` ID of RapdiIO interface ``u32 offset`` Offset into configuration space ``int len`` Length (in bytes) of the maintenance transaction ``u32 data`` Value to be written **Description** Generates a MPC85xx local configuration space write. Returns ``0`` on success or ``-EINVAL`` on failure.h](h)}(h**Parameters**h]j)}(hj?h]h Parameters}(hhhj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj?ubj)}(hhh](j)}(h5``struct rio_mport *mport`` RapidIO master port info h](j)}(h``struct rio_mport *mport``h]j)}(hj@h]hstruct rio_mport *mport}(hhhj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj?ubj )}(hhh]h)}(hRapidIO master port infoh]hRapidIO master port info}(hj@hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@hKhj@ubah}(h]h ]h"]h$]h&]uh1j hj?ubeh}(h]h ]h"]h$]h&]uh1jhj@hKhj?ubj)}(h&``int index`` ID of RapdiIO interface h](j)}(h ``int index``h]j)}(hj9@h]h int index}(hhhj;@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7@ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj3@ubj )}(hhh]h)}(hID of RapdiIO interfaceh]hID of RapdiIO interface}(hjT@hjR@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjN@hKhjO@ubah}(h]h ]h"]h$]h&]uh1j hj3@ubeh}(h]h ]h"]h$]h&]uh1jhjN@hKhj?ubj)}(h/``u32 offset`` Offset into configuration space h](j)}(h``u32 offset``h]j)}(hjr@h]h u32 offset}(hhhjt@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjp@ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjl@ubj )}(hhh]h)}(hOffset into configuration spaceh]hOffset into configuration space}(hj@hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@hKhj@ubah}(h]h ]h"]h$]h&]uh1j hjl@ubeh}(h]h ]h"]h$]h&]uh1jhj@hKhj?ubj)}(h=``int len`` Length (in bytes) of the maintenance transaction h](j)}(h ``int len``h]j)}(hj@h]hint len}(hhhj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj@ubj )}(hhh]h)}(h0Length (in bytes) of the maintenance transactionh]h0Length (in bytes) of the maintenance transaction}(hj@hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@hKhj@ubah}(h]h ]h"]h$]h&]uh1j hj@ubeh}(h]h ]h"]h$]h&]uh1jhj@hKhj?ubj)}(h!``u32 data`` Value to be written h](j)}(h ``u32 data``h]j)}(hj@h]hu32 data}(hhhj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj@ubj )}(hhh]h)}(hValue to be writtenh]hValue to be written}(hj@hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@hKhj@ubah}(h]h ]h"]h$]h&]uh1j hj@ubeh}(h]h ]h"]h$]h&]uh1jhj@hKhj?ubeh}(h]h ]h"]h$]h&]uh1jhj?ubh)}(h**Description**h]j)}(hjAh]h Description}(hhhj!AhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj?ubh)}(hhGenerates a MPC85xx local configuration space write. Returns ``0`` on success or ``-EINVAL`` on failure.h](h=Generates a MPC85xx local configuration space write. Returns }(h=Generates a MPC85xx local configuration space write. Returns hj5AhhhNhNubj)}(h``0``h]h0}(hhhj>AhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5Aubh on success or }(h on success or hj5AhhhNhNubj)}(h ``-EINVAL``h]h-EINVAL}(hhhjQAhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5Aubh on failure.}(h on failure.hj5AhhhNhNubeh}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj?ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjF:hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j fsl_rio_config_read (C function)c.fsl_rio_config_readhNtauh1jhjF:hhhNhNubj )}(hhh](j)}(htint fsl_rio_config_read (struct rio_mport *mport, int index, u16 destid, u8 hopcount, u32 offset, int len, u32 *val)h]j)}(hsint fsl_rio_config_read(struct rio_mport *mport, int index, u16 destid, u8 hopcount, u32 offset, int len, u32 *val)h](j)}(hinth]hint}(hhhjAhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjAhhha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKubj.)}(h h]h }(hhhjAhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjAhhhjAhKubj?)}(hfsl_rio_config_readh]jE)}(hfsl_rio_config_readh]hfsl_rio_config_read}(hhhjAhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjAubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjAhhhjAhKubj`)}(h\(struct rio_mport *mport, int index, u16 destid, u8 hopcount, u32 offset, int len, u32 *val)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhjAhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjAubj.)}(h h]h }(hhhjAhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjAubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhjAhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjAubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjAmodnameN classnameNjj)}j]j)}jjAsbc.fsl_rio_config_readasbuh1hhjAubj.)}(h h]h }(hhhjBhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjAubj)}(hjh]h*}(hhhjBhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjAubjE)}(hmporth]hmport}(hhhj!BhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjAubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubjf)}(h int indexh](j)}(hinth]hint}(hhhj:BhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj6Bubj.)}(h h]h }(hhhjHBhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj6BubjE)}(hindexh]hindex}(hhhjVBhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj6Bubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjrBhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjoBubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjtBmodnameN classnameNjj)}j]jBc.fsl_rio_config_readasbuh1hhjkBubj.)}(h h]h }(hhhjBhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjkBubjE)}(hdestidh]hdestid}(hhhjBhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjkBubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhjBhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjBmodnameN classnameNjj)}j]jBc.fsl_rio_config_readasbuh1hhjBubj.)}(h h]h }(hhhjBhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjBubjE)}(hhopcounth]hhopcount}(hhhjBhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hhhjChhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjCmodnameN classnameNjj)}j]jBc.fsl_rio_config_readasbuh1hhjBubj.)}(h h]h }(hhhj ChhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjBubjE)}(hoffseth]hoffset}(hhhj.ChhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubjf)}(hint lenh](j)}(hinth]hint}(hhhjGChhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjCCubj.)}(h h]h }(hhhjUChhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjCCubjE)}(hlenh]hlen}(hhhjcChhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjCCubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubjf)}(hu32 *valh](h)}(hhh]jE)}(hu32h]hu32}(hhhjChhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj|Cubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjCmodnameN classnameNjj)}j]jBc.fsl_rio_config_readasbuh1hhjxCubj.)}(h h]h }(hhhjChhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjxCubj)}(hjh]h*}(hhhjChhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjxCubjE)}(hvalh]hval}(hhhjChhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjxCubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjAhhhjAhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjAhhhjAhKubah}(h]j~Aah ](jjeh"]h$]h&]juh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjAhhubj)}(hhh]h)}(h/Generate a MPC85xx read maintenance transactionh]h/Generate a MPC85xx read maintenance transaction}(hjChjChhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjChhubah}(h]h ]h"]h$]h&]uh1jhjAhhhjAhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjCjjCjuh1j hhhjF:hNhNubj)}(hX**Parameters** ``struct rio_mport *mport`` RapidIO master port info ``int index`` ID of RapdiIO interface ``u16 destid`` Destination ID of transaction ``u8 hopcount`` Number of hops to target device ``u32 offset`` Offset into configuration space ``int len`` Length (in bytes) of the maintenance transaction ``u32 *val`` Location to be read into **Description** Generates a MPC85xx read maintenance transaction. Returns ``0`` on success or ``-EINVAL`` on failure.h](h)}(h**Parameters**h]j)}(hjDh]h Parameters}(hhhjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjCubj)}(hhh](j)}(h5``struct rio_mport *mport`` RapidIO master port info h](j)}(h``struct rio_mport *mport``h]j)}(hj$Dh]hstruct rio_mport *mport}(hhhj&DhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"Dubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjDubj )}(hhh]h)}(hRapidIO master port infoh]hRapidIO master port info}(hj?Dhj=DhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9DhKhj:Dubah}(h]h ]h"]h$]h&]uh1j hjDubeh}(h]h ]h"]h$]h&]uh1jhj9DhKhjDubj)}(h&``int index`` ID of RapdiIO interface h](j)}(h ``int index``h]j)}(hj]Dh]h int index}(hhhj_DhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[Dubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjWDubj )}(hhh]h)}(hID of RapdiIO interfaceh]hID of RapdiIO interface}(hjxDhjvDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrDhKhjsDubah}(h]h ]h"]h$]h&]uh1j hjWDubeh}(h]h ]h"]h$]h&]uh1jhjrDhKhjDubj)}(h-``u16 destid`` Destination ID of transaction h](j)}(h``u16 destid``h]j)}(hjDh]h u16 destid}(hhhjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjDubj )}(hhh]h)}(hDestination ID of transactionh]hDestination ID of transaction}(hjDhjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDhKhjDubah}(h]h ]h"]h$]h&]uh1j hjDubeh}(h]h ]h"]h$]h&]uh1jhjDhKhjDubj)}(h0``u8 hopcount`` Number of hops to target device h](j)}(h``u8 hopcount``h]j)}(hjDh]h u8 hopcount}(hhhjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjDubj )}(hhh]h)}(hNumber of hops to target deviceh]hNumber of hops to target device}(hjDhjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDhKhjDubah}(h]h ]h"]h$]h&]uh1j hjDubeh}(h]h ]h"]h$]h&]uh1jhjDhKhjDubj)}(h/``u32 offset`` Offset into configuration space h](j)}(h``u32 offset``h]j)}(hjEh]h u32 offset}(hhhj EhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjEubj )}(hhh]h)}(hOffset into configuration spaceh]hOffset into configuration space}(hj#Ehj!EhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEhKhjEubah}(h]h ]h"]h$]h&]uh1j hjEubeh}(h]h ]h"]h$]h&]uh1jhjEhKhjDubj)}(h=``int len`` Length (in bytes) of the maintenance transaction h](j)}(h ``int len``h]j)}(hjAEh]hint len}(hhhjCEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?Eubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj;Eubj )}(hhh]h)}(h0Length (in bytes) of the maintenance transactionh]h0Length (in bytes) of the maintenance transaction}(hj\EhjZEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVEhKhjWEubah}(h]h ]h"]h$]h&]uh1j hj;Eubeh}(h]h ]h"]h$]h&]uh1jhjVEhKhjDubj)}(h&``u32 *val`` Location to be read into h](j)}(h ``u32 *val``h]j)}(hjzEh]hu32 *val}(hhhj|EhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxEubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjtEubj )}(hhh]h)}(hLocation to be read intoh]hLocation to be read into}(hjEhjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEhKhjEubah}(h]h ]h"]h$]h&]uh1j hjtEubeh}(h]h ]h"]h$]h&]uh1jhjEhKhjDubeh}(h]h ]h"]h$]h&]uh1jhjCubh)}(h**Description**h]j)}(hjEh]h Description}(hhhjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjCubh)}(heGenerates a MPC85xx read maintenance transaction. Returns ``0`` on success or ``-EINVAL`` on failure.h](h:Generates a MPC85xx read maintenance transaction. Returns }(h:Generates a MPC85xx read maintenance transaction. Returns hjEhhhNhNubj)}(h``0``h]h0}(hhhjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEubh on success or }(h on success or hjEhhhNhNubj)}(h ``-EINVAL``h]h-EINVAL}(hhhjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEubh on failure.}(h on failure.hjEhhhNhNubeh}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjCubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjF:hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j!fsl_rio_config_write (C function)c.fsl_rio_config_writehNtauh1jhjF:hhhNhNubj )}(hhh](j)}(htint fsl_rio_config_write (struct rio_mport *mport, int index, u16 destid, u8 hopcount, u32 offset, int len, u32 val)h]j)}(hsint fsl_rio_config_write(struct rio_mport *mport, int index, u16 destid, u8 hopcount, u32 offset, int len, u32 val)h](j)}(hinth]hint}(hhhj!FhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjFhhha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKubj.)}(h h]h }(hhhj0FhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjFhhhj/FhKubj?)}(hfsl_rio_config_writeh]jE)}(hfsl_rio_config_writeh]hfsl_rio_config_write}(hhhjBFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj>Fubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjFhhhj/FhKubj`)}(h[(struct rio_mport *mport, int index, u16 destid, u8 hopcount, u32 offset, int len, u32 val)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hhhj^FhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjZFubj.)}(h h]h }(hhhjkFhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjZFubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hhhj|FhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjyFubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj~FmodnameN classnameNjj)}j]j)}jjDFsbc.fsl_rio_config_writeasbuh1hhjZFubj.)}(h h]h }(hhhjFhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjZFubj)}(hjh]h*}(hhhjFhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjZFubjE)}(hmporth]hmport}(hhhjFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjZFubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjVFubjf)}(h int indexh](j)}(hinth]hint}(hhhjFhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjFubj.)}(h h]h }(hhhjFhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjFubjE)}(hindexh]hindex}(hhhjFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjFubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjVFubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hhhjGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjGubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj GmodnameN classnameNjj)}j]jFc.fsl_rio_config_writeasbuh1hhjGubj.)}(h h]h }(hhhj&GhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjGubjE)}(hdestidh]hdestid}(hhhj4GhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjGubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjVFubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hhhjPGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjMGubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjRGmodnameN classnameNjj)}j]jFc.fsl_rio_config_writeasbuh1hhjIGubj.)}(h h]h }(hhhjnGhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjIGubjE)}(hhopcounth]hhopcount}(hhhj|GhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjIGubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjVFubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hhhjGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjGubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjGmodnameN classnameNjj)}j]jFc.fsl_rio_config_writeasbuh1hhjGubj.)}(h h]h }(hhhjGhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjGubjE)}(hoffseth]hoffset}(hhhjGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjGubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjVFubjf)}(hint lenh](j)}(hinth]hint}(hhhjGhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjGubj.)}(h h]h }(hhhjGhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjGubjE)}(hlenh]hlen}(hhhjGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjGubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjVFubjf)}(hu32 valh](h)}(hhh]jE)}(hu32h]hu32}(hhhjHhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjHubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjHmodnameN classnameNjj)}j]jFc.fsl_rio_config_writeasbuh1hhjHubj.)}(h h]h }(hhhj3HhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjHubjE)}(hvalh]hval}(hhhjAHhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjHubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjVFubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjFhhhj/FhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjFhhhj/FhKubah}(h]jFah ](jjeh"]h$]h&]juh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjFhhubj)}(hhh]h)}(h0Generate a MPC85xx write maintenance transactionh]h0Generate a MPC85xx write maintenance transaction}(hjnHhjlHhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjiHhhubah}(h]h ]h"]h$]h&]uh1jhjFhhhj/FhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjHjjHjuh1j hhhjF:hNhNubj)}(hX**Parameters** ``struct rio_mport *mport`` RapidIO master port info ``int index`` ID of RapdiIO interface ``u16 destid`` Destination ID of transaction ``u8 hopcount`` Number of hops to target device ``u32 offset`` Offset into configuration space ``int len`` Length (in bytes) of the maintenance transaction ``u32 val`` Value to be written **Description** Generates an MPC85xx write maintenance transaction. Returns ``0`` on success or ``-EINVAL`` on failure.h](h)}(h**Parameters**h]j)}(hjHh]h Parameters}(hhhjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjHubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjHubj)}(hhh](j)}(h5``struct rio_mport *mport`` RapidIO master port info h](j)}(h``struct rio_mport *mport``h]j)}(hjHh]hstruct rio_mport *mport}(hhhjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjHubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjHubj )}(hhh]h)}(hRapidIO master port infoh]hRapidIO master port info}(hjHhjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHhKhjHubah}(h]h ]h"]h$]h&]uh1j hjHubeh}(h]h ]h"]h$]h&]uh1jhjHhKhjHubj)}(h&``int index`` ID of RapdiIO interface h](j)}(h ``int index``h]j)}(hjHh]h int index}(hhhjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjHubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjHubj )}(hhh]h)}(hID of RapdiIO interfaceh]hID of RapdiIO interface}(hjIhjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHhKhjHubah}(h]h ]h"]h$]h&]uh1j hjHubeh}(h]h ]h"]h$]h&]uh1jhjHhKhjHubj)}(h-``u16 destid`` Destination ID of transaction h](j)}(h``u16 destid``h]j)}(hjIh]h u16 destid}(hhhj!IhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjIubj )}(hhh]h)}(hDestination ID of transactionh]hDestination ID of transaction}(hj:Ihj8IhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4IhKhj5Iubah}(h]h ]h"]h$]h&]uh1j hjIubeh}(h]h ]h"]h$]h&]uh1jhj4IhKhjHubj)}(h0``u8 hopcount`` Number of hops to target device h](j)}(h``u8 hopcount``h]j)}(hjXIh]h u8 hopcount}(hhhjZIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjVIubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjRIubj )}(hhh]h)}(hNumber of hops to target deviceh]hNumber of hops to target device}(hjsIhjqIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmIhKhjnIubah}(h]h ]h"]h$]h&]uh1j hjRIubeh}(h]h ]h"]h$]h&]uh1jhjmIhKhjHubj)}(h/``u32 offset`` Offset into configuration space h](j)}(h``u32 offset``h]j)}(hjIh]h u32 offset}(hhhjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjIubj )}(hhh]h)}(hOffset into configuration spaceh]hOffset into configuration space}(hjIhjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIhKhjIubah}(h]h ]h"]h$]h&]uh1j hjIubeh}(h]h ]h"]h$]h&]uh1jhjIhKhjHubj)}(h=``int len`` Length (in bytes) of the maintenance transaction h](j)}(h ``int len``h]j)}(hjIh]hint len}(hhhjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjIubj )}(hhh]h)}(h0Length (in bytes) of the maintenance transactionh]h0Length (in bytes) of the maintenance transaction}(hjIhjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIhKhjIubah}(h]h ]h"]h$]h&]uh1j hjIubeh}(h]h ]h"]h$]h&]uh1jhjIhKhjHubj)}(h ``u32 val`` Value to be written h](j)}(h ``u32 val``h]j)}(hjJh]hu32 val}(hhhjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjIubj )}(hhh]h)}(hValue to be writtenh]hValue to be written}(hjJhjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJhKhjJubah}(h]h ]h"]h$]h&]uh1j hjIubeh}(h]h ]h"]h$]h&]uh1jhjJhKhjHubeh}(h]h ]h"]h$]h&]uh1jhjHubh)}(h**Description**h]j)}(hj>Jh]h Description}(hhhj@JhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhjJhhhjJhMubj`)}(h(struct platform_device *dev)h]jf)}(hstruct platform_device *devh](jl)}(hjoh]hstruct}(hhhjJhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjJubj.)}(h h]h }(hhhjJhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjJubh)}(hhh]jE)}(hplatform_deviceh]hplatform_device}(hhhjKhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjKubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjKmodnameN classnameNjj)}j]j)}jjJsbc.fsl_rio_setupasbuh1hhjJubj.)}(h h]h }(hhhj%KhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjJubj)}(hjh]h*}(hhhj3KhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjJubjE)}(hdevh]hdev}(hhhj@KhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjJubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjJubah}(h]h ]h"]h$]h&]j]j^uh1j_hjJhhhjJhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjJhhhjJhMubah}(h]jJah ](jjeh"]h$]h&]juh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chMhjJhhubj)}(hhh]h)}(h)Setup Freescale PowerPC RapidIO interfaceh]h)Setup Freescale PowerPC RapidIO interface}(hjmKhjkKhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chMhjhKhhubah}(h]h ]h"]h$]h&]uh1jhjJhhhjJhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjKjjKjuh1j hhhjF:hNhNubj)}(h**Parameters** ``struct platform_device *dev`` platform_device pointer **Description** Initializes MPC85xx RapidIO hardware interface, configures master port with system-specific info, and registers the master port with the RapidIO subsystem.h](h)}(h**Parameters**h]j)}(hjKh]h Parameters}(hhhjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjKubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chMhjKubj)}(hhh]j)}(h8``struct platform_device *dev`` platform_device pointer h](j)}(h``struct platform_device *dev``h]j)}(hjKh]hstruct platform_device *dev}(hhhjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjKubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chMhjKubj )}(hhh]h)}(hplatform_device pointerh]hplatform_device pointer}(hjKhjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKhMhjKubah}(h]h ]h"]h$]h&]uh1j hjKubeh}(h]h ]h"]h$]h&]uh1jhjKhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubh)}(h**Description**h]j)}(hjKh]h Description}(hhhjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjKubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chMhjKubh)}(hInitializes MPC85xx RapidIO hardware interface, configures master port with system-specific info, and registers the master port with the RapidIO subsystem.h]hInitializes MPC85xx RapidIO hardware interface, configures master port with system-specific info, and registers the master port with the RapidIO subsystem.}(hjKhjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chMhjKubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjF:hhhNhNubeh}(h] ppc32-supportah ]h"] ppc32 supportah$]h&]uh1hhjhhhhhKXubeh}(h] internalsah ]h"] internalsah$]h&]uh1hhhhhhhhK7ubh)}(hhh](h)}(hCreditsh]hCredits}(hj(Lhj&LhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#LhhhhhK^ubh)}(hVThe following people have contributed to the RapidIO subsystem directly or indirectly:h]hVThe following people have contributed to the RapidIO subsystem directly or indirectly:}(hj6Lhj4LhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK`hj#Lhhubjx)}(hhh](j})}(h)Matt Porter\ mporter@kernel.crashing.org h]h)}(h(Matt Porter\ mporter@kernel.crashing.orgh](h Matt Porter }(h Matt Porter\ hjILhhhNhNubh reference)}(hmporter@kernel.crashing.orgh]hmporter@kernel.crashing.org}(hhhjTLhhhNhNubah}(h]h ]h"]h$]h&]refuri"mailto:mporter@kernel.crashing.orguh1jRLhjILubeh}(h]h ]h"]h$]h&]uh1hhhhKchjELubah}(h]h ]h"]h$]h&]uh1j|hjBLhhhhhNubj})}(h!Randy Vinson\ rvinson@mvista.com h]h)}(h Randy Vinson\ rvinson@mvista.comh](hRandy Vinson }(hRandy Vinson\ hjtLhhhNhNubjSL)}(hrvinson@mvista.comh]hrvinson@mvista.com}(hhhj}LhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:rvinson@mvista.comuh1jRLhjtLubeh}(h]h ]h"]h$]h&]uh1hhhhKehjpLubah}(h]h ]h"]h$]h&]uh1j|hjBLhhhhhNubj})}(h!Dan Malek\ dan@embeddedalley.com h]h)}(h Dan Malek\ dan@embeddedalley.comh](h Dan Malek }(h Dan Malek\ hjLhhhNhNubjSL)}(hdan@embeddedalley.comh]hdan@embeddedalley.com}(hhhjLhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:dan@embeddedalley.comuh1jRLhjLubeh}(h]h ]h"]h$]h&]uh1hhhhKghjLubah}(h]h ]h"]h$]h&]uh1j|hjBLhhhhhNubeh}(h]h ]h"]h$]h&]jjjhjjuh1jwhj#LhhhhhKcubh)}(h7The following people have contributed to this document:h]h7The following people have contributed to this document:}(hjLhjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihj#Lhhubjx)}(hhh]j})}(h(Matt Porter\ mporter@kernel.crashing.orgh]h)}(hjLh](h Matt Porter }(h Matt Porter\ hjLhhhNhNubjSL)}(hmporter@kernel.crashing.orgh]hmporter@kernel.crashing.org}(hhhjLhhhNhNubah}(h]h ]h"]h$]h&]refuri"mailto:mporter@kernel.crashing.orguh1jRLhjLubeh}(h]h ]h"]h$]h&]uh1hhhhKkhjLubah}(h]h ]h"]h$]h&]uh1j|hjLhhhhhNubah}(h]h ]h"]h$]h&]jjjhjjuh1jwhj#LhhhhhKkubeh}(h]creditsah ]h"]creditsah$]h&]uh1hhhhhhhhK^ubeh}(h]rapidio-subsystem-guideah ]h"]rapidio subsystem guideah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj:Merror_encodingUTF-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confapep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacefile_insertion_enabled raw_enabledKline_length_limitM'syntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_link embed_imagesenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jMjMj+j(jjjcj`jjjjjjj LjLjmjjjxjuj0j0jC:j@:jLjLj Mj Mu nametypes}(jMNj+NjNjcNjNjNjNj LNjmNjxNj0NjC:NjLNj MNuh}(jMhj(hjj.j`j?jjfjjjjjjjjjajfj j jv j{ jj jjjj!jjj1j6jjjFjKj j j"j"j?%jD%j'j'j)j )j,j,j/j /j1j1j2j2jR4jW4jc6jh6j/8j48j9j9jH;jM;j<j<jm>jr>j@j@jiBjnBjlDjqDjEjEjJjJjLjLjQjQjwSj|SjXjXjh[jm[j;^j@^jf`jk`jdjdjhjhjljljmjmj^ojcoj!sj&sjujuj]yjbyj{j{j:j?jjjJjOjj‡jj jFjKjjjjj jjjjpjuj_jdj?jDjjjjjjjujzjjjjjLjjjjj-j2jWj\jjj]jbjjjUjZj~jjPjUjwj|jJjOj|jjjjujpjjj"j'j%j*j(j-jjjjjj#j#j(jjjbjgjjjijnjjjjjjjjjjjmjrjjjmjrjjjqjvj j j j" jGjLj0j{jjjjj_jdjjjjjjjx!j}!jf%jk%jE(jJ(j)j)j*j*jv,j{,j-j-jn/js/j@:j0j1j1j3j3j]5jb5j6j6j9j9jLjF:jc:jh:j=j=j~AjAjFjFjJjJj Mj#Lu footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.