sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget'/translations/zh_CN/admin-guide/rapidiomodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/zh_TW/admin-guide/rapidiomodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/it_IT/admin-guide/rapidiomodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/ja_JP/admin-guide/rapidiomodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/ko_KR/admin-guide/rapidiomodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(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}(hhhhhNhNubah}(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}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhKubh field_body)}(h Matt Porter h]h paragraph)}(h Matt Porterh]h Matt Porter}(hhhhhNhNubah}(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}(hhhhhNhNubah}(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 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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h] introductionah ]h"] introductionah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hKnown Bugs and Limitationsh]hKnown Bugs and Limitations}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hhhhhKubh)}(hhh](h)}(hBugsh]hBugs}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?hhhhhKubh)}(hNone. ;)h]hNone. ;)}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj?hhubeh}(h]bugsah ]h"]bugsah$]h&]uh1hhj.hhhhhKubh)}(hhh](h)}(h Limitationsh]h Limitations}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfhhhhhKubhenumerated_list)}(hhh](h list_item)}(h=Access/management of RapidIO memory regions is not supported h]h)}(hhjhhhj,hK6ubhdesc_parameterlist)}(h/(struct rio_mport *port, u32 offset, u32 *data)h](hdesc_parameter)}(hstruct rio_mport *porth](hdesc_sig_keyword)}(hstructh]hstruct}(hjmhhhNhNubah}(h]h ]kah"]h$]h&]uh1jkhjgubj.)}(h h]h }(hj|hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjgubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjhhhNhNubah}(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 }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjgubhdesc_sig_punctuation)}(h*h]h*}(hjhhhNhNubah}(h]h ]pah"]h$]h&]uh1jhjgubjE)}(hporth]hport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjgubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjaubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_local_read_config_32asbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hoffseth]hoffset}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjaubjf)}(h u32 *datah](h)}(hhh]jE)}(hu32h]hu32}(hj9hhhNhNubah}(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 }(hjWhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj2ubj)}(hjh]h*}(hjehhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj2ubjE)}(hdatah]hdata}(hjrhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj2ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjaubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhj,hK6ubeh}(h]h ]h"]h$]h&]j]j^ add_permalinkuh1jsphinx_line_type declaratorhjhhhj,hK6ubah}(h]jah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1jhj,hK6hj hhubh desc_content)}(hhh]h)}(h+Read 32 bits from local configuration spaceh]h+Read 32 bits from local configuration space}(hjhhhNhNubah}(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,hK6ubeh}(h]h ](jfunctioneh"]h$]h&]domainjobjtypejdesctypejnoindex noindexentrynocontentsentryuh1j 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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK/hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK/hjubj)}(h5``u32 offset`` Offset into local configuration space h](j)}(h``u32 offset``h]j)}(hj4h]h u32 offset}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubah}(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}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIhK0hjJubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhjIhK0hjubj)}(h)``u32 * data`` Pointer to read data into h](j)}(h``u32 * data``h]j)}(hjmh]h u32 * data}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1jhjkubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK1hjgubj)}(hhh]h)}(hPointer to read data intoh]hPointer to read data into}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK1hjubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhjhK1hjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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.}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKEubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKEubj?)}(hrio_local_write_config_32h]jE)}(hrio_local_write_config_32h]hrio_local_write_config_32}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhKEubj`)}(h.(struct rio_mport *port, u32 offset, u32 data)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hj*hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj&ubj.)}(h h]h }(hj7hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj&ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjHhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjEubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjJmodnameN classnameNjj)}j]j)}jjsbc.rio_local_write_config_32asbuh1hhj&ubj.)}(h h]h }(hjhhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj&ubj)}(hjh]h*}(hjvhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj&ubjE)}(hporth]hport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj&ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj"ubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jdc.rio_local_write_config_32asbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hoffseth]hoffset}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj"ubjf)}(hu32 datah](h)}(hhh]jE)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jdc.rio_local_write_config_32asbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdatah]hdata}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj"ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhKEubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhKEubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhKEhjhhubj)}(hhh]h)}(h*Write 32 bits to local configuration spaceh]h*Write 32 bits to local configuration space}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhK=hj:hhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKEubeh}(h]h ](jfunctioneh"]h$]h&]jjjjUjjUjjjuh1j 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}(hjahhhNhNubah}(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.hhKAhjYubj)}(hhh](j)}(h'``struct rio_mport *port`` Master port h](j)}(h``struct rio_mport *port``h]j)}(hj~h]hstruct rio_mport *port}(hjhhhNhNubah}(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>hjxubj)}(hhh]h)}(h Master porth]h Master port}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK>hjubah}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]uh1jhjhK>hjuubj)}(h5``u32 offset`` Offset into local configuration space h](j)}(h``u32 offset``h]j)}(hjh]h u32 offset}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK?hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK?hjuubj)}(h ``u32 data`` Data to be written h](j)}(h ``u32 data``h]j)}(hjh]hu32 data}(hjhhhNhNubah}(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 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK@hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK@hjuubeh}(h]h ]h"]h$]h&]uh1jhjYubh)}(h**Description**h]j)}(hj+h]h Description}(hj-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.hhKBhjYubh)}(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.}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKBhjYubeh}(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}(hjphhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjlhhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKTubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjlhhhj~hKTubj?)}(hrio_local_read_config_16h]jE)}(hrio_local_read_config_16h]hrio_local_read_config_16}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjlhhhj~hKTubj`)}(h/(struct rio_mport *port, u32 offset, u16 *data)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjhhhNhNubah}(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 }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hporth]hport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hj"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 }(hj@hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hoffseth]hoffset}(hjNhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 *datah](h)}(hhh]jE)}(hu16h]hu16}(hjjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjgubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjlmodnameN classnameNjj)}j]jc.rio_local_read_config_16asbuh1hhjcubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjcubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjcubjE)}(hdatah]hdata}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjcubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjlhhhj~hKTubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhhj~hKTubah}(h]jcah ](jjeh"]h$]h&]jj)jhuh1jhj~hKThjehhubj)}(hhh]h)}(h+Read 16 bits from local configuration spaceh]h+Read 16 bits from local configuration space}(hjhhhNhNubah}(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&]uh1jhjehhhj~hKTubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j 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}(hjhhhNhNubah}(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}(hj 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' hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj# hKMhj$ ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj# hKMhj ubj)}(h5``u32 offset`` Offset into local configuration space h](j)}(h``u32 offset``h]j)}(hjG h]h u32 offset}(hjI hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjE ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKNhjA ubj)}(hhh]h)}(h%Offset into local configuration spaceh]h%Offset into local configuration space}(hj` hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\ hKNhj] ubah}(h]h ]h"]h$]h&]uh1jhjA 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}(hj 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.hhKOhjz ubj)}(hhh]h)}(hPointer to read data intoh]hPointer to read data into}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKOhj ubah}(h]h ]h"]h$]h&]uh1jhjz ubeh}(h]h ]h"]h$]h&]uh1jhj hKOhj ubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hj h]h Description}(hj 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 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}(hj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKcubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj hhhj hKcubj?)}(hrio_local_write_config_16h]jE)}(hrio_local_write_config_16h]hrio_local_write_config_16}(hj! hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj hhhj hKcubj`)}(h.(struct rio_mport *port, u32 offset, u16 data)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hj= hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj9 ubj.)}(h h]h }(hjJ hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj9 ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj[ hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjX ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj] modnameN classnameNjj)}j]j)}jj# sbc.rio_local_write_config_16asbuh1hhj9 ubj.)}(h h]h }(hj{ hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj9 ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9 ubjE)}(hporth]hport}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj9 ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj5 ubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]jw c.rio_local_write_config_16asbuh1hhj ubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubjE)}(hoffseth]hoffset}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj5 ubjf)}(hu16 datah](h)}(hhh]jE)}(hu16h]hu16}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]jw c.rio_local_write_config_16asbuh1hhj ubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubjE)}(hdatah]hdata}(hj& hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj5 ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj hhhj hKcubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj hhhj hKcubah}(h]j ah ](jjeh"]h$]h&]jj)jhuh1jhj hKchj hhubj)}(hhh]h)}(h*Write 16 bits to local configuration spaceh]h*Write 16 bits to local configuration space}(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 hKcubeh}(h]h ](jfunctioneh"]h$]h&]jjjjh jjh jjjuh1j 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}(hjt 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}(hj 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 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hK\hj ubah}(h]h ]h"]h$]h&]uh1jhj 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}(hj 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 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hK]hj ubah}(h]h ]h"]h$]h&]uh1jhj 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}(hj 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 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hK^hj ubah}(h]h ]h"]h$]h&]uh1jhj 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}(hj@ 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.}(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}(hj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKsubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj hhhj hKsubj?)}(hrio_local_read_config_8h]jE)}(hrio_local_read_config_8h]hrio_local_read_config_8}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj hhhj hKsubj`)}(h.(struct rio_mport *port, u32 offset, u8 *data)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hj hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj ubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj 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 }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjE)}(hporth]hport}(hj 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}(hj5 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 }(hjS hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj. ubjE)}(hoffseth]hoffset}(hja hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj. ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj ubjf)}(hu8 *datah](h)}(hhh]jE)}(hu8h]hu8}(hj} 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 }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjv ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjv ubjE)}(hdatah]hdata}(hj 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 hKsubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj{ hhhj hKsubah}(h]jv ah ](jjeh"]h$]h&]jj)jhuh1jhj hKshjx hhubj)}(hhh]h)}(h*Read 8 bits from local configuration spaceh]h*Read 8 bits from local configuration space}(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 hKsubeh}(h]h ](jfunctioneh"]h$]h&]jjjj jj jjjuh1j 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}(hjhhhNhNubah}(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}(hj#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.hhKlhjubj)}(hhh]h)}(h Master porth]h Master port}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6hKlhj7ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6hKlhjubj)}(h5``u32 offset`` Offset into local configuration space h](j)}(h``u32 offset``h]j)}(hjZh]h u32 offset}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKmhjTubj)}(hhh]h)}(h%Offset into local configuration spaceh]h%Offset into local configuration space}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjohKmhjpubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhjohKmhjubj)}(h(``u8 * data`` Pointer to read data into h](j)}(h ``u8 * data``h]j)}(hjh]h u8 * data}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKnhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKnhjubeh}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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.}(hjhhhNhNubah}(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}(hjhhhNhNubah}(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 }(hj"hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj!hKubj?)}(hrio_local_write_config_8h]jE)}(hrio_local_write_config_8h]hrio_local_write_config_8}(hj4hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj0ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhj!hKubj`)}(h-(struct rio_mport *port, u32 offset, u8 data)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hjPhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjLubj.)}(h h]h }(hj]hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjLubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjnhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjkubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjpmodnameN classnameNjj)}j]j)}jj6sbc.rio_local_write_config_8asbuh1hhjLubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjLubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjLubjE)}(hporth]hport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjLubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjHubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_local_write_config_8asbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hoffseth]hoffset}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjHubjf)}(hu8 datah](h)}(hhh]jE)}(hu8h]hu8}(hj hhhNhNubah}(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 }(hj+hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdatah]hdata}(hj9hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjHubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhj!hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj hhhj!hKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhj!hKhjhhubj)}(hhh]h)}(h)Write 8 bits to local configuration spaceh]h)Write 8 bits to local configuration space}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKzhj`hhubah}(h]h ]h"]h$]h&]uh1jhjhhhj!hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj{jj{jjjuh1j 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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK{hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK|hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK|hjubj)}(h``u8 data`` Data to be written h](j)}(h ``u8 data``h]j)}(hjh]hu8 data}(hjhhhNhNubah}(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/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+hK}hj,ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj+hK}hjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjQh]h Description}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1jhjOubah}(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.}(hjghhhNhNubah}(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}(hjhhhNhNubah}(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 }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKubj?)}(hrio_read_config_32h]jE)}(hrio_read_config_32h]hrio_read_config_32}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_read_config_32asbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hj,hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hjHhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjEubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjJmodnameN classnameNjj)}j]j c.rio_read_config_32asbuh1hhjAubj.)}(h h]h }(hjfhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjAubjE)}(hoffseth]hoffset}(hjthhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjAubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u32 *datah](h)}(hhh]jE)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j c.rio_read_config_32asbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hdatah]hdata}(hjhhhNhNubah}(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&]jj)jhuh1jhjhKhjhhubj)}(hhh]h)}(h%Read 32 bits from configuration spaceh]h%Read 32 bits from configuration space}(hjhhhNhNubah}(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 jjjuh1j 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}(hjhhhNhNubah}(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)}(hj4h]hstruct rio_dev *rdev}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubah}(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}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIhKhjJubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhjIhKhj+ubj)}(h6``u32 offset`` Offset into device configuration space h](j)}(h``u32 offset``h]j)}(hjmh]h u32 offset}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1jhjkubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjgubj)}(hhh]h)}(h&Offset into device configuration spaceh]h&Offset into device configuration space}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj+ubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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.}(hjhhhNhNubah}(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}(hj&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 }(hj5hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj"hhhj4hKubj?)}(hrio_write_config_32h]jE)}(hrio_write_config_32h]hrio_write_config_32}(hjGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjCubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj"hhhj4hKubj`)}(h,(struct rio_dev *rdev, u32 offset, u32 data)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjchhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj_ubj.)}(h h]h }(hjphhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj_ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj~ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjIsbc.rio_write_config_32asbuh1hhj_ubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj_ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj_ubjE)}(hrdevh]hrdev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj_ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj[ubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_write_config_32asbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hoffseth]hoffset}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj[ubjf)}(hu32 datah](h)}(hhh]jE)}(hu32h]hu32}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj"modnameN classnameNjj)}j]jc.rio_write_config_32asbuh1hhjubj.)}(h h]h }(hj>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdatah]hdata}(hjLhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj[ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj"hhhj4hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhj4hKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhj4hKhjhhubj)}(hhh]h)}(h$Write 32 bits to configuration spaceh]h$Write 32 bits to configuration space}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjshhubah}(h]h ]h"]h$]h&]uh1jhjhhhj4hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j 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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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}(hjhhhNhNubah}(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 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h ``u32 data`` Data to be written h](j)}(h ``u32 data``h]j)}(hj)h]hu32 data}(hj+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}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>hKhj?ubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jhj>hKhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjdh]h Description}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjbubah}(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.}(hjzhhhNhNubah}(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}(hjhhhNhNubah}(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 }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKubj?)}(hrio_read_config_16h]jE)}(hrio_read_config_16h]hrio_read_config_16}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_read_config_16asbuh1hhjubj.)}(h h]h }(hj$hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hj2hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hj?hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hj[hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjXubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj]modnameN classnameNjj)}j]j c.rio_read_config_16asbuh1hhjTubj.)}(h h]h }(hjyhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjTubjE)}(hoffseth]hoffset}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjTubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 *datah](h)}(hhh]jE)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j c.rio_read_config_16asbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hdatah]hdata}(hjhhhNhNubah}(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&]jj)jhuh1jhjhKhjhhubj)}(hhh]h)}(h%Read 16 bits from configuration spaceh]h%Read 16 bits from configuration space}(hjhhhNhNubah}(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&]jjjjjjjjjuh1j 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}(hj*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)}(hjGh]hstruct rio_dev *rdev}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjAubj)}(hhh]h)}(h RIO deviceh]h RIO device}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\hKhj]ubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhj\hKhj>ubj)}(h6``u32 offset`` Offset into device configuration space h](j)}(h``u32 offset``h]j)}(hjh]h u32 offset}(hjhhhNhNubah}(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.hhKhjzubj)}(hhh]h)}(h&Offset into device configuration spaceh]h&Offset into device configuration space}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ]h"]h$]h&]uh1jhjhKhj>ubj)}(h)``u16 * data`` Pointer to read data into h](j)}(h``u16 * data``h]j)}(hjh]h u16 * data}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj>ubeh}(h]h ]h"]h$]h&]uh1jhj"ubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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.}(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](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}(hj9hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj5hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKubj.)}(h h]h }(hjHhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj5hhhjGhKubj?)}(hrio_write_config_16h]jE)}(hrio_write_config_16h]hrio_write_config_16}(hjZhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjVubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj5hhhjGhKubj`)}(h,(struct rio_dev *rdev, u32 offset, u16 data)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjvhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjrubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjrubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jj\sbc.rio_write_config_16asbuh1hhjrubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjrubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjrubjE)}(hrdevh]hrdev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjrubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjnubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_write_config_16asbuh1hhjubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hoffseth]hoffset}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjnubjf)}(hu16 datah](h)}(hhh]jE)}(hu16h]hu16}(hj3hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj0ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj5modnameN classnameNjj)}j]jc.rio_write_config_16asbuh1hhj,ubj.)}(h h]h }(hjQhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,ubjE)}(hdatah]hdata}(hj_hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj,ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjnubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj5hhhjGhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj1hhhjGhKubah}(h]j,ah ](jjeh"]h$]h&]jj)jhuh1jhjGhKhj.hhubj)}(hhh]h)}(h$Write 16 bits to configuration spaceh]h$Write 16 bits to configuration space}(hjhhhNhNubah}(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&]uh1jhj.hhhjGhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j 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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h ``u16 data`` Data to be written h](j)}(h ``u16 data``h]j)}(hj<h]hu16 data}(hj>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.hhKhj6ubj)}(hhh]h)}(hData to be writtenh]hData to be written}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQhKhjRubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhjQhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjwh]h Description}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjuubah}(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.}(hjhhhNhNubah}(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}(hjhhhNhNubah}(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 }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKubj?)}(hrio_read_config_8h]jE)}(hrio_read_config_8h]hrio_read_config_8}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_read_config_8asbuh1hhjubj.)}(h h]h }(hj7hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjEhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hjRhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hjnhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjkubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjpmodnameN classnameNjj)}j]j3c.rio_read_config_8asbuh1hhjgubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjgubjE)}(hoffseth]hoffset}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjgubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hu8 *datah](h)}(hhh]jE)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j3c.rio_read_config_8asbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hdatah]hdata}(hjhhhNhNubah}(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&]jj)jhuh1jhjhKhjhhubj)}(hhh]h)}(h$Read 8 bits from configuration spaceh]h$Read 8 bits from configuration space}(hjhhhNhNubah}(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&]jjjj1jj1jjjuh1j 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)}(hj;h]h Parameters}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj5ubj)}(hhh](j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hjZh]hstruct rio_dev *rdev}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjTubj)}(hhh]h)}(h RIO deviceh]h RIO device}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjohKhjpubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhjohKhjQubj)}(h6``u32 offset`` Offset into device configuration space h](j)}(h``u32 offset``h]j)}(hjh]h u32 offset}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjQubj)}(h(``u8 * data`` Pointer to read data into h](j)}(h ``u8 * data``h]j)}(hjh]h u8 * data}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjQubeh}(h]h ]h"]h$]h&]uh1jhj5ubh)}(h**Description**h]j)}(hjh]h Description}(hj hhhNhNubah}(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.hhKhj5ubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhj5ubeh}(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}(hjLhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjHhhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKubj.)}(h h]h }(hj[hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjHhhhjZhKubj?)}(hrio_write_config_8h]jE)}(hrio_write_config_8h]hrio_write_config_8}(hjmhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjiubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjHhhhjZhKubj`)}(h+(struct rio_dev *rdev, u32 offset, u8 data)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjosbc.rio_write_config_8asbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_write_config_8asbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hoffseth]hoffset}(hj*hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hu8 datah](h)}(hhh]jE)}(hu8h]hu8}(hjFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjCubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjHmodnameN classnameNjj)}j]jc.rio_write_config_8asbuh1hhj?ubj.)}(h h]h }(hjdhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj?ubjE)}(hdatah]hdata}(hjrhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj?ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjHhhhjZhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjDhhhjZhKubah}(h]j?ah ](jjeh"]h$]h&]jj)jhuh1jhjZhKhjAhhubj)}(hhh]h)}(h#Write 8 bits to configuration spaceh]h#Write 8 bits to configuration space}(hjhhhNhNubah}(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&]uh1jhjAhhhjZhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j 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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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}(hj 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}(hj/ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+ hKhj, ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj+ hKhjubj)}(h``u8 data`` Data to be written h](j)}(h ``u8 data``h]j)}(hjO h]hu8 data}(hjQ 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.hhKhjI ubj)}(hhh]h)}(hData to be writtenh]hData to be written}(hjh hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjd hKhje ubah}(h]h ]h"]h$]h&]uh1jhjI ubeh}(h]h ]h"]h$]h&]uh1jhjd hKhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hj h]h Description}(hj 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 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}(hj 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 }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj hhhj hKubj?)}(hrio_send_doorbellh]jE)}(hrio_send_doorbellh]hrio_send_doorbell}(hj 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}(hj !hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj!ubj.)}(h h]h }(hj!hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hj*!hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj'!ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj,!modnameN classnameNjj)}j]j)}jj sbc.rio_send_doorbellasbuh1hhj!ubj.)}(h h]h }(hjJ!hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!ubj)}(hjh]h*}(hjX!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubjE)}(hrdevh]hrdev}(hje!hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj!ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj!ubjf)}(hu16 datah](h)}(hhh]jE)}(hu16h]hu16}(hj!hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj~!ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj!modnameN classnameNjj)}j]jF!c.rio_send_doorbellasbuh1hhjz!ubj.)}(h h]h }(hj!hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjz!ubjE)}(hdatah]hdata}(hj!hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjz!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&]jj)jhuh1jhj hKhj hhubj)}(hhh]h)}(h#Send a doorbell message to a deviceh]h#Send a doorbell message to a device}(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!jjjuh1j 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}(hj!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}(hj"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}(hj1"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-"hKhj."ubah}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1jhj-"hKhj"ubj)}(h#``u16 data`` Doorbell message data h](j)}(h ``u16 data``h]j)}(hjQ"h]hu16 data}(hjS"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjO"ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjK"ubj)}(hhh]h)}(hDoorbell message datah]hDoorbell message data}(hjj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjf"hKhjg"ubah}(h]h ]h"]h$]h&]uh1jhjK"ubeh}(h]h ]h"]h$]h&]uh1jhjf"hKhj"ubeh}(h]h ]h"]h$]h&]uh1jhj!ubh)}(h**Description**h]j)}(hj"h]h Description}(hj"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 }(hj"hhhNhNubj)}(h**data**h]hdata}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubh 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}(hj"hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj"hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMubj.)}(h h]h }(hj"hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj"hhhj"hMubj?)}(hrio_init_mbox_resh]jE)}(hrio_init_mbox_resh]hrio_init_mbox_res}(hj#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj#ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj"hhhj"hMubj`)}(h*(struct resource *res, int start, int end)h](jf)}(hstruct resource *resh](jl)}(hjoh]hstruct}(hj #hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj#ubj.)}(h h]h }(hj-#hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj#ubh)}(hhh]jE)}(hresourceh]hresource}(hj>#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj;#ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj@#modnameN classnameNjj)}j]j)}jj#sbc.rio_init_mbox_resasbuh1hhj#ubj.)}(h h]h }(hj^#hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj#ubj)}(hjh]h*}(hjl#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj#ubjE)}(hresh]hres}(hjy#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj#ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj#ubjf)}(h int starth](j)}(hinth]hint}(hj#hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj#ubj.)}(h h]h }(hj#hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj#ubjE)}(hstarth]hstart}(hj#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj#ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj#ubjf)}(hint endh](j)}(hinth]hint}(hj#hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj#ubj.)}(h h]h }(hj#hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj#ubjE)}(hendh]hend}(hj#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&]jj)jhuh1jhj"hMhj"hhubj)}(hhh]h)}(h!Initialize a RIO mailbox resourceh]h!Initialize a RIO mailbox resource}(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"hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj%$jj%$jjjuh1j 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}(hj1$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 resource *res`` resource struct h](j)}(h``struct resource *res``h]j)}(hjN$h]hstruct resource *res}(hjP$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjL$ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhKhjH$ubj)}(hhh]h)}(hresource structh]hresource struct}(hjg$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjc$hKhjd$ubah}(h]h ]h"]h$]h&]uh1jhjH$ubeh}(h]h ]h"]h$]h&]uh1jhjc$hKhjE$ubj)}(h%``int start`` start of mailbox range h](j)}(h ``int start``h]j)}(hj$h]h int start}(hj$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$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$hKhj$ubah}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]uh1jhj$hKhjE$ubj)}(h!``int end`` end of mailbox range h](j)}(h ``int end``h]j)}(hj$h]hint end}(hj$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$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$hKhj$ubah}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]uh1jhj$hKhjE$ubeh}(h]h ]h"]h$]h&]uh1jhj)$ubh)}(h**Description**h]j)}(hj$h]h Description}(hj$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)}(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%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_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}(hj@%hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj<%hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMubj.)}(h h]h }(hjO%hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj<%hhhjN%hMubj?)}(hrio_init_dbell_resh]jE)}(hrio_init_dbell_resh]hrio_init_dbell_res}(hja%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj]%ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj<%hhhjN%hMubj`)}(h*(struct resource *res, u16 start, u16 end)h](jf)}(hstruct resource *resh](jl)}(hjoh]hstruct}(hj}%hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjy%ubj.)}(h h]h }(hj%hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjy%ubh)}(hhh]jE)}(hresourceh]hresource}(hj%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj%modnameN classnameNjj)}j]j)}jjc%sbc.rio_init_dbell_resasbuh1hhjy%ubj.)}(h h]h }(hj%hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjy%ubj)}(hjh]h*}(hj%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjy%ubjE)}(hresh]hres}(hj%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjy%ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehju%ubjf)}(h u16 starth](h)}(hhh]jE)}(hu16h]hu16}(hj%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 }(hj&hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%ubjE)}(hstarth]hstart}(hj&hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehju%ubjf)}(hu16 endh](h)}(hhh]jE)}(hu16h]hu16}(hj:&hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj7&ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj<&modnameN classnameNjj)}j]j%c.rio_init_dbell_resasbuh1hhj3&ubj.)}(h h]h }(hjX&hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj3&ubjE)}(hendh]hend}(hjf&hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj3&ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehju%ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj<%hhhjN%hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj8%hhhjN%hMubah}(h]j3%ah ](jjeh"]h$]h&]jj)jhuh1jhjN%hMhj5%hhubj)}(hhh]h)}(h"Initialize a RIO doorbell resourceh]h"Initialize a RIO doorbell resource}(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&]uh1jhj5%hhhjN%hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj&jj&jjjuh1j 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}(hj&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}(hj&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&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&hM hj&ubah}(h]h ]h"]h$]h&]uh1jhj&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}(hj '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}(hj#'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'hM hj 'ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj'hM hj&ubj)}(h"``u16 end`` end of doorbell range h](j)}(h ``u16 end``h]j)}(hjC'h]hu16 end}(hjE'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjA'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)}(hend of doorbell rangeh]hend of doorbell range}(hj\'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjX'hM hjY'ubah}(h]h ]h"]h$]h&]uh1jhj='ubeh}(h]h ]h"]h$]h&]uh1jhjX'hM hj&ubeh}(h]h ]h"]h$]h&]uh1jhj&ubh)}(h**Description**h]j)}(hj~'h]h Description}(hj'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'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}(hj'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&]jj)jhuh1jhj'hM#hj'hhubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj'hhhj'hM#ubeh}(h]h ](jmacroeh"]h$]h&]jjjj'jj'jjjuh1j hhhjhNhNubh)}(h``RIO_DEVICE (dev, ven)``h]j)}(hj'h]hRIO_DEVICE (dev, ven)}(hj'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)}(h-macro used to describe a specific RIO device h]h)}(h,macro used to describe a specific RIO deviceh]h,macro used to describe a specific RIO device}(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(hj#(hMhjhhubj)}(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)}(hj0(h]h Parameters}(hj2(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*(ubj)}(hhh](j)}(h!``dev`` the 16 bit RIO device ID h](j)}(h``dev``h]j)}(hjO(h]hdev}(hjQ(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.hhMhjI(ubj)}(hhh]h)}(hthe 16 bit RIO device IDh]hthe 16 bit RIO device ID}(hjh(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjd(hMhje(ubah}(h]h ]h"]h$]h&]uh1jhjI(ubeh}(h]h ]h"]h$]h&]uh1jhjd(hMhjF(ubj)}(h!``ven`` the 16 bit RIO vendor ID h](j)}(h``ven``h]j)}(hj(h]hven}(hj(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(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(hMhj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhj(hMhjF(ubeh}(h]h ]h"]h$]h&]uh1jhj*(ubh)}(h**Description**h]j)}(hj(h]h Description}(hj(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 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 }(hj(hhhNhNubj)}(h``RIO_ANY_ID``h]h RIO_ANY_ID}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubh.}(hj(hhhNhNubeh}(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](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}(hj)hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj)hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM7ubj.)}(h h]h }(hj))hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj)hhhj()hM7ubj?)}(hrio_add_outb_messageh]jE)}(hrio_add_outb_messageh]hrio_add_outb_message}(hj;)hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj7)ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj)hhhj()hM7ubj`)}(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}(hjW)hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjS)ubj.)}(h h]h }(hjd)hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjS)ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hju)hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjr)ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjw)modnameN classnameNjj)}j]j)}jj=)sbc.rio_add_outb_messageasbuh1hhjS)ubj.)}(h h]h }(hj)hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjS)ubj)}(hjh]h*}(hj)hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjS)ubjE)}(hmporth]hmport}(hj)hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjS)ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjO)ubjf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hj)hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj)ubj.)}(h h]h }(hj)hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj)ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hj)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 }(hj*hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj)ubj)}(hjh]h*}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj)ubjE)}(hrdevh]hrdev}(hj *hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj)ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjO)ubjf)}(hint mboxh](j)}(hinth]hint}(hj9*hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj5*ubj.)}(h h]h }(hjG*hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj5*ubjE)}(hmboxh]hmbox}(hjU*hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj5*ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjO)ubjf)}(h void *bufferh](j)}(hvoidh]hvoid}(hjn*hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjj*ubj.)}(h h]h }(hj|*hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjj*ubj)}(hjh]h*}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjj*ubjE)}(hbufferh]hbuffer}(hj*hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjj*ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjO)ubjf)}(h size_t lenh](h)}(hhh]jE)}(hsize_th]hsize_t}(hj*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 }(hj*hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj*ubjE)}(hlenh]hlen}(hj*hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj*ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjO)ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj)hhhj()hM7ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj)hhhj()hM7ubah}(h]j )ah ](jjeh"]h$]h&]jj)jhuh1jhj()hM7hj)hhubj)}(hhh]h)}(h,Add RIO message to an outbound mailbox queueh]h,Add RIO message to an outbound mailbox queue}(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)hhhj()hM7ubeh}(h]h ](jfunctioneh"]h$]h&]jjjj!+jj!+jjjuh1j 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}(hj-+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.hhM1hj%+ubj)}(hhh](j)}(hJ``struct rio_mport *mport`` RIO master port containing the outbound queue h](j)}(h``struct rio_mport *mport``h]j)}(hjJ+h]hstruct rio_mport *mport}(hjL+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjH+ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM.hjD+ubj)}(hhh]h)}(h-RIO master port containing the outbound queueh]h-RIO master port containing the outbound queue}(hjc+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_+hM.hj`+ubah}(h]h ]h"]h$]h&]uh1jhjD+ubeh}(h]h ]h"]h$]h&]uh1jhj_+hM.hjA+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}(hj+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+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+hM/hj+ubah}(h]h ]h"]h$]h&]uh1jhj}+ubeh}(h]h ]h"]h$]h&]uh1jhj+hM/hjA+ubj)}(h(``int mbox`` The outbound mailbox queue h](j)}(h ``int mbox``h]j)}(hj+h]hint mbox}(hj+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+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+hM0hj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj+hM0hjA+ubj)}(h/``void *buffer`` Pointer to the message buffer h](j)}(h``void *buffer``h]j)}(hj+h]h void *buffer}(hj+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,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ,hM1hj ,ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj ,hM1hjA+ubj)}(h,``size_t len`` Length of the message buffer h](j)}(h``size_t len``h]j)}(hj.,h]h size_t len}(hj0,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.hhM2hj(,ubj)}(hhh]h)}(hLength of the message bufferh]hLength of the message buffer}(hjG,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjC,hM2hjD,ubah}(h]h ]h"]h$]h&]uh1jhj(,ubeh}(h]h ]h"]h$]h&]uh1jhjC,hM2hjA+ubeh}(h]h ]h"]h$]h&]uh1jhj%+ubh)}(h**Description**h]j)}(hji,h]h Description}(hjk,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjg,ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM4hj%+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,hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhM4hj%+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}(hj,hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj,hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMLubj.)}(h h]h }(hj,hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,hhhj,hMLubj?)}(hrio_add_inb_bufferh]jE)}(hrio_add_inb_bufferh]hrio_add_inb_buffer}(hj,hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj,ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj,hhhj,hMLubj`)}(h1(struct rio_mport *mport, int mbox, void *buffer)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hj,hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj,ubj.)}(h h]h }(hj,hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj -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 }(hj)-hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,ubj)}(hjh]h*}(hj7-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,ubjE)}(hmporth]hmport}(hjD-hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj,ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj,ubjf)}(hint mboxh](j)}(hinth]hint}(hj]-hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjY-ubj.)}(h h]h }(hjk-hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjY-ubjE)}(hmboxh]hmbox}(hjy-hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjY-ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj,ubjf)}(h void *bufferh](j)}(hvoidh]hvoid}(hj-hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj-ubj.)}(h h]h }(hj-hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj-ubj)}(hjh]h*}(hj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj-ubjE)}(hbufferh]hbuffer}(hj-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,hMLubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj,hhhj,hMLubah}(h]j,ah ](jjeh"]h$]h&]jj)jhuh1jhj,hMLhj,hhubj)}(hhh]h)}(h&Add buffer to an inbound mailbox queueh]h&Add buffer to an inbound mailbox queue}(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,hMLubeh}(h]h ](jfunctioneh"]h$]h&]jjjj-jj-jjjuh1j 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}(hj .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)}(hj&.h]hstruct rio_mport *mport}(hj(.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.hhMEhj .ubj)}(hhh]h)}(h*Master port containing the inbound mailboxh]h*Master port containing the inbound mailbox}(hj?.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;.hMEhj<.ubah}(h]h ]h"]h$]h&]uh1jhj .ubeh}(h]h ]h"]h$]h&]uh1jhj;.hMEhj.ubj)}(h(``int mbox`` The inbound mailbox number h](j)}(h ``int mbox``h]j)}(hj_.h]hint mbox}(hja.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.hhMFhjY.ubj)}(hhh]h)}(hThe inbound mailbox numberh]hThe inbound mailbox number}(hjx.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjt.hMFhju.ubah}(h]h ]h"]h$]h&]uh1jhjY.ubeh}(h]h ]h"]h$]h&]uh1jhjt.hMFhj.ubj)}(h/``void *buffer`` Pointer to the message buffer h](j)}(h``void *buffer``h]j)}(hj.h]h void *buffer}(hj.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.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hMGhj.ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj.hMGhj.ubeh}(h]h ]h"]h$]h&]uh1jhj.ubh)}(h**Description**h]j)}(hj.h]h Description}(hj.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.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/hhhj&/hMYubj`)}(h#(struct rio_mport *mport, int mbox)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hjb/hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj^/ubj.)}(h h]h }(hjo/hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj^/ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj/hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj}/ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj/modnameN classnameNjj)}j]j)}jjH/sbc.rio_get_inb_messageasbuh1hhj^/ubj.)}(h h]h }(hj/hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj^/ubj)}(hjh]h*}(hj/hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj^/ubjE)}(hmporth]hmport}(hj/hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj^/ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjZ/ubjf)}(hint mboxh](j)}(hinth]hint}(hj/hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj/ubj.)}(h h]h }(hj/hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj/ubjE)}(hmboxh]hmbox}(hj/hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj/ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjZ/ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj/hhhj&/hMYubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj/hhhj&/hMYubah}(h]j /ah ](jjeh"]h$]h&]jj)jhuh1jhj&/hMYhj /hhubj)}(hhh]h)}(h/Get A RIO message from an inbound mailbox queueh]h/Get A RIO message from an inbound mailbox queue}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMShj0hhubah}(h]h ]h"]h$]h&]uh1jhj /hhhj&/hMYubeh}(h]h ](jfunctioneh"]h$]h&]jjjj20jj20jjjuh1j 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)}(hj<0h]h Parameters}(hj>0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:0ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMWhj60ubj)}(hhh](j)}(hG``struct rio_mport *mport`` Master port containing the inbound mailbox h](j)}(h``struct rio_mport *mport``h]j)}(hj[0h]hstruct rio_mport *mport}(hj]0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjY0ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMThjU0ubj)}(hhh]h)}(h*Master port containing the inbound mailboxh]h*Master port containing the inbound mailbox}(hjt0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjp0hMThjq0ubah}(h]h ]h"]h$]h&]uh1jhjU0ubeh}(h]h ]h"]h$]h&]uh1jhjp0hMThjR0ubj)}(h(``int mbox`` The inbound mailbox number h](j)}(h ``int mbox``h]j)}(hj0h]hint mbox}(hj0hhhNhNubah}(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}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0hMUhj0ubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhj0hMUhjR0ubeh}(h]h ]h"]h$]h&]uh1jhj60ubh)}(h**Description**h]j)}(hj0h]h Description}(hj0hhhNhNubah}(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.hhMWhj60ubh)}(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.}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMWhj60ubeh}(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}(hj1hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj1hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMubj.)}(h h]h }(hj#1hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj1hhhj"1hMubj)}(hcharh]hchar}(hj11hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj1hhhj"1hMubj.)}(h h]h }(hj?1hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj1hhhj"1hMubj)}(hjh]h*}(hjM1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj1hhhj"1hMubj?)}(hrio_nameh]jE)}(hrio_nameh]hrio_name}(hj^1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjZ1ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj1hhhj"1hMubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjz1hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjv1ubj.)}(h h]h }(hj1hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjv1ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hj1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj1ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj1modnameN classnameNjj)}j]j)}jj`1sb c.rio_nameasbuh1hhjv1ubj.)}(h h]h }(hj1hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjv1ubj)}(hjh]h*}(hj1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjv1ubjE)}(hrdevh]hrdev}(hj1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjv1ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjr1ubah}(h]h ]h"]h$]h&]j]j^uh1j_hj1hhhj"1hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj 1hhhj"1hMubah}(h]j1ah ](jjeh"]h$]h&]jj)jhuh1jhj"1hMhj 1hhubj)}(hhh]h)}(h$Get the unique RIO device identifierh]h$Get the unique RIO device identifier}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj1hhubah}(h]h ]h"]h$]h&]uh1jhj 1hhhj"1hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj2jj2jjjuh1j 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)}(hj2h]h Parameters}(hj!2hhhNhNubah}(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.hhMhj2ubj)}(hhh]j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hj>2h]hstruct rio_dev *rdev}(hj@2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<2ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj82ubj)}(hhh]h)}(h RIO deviceh]h RIO device}(hjW2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjS2hMhjT2ubah}(h]h ]h"]h$]h&]uh1jhj82ubeh}(h]h ]h"]h$]h&]uh1jhjS2hMhj52ubah}(h]h ]h"]h$]h&]uh1jhj2ubh)}(h**Description**h]j)}(hjy2h]h Description}(hj{2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjw2ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj2ubh)}(hKGet the unique RIO device identifier. Returns the device identifier string.h]hKGet the unique RIO device identifier. Returns the device identifier string.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhj2ubeh}(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}(hj2hhhNhNubah}(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 }(hj2hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj2hhhj2hMubj)}(hjh]h*}(hj2hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj2hhhj2hMubj?)}(hrio_get_drvdatah]jE)}(hrio_get_drvdatah]hrio_get_drvdata}(hj2hhhNhNubah}(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}(hj3hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj3ubj.)}(h h]h }(hj3hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj3ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hj&3hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj#3ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj(3modnameN classnameNjj)}j]j)}jj2sbc.rio_get_drvdataasbuh1hhj3ubj.)}(h h]h }(hjF3hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj3ubj)}(hjh]h*}(hjT3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj3ubjE)}(hrdevh]hrdev}(hja3hhhNhNubah}(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&]jj)jhuh1jhj2hMhj2hhubj)}(hhh]h)}(hGet RIO driver specific datah]hGet RIO driver specific data}(hj3hhhNhNubah}(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&]jjjj3jj3jjjuh1j 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}(hj3hhhNhNubah}(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}(hj3hhhNhNubah}(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}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3hMhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj3hMhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubh)}(h**Description**h]j)}(hj4h]h Description}(hj 4hhhNhNubah}(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.}(hj4hhhNhNubah}(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}(hjL4hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjH4hhh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMubj.)}(h h]h }(hj[4hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjH4hhhjZ4hMubj?)}(hrio_set_drvdatah]jE)}(hrio_set_drvdatah]hrio_set_drvdata}(hjm4hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhji4ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjH4hhhjZ4hMubj`)}(h"(struct rio_dev *rdev, void *data)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hj4hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj4ubj.)}(h h]h }(hj4hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj4ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hj4hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj4ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj4modnameN classnameNjj)}j]j)}jjo4sbc.rio_set_drvdataasbuh1hhj4ubj.)}(h h]h }(hj4hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj4ubj)}(hjh]h*}(hj4hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj4ubjE)}(hrdevh]hrdev}(hj4hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj4ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj4ubjf)}(h void *datah](j)}(hvoidh]hvoid}(hj4hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj4ubj.)}(h h]h }(hj 5hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj4ubj)}(hjh]h*}(hj5hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj4ubjE)}(hdatah]hdata}(hj$5hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj4ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj4ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjH4hhhjZ4hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjD4hhhjZ4hMubah}(h]j?4ah ](jjeh"]h$]h&]jj)jhuh1jhjZ4hMhjA4hhubj)}(hhh]h)}(hSet RIO driver specific datah]hSet RIO driver specific data}(hjN5hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhjK5hhubah}(h]h ]h"]h$]h&]uh1jhjA4hhhjZ4hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjf5jjf5jjjuh1j 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)}(hjp5h]h Parameters}(hjr5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjn5ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhjj5ubj)}(hhh](j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hj5h]hstruct rio_dev *rdev}(hj5hhhNhNubah}(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}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5hMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(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}(hj5hhhNhNubah}(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}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5hMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj5hMhj5ubeh}(h]h ]h"]h$]h&]uh1jhjj5ubh)}(h**Description**h]j)}(hj6h]h Description}(hj6hhhNhNubah}(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.hhMhjj5ubh)}(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 }(hj6hhhNhNubj)}(h**data**h]hdata}(hj!6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubh argument.}(hj6hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:45: ./include/linux/rio_drv.hhMhjj5ubeh}(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}(hjZ6hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjV6hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chK6ubj.)}(h h]h }(hjh6hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjV6hhhjg6hK6ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjy6hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjv6ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj{6modnameN classnameNjj)}j]j)}j rio_dev_getsb c.rio_dev_getasbuh1hhjV6hhhjg6hK6ubj.)}(h h]h }(hj6hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjV6hhhjg6hK6ubj)}(hjh]h*}(hj6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjV6hhhjg6hK6ubj?)}(h rio_dev_geth]jE)}(hj6h]h rio_dev_get}(hj6hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj6ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjV6hhhjg6hK6ubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hj6hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj6ubj.)}(h h]h }(hj6hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj6ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hj6hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj6ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj6modnameN classnameNjj)}j]j6 c.rio_dev_getasbuh1hhj6ubj.)}(h h]h }(hj7hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj6ubj)}(hjh]h*}(hj7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj6ubjE)}(hrdevh]hrdev}(hj+7hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj6ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj6ubah}(h]h ]h"]h$]h&]j]j^uh1j_hjV6hhhjg6hK6ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjR6hhhjg6hK6ubah}(h]jM6ah ](jjeh"]h$]h&]jj)jhuh1jhjg6hK6hjO6hhubj)}(hhh]h)}(h:Increments the reference count of the RIO device structureh]h:Increments the reference count of the RIO device structure}(hjU7hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chK,hjR7hhubah}(h]h ]h"]h$]h&]uh1jhjO6hhhjg6hK6ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjm7jjm7jjjuh1j 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)}(hjw7h]h Parameters}(hjy7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhju7ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chK0hjq7ubj)}(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}(hj7hhhNhNubah}(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}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7hK.hj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj7hK.hj7ubah}(h]h ]h"]h$]h&]uh1jhjq7ubh)}(h**Description**h]j)}(hj7h]h Description}(hj7hhhNhNubah}(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.chK0hjq7ubh)}(h5Each live reference to a device should be refcounted.h]h5Each live reference to a device should be refcounted.}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chK0hjq7ubh)}(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.}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chK2hjq7ubeh}(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}(hj%8hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj!8hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKGubj.)}(h h]h }(hj48hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!8hhhj38hKGubj?)}(h rio_dev_puth]jE)}(h rio_dev_puth]h rio_dev_put}(hjF8hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjB8ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj!8hhhj38hKGubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjb8hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj^8ubj.)}(h h]h }(hjo8hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj^8ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hj8hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj}8ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj8modnameN classnameNjj)}j]j)}jjH8sb c.rio_dev_putasbuh1hhj^8ubj.)}(h h]h }(hj8hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj^8ubj)}(hjh]h*}(hj8hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj^8ubjE)}(hrdevh]hrdev}(hj8hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj^8ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjZ8ubah}(h]h ]h"]h$]h&]j]j^uh1j_hj!8hhhj38hKGubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj8hhhj38hKGubah}(h]j8ah ](jjeh"]h$]h&]jj)jhuh1jhj38hKGhj8hhubj)}(hhh]h)}(h)Release a use of the RIO device structureh]h)Release a use of the RIO device structure}(hj8hhhNhNubah}(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&]uh1jhj8hhhj38hKGubeh}(h]h ](jfunctioneh"]h$]h&]jjjj8jj8jjjuh1j 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}(hj 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}(hj(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.chKAhj 9ubj)}(hhh]h)}(hRIO device being disconnectedh]hRIO device being disconnected}(hj?9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;9hKAhj<9ubah}(h]h ]h"]h$]h&]uh1jhj 9ubeh}(h]h ]h"]h$]h&]uh1jhj;9hKAhj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubh)}(h**Description**h]j)}(hja9h]h Description}(hjc9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_9ubah}(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.}(hjw9hhhNhNubah}(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}(hj9hhhNhNubah}(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 }(hj9hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj9hhhj9hKubj?)}(hrio_register_driverh]jE)}(hrio_register_driverh]hrio_register_driver}(hj9hhhNhNubah}(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}(hj9hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj9ubj.)}(h h]h }(hj9hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj9ubh)}(hhh]jE)}(h rio_driverh]h rio_driver}(hj:hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj9ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj:modnameN classnameNjj)}j]j)}jj9sbc.rio_register_driverasbuh1hhj9ubj.)}(h h]h }(hj!:hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj9ubj)}(hjh]h*}(hj/:hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubjE)}(hrdrvh]hrdrv}(hj<: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&]jj)jhuh1jhj9hKhj9hhubj)}(hhh]h)}(hregister a new RIO driverh]hregister a new RIO driver}(hjf:hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKhjc:hhubah}(h]h ]h"]h$]h&]uh1jhj9hhhj9hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj~:jj~:jjjuh1j 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}(hj: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}(hj: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: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 }(hj:hhhNhNubh)}(h(:c:type:`struct rio_driver `h]j)}(hj:h]hstruct rio_driver}(hj:hhhNhNubah}(h]h ](xrefjc-typeeh"]h$]h&]uh1jhj:ubah}(h]h ]h"]h$]h&]refdocadmin-guide/rapidio refdomainjreftypetype refexplicitrefwarnjj)}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.}(hj:hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj:hKhj:ubeh}(h]h ]h"]h$]h&]uh1jhj: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}(hj9;hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj5;hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKubj.)}(h h]h }(hjH;hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj5;hhhjG;hKubj?)}(hrio_unregister_driverh]jE)}(hrio_unregister_driverh]hrio_unregister_driver}(hjZ;hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjV;ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj5;hhhjG;hKubj`)}(h(struct rio_driver *rdrv)h]jf)}(hstruct rio_driver *rdrvh](jl)}(hjoh]hstruct}(hjv;hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjr;ubj.)}(h h]h }(hj;hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjr;ubh)}(hhh]jE)}(h rio_driverh]h rio_driver}(hj;hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj;ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj;modnameN classnameNjj)}j]j)}jj\;sbc.rio_unregister_driverasbuh1hhjr;ubj.)}(h h]h }(hj;hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjr;ubj)}(hjh]h*}(hj;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjr;ubjE)}(hrdrvh]hrdrv}(hj;hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjr;ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjn;ubah}(h]h ]h"]h$]h&]j]j^uh1j_hj5;hhhjG;hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj1;hhhjG;hKubah}(h]j,;ah ](jjeh"]h$]h&]jj)jhuh1jhjG;hKhj.;hhubj)}(hhh]h)}(hunregister a RIO driverh]hunregister a RIO driver}(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&]uh1jhj.;hhhjG;hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj<jj<jjjuh1j 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)}(hj<h]h Parameters}(hj<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 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)}(hj:<h]hstruct rio_driver *rdrv}(hj<<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8<ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKhj4<ubj)}(hhh](h)}(h&the RIO driver structure to unregisterh]h&the RIO driver structure to unregister}(hjS<hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKhjP<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 }(hjb<hhhNhNubh)}(h(:c:type:`struct rio_driver `h]j)}(hjl<h]hstruct rio_driver}(hjn<hhhNhNubah}(h]h ](j:jc-typeeh"]h$]h&]uh1jhjj<ubah}(h]h ]h"]h$]h&]refdocj: refdomainjreftypetype refexplicitrefwarnjj:j: rio_driveruh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:48: ./drivers/rapidio/rio-driver.chKhjb<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.}(hjb<hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj<hKhjP<ubeh}(h]h ]h"]h$]h&]uh1jhj4<ubeh}(h]h ]h"]h$]h&]uh1jhjO<hKhj1<ubah}(h]h ]h"]h$]h&]uh1jhj<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}(hj<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.chKHubj.)}(h h]h }(hj<hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj<hhhj<hKHubj?)}(hrio_local_get_device_idh]jE)}(hj<h]hrio_local_get_device_id}(hj<hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj<ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj<hhhj<hKHubj`)}(h(struct rio_mport *port)h]jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hj=hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj=ubj.)}(h h]h }(hj%=hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj=ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj6=hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj3=ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj8=modnameN classnameNjj)}j]j<c.rio_local_get_device_idasbuh1hhj=ubj.)}(h h]h }(hjT=hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj=ubj)}(hjh]h*}(hjb=hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj=ubjE)}(hporth]hport}(hjo=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<hKHubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj<hhhj<hKHubah}(h]j<ah ](jjeh"]h$]h&]jj)jhuh1jhj<hKHhj<hhubj)}(hhh]h)}(h*Get the base/extended device id for a porth]h*Get the base/extended device id for a port}(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<hKHubeh}(h]h ](jfunctioneh"]h$]h&]jjjj=jj=jjjuh1j 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}(hj=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}(hj=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=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=hKBhj=ubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]uh1jhj=hKBhj=ubah}(h]h ]h"]h$]h&]uh1jhj=ubh)}(h**Description**h]j)}(hj>h]h Description}(hj>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.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.}(hj+>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}(hjZ>hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjV>hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKZubj.)}(h h]h }(hji>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjV>hhhjh>hKZubj?)}(hrio_query_mporth]jE)}(hrio_query_mporth]hrio_query_mport}(hj{>hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjw>ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjV>hhhjh>hKZubj`)}(h;(struct rio_mport *port, struct rio_mport_attr *mport_attr)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hj>hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj>ubj.)}(h h]h }(hj>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj>ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj>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 }(hj>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj>ubj)}(hjh]h*}(hj>hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj>ubjE)}(hporth]hport}(hj>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}(hj ?hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj?ubj.)}(h h]h }(hj?hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj?ubh)}(hhh]jE)}(hrio_mport_attrh]hrio_mport_attr}(hj'?hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj$?ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj)?modnameN classnameNjj)}j]j>c.rio_query_mportasbuh1hhj?ubj.)}(h h]h }(hjE?hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj?ubj)}(hjh]h*}(hjS?hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj?ubjE)}(h mport_attrh]h mport_attr}(hj`?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>hhhjh>hKZubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjR>hhhjh>hKZubah}(h]jM>ah ](jjeh"]h$]h&]jj)jhuh1jhjh>hKZhjO>hhubj)}(hhh]h)}(hQuery mport device attributesh]hQuery mport device attributes}(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>hhhjh>hKZubeh}(h]h ](jfunctioneh"]h$]h&]jjjj?jj?jjjuh1j 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}(hj?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}(hj?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?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?hKThj?ubah}(h]h ]h"]h$]h&]uh1jhj?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}(hj@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@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@hKUhj@ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhj@hKUhj?ubeh}(h]h ]h"]h$]h&]uh1jhj?ubh)}(h**Description**h]j)}(hj?@h]h Description}(hjA@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.}(hjU@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}(hj@hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj@hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKlubj.)}(h h]h }(hj@hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj@hhhj@hKlubh)}(hhh]jE)}(hrio_neth]hrio_net}(hj@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@hKlubj.)}(h h]h }(hj@hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj@hhhj@hKlubj)}(hjh]h*}(hj@hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj@hhhj@hKlubj?)}(h rio_alloc_neth]jE)}(hj@h]h rio_alloc_net}(hj@hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj@ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj@hhhj@hKlubj`)}(h(struct rio_mport *mport)h]jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hj@hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj@ubj.)}(h h]h }(hj AhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj@ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjAhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjAubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjAmodnameN classnameNjj)}j]j@c.rio_alloc_netasbuh1hhj@ubj.)}(h h]h }(hj:AhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj@ubj)}(hjh]h*}(hjHAhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj@ubjE)}(hmporth]hmport}(hjUAhhhNhNubah}(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@hKlubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj|@hhhj@hKlubah}(h]jw@ah ](jjeh"]h$]h&]jj)jhuh1jhj@hKlhjy@hhubj)}(hhh]h)}(h8Allocate and initialize a new RIO network data structureh]h8Allocate and initialize a new RIO network data structure}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKdhj|Ahhubah}(h]h ]h"]h$]h&]uh1jhjy@hhhj@hKlubeh}(h]h ](jfunctioneh"]h$]h&]jjjjAjjAjjjuh1j 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}(hjAhhhNhNubah}(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}(hjAhhhNhNubah}(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}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAhKehjAubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhjAhKehjAubah}(h]h ]h"]h$]h&]uh1jhjAubh)}(h**Description**h]j)}(hjAh]h Description}(hjAhhhNhNubah}(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.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 }(hjBhhhNhNubj)}(h``NULL``h]hNULL}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjBubh on failure.}(hjBhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKghjAubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$rio_local_set_device_id (C function)c.rio_local_set_device_idhNtauh1jhjhhhNhNubj )}(hhh](j)}(h>void 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}(hjRBhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjNBhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKubj.)}(h h]h }(hjaBhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjNBhhhj`BhKubj?)}(hrio_local_set_device_idh]jE)}(hrio_local_set_device_idh]hrio_local_set_device_id}(hjsBhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjoBubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjNBhhhj`BhKubj`)}(h!(struct rio_mport *port, u16 did)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hjBhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjBubj.)}(h h]h }(hjBhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjBubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjBhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjBmodnameN classnameNjj)}j]j)}jjuBsbc.rio_local_set_device_idasbuh1hhjBubj.)}(h h]h }(hjBhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjBubj)}(hjh]h*}(hjBhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjBubjE)}(hporth]hport}(hjBhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjBubjf)}(hu16 didh](h)}(hhh]jE)}(hu16h]hu16}(hjChhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjCubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjCmodnameN classnameNjj)}j]jBc.rio_local_set_device_idasbuh1hhjBubj.)}(h h]h }(hj"ChhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjBubjE)}(hdidh]hdid}(hj0ChhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjBubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjNBhhhj`BhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjJBhhhj`BhKubah}(h]jEBah ](jjeh"]h$]h&]jj)jhuh1jhj`BhKhjGBhhubj)}(hhh]h)}(h*Set the base/extended device id for a porth]h*Set the base/extended device id for a port}(hjZChhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjWChhubah}(h]h ]h"]h$]h&]uh1jhjGBhhhj`BhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjrCjjrCjjjuh1j 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)}(hj|Ch]h Parameters}(hj~ChhhNhNubah}(h]h ]h"]h$]h&]uh1jhjzCubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjvCubj)}(hhh](j)}(h+``struct rio_mport *port`` RIO master port h](j)}(h``struct rio_mport *port``h]j)}(hjCh]hstruct rio_mport *port}(hjChhhNhNubah}(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}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjChKhjCubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(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}(hjChhhNhNubah}(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}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjChKhjCubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhjChKhjCubeh}(h]h ]h"]h$]h&]uh1jhjvCubh)}(h**Description**h]j)}(hjDh]h Description}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj Dubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjvCubh)}(h1Writes the base/extended device id from a device.h]h1Writes the base/extended device id from a device.}(hj%DhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjvCubeh}(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}(hjTDhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjPDhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKubj.)}(h h]h }(hjcDhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjPDhhhjbDhKubj?)}(hrio_add_deviceh]jE)}(hrio_add_deviceh]hrio_add_device}(hjuDhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjqDubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjPDhhhjbDhKubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjDhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjDubj.)}(h h]h }(hjDhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjDubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjDhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjDubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjDmodnameN classnameNjj)}j]j)}jjwDsbc.rio_add_deviceasbuh1hhjDubj.)}(h h]h }(hjDhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjDubj)}(hjh]h*}(hjDhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjDubjE)}(hrdevh]hrdev}(hjDhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjDubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjDubah}(h]h ]h"]h$]h&]j]j^uh1j_hjPDhhhjbDhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjLDhhhjbDhKubah}(h]jGDah ](jjeh"]h$]h&]jj)jhuh1jhjbDhKhjIDhhubj)}(hhh]h)}(h%Adds a RIO device to the device modelh]h%Adds a RIO device to the device model}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjEhhubah}(h]h ]h"]h$]h&]uh1jhjIDhhhjbDhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj,Ejj,Ejjjuh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_dev *rdev`` RIO device **Description** Adds the RIO device to the global device list and adds the RIO device to the RIO device list. Creates the generic sysfs nodes for an RIO device.h](h)}(h**Parameters**h]j)}(hj6Eh]h Parameters}(hj8EhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4Eubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhj0Eubj)}(hhh]j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hjUEh]hstruct rio_dev *rdev}(hjWEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSEubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjOEubj)}(hhh]h)}(h RIO deviceh]h RIO device}(hjnEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjEhKhjkEubah}(h]h ]h"]h$]h&]uh1jhjOEubeh}(h]h ]h"]h$]h&]uh1jhjjEhKhjLEubah}(h]h ]h"]h$]h&]uh1jhj0Eubh)}(h**Description**h]j)}(hjEh]h Description}(hjEhhhNhNubah}(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.chKhj0Eubh)}(hAdds the RIO device to the global device list and adds the RIO device to the RIO device list. Creates the generic sysfs nodes for an RIO device.h]hAdds the RIO device to the global device list and adds the RIO device to the RIO device list. Creates the generic sysfs nodes for an RIO device.}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhj0Eubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j!rio_request_inb_mbox (C function)c.rio_request_inb_mboxhNtauh1jhjhhhNhNubj )}(hhh](j)}(hint rio_request_inb_mbox (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]j)}(hint rio_request_inb_mbox(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](j)}(hinth]hint}(hjEhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjEhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKubj.)}(h h]h }(hjEhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjEhhhjEhKubj?)}(hrio_request_inb_mboxh]jE)}(hrio_request_inb_mboxh]hrio_request_inb_mbox}(hjEhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjEubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjEhhhjEhKubj`)}(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}(hjFhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjFubj.)}(h h]h }(hjFhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjFubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj0FhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj-Fubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj2FmodnameN classnameNjj)}j]j)}jjEsbc.rio_request_inb_mboxasbuh1hhjFubj.)}(h h]h }(hjPFhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjFubj)}(hjh]h*}(hj^FhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjFubjE)}(hmporth]hmport}(hjkFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjFubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj Fubjf)}(h void *dev_idh](j)}(hvoidh]hvoid}(hjFhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjFubj.)}(h h]h }(hjFhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjFubj)}(hjh]h*}(hjFhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjFubjE)}(hdev_idh]hdev_id}(hjFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjFubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj Fubjf)}(hint mboxh](j)}(hinth]hint}(hjFhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjFubj.)}(h h]h }(hjFhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjFubjE)}(hmboxh]hmbox}(hjFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjFubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj Fubjf)}(h int entriesh](j)}(hinth]hint}(hjFhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjFubj.)}(h h]h }(hj GhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjFubjE)}(hentriesh]hentries}(hjGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjFubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj Fubjf)}(hGvoid (*minb)(struct rio_mport *mport, void *dev_id, int mbox, int slot)h](j)}(hvoidh]hvoid}(hj0GhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj,Gubj.)}(h h]h }(hj>GhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,Gubj)}(h(h]h(}(hjLGhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,Gubj)}(hjh]h*}(hjZGhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,GubjE)}(hminbh]hminb}(hjgGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj,Gubj)}(h)h]h)}(hjuGhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,Gubj)}(hjNGh]h(}(hjGhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,Gubjl)}(hjoh]hstruct}(hjGhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj,Gubj.)}(h h]h }(hjGhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,Gubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjGubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjGmodnameN classnameNjj)}j]jLFc.rio_request_inb_mboxasbuh1hhj,Gubj.)}(h h]h }(hjGhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,Gubj)}(hjh]h*}(hjGhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,GubjE)}(hmporth]hmport}(hjGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj,Gubj)}(h,h]h,}(hjGhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,Gubj.)}(h h]h }(hjHhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,Gubj)}(hvoidh]hvoid}(hjHhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj,Gubj.)}(h h]h }(hjHhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,Gubj)}(hjh]h*}(hj-HhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,GubjE)}(hdev_idh]hdev_id}(hj:HhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj,Gubj)}(hjGh]h,}(hjHHhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,Gubj.)}(h h]h }(hjUHhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,Gubj)}(hinth]hint}(hjcHhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj,Gubj.)}(h h]h }(hjqHhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,GubjE)}(hmboxh]hmbox}(hjHhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj,Gubj)}(hjGh]h,}(hjHhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,Gubj.)}(h h]h }(hjHhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,Gubj)}(hinth]hint}(hjHhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj,Gubj.)}(h h]h }(hjHhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj,GubjE)}(hsloth]hslot}(hjHhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj,Gubj)}(hjwGh]h)}(hjHhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,Gubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj Fubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjEhhhjEhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjEhhhjEhKubah}(h]jEah ](jjeh"]h$]h&]jj)jhuh1jhjEhKhjEhhubj)}(hhh]h)}(hrequest inbound mailbox serviceh]hrequest inbound mailbox service}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjHhhubah}(h]h ]h"]h$]h&]uh1jhjEhhhjEhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjIjjIjjjuh1j 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)}(hjIh]h Parameters}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjIubj)}(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)}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:Iubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhj6Iubj)}(hhh]h)}(h;RIO master port from which to allocate the mailbox resourceh]h;RIO master port from which to allocate the mailbox resource}(hjUIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQIhKhjRIubah}(h]h ]h"]h$]h&]uh1jhj6Iubeh}(h]h ]h"]h$]h&]uh1jhjQIhKhj3Iubj)}(h:``void *dev_id`` Device specific pointer to pass on event h](j)}(h``void *dev_id``h]j)}(hjuIh]h void *dev_id}(hjwIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjsIubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjoIubj)}(hhh]h)}(h(Device specific pointer to pass on eventh]h(Device specific pointer to pass on event}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIhKhjIubah}(h]h ]h"]h$]h&]uh1jhjoIubeh}(h]h ]h"]h$]h&]uh1jhjIhKhj3Iubj)}(h%``int mbox`` Mailbox number to claim h](j)}(h ``int mbox``h]j)}(hjIh]hint mbox}(hjIhhhNhNubah}(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}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIhKhjIubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjIhKhj3Iubj)}(h;``int entries`` Number of entries in inbound mailbox queue h](j)}(h``int entries``h]j)}(hjIh]h int entries}(hjIhhhNhNubah}(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*Number of entries in inbound mailbox queueh]h*Number of entries in inbound mailbox queue}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIhKhjIubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjIhKhj3Iubj)}(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)}(hj Jh]hIvoid (*minb) (struct rio_mport * mport, void *dev_id, int mbox, int slot)}(hj"JhhhNhNubah}(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.chKhjJubj)}(hhh]h)}(h4Callback to execute when inbound message is receivedh]h4Callback to execute when inbound message is received}(hj9JhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5JhKhj6Jubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhj5JhKhj3Iubeh}(h]h ]h"]h$]h&]uh1jhjIubh)}(h**Description**h]j)}(hj[Jh]h Description}(hj]JhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjYJubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjIubh)}(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 }(hjqJhhhNhNubj)}(h``0``h]h0}(hjyJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjqJubh on success.}(hjqJhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chKhjIubeh}(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}(hjJhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjJubj.)}(h h]h }(hjJhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjJubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj KhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj Kubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjKmodnameN classnameNjj)}j]j)}jjJsbc.rio_release_inb_mboxasbuh1hhjJubj.)}(h h]h }(hj-KhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjJubj)}(hjh]h*}(hj;KhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjJubjE)}(hmporth]hmport}(hjHKhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjJubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjJubjf)}(hint mboxh](j)}(hinth]hint}(hjaKhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj]Kubj.)}(h h]h }(hjoKhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj]KubjE)}(hmboxh]hmbox}(hj}KhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj]Kubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjJubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjJhhhjJhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjJhhhjJhMubah}(h]jJah ](jjeh"]h$]h&]jj)jhuh1jhjJhMhjJhhubj)}(hhh]h)}(h'release inbound mailbox message serviceh]h'release inbound mailbox message service}(hjKhhhNhNubah}(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&]jjjjKjjKjjjuh1j 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}(hjKhhhNhNubah}(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)}(hjKh]hstruct rio_mport *mport}(hjKhhhNhNubah}(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.chMhjKubj)}(hhh]h)}(h:RIO master port from which to release the mailbox resourceh]h:RIO master port from which to release the mailbox resource}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjKhMhjKubj)}(h'``int mbox`` Mailbox number to release h](j)}(h ``int mbox``h]j)}(hj!Lh]hint mbox}(hj#LhhhNhNubah}(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.chMhjLubj)}(hhh]h)}(hMailbox number to releaseh]hMailbox number to release}(hj:LhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6LhMhj7Lubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]uh1jhj6LhMhjKubeh}(h]h ]h"]h$]h&]uh1jhjKubh)}(h**Description**h]j)}(hj\Lh]h Description}(hj^LhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZLubah}(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.}(hjrLhhhNhNubah}(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}(hjLhhhNhNubah}(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 }(hjLhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjLhhhjLhM=ubj?)}(hrio_request_outb_mboxh]jE)}(hrio_request_outb_mboxh]hrio_request_outb_mbox}(hjLhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjLubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjLhhhjLhM=ubj`)}(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}(hjLhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjLubj.)}(h h]h }(hjLhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjLubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjLhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjLubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjLmodnameN classnameNjj)}j]j)}jjLsbc.rio_request_outb_mboxasbuh1hhjLubj.)}(h h]h }(hjMhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjLubj)}(hjh]h*}(hj*MhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjLubjE)}(hmporth]hmport}(hj7MhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjLubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjLubjf)}(h void *dev_idh](j)}(hvoidh]hvoid}(hjPMhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjLMubj.)}(h h]h }(hj^MhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjLMubj)}(hjh]h*}(hjlMhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjLMubjE)}(hdev_idh]hdev_id}(hjyMhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjLMubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjLubjf)}(hint mboxh](j)}(hinth]hint}(hjMhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjMubj.)}(h h]h }(hjMhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjMubjE)}(hmboxh]hmbox}(hjMhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjMubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjLubjf)}(h int entriesh](j)}(hinth]hint}(hjMhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjMubj.)}(h h]h }(hjMhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjMubjE)}(hentriesh]hentries}(hjMhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjMubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjLubjf)}(hHvoid (*moutb)(struct rio_mport *mport, void *dev_id, int mbox, int slot)h](j)}(hvoidh]hvoid}(hjMhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjMubj.)}(h h]h }(hj NhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjMubj)}(hjNGh]h(}(hjNhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjMubj)}(hjh]h*}(hj%NhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjMubjE)}(hmoutbh]hmoutb}(hj2NhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjMubj)}(hjwGh]h)}(hj@NhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjMubj)}(hjNGh]h(}(hjMNhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjMubjl)}(hjoh]hstruct}(hjZNhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjMubj.)}(h h]h }(hjgNhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjMubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjxNhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjuNubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjzNmodnameN classnameNjj)}j]jMc.rio_request_outb_mboxasbuh1hhjMubj.)}(h h]h }(hjNhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjMubj)}(hjh]h*}(hjNhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjMubjE)}(hmporth]hmport}(hjNhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjMubj)}(hjGh]h,}(hjNhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjMubj.)}(h h]h }(hjNhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjMubj)}(hvoidh]hvoid}(hjNhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjMubj.)}(h h]h }(hjNhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjMubj)}(hjh]h*}(hjNhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjMubjE)}(hdev_idh]hdev_id}(hjOhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjMubj)}(hjGh]h,}(hjOhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjMubj.)}(h h]h }(hjOhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjMubj)}(hinth]hint}(hj,OhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjMubj.)}(h h]h }(hj:OhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjMubjE)}(hmboxh]hmbox}(hjHOhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjMubj)}(hjGh]h,}(hjVOhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjMubj.)}(h h]h }(hjcOhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjMubj)}(hinth]hint}(hjqOhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjMubj.)}(h h]h }(hjOhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjMubjE)}(hsloth]hslot}(hjOhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjMubj)}(hjwGh]h)}(hjOhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjLubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjLhhhjLhM=ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjLhhhjLhM=ubah}(h]jLah ](jjeh"]h$]h&]jj)jhuh1jhjLhM=hjLhhubj)}(hhh]h)}(h request outbound mailbox serviceh]h request outbound mailbox service}(hjOhhhNhNubah}(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&]uh1jhjLhhhjLhM=ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjOjjOjjjuh1j 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)}(hjOh]h Parameters}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjOubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM7hjOubj)}(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)}(hjPh]hstruct rio_mport *mport}(hjPhhhNhNubah}(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.chM4hjOubj)}(hhh]h)}(h;RIO master port from which to allocate the mailbox resourceh]h;RIO master port from which to allocate the mailbox resource}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPhM4hjPubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhjPhM4hjOubj)}(h:``void *dev_id`` Device specific pointer to pass on event h](j)}(h``void *dev_id``h]j)}(hj>Ph]h void *dev_id}(hj@PhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhjeQhhhjwQhMqubj`)}(h#(struct rio_mport *mport, int mbox)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hjQhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjQubj.)}(h h]h }(hjQhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjQubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjQhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjQubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjQmodnameN classnameNjj)}j]j)}jjQsbc.rio_release_outb_mboxasbuh1hhjQubj.)}(h h]h }(hjQhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjQubj)}(hjh]h*}(hjQhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjQubjE)}(hmporth]hmport}(hjQhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjQubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjQubjf)}(hint mboxh](j)}(hinth]hint}(hjRhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjRubj.)}(h h]h }(hj&RhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjRubjE)}(hmboxh]hmbox}(hj4RhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjRubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjQubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjeQhhhjwQhMqubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjaQhhhjwQhMqubah}(h]j\Qah ](jjeh"]h$]h&]jj)jhuh1jhjwQhMqhj^Qhhubj)}(hhh]h)}(h(release outbound mailbox message serviceh]h(release outbound mailbox message service}(hj^RhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMjhj[Rhhubah}(h]h ]h"]h$]h&]uh1jhj^QhhhjwQhMqubeh}(h]h ](jfunctioneh"]h$]h&]jjjjvRjjvRjjjuh1j 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}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~Rubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMnhjzRubj)}(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}(hjRhhhNhNubah}(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}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRhMkhjRubah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jhjRhMkhjRubj)}(h'``int mbox`` Mailbox number to release h](j)}(h ``int mbox``h]j)}(hjRh]hint mbox}(hjRhhhNhNubah}(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.chMlhjRubj)}(hhh]h)}(hMailbox number to releaseh]hMailbox number to release}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRhMlhjRubah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jhjRhMlhjRubeh}(h]h ]h"]h$]h&]uh1jhjzRubh)}(h**Description**h]j)}(hjSh]h Description}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMnhjzRubh)}(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.}(hj)ShhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMnhjzRubeh}(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}(hjXShhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjTShhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hjgShhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjTShhhjfShMubj?)}(hrio_request_inb_dbellh]jE)}(hrio_request_inb_dbellh]hrio_request_inb_dbell}(hjyShhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjuSubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjTShhhjfShMubj`)}(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}(hjShhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjSubj.)}(h h]h }(hjShhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjSubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjShhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjSubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjSmodnameN classnameNjj)}j]j)}jj{Ssbc.rio_request_inb_dbellasbuh1hhjSubj.)}(h h]h }(hjShhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjSubj)}(hjh]h*}(hjShhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjSubjE)}(hmporth]hmport}(hjShhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjSubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjSubjf)}(h void *dev_idh](j)}(hvoidh]hvoid}(hjThhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjTubj.)}(h h]h }(hjThhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjTubj)}(hjh]h*}(hj#ThhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjTubjE)}(hdev_idh]hdev_id}(hj0ThhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjTubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjSubjf)}(h u16 starth](h)}(hhh]jE)}(hu16h]hu16}(hjLThhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjITubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjNTmodnameN classnameNjj)}j]jSc.rio_request_inb_dbellasbuh1hhjETubj.)}(h h]h }(hjjThhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjETubjE)}(hstarth]hstart}(hjxThhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjETubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjSubjf)}(hu16 endh](h)}(hhh]jE)}(hu16h]hu16}(hjThhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjTubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjTmodnameN classnameNjj)}j]jSc.rio_request_inb_dbellasbuh1hhjTubj.)}(h h]h }(hjThhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjTubjE)}(hendh]hend}(hjThhhNhNubah}(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}(hjThhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjTubj.)}(h h]h }(hjThhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjTubj)}(hjNGh]h(}(hjThhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjTubj)}(hjh]h*}(hjUhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjTubjE)}(hdinbh]hdinb}(hjUhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjTubj)}(hjwGh]h)}(hjUhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjTubj)}(hjNGh]h(}(hj*UhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjTubjl)}(hjoh]hstruct}(hj7UhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjTubj.)}(h h]h }(hjDUhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjTubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjUUhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjRUubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjWUmodnameN classnameNjj)}j]jSc.rio_request_inb_dbellasbuh1hhjTubj.)}(h h]h }(hjsUhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjTubj)}(hjh]h*}(hjUhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjTubjE)}(hmporth]hmport}(hjUhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjTubj)}(hjGh]h,}(hjUhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjTubj.)}(h h]h }(hjUhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjTubj)}(hvoidh]hvoid}(hjUhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjTubj.)}(h h]h }(hjUhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjTubj)}(hjh]h*}(hjUhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjTubjE)}(hdev_idh]hdev_id}(hjUhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjTubj)}(hjGh]h,}(hjUhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjTubj.)}(h h]h }(hjUhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjTubh)}(hhh]jE)}(hu16h]hu16}(hj VhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj Vubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjVmodnameN classnameNjj)}j]jSc.rio_request_inb_dbellasbuh1hhjTubj.)}(h h]h }(hj*VhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjTubjE)}(hsrch]hsrc}(hj8VhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjTubj)}(hjGh]h,}(hjFVhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjTubj.)}(h h]h }(hjSVhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjTubh)}(hhh]jE)}(hu16h]hu16}(hjdVhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjaVubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjfVmodnameN classnameNjj)}j]jSc.rio_request_inb_dbellasbuh1hhjTubj.)}(h h]h }(hjVhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjTubjE)}(hdsth]hdst}(hjVhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjTubj)}(hjGh]h,}(hjVhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjTubj.)}(h h]h }(hjVhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjTubh)}(hhh]jE)}(hu16h]hu16}(hjVhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjVubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjVmodnameN classnameNjj)}j]jSc.rio_request_inb_dbellasbuh1hhjTubj.)}(h h]h }(hjVhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjTubjE)}(hinfoh]hinfo}(hjVhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjTubj)}(hjwGh]h)}(hjVhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjSubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjTShhhjfShMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjPShhhjfShMubah}(h]jKSah ](jjeh"]h$]h&]jj)jhuh1jhjfShMhjMShhubj)}(hhh]h)}(h(request inbound doorbell message serviceh]h(request inbound doorbell message service}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjWhhubah}(h]h ]h"]h$]h&]uh1jhjMShhhjfShMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj7Wjj7Wjjjuh1j 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)}(hjAWh]h Parameters}(hjCWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?Wubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj;Wubj)}(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)}(hj`Wh]hstruct rio_mport *mport}(hjbWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^Wubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjZWubj)}(hhh]h)}(hXubj)}(hhh]h)}(h-Callback to execute when doorbell is receivedh]h-Callback to execute when doorbell is received}(hj]XhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYXhMhjZXubah}(h]h ]h"]h$]h&]uh1jhj>Xubeh}(h]h ]h"]h$]h&]uh1jhjYXhMhjWWubeh}(h]h ]h"]h$]h&]uh1jhj;Wubh)}(h**Description**h]j)}(hjXh]h Description}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj}Xubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj;Wubh)}(hRequests ownership of an inbound doorbell resource and binds a callback function to the resource. Returns 0 if the request has been satisfied.h]hRequests ownership of an inbound doorbell resource and binds a callback function to the resource. Returns 0 if the request has been satisfied.}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj;Wubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"rio_release_inb_dbell (C function)c.rio_release_inb_dbellhNtauh1jhjhhhNhNubj )}(hhh](j)}(hGint rio_release_inb_dbell (struct rio_mport *mport, u16 start, u16 end)h]j)}(hFint rio_release_inb_dbell(struct rio_mport *mport, u16 start, u16 end)h](j)}(hinth]hint}(hjXhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjXhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hjXhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjXhhhjXhMubj?)}(hrio_release_inb_dbellh]jE)}(hrio_release_inb_dbellh]hrio_release_inb_dbell}(hjXhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjXubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjXhhhjXhMubj`)}(h-(struct rio_mport *mport, u16 start, u16 end)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hjYhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjXubj.)}(h h]h }(hjYhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjXubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjYhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjYubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj!YmodnameN classnameNjj)}j]j)}jjXsbc.rio_release_inb_dbellasbuh1hhjXubj.)}(h h]h }(hj?YhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjXubj)}(hjh]h*}(hjMYhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjXubjE)}(hmporth]hmport}(hjZYhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjXubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjXubjf)}(h u16 starth](h)}(hhh]jE)}(hu16h]hu16}(hjvYhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjsYubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjxYmodnameN classnameNjj)}j]j;Yc.rio_release_inb_dbellasbuh1hhjoYubj.)}(h h]h }(hjYhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjoYubjE)}(hstarth]hstart}(hjYhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjoYubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjXubjf)}(hu16 endh](h)}(hhh]jE)}(hu16h]hu16}(hjYhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjYubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjYmodnameN classnameNjj)}j]j;Yc.rio_release_inb_dbellasbuh1hhjYubj.)}(h h]h }(hjYhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYubjE)}(hendh]hend}(hjYhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjYubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjXubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjXhhhjXhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjXhhhjXhMubah}(h]jXah ](jjeh"]h$]h&]jj)jhuh1jhjXhMhjXhhubj)}(hhh]h)}(h(release inbound doorbell message serviceh]h(release inbound doorbell message service}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjZhhubah}(h]h ]h"]h$]h&]uh1jhjXhhhjXhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj,Zjj,Zjjjuh1j 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)}(hj6Zh]h Parameters}(hj8ZhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4Zubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj0Zubj)}(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)}(hjUZh]hstruct rio_mport *mport}(hjWZhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSZubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjOZubj)}(hhh]h)}(h;RIO master port from which to release the doorbell resourceh]h;RIO master port from which to release the doorbell resource}(hjnZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjZhMhjkZubah}(h]h ]h"]h$]h&]uh1jhjOZubeh}(h]h ]h"]h$]h&]uh1jhjjZhMhjLZubj)}(h(``u16 start`` Doorbell info range start h](j)}(h ``u16 start``h]j)}(hjZh]h u16 start}(hjZhhhNhNubah}(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}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZhMhjZubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjZhMhjLZubj)}(h$``u16 end`` Doorbell info range end h](j)}(h ``u16 end``h]j)}(hjZh]hu16 end}(hjZhhhNhNubah}(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}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZhMhjZubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjZhMhjLZubeh}(h]h ]h"]h$]h&]uh1jhj0Zubh)}(h**Description**h]j)}(hj[h]h Description}(hj[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.chMhj0Zubh)}(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.}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj0Zubeh}(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}(hjG[hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjC[hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hjU[hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjC[hhhjT[hMubh)}(hhh]jE)}(hresourceh]hresource}(hjf[hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjc[ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjh[modnameN classnameNjj)}j]j)}jrio_request_outb_dbellsbc.rio_request_outb_dbellasbuh1hhjC[hhhjT[hMubj.)}(h h]h }(hj[hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjC[hhhjT[hMubj)}(hjh]h*}(hj[hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjC[hhhjT[hMubj?)}(hrio_request_outb_dbellh]jE)}(hj[h]hrio_request_outb_dbell}(hj[hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj[ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjC[hhhjT[hMubj`)}(h*(struct rio_dev *rdev, u16 start, u16 end)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hj[hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj[ubj.)}(h h]h }(hj[hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj[ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hj[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 }(hj[hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj[ubj)}(hjh]h*}(hj \hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj[ubjE)}(hrdevh]hrdev}(hj\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}(hj4\hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj1\ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj6\modnameN classnameNjj)}j]j[c.rio_request_outb_dbellasbuh1hhj-\ubj.)}(h h]h }(hjR\hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj-\ubjE)}(hstarth]hstart}(hj`\hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj-\ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj[ubjf)}(hu16 endh](h)}(hhh]jE)}(hu16h]hu16}(hj|\hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjy\ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj~\modnameN classnameNjj)}j]j[c.rio_request_outb_dbellasbuh1hhju\ubj.)}(h h]h }(hj\hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hju\ubjE)}(hendh]hend}(hj\hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhju\ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj[ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjC[hhhjT[hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj?[hhhjT[hMubah}(h]j:[ah ](jjeh"]h$]h&]jj)jhuh1jhjT[hMhj<[hhubj)}(hhh]h)}(h'request outbound doorbell message rangeh]h'request outbound doorbell message range}(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<[hhhjT[hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj\jj\jjjuh1j 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}(hj\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)}(hj]h]hstruct rio_dev *rdev}(hj]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,]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(]hMhj)]ubah}(h]h ]h"]h$]h&]uh1jhj ]ubeh}(h]h ]h"]h$]h&]uh1jhj(]hMhj ]ubj)}(h+``u16 start`` Doorbell message range start h](j)}(h ``u16 start``h]j)}(hjL]h]h u16 start}(hjN]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJ]ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjF]ubj)}(hhh]h)}(hDoorbell message range starth]hDoorbell message range start}(hje]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhja]hMhjb]ubah}(h]h ]h"]h$]h&]uh1jhjF]ubeh}(h]h ]h"]h$]h&]uh1jhja]hMhj ]ubj)}(h'``u16 end`` Doorbell message range end h](j)}(h ``u16 end``h]j)}(hj]h]hu16 end}(hj]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]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]hMhj]ubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhj]hMhj ]ubeh}(h]h ]h"]h$]h&]uh1jhj\ubh)}(h**Description**h]j)}(hj]h]h Description}(hj]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 }(hj]hhhNhNubj)}(h``NULL``h]hNULL}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubh 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}(hj^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 }(hj&^hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj^hhhj%^hMubj?)}(hrio_release_outb_dbellh]jE)}(hrio_release_outb_dbellh]hrio_release_outb_dbell}(hj8^hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj4^ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj^hhhj%^hMubj`)}(h,(struct rio_dev *rdev, struct resource *res)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjT^hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjP^ubj.)}(h h]h }(hja^hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjP^ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjr^hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjo^ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjt^modnameN classnameNjj)}j]j)}jj:^sbc.rio_release_outb_dbellasbuh1hhjP^ubj.)}(h h]h }(hj^hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjP^ubj)}(hjh]h*}(hj^hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjP^ubjE)}(hrdevh]hrdev}(hj^hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjP^ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjL^ubjf)}(hstruct resource *resh](jl)}(hjoh]hstruct}(hj^hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj^ubj.)}(h h]h }(hj^hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj^ubh)}(hhh]jE)}(hresourceh]hresource}(hj^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 }(hj_hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj^ubj)}(hjh]h*}(hj_hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj^ubjE)}(hresh]hres}(hj_hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj^ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjL^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&]jj)jhuh1jhj%^hMhj ^hhubj)}(hhh]h)}(h'release outbound doorbell message rangeh]h'release outbound doorbell message range}(hjG_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjD_hhubah}(h]h ]h"]h$]h&]uh1jhj ^hhhj%^hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj__jj__jjjuh1j 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)}(hji_h]h Parameters}(hjk_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjg_ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjc_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}(hj_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_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_hMhj_ubah}(h]h ]h"]h$]h&]uh1jhj_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}(hj_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_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_hMhj_ubah}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1jhj_hMhj_ubeh}(h]h ]h"]h$]h&]uh1jhjc_ubh)}(h**Description**h]j)}(hj_h]h Description}(hj_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.chMhjc_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.}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjc_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}(hjA`hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj=`hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM2ubj.)}(h h]h }(hjP`hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj=`hhhjO`hM2ubj?)}(hrio_add_mport_pw_handlerh]jE)}(hrio_add_mport_pw_handlerh]hrio_add_mport_pw_handler}(hjb`hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj^`ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj=`hhhjO`hM2ubj`)}(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}(hj~`hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjz`ubj.)}(h h]h }(hj`hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjz`ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj`hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj`ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj`modnameN classnameNjj)}j]j)}jjd`sbc.rio_add_mport_pw_handlerasbuh1hhjz`ubj.)}(h h]h }(hj`hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjz`ubj)}(hjh]h*}(hj`hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjz`ubjE)}(hmporth]hmport}(hj`hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjz`ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjv`ubjf)}(h void *contexth](j)}(hvoidh]hvoid}(hj`hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj`ubj.)}(h h]h }(hj`hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj`ubj)}(hjh]h*}(hj ahhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`ubjE)}(hcontexth]hcontext}(hjahhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj`ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjv`ubjf)}(hWint (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step)h](j)}(hinth]hint}(hj2ahhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj.aubj.)}(h h]h }(hj@ahhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj.aubj)}(hjNGh]h(}(hjNahhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.aubj)}(hjh]h*}(hj[ahhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.aubjE)}(hpwcbackh]hpwcback}(hjhahhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj.aubj)}(hjwGh]h)}(hjvahhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.aubj)}(hjNGh]h(}(hjahhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.aubjl)}(hjoh]hstruct}(hjahhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj.aubj.)}(h h]h }(hjahhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj.aubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjahhhNhNubah}(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 }(hjahhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj.aubj)}(hjh]h*}(hjahhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.aubjE)}(hmporth]hmport}(hjahhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj.aubj)}(hjGh]h,}(hjahhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.aubj.)}(h h]h }(hjbhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj.aubj)}(hvoidh]hvoid}(hjbhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj.aubj.)}(h h]h }(hjbhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj.aubj)}(hjh]h*}(hj,bhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.aubjE)}(hcontexth]hcontext}(hj9bhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj.aubj)}(hjGh]h,}(hjGbhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.aubj.)}(h h]h }(hjTbhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj.aubjl)}(hunionh]hunion}(hjbbhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj.aubj.)}(h h]h }(hjpbhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj.aubh)}(hhh]jE)}(h rio_pw_msgh]h rio_pw_msg}(hjbhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj~bubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjbmodnameN classnameNjj)}j]j`c.rio_add_mport_pw_handlerasbuh1hhj.aubj.)}(h h]h }(hjbhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj.aubj)}(hjh]h*}(hjbhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.aubjE)}(hmsgh]hmsg}(hjbhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj.aubj)}(hjGh]h,}(hjbhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.aubj.)}(h h]h }(hjbhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj.aubj)}(hinth]hint}(hjbhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj.aubj.)}(h h]h }(hjbhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj.aubjE)}(hsteph]hstep}(hjbhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj.aubj)}(hjwGh]h)}(hj chhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.aubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjv`ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj=`hhhjO`hM2ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj9`hhhjO`hM2ubah}(h]j4`ah ](jjeh"]h$]h&]jj)jhuh1jhjO`hM2hj6`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}(hj6chhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM*hj3chhubah}(h]h ]h"]h$]h&]uh1jhj6`hhhjO`hM2ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjNcjjNcjjjuh1j 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)}(hjXch]h Parameters}(hjZchhhNhNubah}(h]h ]h"]h$]h&]uh1jhjVcubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM.hjRcubj)}(hhh](j)}(hK``struct rio_mport *mport`` RIO master port to bind the portwrite callback h](j)}(h``struct rio_mport *mport``h]j)}(hjwch]hstruct rio_mport *mport}(hjychhhNhNubah}(h]h ]h"]h$]h&]uh1jhjucubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM,hjqcubj)}(hhh]h)}(h.RIO master port to bind the portwrite callbackh]h.RIO master port to bind the portwrite callback}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhjchM,hjcubah}(h]h ]h"]h$]h&]uh1jhjqcubeh}(h]h ]h"]h$]h&]uh1jhjchM,hjncubj)}(h<``void *context`` Handler specific context to pass on event h](j)}(h``void *context``h]j)}(hjch]h void *context}(hjchhhNhNubah}(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}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhjchM-hjcubah}(h]h ]h"]h$]h&]uh1jhjcubeh}(h]h ]h"]h$]h&]uh1jhjchM-hjncubj)}(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)}(hjch]hWint (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step)}(hjchhhNhNubah}(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.Callback to execute when portwrite is receivedh]h.Callback to execute when portwrite is received}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjchM.hjcubah}(h]h ]h"]h$]h&]uh1jhjcubeh}(h]h ]h"]h$]h&]uh1jhjchM.hjncubeh}(h]h ]h"]h$]h&]uh1jhjRcubh)}(h**Description**h]j)}(hj$dh]h Description}(hj&dhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"dubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM0hjRcubh)}(h,Returns 0 if the request has been satisfied.h]h,Returns 0 if the request has been satisfied.}(hj:dhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM0hjRcubeh}(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}(hjidhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjedhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMMubj.)}(h h]h }(hjxdhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjedhhhjwdhMMubj?)}(hrio_del_mport_pw_handlerh]jE)}(hrio_del_mport_pw_handlerh]hrio_del_mport_pw_handler}(hjdhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjdubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjedhhhjwdhMMubj`)}(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}(hjdhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjdubj.)}(h h]h }(hjdhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjdubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjdhhhNhNubah}(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 }(hjdhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjdubj)}(hjh]h*}(hjdhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjdubjE)}(hmporth]hmport}(hjdhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjdubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjdubjf)}(h void *contexth](j)}(hvoidh]hvoid}(hjehhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjeubj.)}(h h]h }(hj&ehhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjeubj)}(hjh]h*}(hj4ehhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjeubjE)}(hcontexth]hcontext}(hjAehhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjeubeh}(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}(hjZehhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjVeubj.)}(h h]h }(hjhehhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjVeubj)}(hjNGh]h(}(hjvehhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjVeubj)}(hjh]h*}(hjehhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjVeubjE)}(hpwcbackh]hpwcback}(hjehhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjVeubj)}(hjwGh]h)}(hjehhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjVeubj)}(hjNGh]h(}(hjehhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjVeubjl)}(hjoh]hstruct}(hjehhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjVeubj.)}(h h]h }(hjehhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjVeubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjehhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjeubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjemodnameN classnameNjj)}j]jdc.rio_del_mport_pw_handlerasbuh1hhjVeubj.)}(h h]h }(hjehhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjVeubj)}(hjh]h*}(hjfhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjVeubjE)}(hmporth]hmport}(hjfhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjVeubj)}(hjGh]h,}(hjfhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjVeubj.)}(h h]h }(hj*fhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjVeubj)}(hvoidh]hvoid}(hj8fhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjVeubj.)}(h h]h }(hjFfhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjVeubj)}(hjh]h*}(hjTfhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjVeubjE)}(hcontexth]hcontext}(hjafhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjVeubj)}(hjGh]h,}(hjofhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjVeubj.)}(h h]h }(hj|fhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjVeubjl)}(hjdbh]hunion}(hjfhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjVeubj.)}(h h]h }(hjfhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjVeubh)}(hhh]jE)}(h rio_pw_msgh]h rio_pw_msg}(hjfhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjfubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjfmodnameN classnameNjj)}j]jdc.rio_del_mport_pw_handlerasbuh1hhjVeubj.)}(h h]h }(hjfhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjVeubj)}(hjh]h*}(hjfhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjVeubjE)}(hmsgh]hmsg}(hjfhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjVeubj)}(hjGh]h,}(hjfhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjVeubj.)}(h h]h }(hjfhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjVeubj)}(hinth]hint}(hj ghhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjVeubj.)}(h h]h }(hjghhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjVeubjE)}(hsteph]hstep}(hj&ghhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjVeubj)}(hjwGh]h)}(hj4ghhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjVeubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjdubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjedhhhjwdhMMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjadhhhjwdhMMubah}(h]j\dah ](jjeh"]h$]h&]jj)jhuh1jhjwdhMMhj^dhhubj)}(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}(hj]ghhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMEhjZghhubah}(h]h ]h"]h$]h&]uh1jhj^dhhhjwdhMMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjugjjugjjjuh1j 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}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1jhj}gubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMIhjygubj)}(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}(hjghhhNhNubah}(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}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjghMGhjgubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhjghMGhjgubj)}(hG``void *context`` Registered handler specific context to pass on event h](j)}(h``void *context``h]j)}(hjgh]h void *context}(hjghhhNhNubah}(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.chMHhjgubj)}(hhh]h)}(h4Registered handler specific context to pass on eventh]h4Registered handler specific context to pass on event}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjghMHhjgubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhjghMHhjgubj)}(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)}(hjhh]hWint (*pwcback)(struct rio_mport *mport, void *context, union rio_pw_msg *msg, int step)}(hjhhhhNhNubah}(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.chMIhj hubj)}(hhh]h)}(hRegistered callback functionh]hRegistered callback function}(hj)hhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%hhMIhj&hubah}(h]h ]h"]h$]h&]uh1jhj hubeh}(h]h ]h"]h$]h&]uh1jhj%hhMIhjgubeh}(h]h ]h"]h$]h&]uh1jhjygubh)}(h**Description**h]j)}(hjKhh]h Description}(hjMhhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIhubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMKhjygubh)}(h,Returns 0 if the request has been satisfied.h]h,Returns 0 if the request has been satisfied.}(hjahhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMKhjygubeh}(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}(hjhhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMlubj.)}(h h]h }(hjhhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhhjhhMlubj?)}(hrio_request_inb_pwriteh]jE)}(hrio_request_inb_pwriteh]hrio_request_inb_pwrite}(hjhhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjhubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhhjhhMlubj`)}(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}(hjhhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhubj.)}(h h]h }(hjhhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjhubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjhmodnameN classnameNjj)}j]j)}jjhsbc.rio_request_inb_pwriteasbuh1hhjhubj.)}(h h]h }(hj ihhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhubj)}(hjh]h*}(hjihhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhubjE)}(hrdevh]hrdev}(hj&ihhhNhNubah}(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}(hj?ihhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj;iubj.)}(h h]h }(hjMihhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj;iubj)}(hjNGh]h(}(hj[ihhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;iubj)}(hjh]h*}(hjhihhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;iubjE)}(hpwcbackh]hpwcback}(hjuihhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj;iubj)}(hjwGh]h)}(hjihhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;iubj)}(hjNGh]h(}(hjihhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;iubjl)}(hjoh]hstruct}(hjihhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj;iubj.)}(h h]h }(hjihhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj;iubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjihhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjiubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjimodnameN classnameNjj)}j]jic.rio_request_inb_pwriteasbuh1hhj;iubj.)}(h h]h }(hjihhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj;iubj)}(hjh]h*}(hjihhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;iubjE)}(hrdevh]hrdev}(hjihhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj;iubj)}(hjGh]h,}(hjjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;iubj.)}(h h]h }(hjjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj;iubjl)}(hjdbh]hunion}(hjjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj;iubj.)}(h h]h }(hj*jhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj;iubh)}(hhh]jE)}(h rio_pw_msgh]h rio_pw_msg}(hj;jhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj8jubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj=jmodnameN classnameNjj)}j]jic.rio_request_inb_pwriteasbuh1hhj;iubj.)}(h h]h }(hjYjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj;iubj)}(hjh]h*}(hjgjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;iubjE)}(hmsgh]hmsg}(hjtjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj;iubj)}(hjGh]h,}(hjjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;iubj.)}(h h]h }(hjjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj;iubj)}(hinth]hint}(hjjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj;iubj.)}(h h]h }(hjjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj;iubjE)}(hsteph]hstep}(hjjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj;iubj)}(hjwGh]h)}(hjjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;iubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjhubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhhjhhMlubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhhjhhMlubah}(h]jhah ](jjeh"]h$]h&]jj)jhuh1jhjhhMlhjhhhubj)}(hhh]h)}(hFrequest inbound port-write message service for specific RapidIO deviceh]hFrequest inbound port-write message service for specific RapidIO device}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMdhjjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhhjhhMlubeh}(h]h ](jfunctioneh"]h$]h&]jjjjkjjkjjjuh1j 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)}(hjkh]h Parameters}(hjkhhhNhNubah}(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.chMhhj kubj)}(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)}(hj1kh]hstruct rio_dev *rdev}(hj3khhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/kubah}(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}(hjJkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFkhMfhjGkubah}(h]h ]h"]h$]h&]uh1jhj+kubeh}(h]h ]h"]h$]h&]uh1jhjFkhMfhj(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)}(hjjkh]hEint (*pwcback)(struct rio_dev *rdev, union rio_pw_msg *msg, int step)}(hjlkhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhkubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMghjdkubj)}(hhh]h)}(h7Callback routine to execute when port-write is receivedh]h7Callback routine to execute when port-write is received}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkhMghjkubah}(h]h ]h"]h$]h&]uh1jhjdkubeh}(h]h ]h"]h$]h&]uh1jhjkhMghj(kubeh}(h]h ]h"]h$]h&]uh1jhj kubh)}(h**Description**h]j)}(hjkh]h Description}(hjkhhhNhNubah}(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.chMihj kubh)}(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.}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMihj kubeh}(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}(hjkhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjkhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hjkhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjkhhhjkhMubj?)}(hrio_release_inb_pwriteh]jE)}(hrio_release_inb_pwriteh]hrio_release_inb_pwrite}(hj lhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjlubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjkhhhjkhMubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hj'lhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj#lubj.)}(h h]h }(hj4lhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj#lubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjElhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBlubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjGlmodnameN classnameNjj)}j]j)}jj lsbc.rio_release_inb_pwriteasbuh1hhj#lubj.)}(h h]h }(hjelhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj#lubj)}(hjh]h*}(hjslhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj#lubjE)}(hrdevh]hrdev}(hjlhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj#lubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjlubah}(h]h ]h"]h$]h&]j]j^uh1j_hjkhhhjkhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjkhhhjkhMubah}(h]jkah ](jjeh"]h$]h&]jj)jhuh1jhjkhMhjkhhubj)}(hhh]h)}(hRrelease inbound port-write message service associated with specific RapidIO deviceh]hRrelease inbound port-write message service associated with specific RapidIO device}(hjlhhhNhNubah}(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&]uh1jhjkhhhjkhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjljjljjjuh1j 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)}(hjlh]h Parameters}(hjlhhhNhNubah}(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.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)}(hjlh]hstruct rio_dev *rdev}(hjlhhhNhNubah}(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.chMhjlubj)}(hhh]h)}(h;RIO device which registered for inbound port-write callbackh]h;RIO device which registered for inbound port-write callback}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmhMhjmubah}(h]h ]h"]h$]h&]uh1jhjlubeh}(h]h ]h"]h$]h&]uh1jhjmhMhjlubah}(h]h ]h"]h$]h&]uh1jhjlubh)}(h**Description**h]j)}(hj&mh]h Description}(hj(mhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$mubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjlubh)}(hYRemoves callback from the rio_dev structure. Returns 0 if the request has been satisfied.h]hYRemoves callback from the rio_dev structure. Returns 0 if the request has been satisfied.}(hjhjgmhhhjymhMubj`)}(h%(struct rio_mport *mport, int enable)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hjmhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjmubj.)}(h h]h }(hjmhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjmubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjmhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjmubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmmodnameN classnameNjj)}j]j)}jjmsbc.rio_pw_enableasbuh1hhjmubj.)}(h h]h }(hjmhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjmubj)}(hjh]h*}(hjmhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjmubjE)}(hmporth]hmport}(hjnhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjmubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjmubjf)}(h int enableh](j)}(hinth]hint}(hjnhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjnubj.)}(h h]h }(hj(nhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjnubjE)}(henableh]henable}(hj6nhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjnubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjmubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjgmhhhjymhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjcmhhhjymhMubah}(h]j^mah ](jjeh"]h$]h&]jj)jhuh1jhjymhMhj`mhhubj)}(hhh]h)}(h5Enables/disables port-write handling by a master porth]h5Enables/disables port-write handling by a master port}(hj`nhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj]nhhubah}(h]h ]h"]h$]h&]uh1jhj`mhhhjymhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjxnjjxnjjjuh1j 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}(hjnhhhNhNubah}(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.chMhj|nubj)}(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}(hjnhhhNhNubah}(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}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnhMhjnubah}(h]h ]h"]h$]h&]uh1jhjnubeh}(h]h ]h"]h$]h&]uh1jhjnhMhjnubj)}(h#``int enable`` 1=enable, 0=disableh](j)}(h``int enable``h]j)}(hjnh]h int enable}(hjnhhhNhNubah}(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)}(h1=enable, 0=disableh]h1=enable, 0=disable}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjnubah}(h]h ]h"]h$]h&]uh1jhjnubeh}(h]h ]h"]h$]h&]uh1jhjnhMhjnubeh}(h]h ]h"]h$]h&]uh1jhj|nubeh}(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}(hj4ohhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj0ohhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hjCohhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj0ohhhjBohMubj?)}(hrio_map_inb_regionh]jE)}(hrio_map_inb_regionh]hrio_map_inb_region}(hjUohhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjQoubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj0ohhhjBohMubj`)}(hL(struct rio_mport *mport, dma_addr_t local, u64 rbase, u32 size, u32 rflags)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hjqohhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjmoubj.)}(h h]h }(hj~ohhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjmoubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjohhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjoubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjomodnameN classnameNjj)}j]j)}jjWosbc.rio_map_inb_regionasbuh1hhjmoubj.)}(h h]h }(hjohhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjmoubj)}(hjh]h*}(hjohhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjmoubjE)}(hmporth]hmport}(hjohhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjmoubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjioubjf)}(hdma_addr_t localh](h)}(hhh]jE)}(h dma_addr_th]h dma_addr_t}(hjohhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjoubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjomodnameN classnameNjj)}j]joc.rio_map_inb_regionasbuh1hhjoubj.)}(h h]h }(hjphhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjoubjE)}(hlocalh]hlocal}(hjphhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjoubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjioubjf)}(h u64 rbaseh](h)}(hhh]jE)}(hu64h]hu64}(hj.phhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj+pubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj0pmodnameN classnameNjj)}j]joc.rio_map_inb_regionasbuh1hhj'pubj.)}(h h]h }(hjLphhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj'pubjE)}(hrbaseh]hrbase}(hjZphhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj'pubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjioubjf)}(hu32 sizeh](h)}(hhh]jE)}(hu32h]hu32}(hjvphhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjspubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjxpmodnameN classnameNjj)}j]joc.rio_map_inb_regionasbuh1hhjopubj.)}(h h]h }(hjphhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjopubjE)}(hsizeh]hsize}(hjphhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjopubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjioubjf)}(h u32 rflagsh](h)}(hhh]jE)}(hu32h]hu32}(hjphhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjpubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjpmodnameN classnameNjj)}j]joc.rio_map_inb_regionasbuh1hhjpubj.)}(h h]h }(hjphhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjpubjE)}(hrflagsh]hrflags}(hjphhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjpubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjioubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj0ohhhjBohMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj,ohhhjBohMubah}(h]j'oah ](jjeh"]h$]h&]jj)jhuh1jhjBohMhj)ohhubj)}(hhh]h bullet_list)}(hhh]j})}(hMap inbound memory region.h]h)}(hjqh]hMap inbound memory region.}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjqubah}(h]h ]h"]h$]h&]uh1j|hjqhhhj*qhNubah}(h]h ]h"]h$]h&]bullet-uh1jqhj*qhMhjqhhubah}(h]h ]h"]h$]h&]uh1jhj)ohhhjBohMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjBqjjBqjjjuh1j 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)}(hjLqh]h Parameters}(hjNqhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJqubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjFqubj)}(hhh](j)}(h)``struct rio_mport *mport`` Master port. h](j)}(h``struct rio_mport *mport``h]j)}(hjkqh]hstruct rio_mport *mport}(hjmqhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjiqubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjequbj)}(hhh]h)}(h Master port.h]h Master port.}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqhMhjqubah}(h]h ]h"]h$]h&]uh1jhjequbeh}(h]h ]h"]h$]h&]uh1jhjqhMhjbqubj)}(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}(hjqhhhNhNubah}(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}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqhMhjqubah}(h]h ]h"]h$]h&]uh1jhjqubeh}(h]h ]h"]h$]h&]uh1jhjqhMhjbqubj)}(h7``u64 rbase`` RIO base address assigned to this window h](j)}(h ``u64 rbase``h]j)}(hjqh]h u64 rbase}(hjqhhhNhNubah}(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(RIO base address assigned to this windowh]h(RIO base address assigned to this window}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqhMhjqubah}(h]h ]h"]h$]h&]uh1jhjqubeh}(h]h ]h"]h$]h&]uh1jhjqhMhjbqubj)}(h'``u32 size`` Size of the memory region h](j)}(h ``u32 size``h]j)}(hjrh]hu32 size}(hjrhhhNhNubah}(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)}(hSize of the memory regionh]hSize of the memory region}(hj/rhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+rhMhj,rubah}(h]h ]h"]h$]h&]uh1jhjrubeh}(h]h ]h"]h$]h&]uh1jhj+rhMhjbqubj)}(h"``u32 rflags`` Flags for mapping. h](j)}(h``u32 rflags``h]j)}(hjOrh]h u32 rflags}(hjQrhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjMrubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjIrubj)}(hhh]h)}(hFlags for mapping.h]hFlags for mapping.}(hjhrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjdrhMhjerubah}(h]h ]h"]h$]h&]uh1jhjIrubeh}(h]h ]h"]h$]h&]uh1jhjdrhMhjbqubeh}(h]h ]h"]h$]h&]uh1jhjFqubh)}(h **Return**h]j)}(hjrh]hReturn}(hjrhhhNhNubah}(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.chMhjFqubh)}(h 0 -- Success.h]h 0 -- Success.}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjFqubh)}(h**Description**h]j)}(hjrh]h Description}(hjrhhhNhNubah}(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.chMhjFqubh)}(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.}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjFqubeh}(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}(hjrhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjrhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hjshhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjrhhhjshMubj?)}(hrio_unmap_inb_regionh]jE)}(hrio_unmap_inb_regionh]hrio_unmap_inb_region}(hjshhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjsubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjrhhhjshMubj`)}(h,(struct rio_mport *mport, dma_addr_t lstart)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hj3shhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj/subj.)}(h h]h }(hj@shhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj/subh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjQshhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjNsubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjSsmodnameN classnameNjj)}j]j)}jjssbc.rio_unmap_inb_regionasbuh1hhj/subj.)}(h h]h }(hjqshhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj/subj)}(hjh]h*}(hjshhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj/subjE)}(hmporth]hmport}(hjshhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj/subeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj+subjf)}(hdma_addr_t lstarth](h)}(hhh]jE)}(h dma_addr_th]h dma_addr_t}(hjshhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjsubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjsmodnameN classnameNjj)}j]jmsc.rio_unmap_inb_regionasbuh1hhjsubj.)}(h h]h }(hjshhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjsubjE)}(hlstarth]hlstart}(hjshhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjsubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj+subeh}(h]h ]h"]h$]h&]j]j^uh1j_hjrhhhjshMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjrhhhjshMubah}(h]jrah ](jjeh"]h$]h&]jj)jhuh1jhjshMhjrhhubj)}(hhh]jq)}(hhh]j})}(hUnmap the inbound memory regionh]h)}(hjth]hUnmap the inbound memory region}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjtubah}(h]h ]h"]h$]h&]uh1j|hjshhhjthNubah}(h]h ]h"]h$]h&]j7qj8quh1jqhjthMhjshhubah}(h]h ]h"]h$]h&]uh1jhjrhhhjshMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj(tjj(tjjjuh1j hhhjhNhNubj)}(h**Parameters** ``struct rio_mport *mport`` Master port ``dma_addr_t lstart`` physical address of memory region to be unmappedh](h)}(h**Parameters**h]j)}(hj2th]h Parameters}(hj4thhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0tubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj,tubj)}(hhh](j)}(h(``struct rio_mport *mport`` Master port h](j)}(h``struct rio_mport *mport``h]j)}(hjQth]hstruct rio_mport *mport}(hjSthhhNhNubah}(h]h ]h"]h$]h&]uh1jhjOtubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjKtubj)}(hhh]h)}(h Master porth]h Master port}(hjjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfthMhjgtubah}(h]h ]h"]h$]h&]uh1jhjKtubeh}(h]h ]h"]h$]h&]uh1jhjfthMhjHtubj)}(hF``dma_addr_t lstart`` physical address of memory region to be unmappedh](j)}(h``dma_addr_t lstart``h]j)}(hjth]hdma_addr_t lstart}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1jhjtubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjtubj)}(hhh]h)}(h0physical address of memory region to be unmappedh]h0physical address of memory region to be unmapped}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjtubah}(h]h ]h"]h$]h&]uh1jhjtubeh}(h]h ]h"]h$]h&]uh1jhjthMhjHtubeh}(h]h ]h"]h$]h&]uh1jhj,tubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j rio_map_outb_region (C function)c.rio_map_outb_regionhNtauh1jhjhhhNhNubj )}(hhh](j)}(hqint rio_map_outb_region (struct rio_mport *mport, u16 destid, u64 rbase, u32 size, u32 rflags, dma_addr_t *local)h]j)}(hpint rio_map_outb_region(struct rio_mport *mport, u16 destid, u64 rbase, u32 size, u32 rflags, dma_addr_t *local)h](j)}(hinth]hint}(hjthhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjthhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hjthhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjthhhjthMubj?)}(hrio_map_outb_regionh]jE)}(hrio_map_outb_regionh]hrio_map_outb_region}(hjuhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjuubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjthhhjthMubj`)}(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}(hj!uhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjuubj.)}(h h]h }(hj.uhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjuubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj?uhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjyhMubj?)}(hrio_unmap_outb_regionh]jE)}(hrio_unmap_outb_regionh]hrio_unmap_outb_region}(hjQyhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjMyubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj,yhhhj>yhMubj`)}(h1(struct rio_mport *mport, u16 destid, u64 rstart)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hjmyhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjiyubj.)}(h h]h }(hjzyhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjiyubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjyhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjyubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjymodnameN classnameNjj)}j]j)}jjSysbc.rio_unmap_outb_regionasbuh1hhjiyubj.)}(h h]h }(hjyhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjiyubj)}(hjh]h*}(hjyhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjiyubjE)}(hmporth]hmport}(hjyhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjiyubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjeyubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hjyhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjyubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjymodnameN classnameNjj)}j]jyc.rio_unmap_outb_regionasbuh1hhjyubj.)}(h h]h }(hjzhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjyubjE)}(hdestidh]hdestid}(hjzhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjyubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjeyubjf)}(h u64 rstarth](h)}(hhh]jE)}(hu64h]hu64}(hj*zhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj'zubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj,zmodnameN classnameNjj)}j]jyc.rio_unmap_outb_regionasbuh1hhj#zubj.)}(h h]h }(hjHzhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj#zubjE)}(hrstarth]hrstart}(hjVzhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj#zubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjeyubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj,yhhhj>yhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj(yhhhj>yhMubah}(h]j#yah ](jjeh"]h$]h&]jj)jhuh1jhj>yhMhj%yhhubj)}(hhh]jq)}(hhh]j})}(hUnmap the inbound memory regionh]h)}(hjzh]hUnmap the inbound memory region}(hjzhhhNhNubah}(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&]j7qj8quh1jqhjzhMhj}zhhubah}(h]h ]h"]h$]h&]uh1jhj%yhhhj>yhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjzjjzjjjuh1j 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}(hjzhhhNhNubah}(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)}(hjzh]hstruct rio_mport *mport}(hjzhhhNhNubah}(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)}(h Master porth]h Master port}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzhMhjzubah}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ]h"]h$]h&]uh1jhjzhMhjzubj)}(h0``u16 destid`` destination id mapping points to h](j)}(h``u16 destid``h]j)}(hj {h]h u16 destid}(hj{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 destination id mapping points toh]h destination id mapping points to}(hj%{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!{hMhj"{ubah}(h]h ]h"]h$]h&]uh1jhj{ubeh}(h]h ]h"]h$]h&]uh1jhj!{hMhjzubj)}(h4``u64 rstart`` RIO base address window translates toh](j)}(h``u64 rstart``h]j)}(hjE{h]h u64 rstart}(hjG{hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjC{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%RIO base address window translates toh]h%RIO base address window translates to}(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&]uh1jhj?{ubeh}(h]h ]h"]h$]h&]uh1jhjZ{hMhjzubeh}(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}(hj{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.chM ubj.)}(h h]h }(hj{hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj{hhhj{hM ubj?)}(hrio_mport_get_physefbh]jE)}(hj{h]hrio_mport_get_physefb}(hj{hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj{ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj{hhhj{hM ubj`)}(hG(struct rio_mport *port, int local, u16 destid, u8 hopcount, u32 *rmap)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hj{hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj{ubj.)}(h h]h }(hj{hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj{ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj|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 }(hj-|hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj{ubj)}(hjh]h*}(hj;|hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj{ubjE)}(hporth]hport}(hjH|hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj{ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj{ubjf)}(h int localh](j)}(hinth]hint}(hja|hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj]|ubj.)}(h h]h }(hjo|hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj]|ubjE)}(hlocalh]hlocal}(hj}|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}(hj|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 }(hj|hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj|ubjE)}(hdestidh]hdestid}(hj|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}(hj|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 }(hj|hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj|ubjE)}(hhopcounth]hhopcount}(hj }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}(hj)}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 }(hjG}hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj"}ubj)}(hjh]h*}(hjU}hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"}ubjE)}(hrmaph]hrmap}(hjb}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{hM ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj{hhhj{hM ubah}(h]j{ah ](jjeh"]h$]h&]jj)jhuh1jhj{hM 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}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{hM ubeh}(h]h ](jfunctioneh"]h$]h&]jjjj}jj}jjjuh1j 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}(hj}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}(hj}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}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}hMhj}ubah}(h]h ]h"]h$]h&]uh1jhj}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)}(hj~h]h int local}(hj~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~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~hMhj~ubah}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1jhj~hMhj}ubj)}(h,``u16 destid`` Destination ID of the device h](j)}(h``u16 destid``h]j)}(hj?~h]h u16 destid}(hjA~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.chMhj9~ubj)}(hhh]h)}(hDestination ID of the deviceh]hDestination ID of the device}(hjX~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjT~hMhjU~ubah}(h]h ]h"]h$]h&]uh1jhj9~ubeh}(h]h ]h"]h$]h&]uh1jhjT~hMhj}ubj)}(h4``u8 hopcount`` Number of switch hops to the device h](j)}(h``u8 hopcount``h]j)}(hjx~h]h u8 hopcount}(hjz~hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjv~ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjr~ubj)}(hhh]h)}(h#Number of switch hops to the deviceh]h#Number of switch hops to the device}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~hMhj~ubah}(h]h ]h"]h$]h&]uh1jhjr~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}(hj~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}(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&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1jhj~hM 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}(hj hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMHubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMHubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hj*hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj'ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj,modnameN classnameNjj)}j]j)}jrio_get_comptagsbc.rio_get_comptagasbuh1hhjhhhjhMHubj.)}(h h]h }(hjKhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMHubj)}(hjh]h*}(hjYhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhMHubj?)}(hrio_get_comptagh]jE)}(hjHh]hrio_get_comptag}(hjjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjfubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMHubj`)}(h$(u32 comp_tag, struct rio_dev *from)h](jf)}(h u32 comp_tagh](h)}(hhh]jE)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jFc.rio_get_comptagasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hcomp_tagh]hcomp_tag}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj}ubjf)}(hstruct rio_dev *fromh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jFc.rio_get_comptagasbuh1hhjubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hfromh]hfrom}(hj$hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj}ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhMHubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMHubah}(h]j~ah ](jjeh"]h$]h&]jj)jhuh1jhjhMHhjhhubj)}(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}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM=hjKhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMHubeh}(h]h ](jfunctioneh"]h$]h&]jjjjfjjfjjjuh1j 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)}(hjph]h Parameters}(hjrhhhNhNubah}(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.chMAhjjubj)}(hhh](j)}(h,``u32 comp_tag`` RIO component tag to match h](j)}(h``u32 comp_tag``h]j)}(hjh]h u32 comp_tag}(hjhhhNhNubah}(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)}(hRIO component tag to matchh]hRIO component tag to match}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM>hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM>hjubj)}(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)}(hjȀh]hstruct rio_dev *from}(hjʀ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?Previous RIO device found in search, or ``NULL`` for new searchh](h(Previous RIO device found in search, or }(hjhhhNhNubj)}(h``NULL``h]hNULL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh for new search}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj݀hM?hjހubah}(h]h ]h"]h$]h&]uh1jhj€ubeh}(h]h ]h"]h$]h&]uh1jhj݀hM?hjubeh}(h]h ]h"]h$]h&]uh1jhjjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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.chMAhjjubh)}(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 }(hj+hhhNhNubj)}(h **comp_tag**h]hcomp_tag}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubh<, a pointer to its device structure is returned. Otherwise, }(hj+hhhNhNubj)}(h``NULL``h]hNULL}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubh3 is returned. A new search is initiated by passing }(hj+hhhNhNubj)}(h``NULL``h]hNULL}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubh to the }(hj+hhhNhNubj)}(h**from**h]hfrom}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubh argument. Otherwise, if }(hj+hhhNhNubj)}(h**from**h]hfrom}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubh is not }(hj+hhhNhNubj)}(h``NULL``h]hNULL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubh8, searches continue from next device on the global list.}(hj+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMAhjjubeh}(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}(hjƁhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMcubj.)}(h h]h }(hjՁhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjԁhMcubj?)}(hrio_set_port_lockouth]jE)}(hrio_set_port_lockouth]hrio_set_port_lockout}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjԁhMcubj`)}(h*(struct rio_dev *rdev, u32 pnum, int lock)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hj!hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj#modnameN classnameNjj)}j]j)}jjsbc.rio_set_port_lockoutasbuh1hhjubj.)}(h h]h }(hjAhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjOhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hj\hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hu32 pnumh](h)}(hhh]jE)}(hu32h]hu32}(hjxhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjuubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjzmodnameN classnameNjj)}j]j=c.rio_set_port_lockoutasbuh1hhjqubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjqubjE)}(hpnumh]hpnum}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjqubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hint lockh](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hj˂hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hlockh]hlock}(hjقhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjԁhMcubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjԁhMcubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjԁhMchjhhubj)}(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.}(hjhhhNhNubah}(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ԁhMcubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j 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)}(hj%h]h Parameters}(hj'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.chMbhjubj)}(hhh](j)}(hA``struct rio_dev *rdev`` Pointer to RIO device control structure h](j)}(h``struct rio_dev *rdev``h]j)}(hjDh]hstruct rio_dev *rdev}(hjFhhhNhNubah}(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.chM_hj>ubj)}(hhh]h)}(h'Pointer to RIO device control structureh]h'Pointer to RIO device control structure}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYhM_hjZubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhjYhM_hj;ubj)}(h3``u32 pnum`` Switch port number to set LOCKOUT bit h](j)}(h ``u32 pnum``h]j)}(hj}h]hu32 pnum}(hjhhhNhNubah}(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`hjwubj)}(hhh]h)}(h%Switch port number to set LOCKOUT bith]h%Switch port number to set LOCKOUT bit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM`hjubah}(h]h ]h"]h$]h&]uh1jhjwubeh}(h]h ]h"]h$]h&]uh1jhjhM`hj;ubj)}(h/``int lock`` Operation : set (=1) or clear (=0)h](j)}(h ``int lock``h]j)}(hjh]hint lock}(hjhhhNhNubah}(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)}(hjσhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMahj̃ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj˃hMbhj;ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(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}(hjhhhNhNubah}(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 }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj hhhjhMubj?)}(hrio_enable_rx_tx_porth]jE)}(hrio_enable_rx_tx_porth]hrio_enable_rx_tx_port}(hj1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj-ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj hhhjhMubj`)}(hI(struct rio_mport *port, int local, u16 destid, u8 hopcount, u8 port_num)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hjMhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjIubj.)}(h h]h }(hjZhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjIubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjkhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjhubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmmodnameN classnameNjj)}j]j)}jj3sbc.rio_enable_rx_tx_portasbuh1hhjIubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjIubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjIubjE)}(hporth]hport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjIubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjEubjf)}(h int localh](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hj̈́hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hlocalh]hlocal}(hjۄhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjEubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_enable_rx_tx_portasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdestidh]hdestid}(hj#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjEubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hj?hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj<ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjAmodnameN classnameNjj)}j]jc.rio_enable_rx_tx_portasbuh1hhj8ubj.)}(h h]h }(hj]hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj8ubjE)}(hhopcounth]hhopcount}(hjkhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj8ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjEubjf)}(h u8 port_numh](h)}(hhh]jE)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_enable_rx_tx_portasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hport_numh]hport_num}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjEubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj hhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhMhjhhubj)}(hhh]h)}(h:enable input receiver and output transmitter of given porth]h:enable input receiver and output transmitter of given port}(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&]uh1jhjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j 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)}(hjh]h Parameters}(hjhhhNhNubah}(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)}(hG``struct rio_mport *port`` Master port associated with the RIO network h](j)}(h``struct rio_mport *port``h]j)}(hjh]hstruct rio_mport *port}(hj 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.chMyhjubj)}(hhh]h)}(h+Master port associated with the RIO networkh]h+Master port associated with the RIO network}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3hMyhj4ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj3hMyhjubj)}(hJ``int local`` local=1 select local port otherwise a far device is reached h](j)}(h ``int local``h]j)}(hjWh]h int local}(hjYhhhNhNubah}(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.chMzhjQubj)}(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}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlhMzhjmubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhjlhMzhjubj)}(h>``u16 destid`` Destination ID of the device to check host bit h](j)}(h``u16 destid``h]j)}(hjh]h u16 destid}(hjhhhNhNubah}(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.Destination ID of the device to check host bith]h.Destination ID of the device to check host bit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM{hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM{hjubj)}(h3``u8 hopcount`` Number of hops to reach the target h](j)}(h``u8 hopcount``h]j)}(hjɆh]h u8 hopcount}(hjˆhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjdž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"Number of hops to reach the targeth]h"Number of hops to reach the target}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjކhM|hj߆ubah}(h]h ]h"]h$]h&]uh1jhjÆubeh}(h]h ]h"]h$]h&]uh1jhjކhM|hjubj)}(hG``u8 port_num`` Port (-number on switch) to enable on a far end device h](j)}(h``u8 port_num``h]j)}(hjh]h u8 port_num}(hjhhhNhNubah}(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)}(h6Port (-number on switch) to enable on a far end deviceh]h6Port (-number on switch) to enable on a far end device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM}hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM}hjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hj=h]h Description}(hj?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.chMhjubh)}(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)}(hjShhhNhNubah}(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&]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}(hjhhhNhNubah}(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 }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj~hhhjhMubj?)}(hrio_mport_chk_dev_accessh]jE)}(hrio_mport_chk_dev_accessh]hrio_mport_chk_dev_access}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj~hhhjhMubj`)}(h2(struct rio_mport *mport, u16 destid, u8 hopcount)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hj̇hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj݇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 }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hmporth]hmport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hj4hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj1ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj6modnameN classnameNjj)}j]jc.rio_mport_chk_dev_accessasbuh1hhj-ubj.)}(h h]h }(hjRhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj-ubjE)}(hdestidh]hdestid}(hj`hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj-ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hj|hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjyubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj~modnameN classnameNjj)}j]jc.rio_mport_chk_dev_accessasbuh1hhjuubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjuubjE)}(hhopcounth]hhopcount}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjuubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj~hhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjzhhhjhMubah}(h]juah ](jjeh"]h$]h&]jj)jhuh1jhjhMhjwhhubj)}(hhh]h)}(h(Validate access to the specified device.h]h(Validate access to the specified device.}(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&]uh1jhjwhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j 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)}(hjh]h Parameters}(hjhhhNhNubah}(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=``struct rio_mport *mport`` Master port to send transactions h](j)}(h``struct rio_mport *mport``h]j)}(hjh]hstruct rio_mport *mport}(hjhhhNhNubah}(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.chMhj ubj)}(hhh]h)}(h Master port to send transactionsh]h Master port to send transactions}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(hMhj)ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj(hMhj ubj)}(h0``u16 destid`` Device destination ID in network h](j)}(h``u16 destid``h]j)}(hjLh]h u16 destid}(hjNhhhNhNubah}(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.chMhjFubj)}(hhh]h)}(h Device destination ID in networkh]h Device destination ID in network}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjahMhjbubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjahMhj ubj)}(h/``u8 hopcount`` Number of hops into the networkh](j)}(h``u8 hopcount``h]j)}(hjh]h u8 hopcount}(hjhhhNhNubah}(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)}(hNumber of hops into the networkh]hNumber of hops into the network}(hjhhhNhNubah}(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&]uh1jhjubeh}(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](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}(hj߉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 }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjۉhhhjhMubj?)}(hrio_inb_pwrite_handlerh]jE)}(hrio_inb_pwrite_handlerh]hrio_inb_pwrite_handler}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjۉhhhjhMubj`)}(h3(struct rio_mport *mport, union rio_pw_msg *pw_msg)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hj)hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj:hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj7ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj<modnameN classnameNjj)}j]j)}jjsbc.rio_inb_pwrite_handlerasbuh1hhjubj.)}(h h]h }(hjZhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hmporth]hmport}(hjuhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hunion rio_pw_msg *pw_msgh](jl)}(hjdbh]hunion}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_pw_msgh]h rio_pw_msg}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jVc.rio_inb_pwrite_handlerasbuh1hhjubj.)}(h h]h }(hjʊhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hj؊hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hpw_msgh]hpw_msg}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjۉhhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj׉hhhjhMubah}(h]j҉ah ](jjeh"]h$]h&]jj)jhuh1jhjhMhjԉhhubj)}(hhh]h)}(h"inbound port-write message handlerh]h"inbound port-write message handler}(hjhhhNhNubah}(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ԉhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj'jj'jjjuh1j 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)}(hj1h]h Parameters}(hj3hhhNhNubah}(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)}(hD``struct rio_mport *mport`` mport device associated with port-write h](j)}(h``struct rio_mport *mport``h]j)}(hjPh]hstruct rio_mport *mport}(hjRhhhNhNubah}(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.chMhjJubj)}(hhh]h)}(h'mport device associated with port-writeh]h'mport device associated with port-write}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjehMhjfubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhjehMhjGubj)}(hC``union rio_pw_msg *pw_msg`` pointer to inbound port-write message h](j)}(h``union rio_pw_msg *pw_msg``h]j)}(hjh]hunion rio_pw_msg *pw_msg}(hjhhhNhNubah}(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%pointer to inbound port-write messageh]h%pointer to inbound port-write message}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjGubeh}(h]h ]h"]h$]h&]uh1jhj+ubh)}(h**Description**h]j)}(hjċh]h Description}(hjƋ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)}(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ڋ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](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}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jrio_mport_get_efbsbc.rio_mport_get_efbasbuh1hhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM@ubj.)}(h h]h }(hj.hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj-hM@ubj?)}(hrio_mport_get_efbh]jE)}(hj*h]hrio_mport_get_efb}(hj@hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj<ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhj-hM@ubj`)}(hF(struct rio_mport *port, int local, u16 destid, u8 hopcount, u32 from)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hj[hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjWubj.)}(h h]h }(hjhhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjWubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjyhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjvubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj{modnameN classnameNjj)}j]j(c.rio_mport_get_efbasbuh1hhjWubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjWubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjWubjE)}(hporth]hport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjWubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjSubjf)}(h int localh](j)}(hinth]hint}(hjˌhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjnjubj.)}(h h]h }(hjٌhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjnjubjE)}(hlocalh]hlocal}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjnjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjSubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j(c.rio_mport_get_efbasbuh1hhjubj.)}(h h]h }(hj!hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdestidh]hdestid}(hj/hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjSubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hjKhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjHubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjMmodnameN classnameNjj)}j]j(c.rio_mport_get_efbasbuh1hhjDubj.)}(h h]h }(hjihhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjDubjE)}(hhopcounth]hhopcount}(hjwhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjDubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjSubjf)}(hu32 fromh](h)}(hhh]jE)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j(c.rio_mport_get_efbasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hfromh]hfrom}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjSubeh}(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&]jj)jhuh1jhj-hM@hjhhubj)}(hhh]h)}(h+get pointer to next extended features blockh]h+get pointer to next extended features block}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM8hjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhj-hM@ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j 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)}(hj h]h Parameters}(hj 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.chM<hjubj)}(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}(hj,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.chM9hj$ubj)}(hhh]h)}(h Master port to issue transactionh]h Master port to issue transaction}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?hM9hj@ubah}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]uh1jhj?hM9hj!ubj)}(hC``int local`` Indicate a local master port or remote device access h](j)}(h ``int local``h]j)}(hjch]h int local}(hjehhhNhNubah}(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.chM:hj]ubj)}(hhh]h)}(h4Indicate a local master port or remote device accessh]h4Indicate a local master port or remote device access}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxhM:hjyubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhjxhM:hj!ubj)}(h,``u16 destid`` Destination ID of the device h](j)}(h``u16 destid``h]j)}(hjh]h u16 destid}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM;hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM;hj!ubj)}(h4``u8 hopcount`` Number of switch hops to the device h](j)}(h``u8 hopcount``h]j)}(hjՎh]h u8 hopcount}(hj׎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#Number of switch hops to the deviceh]h#Number of switch hops to the device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM<hjubah}(h]h ]h"]h$]h&]uh1jhjώubeh}(h]h ]h"]h$]h&]uh1jhjhM<hj!ubj)}(h^``u32 from`` Offset of current Extended Feature block header (if 0 starts from ExtFeaturePtr)h](j)}(h ``u32 from``h]j)}(hjh]hu32 from}(hjhhhNhNubah}(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)}(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)}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#hM=hj$ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj#hM=hj!ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(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}(hjjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjgubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjlmodnameN classnameNjj)}j]j)}jrio_mport_get_featuresbc.rio_mport_get_featureasbuh1hhjchhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMfubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjchhhjhMfubj?)}(hrio_mport_get_featureh]jE)}(hjh]hrio_mport_get_feature}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjchhhjhMfubj`)}(hE(struct rio_mport *port, int local, u16 destid, u8 hopcount, int ftr)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjƏhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj׏hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjԏubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjُmodnameN classnameNjj)}j]jc.rio_mport_get_featureasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hporth]hport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h int localh](j)}(hinth]hint}(hj)hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj%ubj.)}(h h]h }(hj7hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%ubjE)}(hlocalh]hlocal}(hjEhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hjahhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj^ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjcmodnameN classnameNjj)}j]jc.rio_mport_get_featureasbuh1hhjZubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjZubjE)}(hdestidh]hdestid}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjZubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_mport_get_featureasbuh1hhjubj.)}(h h]h }(hjǐhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hjՐhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hint ftrh](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hftrh]hftr}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjchhhjhMfubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj_hhhjhMfubah}(h]jZah ](jjeh"]h$]h&]jj)jhuh1jhjhMfhj\hhubj)}(hhh]h)}(h$query for devices' extended featuresh]h&query for devices’ extended features}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMZhj1hhubah}(h]h ]h"]h$]h&]uh1jhj\hhhjhMfubeh}(h]h ](jfunctioneh"]h$]h&]jjjjLjjLjjjuh1j 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)}(hjVh]h Parameters}(hjXhhhNhNubah}(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}(hjwhhhNhNubah}(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.chM[hjoubj)}(hhh]h)}(h Master port to issue transactionh]h Master port to issue transaction}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM[hjubah}(h]h ]h"]h$]h&]uh1jhjoubeh}(h]h ]h"]h$]h&]uh1jhjhM[hjlubj)}(hC``int local`` Indicate a local master port or remote device access h](j)}(h ``int local``h]j)}(hjh]h int local}(hjhhhNhNubah}(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ǑhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjÑhM\hjđubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM]hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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}(hj"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}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5hM^hj6ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj5hM^hjlubj)}(h"``int ftr`` Extended feature code h](j)}(h ``int ftr``h]j)}(hjYh]hint ftr}(hj[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)}(hExtended feature codeh]hExtended feature code}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnhM_hjoubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjnhM_hjlubeh}(h]h ]h"]h$]h&]uh1jhjPubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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.chMahjPubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMahjPubeh}(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}(hjْ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 }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjՒhhhjhMubj?)}(hrio_lock_deviceh]jE)}(hrio_lock_deviceh]hrio_lock_device}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjՒhhhjhMubj`)}(h>(struct rio_mport *port, u16 destid, u8 hopcount, int wait_ms)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hj#hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj4hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj1ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj6modnameN classnameNjj)}j]j)}jjsbc.rio_lock_deviceasbuh1hhjubj.)}(h h]h }(hjThhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjbhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hporth]hport}(hjohhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jPc.rio_lock_deviceasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdestidh]hdestid}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hjӓhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjГubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjՓmodnameN classnameNjj)}j]jPc.rio_lock_deviceasbuh1hhj̓ubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj̓ubjE)}(hhopcounth]hhopcount}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj̓ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h int wait_msh](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hj&hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hwait_msh]hwait_ms}(hj4hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjՒhhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjђhhhjhMubah}(h]j̒ah ](jjeh"]h$]h&]jj)jhuh1jhjhMhjΒhhubj)}(hhh]h)}(h.Acquires host device lock for specified deviceh]h.Acquires host device lock for specified device}(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ΒhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjvjjvjjjuh1j 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)}(hjh]h Parameters}(hjhhhNhNubah}(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.chMhjzubj)}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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}(hjڔ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 Destination ID for device/switchh]h Destination ID for device/switch}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjҔubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h)``u8 hopcount`` Hopcount to reach switch h](j)}(h``u8 hopcount``h]j)}(hjh]h u8 hopcount}(hjhhhNhNubah}(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.chMhj ubj)}(hhh]h)}(hHopcount to reach switchh]hHopcount to reach switch}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&hMhj'ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj&hMhjubj)}(h7``int wait_ms`` Max wait time in msec (0 = no timeout) h](j)}(h``int wait_ms``h]j)}(hjJh]h int wait_ms}(hjLhhhNhNubah}(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.chMhjDubj)}(hhh]h)}(h&Max wait time in msec (0 = no timeout)h]h&Max wait time in msec (0 = no timeout)}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_hMhj`ubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhj_hMhjubeh}(h]h ]h"]h$]h&]uh1jhjzubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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.chMhjzubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjzubeh}(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}(hjʕhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjƕhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM(ubj.)}(h h]h }(hjٕhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjƕhhhjؕhM(ubj?)}(hrio_unlock_deviceh]jE)}(hrio_unlock_deviceh]hrio_unlock_device}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjƕhhhjؕhM(ubj`)}(h1(struct rio_mport *port, u16 destid, u8 hopcount)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj"ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj'modnameN classnameNjj)}j]j)}jjsbc.rio_unlock_deviceasbuh1hhjubj.)}(h h]h }(hjEhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjShhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hporth]hport}(hj`hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hj|hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjyubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj~modnameN classnameNjj)}j]jAc.rio_unlock_deviceasbuh1hhjuubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjuubjE)}(hdestidh]hdestid}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjuubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hjĖhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjƖmodnameN classnameNjj)}j]jAc.rio_unlock_deviceasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjƕhhhjؕhM(ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj•hhhjؕhM(ubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjؕhM(hjhhubj)}(hhh]h)}(h.Releases host device lock for specified deviceh]h.Releases host device lock for specified device}(hjhhhNhNubah}(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&]jjjj2jj2jjjuh1j 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)}(hj<h]h Parameters}(hj>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.chM%hj6ubj)}(hhh](j)}(h;``struct rio_mport *port`` Master port to send transaction h](j)}(h``struct rio_mport *port``h]j)}(hj[h]hstruct rio_mport *port}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjYubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM"hjUubj)}(hhh]h)}(hMaster port to send transactionh]hMaster port to send transaction}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjphM"hjqubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjphM"hjRubj)}(h0``u16 destid`` Destination ID for device/switch h](j)}(h``u16 destid``h]j)}(hjh]h u16 destid}(hjhhhNhNubah}(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 Destination ID for device/switchh]h Destination ID for device/switch}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM#hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM#hjRubj)}(h)``u8 hopcount`` Hopcount to reach switch h](j)}(h``u8 hopcount``h]j)}(hj͗h]h u8 hopcount}(hjϗ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)}(hHopcount to reach switchh]hHopcount to reach switch}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM$hjubah}(h]h ]h"]h$]h&]uh1jhjǗubeh}(h]h ]h"]h$]h&]uh1jhjhM$hjRubeh}(h]h ]h"]h$]h&]uh1jhj6ubh)}(h**Description**h]j)}(hjh]h Description}(hj 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.chM&hj6ubh)}(h5Returns 0 if device lock released or EINVAL if fails.h]h5Returns 0 if device lock released or EINVAL if fails.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM&hj6ubeh}(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}(hjMhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjIhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMNubj.)}(h h]h }(hj\hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjIhhhj[hMNubj?)}(hrio_route_add_entryh]jE)}(hrio_route_add_entryh]hrio_route_add_entry}(hjnhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjIhhhj[hMNubj`)}(hL(struct rio_dev *rdev, u16 table, u16 route_destid, u8 route_port, int lock)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjpsbc.rio_route_add_entryasbuh1hhjubj.)}(h h]h }(hjȘhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hj֘hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 tableh](h)}(hhh]jE)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jĘc.rio_route_add_entryasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(htableh]htable}(hj+hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hu16 route_destidh](h)}(hhh]jE)}(hu16h]hu16}(hjGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjDubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjImodnameN classnameNjj)}j]jĘc.rio_route_add_entryasbuh1hhj@ubj.)}(h h]h }(hjehhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj@ubjE)}(h route_destidh]h route_destid}(hjshhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj@ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 route_porth](h)}(hhh]jE)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jĘc.rio_route_add_entryasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(h route_porth]h route_port}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hint lockh](j)}(hinth]hint}(hjԙhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjЙubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjЙubjE)}(hlockh]hlock}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjЙubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjIhhhj[hMNubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjEhhhj[hMNubah}(h]j@ah ](jjeh"]h$]h&]jj)jhuh1jhj[hMNhjBhhubj)}(hhh]h)}(h+Add a route entry to a switch routing tableh]h+Add a route entry to a switch routing table}(hjhhhNhNubah}(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&]uh1jhjBhhhj[hMNubeh}(h]h ](jfunctioneh"]h$]h&]jjjj2jj2jjjuh1j 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)}(hj<h]h Parameters}(hj>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.chMBhj6ubj)}(hhh](j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hj[h]hstruct rio_dev *rdev}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjYubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM?hjUubj)}(hhh]h)}(h RIO deviceh]h RIO device}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjphM?hjqubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjphM?hjRubj)}(h``u16 table`` Routing table ID h](j)}(h ``u16 table``h]j)}(hjh]h u16 table}(hjhhhNhNubah}(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)}(hRouting table IDh]hRouting table ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM@hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM@hjRubj)}(h1``u16 route_destid`` Destination ID to be routed h](j)}(h``u16 route_destid``h]j)}(hj͚h]hu16 route_destid}(hjϚ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.chMAhjǚubj)}(hhh]h)}(hDestination ID to be routedh]hDestination ID to be routed}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMAhjubah}(h]h ]h"]h$]h&]uh1jhjǚubeh}(h]h ]h"]h$]h&]uh1jhjhMAhjRubj)}(h+``u8 route_port`` Port number to be routed h](j)}(h``u8 route_port``h]j)}(hjh]h u8 route_port}(hjhhhNhNubah}(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)}(hPort number to be routedh]hPort number to be routed}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMBhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMBhjRubj)}(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}(hjAhhhNhNubah}(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.chMChj9ubj)}(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)}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjThMChjUubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhjThMChjRubeh}(h]h ]h"]h$]h&]uh1jhj6ubh)}(h**Description**h]j)}(hjzh]h Description}(hj|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.chMEhj6ubh)}(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 }(hjhhhNhNubj)}(h **table**h]htable}(hjhhhNhNubah}(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 }(hjhhhNhNubj)}(h``RIO_GLOBAL_TABLE``h]hRIO_GLOBAL_TABLE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh in }(hjhhhNhNubj)}(h **table**h]htable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMEhj6ubh)}(h3Returns ``0`` on success or ``-EINVAL`` on failure.h](hReturns }(hj՛hhhNhNubj)}(h``0``h]h0}(hjݛhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj՛ubh on success or }(hj՛hhhNhNubj)}(h ``-EINVAL``h]h-EINVAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj՛ubh on failure.}(hj՛hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMLhj6ubeh}(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}(hj(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 }(hj7hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj$hhhj6hMubj?)}(hrio_route_get_entryh]jE)}(hrio_route_get_entryh]hrio_route_get_entry}(hjIhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjEubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj$hhhj6hMubj`)}(hM(struct rio_dev *rdev, u16 table, u16 route_destid, u8 *route_port, int lock)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjehhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjaubj.)}(h h]h }(hjrhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjaubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjKsbc.rio_route_get_entryasbuh1hhjaubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjaubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjaubjE)}(hrdevh]hrdev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjaubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj]ubjf)}(h u16 tableh](h)}(hhh]jE)}(hu16h]hu16}(hjڜhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjלubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjܜmodnameN classnameNjj)}j]jc.rio_route_get_entryasbuh1hhjӜubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjӜubjE)}(htableh]htable}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjӜubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj]ubjf)}(hu16 route_destidh](h)}(hhh]jE)}(hu16h]hu16}(hj"hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj$modnameN classnameNjj)}j]jc.rio_route_get_entryasbuh1hhjubj.)}(h h]h }(hj@hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(h route_destidh]h route_destid}(hjNhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj]ubjf)}(hu8 *route_porth](h)}(hhh]jE)}(hu8h]hu8}(hjjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjgubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjlmodnameN classnameNjj)}j]jc.rio_route_get_entryasbuh1hhjcubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjcubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjcubjE)}(h route_porth]h route_port}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjcubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj]ubjf)}(hint lockh](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hjʝhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hlockh]hlock}(hj؝hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(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&]jj)jhuh1jhj6hMhjhhubj)}(hhh]h)}(h)Read an entry from a switch routing tableh]h)Read an entry from a switch routing table}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMshjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhj6hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j 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)}(hj$h]h Parameters}(hj&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.chMwhjubj)}(hhh](j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hjCh]hstruct rio_dev *rdev}(hjEhhhNhNubah}(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.chMthj=ubj)}(hhh]h)}(h RIO deviceh]h RIO device}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXhMthjYubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]uh1jhjXhMthj:ubj)}(h``u16 table`` Routing table ID h](j)}(h ``u16 table``h]j)}(hj|h]h u16 table}(hj~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.chMuhjvubj)}(hhh]h)}(hRouting table IDh]hRouting table ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMuhjubah}(h]h ]h"]h$]h&]uh1jhjvubeh}(h]h ]h"]h$]h&]uh1jhjhMuhj:ubj)}(h1``u16 route_destid`` Destination ID to be routed h](j)}(h``u16 route_destid``h]j)}(hjh]hu16 route_destid}(hjhhhNhNubah}(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.chMvhjubj)}(hhh]h)}(hDestination ID to be routedh]hDestination ID to be routed}(hjΞhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjʞhMvhj˞ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjʞhMvhj:ubj)}(h4``u8 *route_port`` Pointer to read port number into h](j)}(h``u8 *route_port``h]j)}(hjh]hu8 *route_port}(hjhhhNhNubah}(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.chMwhjubj)}(hhh]h)}(h Pointer to read port number intoh]h Pointer to read port number into}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMwhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMwhj:ubj)}(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}(hj)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.chMxhj!ubj)}(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)}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<hMxhj=ubah}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1jhj<hMxhj:ubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjbh]h Description}(hjdhhhNhNubah}(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.chMzhjubh)}(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 }(hjxhhhNhNubj)}(h **table**h]htable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxubhk argument if a switch has per port routing tables or the standard (or global) table may be used by passing }(hjxhhhNhNubj)}(h``RIO_GLOBAL_TABLE``h]hRIO_GLOBAL_TABLE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxubh in }(hjxhhhNhNubj)}(h **table**h]htable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxubh.}(hjxhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMzhjubh)}(h3Returns ``0`` on success or ``-EINVAL`` on failure.h](hReturns }(hjhhhNhNubj)}(h``0``h]h0}(hjşhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh on success or }(hjhhhNhNubj)}(h ``-EINVAL``h]h-EINVAL}(hjןhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh on failure.}(hjhhhNhNubeh}(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&]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}(hjhhhNhNubah}(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 }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj hhhjhMubj?)}(hrio_route_clr_tableh]jE)}(hrio_route_clr_tableh]hrio_route_clr_table}(hj1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj-ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj hhhjhMubj`)}(h+(struct rio_dev *rdev, u16 table, int lock)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjMhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjIubj.)}(h h]h }(hjZhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjIubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjkhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjhubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmmodnameN classnameNjj)}j]j)}jj3sbc.rio_route_clr_tableasbuh1hhjIubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjIubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjIubjE)}(hrdevh]hrdev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjIubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjEubjf)}(h u16 tableh](h)}(hhh]jE)}(hu16h]hu16}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjĠmodnameN classnameNjj)}j]jc.rio_route_clr_tableasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(htableh]htable}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjEubjf)}(hint lockh](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hlockh]hlock}(hj#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjEubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj hhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhMhjhhubj)}(hhh]h)}(hClear a switch routing tableh]hClear a switch routing table}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjJhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjejjejjjuh1j 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)}(hjoh]h Parameters}(hjqhhhNhNubah}(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.chMhjiubj)}(hhh](j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hjh]hstruct rio_dev *rdev}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h``u16 table`` Routing table ID h](j)}(h ``u16 table``h]j)}(hjǡh]h u16 table}(hjɡ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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjܡhMhjݡubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjܡhMhjubj)}(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}(hjhhhNhNubah}(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?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)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjiubh)}(h**Description**h]j)}(hj;h]h Description}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjiubh)}(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 }(hjQhhhNhNubj)}(h **table**h]htable}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQubhk argument if a switch has per port routing tables or the standard (or global) table may be used by passing }(hjQhhhNhNubj)}(h``RIO_GLOBAL_TABLE``h]hRIO_GLOBAL_TABLE}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQubh in }(hjQhhhNhNubj)}(h **table**h]htable}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQubh.}(hjQhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjiubh)}(h3Returns ``0`` on success or ``-EINVAL`` on failure.h](hReturns }(hjhhhNhNubj)}(h``0``h]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh on success or }(hjhhhNhNubj)}(h ``-EINVAL``h]h-EINVAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh on failure.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjiubeh}(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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubh)}(hhh]jE)}(hdma_chanh]hdma_chan}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j)}jrio_request_mport_dmasbc.rio_request_mport_dmaasbuh1hhjhhhjhMubj.)}(h h]h }(hj)hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj)}(hjh]h*}(hj7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhMubj?)}(hrio_request_mport_dmah]jE)}(hj&h]hrio_request_mport_dma}(hjHhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjDubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubj`)}(h(struct rio_mport *mport)h]jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hjchhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj_ubj.)}(h h]h }(hjphhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj_ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj~ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j$c.rio_request_mport_dmaasbuh1hhj_ubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj_ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj_ubjE)}(hmporth]hmport}(hjhhhNhNubah}(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]jܢah ](jjeh"]h$]h&]jj)jhuh1jhjhMhjޢhhubj)}(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.}(hjhhhNhNubah}(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&]uh1jhjޢhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j 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)}(hjh]h Parameters}(hjhhhNhNubah}(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)}(hD``struct rio_mport *mport`` RIO mport to perform DMA data transfers h](j)}(h``struct rio_mport *mport``h]j)}(hj%h]hstruct rio_mport *mport}(hj'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'RIO mport to perform DMA data transfersh]h'RIO mport to perform DMA data transfers}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:hMhj;ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj:hMhjubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hj`h]h Description}(hjbhhhNhNubah}(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.chMhjubh)}(h;Returns pointer to allocated DMA channel or NULL if failed.h]h;Returns pointer to allocated DMA channel or NULL if failed.}(hjvhhhNhNubah}(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&]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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubh)}(hhh]jE)}(hdma_chanh]hdma_chan}(hjĤhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjƤmodnameN classnameNjj)}j]j)}jrio_request_dmasbc.rio_request_dmaasbuh1hhjhhhjhMubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhMubj?)}(hrio_request_dmah]jE)}(hjh]hrio_request_dma}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hj,hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hj=hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj:ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj?modnameN classnameNjj)}j]jc.rio_request_dmaasbuh1hhjubj.)}(h h]h }(hj[hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjihhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hjvhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(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&]jj)jhuh1jhjhMhjhhubj)}(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.}(hjhhhNhNubah}(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&]jjjjjjjjjuh1j 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}(hjĥ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)}(hA``struct rio_dev *rdev`` RIO device associated with DMA transfer h](j)}(h``struct rio_dev *rdev``h]j)}(hjh]hstruct rio_dev *rdev}(hjhhhNhNubah}(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'RIO device associated with DMA transferh]h'RIO device associated with DMA transfer}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjۥubeh}(h]h ]h"]h$]h&]uh1jhjhMhjإubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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)}(h;Returns pointer to allocated DMA channel or NULL if failed.h]h;Returns pointer to allocated DMA channel or NULL if failed.}(hj2hhhNhNubah}(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&]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}(hjahhhNhNubah}(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 }(hjphhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj]hhhjohMubj?)}(hrio_release_dmah]jE)}(hrio_release_dmah]hrio_release_dma}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj~ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj]hhhjohMubj`)}(h(struct dma_chan *dchan)h]jf)}(hstruct dma_chan *dchanh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hdma_chanh]hdma_chan}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_release_dmaasbuh1hhjubj.)}(h h]h }(hjܦhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hdchanh]hdchan}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubah}(h]h ]h"]h$]h&]j]j^uh1j_hj]hhhjohMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjYhhhjohMubah}(h]jTah ](jjeh"]h$]h&]jj)jhuh1jhjohMhjVhhubj)}(hhh]h)}(hrelease specified DMA channelh]hrelease specified DMA channel}(hj!hhhNhNubah}(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&]uh1jhjVhhhjohMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj9jj9jjjuh1j hhhjhNhNubj)}(hC**Parameters** ``struct dma_chan *dchan`` DMA channel to releaseh](h)}(h**Parameters**h]j)}(hjCh]h Parameters}(hjEhhhNhNubah}(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.chMhj=ubj)}(hhh]j)}(h1``struct dma_chan *dchan`` DMA channel to releaseh](j)}(h``struct dma_chan *dchan``h]j)}(hjbh]hstruct dma_chan *dchan}(hjdhhhNhNubah}(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}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhjxubah}(h]h ]h"]h$]h&]uh1jhj\ubeh}(h]h ]h"]h$]h&]uh1jhjwhMhjYubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hjʧhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjɧhMubh)}(hhh]jE)}(hdma_async_tx_descriptorh]hdma_async_tx_descriptor}(hjۧhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjاubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjݧmodnameN classnameNjj)}j]j)}jrio_dma_prep_xfersbc.rio_dma_prep_xferasbuh1hhjhhhjɧhMubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjɧhMubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjɧhMubj?)}(hrio_dma_prep_xferh]jE)}(hjh]hrio_dma_prep_xfer}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjɧhMubj`)}(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}(hj6hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj2ubj.)}(h h]h }(hjChhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj2ubh)}(hhh]jE)}(hdma_chanh]hdma_chan}(hjThhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjQubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjVmodnameN classnameNjj)}j]jc.rio_dma_prep_xferasbuh1hhj2ubj.)}(h h]h }(hjrhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj2ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj2ubjE)}(hdchanh]hdchan}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj2ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj.ubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_dma_prep_xferasbuh1hhjubj.)}(h h]h }(hjǨhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdestidh]hdestid}(hjըhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj.ubjf)}(hstruct rio_dma_data *datah](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_dma_datah]h rio_dma_data}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_dma_prep_xferasbuh1hhjubj.)}(h h]h }(hj*hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hj8hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hdatah]hdata}(hjEhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj.ubjf)}(h%enum dma_transfer_direction directionh](jl)}(henumh]henum}(hj^hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjZubj.)}(h h]h }(hjlhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjZubh)}(hhh]jE)}(hdma_transfer_directionh]hdma_transfer_direction}(hj}hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjzubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_dma_prep_xferasbuh1hhjZubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjZubjE)}(h directionh]h direction}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjZubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj.ubjf)}(hunsigned long flagsh](j)}(hunsignedh]hunsigned}(hj©hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hjЩhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hlongh]hlong}(hjީhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hflagsh]hflags}(hjhhhNhNubah}(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&]jj)jhuh1jhjɧhMhjhhubj)}(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.}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM hj!hhubah}(h]h ]h"]h$]h&]uh1jhjhhhjɧhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj<jj<jjjuh1j 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)}(hjFh]h Parameters}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM hj@ubj)}(hhh](j)}(h4``struct dma_chan *dchan`` DMA channel to configure h](j)}(h``struct dma_chan *dchan``h]j)}(hjeh]hstruct dma_chan *dchan}(hjghhhNhNubah}(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 hj_ubj)}(hhh]h)}(hDMA channel to configureh]hDMA channel to configure}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzhM hj{ubah}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1jhjzhM hj\ubj)}(h4``u16 destid`` target RapidIO device destination ID h](j)}(h``u16 destid``h]j)}(hjh]h u16 destid}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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}(hj٪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 specific data descriptorh]hRIO specific data descriptor}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM hjubah}(h]h ]h"]h$]h&]uh1jhjѪubeh}(h]h ]h"]h$]h&]uh1jhjhM 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)}(hjh]h%enum dma_transfer_direction direction}(hjhhhNhNubah}(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.chMhj ubj)}(hhh]h)}(h3DMA data transfer direction (TO or FROM the device)h]h3DMA data transfer direction (TO or FROM the device)}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%hMhj&ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj%hMhj\ubj)}(h0``unsigned long flags`` dmaengine defined flags h](j)}(h``unsigned long flags``h]j)}(hjIh]hunsigned long flags}(hjKhhhNhNubah}(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.chMhjCubj)}(hhh]h)}(hdmaengine defined flagsh]hdmaengine defined flags}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^hMhj_ubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhj^hMhj\ubeh}(h]h ]h"]h$]h&]uh1jhj@ubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMhj@ubh)}(h **Return**h]j)}(hjh]hReturn}(hjhhhNhNubah}(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@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,}(hjȫ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.}(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&]uh1jhjīubeh}(h]h ]h"]h$]h&]uh1jhj֫hMhjubah}(h]h ]h"]h$]h&]uh1jhj@ubeh}(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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM=ubj.)}(h h]h }(hj)hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj(hM=ubh)}(hhh]jE)}(hdma_async_tx_descriptorh]hdma_async_tx_descriptor}(hj:hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj7ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj<modnameN classnameNjj)}j]j)}jrio_dma_prep_slave_sgsbc.rio_dma_prep_slave_sgasbuh1hhjhhhj(hM=ubj.)}(h h]h }(hj[hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj(hM=ubj)}(hjh]h*}(hjihhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhj(hM=ubj?)}(hrio_dma_prep_slave_sgh]jE)}(hjXh]hrio_dma_prep_slave_sg}(hjzhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjvubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhj(hM=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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jVc.rio_dma_prep_slave_sgasbuh1hhjubj.)}(h h]h }(hjѬhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hj߬hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hstruct dma_chan *dchanh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hdma_chanh]hdma_chan}(hj#hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj%modnameN classnameNjj)}j]jVc.rio_dma_prep_slave_sgasbuh1hhjubj.)}(h h]h }(hjAhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjOhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hdchanh]hdchan}(hj\hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hstruct rio_dma_data *datah](jl)}(hjoh]hstruct}(hjuhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjqubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjqubh)}(hhh]jE)}(h rio_dma_datah]h rio_dma_data}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jVc.rio_dma_prep_slave_sgasbuh1hhjqubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjqubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjqubjE)}(hdatah]hdata}(hj̭hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjqubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h%enum dma_transfer_direction directionh](jl)}(hj`h]henum}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hdma_transfer_directionh]hdma_transfer_direction}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jVc.rio_dma_prep_slave_sgasbuh1hhjubj.)}(h h]h }(hj!hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(h directionh]h direction}(hj/hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hunsigned long flagsh](j)}(hunsignedh]hunsigned}(hjHhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjDubj.)}(h h]h }(hjVhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjDubj)}(hlongh]hlong}(hjdhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjDubj.)}(h h]h }(hjrhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjDubjE)}(hflagsh]hflags}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjDubeh}(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&]jj)jhuh1jhj(hM=hjhhubj)}(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.}(hjhhhNhNubah}(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&]jjjj®jj®jjjuh1j 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)}(hj̮h]h Parameters}(hjή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.chM2hjƮubj)}(hhh](j)}(h6``struct rio_dev *rdev`` RIO device control structure h](j)}(h``struct rio_dev *rdev``h]j)}(hjh]hstruct rio_dev *rdev}(hjhhhNhNubah}(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.chM0hjubj)}(hhh]h)}(hRIO device control structureh]hRIO device control structure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM0hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM0hjubj)}(h4``struct dma_chan *dchan`` DMA channel to configure h](j)}(h``struct dma_chan *dchan``h]j)}(hj$h]hstruct dma_chan *dchan}(hj&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.chM1hjubj)}(hhh]h)}(hDMA channel to configureh]hDMA channel to configure}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9hM1hj:ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj9hM1hjubj)}(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}(hj_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.chM2hjWubj)}(hhh]h)}(hRIO specific data descriptorh]hRIO specific data descriptor}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrhM2hjsubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhjrhM2hjubj)}(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}(hjhhhNhNubah}(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)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM3hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM3hjubj)}(h0``unsigned long flags`` dmaengine defined flags h](j)}(h``unsigned long flags``h]j)}(hjϯh]hunsigned long flags}(hjѯ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.chM4hjɯubj)}(hhh]h)}(hdmaengine defined flagsh]hdmaengine defined flags}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM4hjubah}(h]h ]h"]h$]h&]uh1jhjɯubeh}(h]h ]h"]h$]h&]uh1jhjhM4hjubeh}(h]h ]h"]h$]h&]uh1jhjƮubh)}(h**Description**h]j)}(hj h]h Description}(hj 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.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.}(hj hhhNhNubah}(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)}(hj1h]hReturn}(hj3hhhNhNubah}(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.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,}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chM:hjJubj)}(hhh]h)}(h'error-valued pointer or NULL if failed.h]h'error-valued pointer or NULL if failed.}(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&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhj\hM:hjGubah}(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}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMlubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMlubj?)}(hrio_register_scanh]jE)}(hrio_register_scanh]hrio_register_scan}(hj°hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMlubj`)}(h)(int mport_id, struct rio_scan *scan_ops)h](jf)}(h int mport_idh](j)}(hinth]hint}(hjްhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjڰubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjڰubjE)}(hmport_idh]hmport_id}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjڰubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjְubjf)}(hstruct rio_scan *scan_opsh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_scanh]hrio_scan}(hj1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj.ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj3modnameN classnameNjj)}j]j)}jjİsbc.rio_register_scanasbuh1hhjubj.)}(h h]h }(hjQhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hj_hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hscan_opsh]hscan_ops}(hjlhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjְubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhMlubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMlubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhMlhjhhubj)}(hhh]h)}(h3enumeration/discovery method registration interfaceh]h3enumeration/discovery method registration interface}(hjhhhNhNubah}(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&]uh1jhjhhhjhMlubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j 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).h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(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}(hjٱ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.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)}(hjhhhNhNubah}(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&]uh1jhjѱubeh}(h]h ]h"]h$]h&]uh1jhjhMbhjαubj)}(hI``struct rio_scan *scan_ops`` enumeration/discovery operations structure h](j)}(h``struct rio_scan *scan_ops``h]j)}(hjh]hstruct rio_scan *scan_ops}(hjhhhNhNubah}(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.chMchj ubj)}(hhh]h)}(h*enumeration/discovery operations structureh]h*enumeration/discovery operations structure}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&hMchj'ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj&hMchjαubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjLh]h Description}(hjNhhhNhNubah}(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.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).}(hjbhhhNhNubah}(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).}(hjqhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:51: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj?)}(hrio_unregister_scanh]jE)}(hrio_unregister_scanh]hrio_unregister_scan}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(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}(hjݲhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjٲubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjٲubjE)}(hmport_idh]hmport_id}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjٲubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjղubjf)}(hstruct rio_scan *scan_opsh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_scanh]hrio_scan}(hj0hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj-ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj2modnameN classnameNjj)}j]j)}jjòsbc.rio_unregister_scanasbuh1hhjubj.)}(h h]h }(hjPhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hj^hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hscan_opsh]hscan_ops}(hjkhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(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&]jj)jhuh1jhjhMhjhhubj)}(hhh]h)}(h/removes enumeration/discovery method from mporth]h/removes enumeration/discovery method from mport}(hjhhhNhNubah}(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&]jjjjjjjjjuh1j 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)}(hjh]h Parameters}(hjhhhNhNubah}(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}(hjس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)}(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)}(hjhhhNhNubah}(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&]uh1jhjгubeh}(h]h ]h"]h$]h&]uh1jhjhMhjͳubj)}(hI``struct rio_scan *scan_ops`` enumeration/discovery operations structure h](j)}(h``struct rio_scan *scan_ops``h]j)}(hjh]hstruct rio_scan *scan_ops}(hjhhhNhNubah}(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.chMhj ubj)}(hhh]h)}(h*enumeration/discovery operations structureh]h*enumeration/discovery operations structure}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%hMhj&ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj%hMhjͳubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjKh]h Description}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubah}(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.}(hjahhhNhNubah}(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}(hjhhhNhNubah}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hjhhubh)}(hhh](h)}(h Structuresh]h Structures}(hjhhhNhNubah}(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}(hjд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 }(hj޴hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj̴hhhjݴhKubj?)}(h rio_switchh]jE)}(hjʴh]h rio_switch}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj̴hhhjݴhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjȴhhhjݴhKubah}(h]jôah ](jjeh"]h$]h&]jj)jhuh1jhjݴhKhjŴhhubj)}(hhh]h)}(hRIO switch infoh]hRIO switch info}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKYhjhhubah}(h]h ]h"]h$]h&]uh1jhjŴhhhjݴhKubeh}(h]h ](jstructeh"]h$]h&]jjjj*jj*jjjuh1j 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}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubh:}(hj2hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhK]hj.ubh 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[]; };}hjQsbah}(h]h ]h"]h$]h&]j]j^uh1jOhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhK_hj.ubh)}(h **Members**h]j)}(hjbh]hMembers}(hjdhhhNhNubah}(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.hhKhhj.ubj)}(hhh](j)}(h)``node`` Node in global list of switches h](j)}(h``node``h]j)}(hjh]hnode}(hjhhhNhNubah}(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[hj{ubj)}(hhh]h)}(hNode in global list of switchesh]hNode in global list of switches}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK[hjubah}(h]h ]h"]h$]h&]uh1jhj{ubeh}(h]h ]h"]h$]h&]uh1jhjhK[hjxubj)}(h-``route_table`` Copy of switch routing table h](j)}(h``route_table``h]j)}(hjh]h route_table}(hjhhhNhNubah}(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)}(hCopy of switch routing tableh]hCopy of switch routing table}(hjӵhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjϵhK\hjеubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjϵhK\hjxubj)}(hF``port_ok`` Status of each port (one bit per port) - OK=1 or UNINIT=0 h](j)}(h ``port_ok``h]j)}(hjh]hport_ok}(hjhhhNhNubah}(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.hh;K]hjubj)}(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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK]hj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK]hjxubj)}(h.``ops`` pointer to switch-specific operations h](j)}(h``ops``h]j)}(hj,h]hops}(hj.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%pointer to switch-specific operationsh]h%pointer to switch-specific operations}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAhK^hjBubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhjAhK^hjxubj)}(h.``lock`` lock to serialize operations updates h](j)}(h``lock``h]j)}(hjeh]hlock}(hjghhhNhNubah}(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.hhK_hj_ubj)}(hhh]h)}(h$lock to serialize operations updatesh]h$lock to serialize operations updates}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzhK_hj{ubah}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1jhjzhK_hjxubj)}(hB``nextdev`` Array of per-port pointers to the next attached deviceh](j)}(h ``nextdev``h]j)}(hjh]hnextdev}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhK`hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK_hjxubeh}(h]h ]h"]h$]h&]uh1jhj.ubeh}(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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKfubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKfubj?)}(hrio_switch_opsh]jE)}(hjh]hrio_switch_ops}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhKfubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhKfubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhKfhjhhubj)}(hhh]h)}(hPer-switch operationsh]hPer-switch operations}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKkhj7hhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKfubeh}(h]h ](jstructeh"]h$]h&]jjjjRjjRjjjuh1j 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}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZubh:}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKohjVubjP)}(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); };}hjwsbah}(h]h ]h"]h$]h&]j]j^uh1jOhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKqhjVubh)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(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|hjVubj)}(hhh](j)}(h-``owner`` The module owner of this structure h](j)}(h ``owner``h]j)}(hjh]howner}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKmhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKmhjubj)}(h>``add_entry`` Callback for switch-specific route add function h](j)}(h ``add_entry``h]j)}(hjh]h add_entry}(hjhhhNhNubah}(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.hhKnhjڷubj)}(hhh]h)}(h/Callback for switch-specific route add functionh]h/Callback for switch-specific route add function}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKnhjubah}(h]h ]h"]h$]h&]uh1jhjڷubeh}(h]h ]h"]h$]h&]uh1jhjhKnhjubj)}(h>``get_entry`` Callback for switch-specific route get function h](j)}(h ``get_entry``h]j)}(hjh]h get_entry}(hjhhhNhNubah}(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}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hKohj/ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj.hKohjubj)}(hF``clr_table`` Callback for switch-specific clear route table function h](j)}(h ``clr_table``h]j)}(hjRh]h clr_table}(hjThhhNhNubah}(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.hhKphjLubj)}(hhh]h)}(h7Callback for switch-specific clear route table functionh]h7Callback for switch-specific clear route table function}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjghKphjhubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]uh1jhjghKphjubj)}(hD``set_domain`` Callback for switch-specific domain setting function h](j)}(h``set_domain``h]j)}(hjh]h set_domain}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKqhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKqhjubj)}(h@``get_domain`` Callback for switch-specific domain get function h](j)}(h``get_domain``h]j)}(hjĸh]h get_domain}(hjƸ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.hhKrhjubj)}(hhh]h)}(h0Callback for switch-specific domain get functionh]h0Callback for switch-specific domain get function}(hjݸhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjٸhKrhjڸubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjٸhKrhjubj)}(hH``em_init`` Callback for switch-specific error management init function h](j)}(h ``em_init``h]j)}(hjh]hem_init}(hjhhhNhNubah}(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 init functionh]h;Callback for switch-specific error management init function}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKshjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKshjubj)}(hL``em_handle`` Callback for switch-specific error management handler functionh](j)}(h ``em_handle``h]j)}(hj6h]h em_handle}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKshj0ubj)}(hhh]h)}(h>Callback for switch-specific error management handler functionh]h>Callback for switch-specific error management handler function}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKthjLubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhjKhKshjubeh}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubh)}(h**Description**h]j)}(hjyh]h Description}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjwubah}(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.}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhK{ubj.)}(h h]h }(hjŹhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjĹhK{ubj?)}(hrio_devh]jE)}(hjh]hrio_dev}(hj׹hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjӹubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjĹhK{ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjĹhK{ubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjĹhK{hjhhubj)}(hhh]h)}(hRIO device infoh]hRIO device info}(hjhhhNhNubah}(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&]uh1jhjhhhjĹhK{ubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjjjuh1j 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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubjP)}(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[]; };}hj6sbah}(h]h ]h"]h$]h&]j]j^uh1jOhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubh)}(h **Members**h]j)}(hjGh]hMembers}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEubah}(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)}(hjfh]h global_list}(hjhhhhNhNubah}(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)}(hNode in list of all RIO devicesh]hNode in list of all RIO devices}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{hKhj|ubah}(h]h ]h"]h$]h&]uh1jhj`ubeh}(h]h ]h"]h$]h&]uh1jhj{hKhj]ubj)}(h6``net_list`` Node in list of RIO devices in a network h](j)}(h ``net_list``h]j)}(hjh]hnet_list}(hjhhhNhNubah}(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 list of RIO devices in a networkh]h(Node in list of RIO devices in a network}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj]ubj)}(h)``net`` Network this device is a part of h](j)}(h``net``h]j)}(hjغh]hnet}(hjں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 Network this device is a part ofh]h Network this device is a part of}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjҺubeh}(h]h ]h"]h$]h&]uh1jhjhKhj]ubj)}(h``do_enum`` Enumeration flag h](j)}(h ``do_enum``h]j)}(hjh]hdo_enum}(hjhhhNhNubah}(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)}(hEnumeration flagh]hEnumeration flag}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&hKhj'ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj&hKhj]ubj)}(h``did`` Device ID h](j)}(h``did``h]j)}(hjJh]hdid}(hjLhhhNhNubah}(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.hhKhjDubj)}(hhh]h)}(h Device IDh]h Device ID}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_hKhj`ubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhj_hKhj]ubj)}(h``vid`` Vendor ID h](j)}(h``vid``h]j)}(hjh]hvid}(hjhhhNhNubah}(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 Vendor IDh]h Vendor ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhj}ubeh}(h]h ]h"]h$]h&]uh1jhjhKhj]ubj)}(h``device_rev`` Device revision h](j)}(h``device_rev``h]j)}(hjh]h device_rev}(hjhhhNhNubah}(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)}(hDevice revisionh]hDevice revision}(hjջhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjѻhKhjһubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjѻhKhj]ubj)}(h``asm_did`` Assembly device ID h](j)}(h ``asm_did``h]j)}(hjh]hasm_did}(hjhhhNhNubah}(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 device IDh]hAssembly device ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hKhj]ubj)}(h``asm_vid`` Assembly vendor ID h](j)}(h ``asm_vid``h]j)}(hj.h]hasm_vid}(hj0hhhNhNubah}(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 vendor IDh]hAssembly vendor ID}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjChKhjDubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhjChKhj]ubj)}(h``asm_rev`` Assembly revision h](j)}(h ``asm_rev``h]j)}(hjgh]hasm_rev}(hjihhhNhNubah}(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)}(hAssembly revisionh]hAssembly revision}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|hKhj}ubah}(h]h ]h"]h$]h&]uh1jhjaubeh}(h]h ]h"]h$]h&]uh1jhj|hKhj]ubj)}(h#``efptr`` Extended feature pointer h](j)}(h ``efptr``h]j)}(hjh]hefptr}(hjhhhNhNubah}(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)}(hExtended feature pointerh]hExtended feature pointer}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj]ubj)}(h$``pef`` Processing element features h](j)}(h``pef``h]j)}(hjټh]hpef}(hjۼ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)}(hProcessing element featuresh]hProcessing element features}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjӼubeh}(h]h ]h"]h$]h&]uh1jhjhKhj]ubj)}(h``swpinfo`` Switch port info h](j)}(h ``swpinfo``h]j)}(hjh]hswpinfo}(hjhhhNhNubah}(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)}(hSwitch port infoh]hSwitch port info}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'hKhj(ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj'hKhj]ubj)}(h*``src_ops`` Source operation capabilities h](j)}(h ``src_ops``h]j)}(hjKh]hsrc_ops}(hjMhhhNhNubah}(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)}(hSource operation capabilitiesh]hSource operation capabilities}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`hKhjaubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhj`hKhj]ubj)}(h/``dst_ops`` Destination operation capabilities h](j)}(h ``dst_ops``h]j)}(hjh]hdst_ops}(hjhhhNhNubah}(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"Destination operation capabilitiesh]h"Destination operation capabilities}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1jhjhKhj]ubj)}(h``comp_tag`` RIO component tag h](j)}(h ``comp_tag``h]j)}(hjh]hcomp_tag}(hjhhhNhNubah}(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 component tagh]hRIO component tag}(hjֽhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjҽhKhjӽubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjҽhKhj]ubj)}(h4``phys_efptr`` RIO device extended features pointer h](j)}(h``phys_efptr``h]j)}(hjh]h phys_efptr}(hjhhhNhNubah}(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 device extended features pointerh]h$RIO device extended features pointer}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hKhj]ubj)}(h3``phys_rmap`` LP-Serial Register Map Type (1 or 2) h](j)}(h ``phys_rmap``h]j)}(hj/h]h phys_rmap}(hj1hhhNhNubah}(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$LP-Serial Register Map Type (1 or 2)h]h$LP-Serial Register Map Type (1 or 2)}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDhKhjEubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhjDhKhj]ubj)}(h3``em_efptr`` RIO Error Management features pointer h](j)}(h ``em_efptr``h]j)}(hjhh]hem_efptr}(hjjhhhNhNubah}(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)}(h%RIO Error Management features pointerh]h%RIO Error Management features pointer}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}hKhj~ubah}(h]h ]h"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1jhj}hKhj]ubj)}(h@``dma_mask`` Mask of bits of RIO address this device implements h](j)}(h ``dma_mask``h]j)}(hjh]hdma_mask}(hjhhhNhNubah}(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)}(h2Mask of bits of RIO address this device implementsh]h2Mask of bits of RIO address this device implements}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj]ubj)}(h'``driver`` Driver claiming this device h](j)}(h ``driver``h]j)}(hjھh]hdriver}(hjܾ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)}(hDriver claiming this deviceh]hDriver claiming this device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjԾubeh}(h]h ]h"]h$]h&]uh1jhjhKhj]ubj)}(h``dev`` Device model device h](j)}(h``dev``h]j)}(hjh]hdev}(hjhhhNhNubah}(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}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(hKhj)ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj(hKhj]ubj)}(h*``riores`` RIO resources this device owns h](j)}(h ``riores``h]j)}(hjLh]hriores}(hjNhhhNhNubah}(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)}(hRIO resources this device ownsh]hRIO resources this device owns}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjahKhjbubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjahKhj]ubj)}(h9``pwcback`` port-write callback function for this device h](j)}(h ``pwcback``h]j)}(hjh]hpwcback}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj]ubj)}(hD``destid`` Network destination ID (or associated destid for switch) h](j)}(h ``destid``h]j)}(hjh]hdestid}(hjhhhNhNubah}(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)}(h8Network destination ID (or associated destid for switch)h]h8Network destination ID (or associated destid for switch)}(hj׿hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjӿhKhjԿubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjӿhKhj]ubj)}(h%``hopcount`` Hopcount to this device h](j)}(h ``hopcount``h]j)}(hjh]hhopcount}(hjhhhNhNubah}(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)}(hHopcount to this deviceh]hHopcount to this device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hKhj]ubj)}(h:``prev`` Previous RIO device connected to the current one h](j)}(h``prev``h]j)}(hj0h]hprev}(hj2hhhNhNubah}(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)}(h0Previous RIO device connected to the current oneh]h0Previous RIO device connected to the current one}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEhKhjFubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhjEhKhj]ubj)}(h``state`` device state h](j)}(h ``state``h]j)}(hjih]hstate}(hjkhhhNhNubah}(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.hhKhjcubj)}(hhh]h)}(h device stateh]h device state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~hKhjubah}(h]h ]h"]h$]h&]uh1jhjcubeh}(h]h ]h"]h$]h&]uh1jhj~hKhj]ubj)}(h8``rswitch`` struct rio_switch (if valid for this device)h](j)}(h ``rswitch``h]j)}(hjh]hrswitch}(hjhhhNhNubah}(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,struct rio_switch (if valid for this device)h]h,struct rio_switch (if valid for this device)}(hjhhhNhNubah}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj]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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj hKubj?)}(hrio_msgh]jE)}(hjh]hrio_msg}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhj hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhj hKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhj hKhjhhubj)}(hhh]h)}(hRIO message eventh]hRIO message event}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj;hhubah}(h]h ]h"]h$]h&]uh1jhjhhhj hKubeh}(h]h ](jstructeh"]h$]h&]jjjjVjjVjjjuh1j 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}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^ubh:}(hj^hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjZubjP)}(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); };}hj{sbah}(h]h ]h"]h$]h&]j]j^uh1jOhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjZubh)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(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.hhKhjZubj)}(hhh](j)}(h``res`` Mailbox resource h](j)}(h``res``h]j)}(hjh]hres}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h!``mcback`` Message event callbackh](j)}(h ``mcback``h]j)}(hjh]hmcback}(hjhhhNhNubah}(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)}(hMessage event callbackh]hMessage event callback}(hjhhhNhNubah}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubeh}(h]h ]h"]h$]h&]uh1jhjZubeh}(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}(hj>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 }(hjLhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj:hhhjKhKubj?)}(h rio_dbellh]jE)}(hj8h]h rio_dbell}(hj^hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjZubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj:hhhjKhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj6hhhjKhKubah}(h]j1ah ](jjeh"]h$]h&]jj)jhuh1jhjKhKhj3hhubj)}(hhh]h)}(hRIO doorbell eventh]hRIO doorbell event}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj}hhubah}(h]h ]h"]h$]h&]uh1jhj3hhhjKhKubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjjjuh1j 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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubjP)}(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; };}hjsbah}(h]h ]h"]h$]h&]j]j^uh1jOhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjubh)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(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)``node`` Node in list of doorbell events h](j)}(h``node``h]j)}(hjh]hnode}(hjhhhNhNubah}(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)}(hNode in list of doorbell eventsh]hNode in list of doorbell events}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h``res`` Doorbell resource h](j)}(h``res``h]j)}(hj&h]hres}(hj(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)}(hDoorbell resourceh]hDoorbell resource}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;hKhj<ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj;hKhjubj)}(h!``dinb`` Doorbell event callback h](j)}(h``dinb``h]j)}(hj_h]hdinb}(hjahhhNhNubah}(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)}(hDoorbell event callbackh]hDoorbell event callback}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjthKhjuubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjthKhjubj)}(h3``dev_id`` Device specific pointer to pass on eventh](j)}(h ``dev_id``h]j)}(hjh]hdev_id}(hjhhhNhNubah}(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}(hjhhhNhNubah}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKubj?)}(h rio_mporth]jE)}(hjh]h rio_mport}(hjhhhNhNubah}(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&]jj)jhuh1jhjhKhjhhubj)}(hhh]h)}(hRIO master port infoh]hRIO master port info}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhj1hhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jstructeh"]h$]h&]jjjjLjjLjjjuh1j 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}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjTubh:}(hjThhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjPubjP)}(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; };}hjqsbah}(h]h ]h"]h$]h&]j]j^uh1jOhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhKhjPubh)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(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.hhMhjPubj)}(hhh](j)}(h#``dbells`` List of doorbell events h](j)}(h ``dbells``h]j)}(hjh]hdbells}(hjhhhNhNubah}(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)}(hList of doorbell eventsh]hList of doorbell events}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h%``pwrites`` List of portwrite events h](j)}(h ``pwrites``h]j)}(hjh]hpwrites}(hjhhhNhNubah}(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)}(hList of portwrite eventsh]hList of portwrite events}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h-``node`` Node in global list of master ports h](j)}(h``node``h]j)}(hjh]hnode}(hjhhhNhNubah}(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}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(hKhj)ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj(hKhjubj)}(h/``nnode`` Node in network list of master ports h](j)}(h ``nnode``h]j)}(hjLh]hnnode}(hjNhhhNhNubah}(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$Node in network list of master portsh]h$Node in network list of master ports}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjahKhjbubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjahKhjubj)}(h*``net`` RIO net this mport is attached to h](j)}(h``net``h]j)}(hjh]hnet}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h1``lock`` lock to synchronize lists manipulations h](j)}(h``lock``h]j)}(hjh]hlock}(hjhhhNhNubah}(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'lock to synchronize lists manipulationsh]h'lock to synchronize lists manipulations}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h@``iores`` I/O mem resource that this master port interface owns h](j)}(h ``iores``h]j)}(hjh]hiores}(hjhhhNhNubah}(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)}(h5I/O mem resource that this master port interface ownsh]h5I/O mem resource that this master port interface owns}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hKhjubj)}(h?``riores`` RIO resources that this master port interfaces owns h](j)}(h ``riores``h]j)}(hj0h]hriores}(hj2hhhNhNubah}(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)}(h3RIO resources that this master port interfaces ownsh]h3RIO resources that this master port interfaces owns}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEhKhjFubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhjEhKhjubj)}(h2``inb_msg`` RIO inbound message event descriptors h](j)}(h ``inb_msg``h]j)}(hjih]hinb_msg}(hjkhhhNhNubah}(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.hhKhjcubj)}(hhh]h)}(h%RIO inbound message event descriptorsh]h%RIO inbound message event descriptors}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~hKhjubah}(h]h ]h"]h$]h&]uh1jhjcubeh}(h]h ]h"]h$]h&]uh1jhj~hKhjubj)}(h4``outb_msg`` RIO outbound message event descriptors h](j)}(h ``outb_msg``h]j)}(hjh]houtb_msg}(hjhhhNhNubah}(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 outbound message event descriptorsh]h&RIO outbound message event descriptors}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(hB``host_deviceid`` Host device ID associated with this master port h](j)}(h``host_deviceid``h]j)}(hjh]h host_deviceid}(hjhhhNhNubah}(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/Host device ID associated with this master porth]h/Host device ID associated with this master port}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h&``ops`` configuration space functions h](j)}(h``ops``h]j)}(hjh]hops}(hjhhhNhNubah}(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}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)hKhj*ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj)hKhjubj)}(h'``id`` Port ID, unique among all ports h](j)}(h``id``h]j)}(hjMh]hid}(hjOhhhNhNubah}(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.hhKhjGubj)}(hhh]h)}(hPort ID, unique among all portsh]hPort ID, unique among all ports}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbhKhjcubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhjbhKhjubj)}(hH``index`` Port index, unique among all port interfaces of the same type h](j)}(h ``index``h]j)}(hjh]hindex}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h2``sys_size`` RapidIO common transport system size h](j)}(h ``sys_size``h]j)}(hjh]hsys_size}(hjhhhNhNubah}(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$RapidIO common transport system sizeh]h$RapidIO common transport system size}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h2``phys_efptr`` RIO port extended features pointer h](j)}(h``phys_efptr``h]j)}(hjh]h phys_efptr}(hjhhhNhNubah}(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"RIO port extended features pointerh]h"RIO port extended features pointer}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hMhjubj)}(h<``phys_rmap`` LP-Serial EFB Register Mapping type (1 or 2). h](j)}(h ``phys_rmap``h]j)}(hj1h]h phys_rmap}(hj3hhhNhNubah}(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-LP-Serial EFB Register Mapping type (1 or 2).h]h-LP-Serial EFB Register Mapping type (1 or 2).}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFhMhjGubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhjFhMhjubj)}(h``name`` Port name string h](j)}(h``name``h]j)}(hjjh]hname}(hjlhhhNhNubah}(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.hhMhjdubj)}(hhh]h)}(hPort name stringh]hPort name string}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjdubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h2``dev`` device structure associated with an mport h](j)}(h``dev``h]j)}(hjh]hdev}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h"``priv`` Master port private data h](j)}(h``priv``h]j)}(hjh]hpriv}(hjhhhNhNubah}(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)}(hMaster port private datah]hMaster port private data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h)``dma`` DMA device associated with mport h](j)}(h``dma``h]j)}(hjh]hdma}(hjhhhNhNubah}(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}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*hMhj+ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj*hMhjubj)}(h;``nscan`` RapidIO network enumeration/discovery operations h](j)}(h ``nscan``h]j)}(hjNh]hnscan}(hjPhhhNhNubah}(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)}(h0RapidIO network enumeration/discovery operationsh]h0RapidIO network enumeration/discovery operations}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjchMhjdubah}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]uh1jhjchMhjubj)}(h``state`` mport device state h](j)}(h ``state``h]j)}(hjh]hstate}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hM``pwe_refcnt`` port-write enable ref counter to track enable/disable requestsh](j)}(h``pwe_refcnt``h]j)}(hjh]h pwe_refcnt}(hjhhhNhNubah}(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>port-write enable ref counter to track enable/disable requestsh]h>port-write enable ref counter to track enable/disable requests}(hjhhhNhNubah}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjPubeh}(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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMubj.)}(h h]h }(hj(hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj'hMubj?)}(hrio_neth]jE)}(hjh]hrio_net}(hj:hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj6ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhj'hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhj'hMubah}(h]j ah ](jjeh"]h$]h&]jj)jhuh1jhj'hMhjhhubj)}(hhh]h)}(hRIO network infoh]hRIO network info}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM5hjYhhubah}(h]h ]h"]h$]h&]uh1jhjhhhj'hMubeh}(h]h ](jstructeh"]h$]h&]jjjjtjjtjjjuh1j 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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj|ubh:}(hj|hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM9hjxubjP)}(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); };}hjsbah}(h]h ]h"]h$]h&]j]j^uh1jOhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM;hjxubh)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(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.hhMGhjxubj)}(hhh](j)}(h-``node`` Node in global list of RIO networks h](j)}(h``node``h]j)}(hjh]hnode}(hjhhhNhNubah}(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.hhM7hjubj)}(hhh]h)}(h#Node in global list of RIO networksh]h#Node in global list of RIO networks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM7hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM7hjubj)}(h,``devices`` List of devices in this network h](j)}(h ``devices``h]j)}(hjh]hdevices}(hjhhhNhNubah}(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.hhM8hjubj)}(hhh]h)}(hList of devices in this networkh]hList of devices in this network}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM8hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM8hjubj)}(h.``switches`` List of switches in this network h](j)}(h ``switches``h]j)}(hj;h]hswitches}(hj=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.hhM9hj5ubj)}(hhh]h)}(h List of switches in this networkh]h List of switches in this network}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPhM9hjQubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhjPhM9hjubj)}(h7``mports`` List of master ports accessing this network h](j)}(h ``mports``h]j)}(hjth]hmports}(hjvhhhNhNubah}(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.hhM:hjnubj)}(hhh]h)}(h+List of master ports accessing this networkh]h+List of master ports accessing this network}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM:hjubah}(h]h ]h"]h$]h&]uh1jhjnubeh}(h]h ]h"]h$]h&]uh1jhjhM:hjubj)}(h2``hport`` Default port for accessing this network h](j)}(h ``hport``h]j)}(hjh]hhport}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM;hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM;hjubj)}(h``id`` RIO network ID h](j)}(h``id``h]j)}(hjh]hid}(hjhhhNhNubah}(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)}(hRIO network IDh]hRIO network ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM<hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM<hjubj)}(h``dev`` Device object h](j)}(h``dev``h]j)}(hjh]hdev}(hj!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 Device objecth]h Device object}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4hM=hj5ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj4hM=hjubj)}(h<``enum_data`` private data specific to a network enumerator h](j)}(h ``enum_data``h]j)}(hjXh]h enum_data}(hjZhhhNhNubah}(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)}(h-private data specific to a network enumeratorh]h-private data specific to a network enumerator}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmhM>hjnubah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jhjmhM>hjubj)}(h0``release`` enumerator-specific release callbackh](j)}(h ``release``h]j)}(hjh]hrelease}(hjhhhNhNubah}(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}(hjhhhNhNubah}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM>hjubeh}(h]h ]h"]h$]h&]uh1jhjxubeh}(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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMEubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMEubj?)}(hrio_mport_attrh]jE)}(hjh]hrio_mport_attr}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMEubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMEubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhMEhjhhubj)}(hhh]h)}(hRIO mport device attributesh]hRIO mport device attributes}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMehj*hhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMEubeh}(h]h ](jstructeh"]h$]h&]jjjjEjjEjjjuh1j 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}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjMubh:}(hjMhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMihjIubjP)}(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; };}hjjsbah}(h]h ]h"]h$]h&]j]j^uh1jOhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMkhjIubh)}(h **Members**h]j)}(hj{h]hMembers}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMthjIubj)}(hhh](j)}(h(``flags`` mport device capability flags h](j)}(h ``flags``h]j)}(hjh]hflags}(hjhhhNhNubah}(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.hhMghjubj)}(hhh]h)}(hmport device capability flagsh]hmport device capability flags}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMghjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMghjubj)}(hK``link_speed`` SRIO link speed value (as defined by RapidIO specification) h](j)}(h``link_speed``h]j)}(hjh]h link_speed}(hjhhhNhNubah}(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.hhMhhjubj)}(hhh]h)}(h;SRIO link speed value (as defined by RapidIO specification)h]h;SRIO link speed value (as defined by RapidIO specification)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhhjubj)}(hK``link_width`` SRIO link width value (as defined by RapidIO specification) h](j)}(h``link_width``h]j)}(hj h]h link_width}(hjhhhNhNubah}(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.hhMihjubj)}(hhh]h)}(h;SRIO link width value (as defined by RapidIO specification)h]h;SRIO link width value (as defined by RapidIO specification)}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!hMihj"ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj!hMihjubj)}(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)}(hjEh]h dma_max_sge}(hjGhhhNhNubah}(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.hhMjhj?ubj)}(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)}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZhMjhj[ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhjZhMjhjubj)}(hG``dma_max_size`` max number of bytes in single DMA transfer (SG entry) h](j)}(h``dma_max_size``h]j)}(hj~h]h dma_max_size}(hjhhhNhNubah}(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.hhMkhjxubj)}(hhh]h)}(h5max number of bytes in single DMA transfer (SG entry)h]h5max number of bytes in single DMA transfer (SG entry)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMkhjubah}(h]h ]h"]h$]h&]uh1jhjxubeh}(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)}(hjh]h dma_align}(hjhhhNhNubah}(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)}(h@alignment shift for DMA operations (as for other DMA operations)h]h@alignment shift for DMA operations (as for other DMA operations)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMlhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMkhjubeh}(h]h ]h"]h$]h&]uh1jhjIubeh}(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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj hhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMrubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj hhhjhMrubj?)}(hrio_opsh]jE)}(hj h]hrio_ops}(hj1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj-ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj hhhjhMrubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj hhhjhMrubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhMrhjhhubj)}(hhh]h)}(h,Low-level RIO configuration space operationsh]h,Low-level RIO configuration space operations}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM{hjPhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMrubeh}(h]h ](jstructeh"]h$]h&]jjjjkjjkjjjuh1j 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}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjsubh:}(hjshhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjoubjP)}(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); };}hjsbah}(h]h ]h"]h$]h&]j]j^uh1jOhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjoubh)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(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.hhMhjoubj)}(hhh](j)}(hI``lcread`` Callback to perform local (master port) read of config space. h](j)}(h ``lcread``h]j)}(hjh]hlcread}(hjhhhNhNubah}(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=Callback to perform local (master port) read of config space.h]h=Callback to perform local (master port) read of config space.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM}hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM}hjubj)}(hK``lcwrite`` Callback to perform local (master port) write of config space. h](j)}(h ``lcwrite``h]j)}(hjh]hlcwrite}(hjhhhNhNubah}(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>Callback to perform local (master port) write of config space.h]h>Callback to perform local (master port) write of config space.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM~hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM~hjubj)}(h<``cread`` Callback to perform network read of config space. h](j)}(h ``cread``h]j)}(hj2h]hcread}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhj,ubj)}(hhh]h)}(h1Callback to perform network read of config space.h]h1Callback to perform network read of config space.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGhMhjHubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhjGhMhjubj)}(h>``cwrite`` Callback to perform network write of config space. h](j)}(h ``cwrite``h]j)}(hjkh]hcwrite}(hjmhhhNhNubah}(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.hhMhjeubj)}(hhh]h)}(h2Callback to perform network write of config space.h]h2Callback to perform network write of config space.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjeubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h/``dsend`` Callback to send a doorbell message. h](j)}(h ``dsend``h]j)}(hjh]hdsend}(hjhhhNhNubah}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hE``pwenable`` Callback to enable/disable port-write message handling. h](j)}(h ``pwenable``h]j)}(hjh]hpwenable}(hjhhhNhNubah}(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)}(h7Callback to enable/disable port-write message handling.h]h7Callback to enable/disable port-write message handling.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h<``open_outb_mbox`` Callback to initialize outbound mailbox. h](j)}(h``open_outb_mbox``h]j)}(hjh]hopen_outb_mbox}(hjhhhNhNubah}(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.}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+hMhj,ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj+hMhjubj)}(h<``close_outb_mbox`` Callback to shut down outbound mailbox. h](j)}(h``close_outb_mbox``h]j)}(hjOh]hclose_outb_mbox}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjMubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjIubj)}(hhh]h)}(h'Callback to shut down outbound mailbox.h]h'Callback to shut down outbound mailbox.}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjdhMhjeubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjdhMhjubj)}(h:``open_inb_mbox`` Callback to initialize inbound mailbox. h](j)}(h``open_inb_mbox``h]j)}(hjh]h open_inb_mbox}(hjhhhNhNubah}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h:``close_inb_mbox`` Callback to shut down inbound mailbox. h](j)}(h``close_inb_mbox``h]j)}(hjh]hclose_inb_mbox}(hjhhhNhNubah}(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 inbound mailbox.h]h&Callback to shut down inbound mailbox.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hM``add_outb_message`` Callback to add a message to an outbound mailbox queue. h](j)}(h``add_outb_message``h]j)}(hjh]hadd_outb_message}(hjhhhNhNubah}(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)}(h7Callback to add a message to an outbound mailbox queue.h]h7Callback to add a message to an outbound mailbox queue.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hI``add_inb_buffer`` Callback to add a buffer to an inbound mailbox queue. h](j)}(h``add_inb_buffer``h]j)}(hj3h]hadd_inb_buffer}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhj-ubj)}(hhh]h)}(h5Callback to add a buffer to an inbound mailbox queue.h]h5Callback to add a buffer to an inbound mailbox queue.}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHhMhjIubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhjHhMhjubj)}(hM``get_inb_message`` Callback to get a message from an inbound mailbox queue. h](j)}(h``get_inb_message``h]j)}(hjlh]hget_inb_message}(hjnhhhNhNubah}(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.hhMhjfubj)}(hhh]h)}(h8Callback to get a message from an inbound mailbox queue.h]h8Callback to get a message from an inbound mailbox queue.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hL``map_inb`` Callback to map RapidIO address region into local memory space. h](j)}(h ``map_inb``h]j)}(hjh]hmap_inb}(hjhhhNhNubah}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hN``unmap_inb`` Callback to unmap RapidIO address region mapped with map_inb(). h](j)}(h ``unmap_inb``h]j)}(hjh]h unmap_inb}(hjhhhNhNubah}(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 unmap RapidIO address region mapped with map_inb().h]h?Callback to unmap RapidIO address region mapped with map_inb().}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h;``query_mport`` Callback to query mport device attributes. h](j)}(h``query_mport``h]j)}(hjh]h query_mport}(hjhhhNhNubah}(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.}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,hMhj-ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj,hMhjubj)}(hN``map_outb`` Callback to map outbound address region into local memory space. h](j)}(h ``map_outb``h]j)}(hjPh]hmap_outb}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjNubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjJubj)}(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.}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjehMhjfubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhjehMhjubj)}(hA``unmap_outb`` Callback to unmap outbound RapidIO address region.h](j)}(h``unmap_outb``h]j)}(hjh]h unmap_outb}(hjhhhNhNubah}(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.}(hjhhhNhNubah}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjoubeh}(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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj?)}(h rio_driverh]jE)}(hjh]h rio_driver}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhMhjhhubj)}(hhh]h)}(hRIO driver infoh]hRIO driver info}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhj"hhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](jstructeh"]h$]h&]jjjj=jj=jjjuh1j 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}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEubh:}(hjEhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjAubjP)}(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; };}hjbsbah}(h]h ]h"]h$]h&]j]j^uh1jOhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjAubh)}(h **Members**h]j)}(hjsh]hMembers}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjqubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjAubj)}(hhh](j)}(h!``node`` Node in list of drivers h](j)}(h``node``h]j)}(hjh]hnode}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h``name`` RIO driver name h](j)}(h``name``h]j)}(hjh]hname}(hjhhhNhNubah}(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 driver nameh]hRIO driver name}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h>``id_table`` RIO device ids to be associated with this driver h](j)}(h ``id_table``h]j)}(hjh]hid_table}(hjhhhNhNubah}(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)}(h0RIO device ids to be associated with this driverh]h0RIO device ids to be associated with this driver}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h``probe`` RIO device inserted h](j)}(h ``probe``h]j)}(hj=h]hprobe}(hj?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.hhMhj7ubj)}(hhh]h)}(hRIO device insertedh]hRIO device inserted}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRhMhjSubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhjRhMhjubj)}(h``remove`` RIO device removed h](j)}(h ``remove``h]j)}(hjvh]hremove}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjtubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjpubj)}(hhh]h)}(hRIO device removedh]hRIO device removed}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjpubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h,``shutdown`` shutdown notification callback h](j)}(h ``shutdown``h]j)}(hjh]hshutdown}(hjhhhNhNubah}(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)}(hshutdown notification callbackh]hshutdown notification callback}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h!``suspend`` RIO device suspended h](j)}(h ``suspend``h]j)}(hjh]hsuspend}(hjhhhNhNubah}(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 suspendedh]hRIO device suspended}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h``resume`` RIO device awakened h](j)}(h ``resume``h]j)}(hj!h]hresume}(hj#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)}(hRIO device awakenedh]hRIO device awakened}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6hMhj7ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6hMhjubj)}(h-``enable_wake`` RIO device enable wake event h](j)}(h``enable_wake``h]j)}(hjZh]h enable_wake}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjTubj)}(hhh]h)}(hRIO device enable wake eventh]hRIO device enable wake event}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjohMhjpubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhjohMhjubj)}(h``driver`` LDM driver structh](j)}(h ``driver``h]j)}(hjh]hdriver}(hjhhhNhNubah}(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}(hjhhhNhNubah}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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.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.}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMubj.)}(h h]h }(hj"hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj!hMubj?)}(hrio_scanh]jE)}(hjh]hrio_scan}(hj4hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj0ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhj!hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj hhhj!hMubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhj!hMhj hhubj)}(hhh]h)}(h(RIO enumeration and discovery operationsh]h(RIO enumeration and discovery operations}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhM hjShhubah}(h]h ]h"]h$]h&]uh1jhj hhhj!hMubeh}(h]h ](jstructeh"]h$]h&]jjjjnjjnjjjuh1j 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}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjvubh:}(hjvhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjrubjP)}(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); };}hjsbah}(h]h ]h"]h$]h&]j]j^uh1jOhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjrubh)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(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.hhMhjrubj)}(hhh](j)}(h-``owner`` The module owner of this structure h](j)}(h ``owner``h]j)}(hjh]howner}(hjhhhNhNubah}(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"The module owner of this structureh]h"The module owner of this structure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM hjubj)}(h>``enumerate`` Callback to perform RapidIO fabric enumeration. h](j)}(h ``enumerate``h]j)}(hjh]h enumerate}(hjhhhNhNubah}(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 enumeration.h]h/Callback to perform RapidIO fabric enumeration.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h:``discover`` Callback to perform RapidIO fabric discovery.h](j)}(h ``discover``h]j)}(hj5h]hdiscover}(hj7hhhNhNubah}(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 perform RapidIO fabric discovery.h]h-Callback to perform RapidIO fabric discovery.}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjKubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhjJhMhjubeh}(h]h ]h"]h$]h&]uh1jhjrubeh}(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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjhhhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj?)}(h rio_scan_nodeh]jE)}(hjh]h rio_scan_node}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhMhjhhubj)}(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.}(hjhhhNhNubah}(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&]uh1jhjhhhjhMubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjjjuh1j 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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubjP)}(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; };}hjsbah}(h]h ]h"]h$]h&]j]j^uh1jOhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjubh)}(h **Members**h]j)}(hjh]hMembers}(hj!hhhNhNubah}(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#hjubj)}(hhh](j)}(h>``mport_id`` ID of an mport (net) serviced by this enumerator h](j)}(h ``mport_id``h]j)}(hj>h]hmport_id}(hj@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.hhMhj8ubj)}(hhh]h)}(h0ID of an mport (net) serviced by this enumeratorh]h0ID of an mport (net) serviced by this enumerator}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjShMhjTubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhjShMhj5ubj)}(h7``node`` node in global list of registered enumerators h](j)}(h``node``h]j)}(hjwh]hnode}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjuubah}(h]h ]h"]h$]h&]uh1jhW/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:63: ./include/linux/rio.hhMhjqubj)}(hhh]h)}(h-node in global list of registered enumeratorsh]h-node in global list of registered enumerators}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjqubeh}(h]h ]h"]h$]h&]uh1jhjhMhj5ubj)}(h0``ops`` RIO enumeration and discovery operationsh](j)}(h``ops``h]j)}(hjh]hops}(hjhhhNhNubah}(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(RIO enumeration and discovery operationsh]h(RIO enumeration and discovery operations}(hjhhhNhNubah}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj5ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubeh}(h] structuresah ]h"] structuresah$]h&]uh1hhjhhhhhK=ubh)}(hhh](h)}(hEnumeration and Discoveryh]hEnumeration and Discovery}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKCubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_destid_alloc (C function)c.rio_destid_allochNtauh1jhjhhhNhNubj )}(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}(hj&hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj#ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj(modnameN classnameNjj)}j]j)}jrio_destid_allocsbc.rio_destid_allocasbuh1hhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chK8ubj.)}(h h]h }(hjHhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjGhK8ubj?)}(hrio_destid_alloch]jE)}(hjDh]hrio_destid_alloc}(hjZhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjVubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjGhK8ubj`)}(h(struct rio_net *net)h]jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hjuhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjqubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjqubh)}(hhh]jE)}(hrio_neth]hrio_net}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jBc.rio_destid_allocasbuh1hhjqubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjqubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjqubjE)}(hneth]hnet}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjqubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjmubah}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjGhK8ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjGhK8ubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjGhK8hjhhubj)}(hhh]h)}(h0Allocate next available destID for given networkh]h0Allocate next available destID for given network}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chK1hjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjGhK8ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(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}(hjhhhNhNubah}(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)}(hj7h]hstruct rio_net *net}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chK2hj1ubj)}(hhh]h)}(h RIO networkh]h RIO network}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLhK2hjMubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhjLhK2hj.ubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjrh]h Description}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1jhjpubah}(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.}(hjhhhNhNubah}(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&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_destid_reserve (C function)c.rio_destid_reservehNtauh1jhjhhhNhNubj )}(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}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKRubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKRubj?)}(hrio_destid_reserveh]jE)}(hrio_destid_reserveh]hrio_destid_reserve}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhKRubj`)}(h!(struct rio_net *net, u16 destid)h](jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_neth]hrio_net}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_destid_reserveasbuh1hhjubj.)}(h h]h }(hj2hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hj@hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hneth]hnet}(hjMhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hjihhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjfubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjkmodnameN classnameNjj)}j]j.c.rio_destid_reserveasbuh1hhjbubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjbubjE)}(hdestidh]hdestid}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjbubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhKRubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhKRubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhKRhjhhubj)}(hhh]h)}(hReserve the specified destIDh]hReserve the specified destID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKKhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKRubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(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)}(hjh]h Parameters}(hjhhhNhNubah}(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.chKOhjubj)}(hhh](j)}(h$``struct rio_net *net`` RIO network h](j)}(h``struct rio_net *net``h]j)}(hjh]hstruct rio_net *net}(hjhhhNhNubah}(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.chKLhjubj)}(hhh]h)}(h RIO networkh]h RIO network}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKLhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKLhjubj)}(h!``u16 destid`` destID to reserve h](j)}(h``u16 destid``h]j)}(hj9h]h u16 destid}(hj;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.chKMhj3ubj)}(hhh]h)}(hdestID to reserveh]hdestID to reserve}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNhKMhjOubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhjNhKMhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjth]h Description}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjrubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKOhjubh)}(h?Tries to reserve the specified destID. Returns 0 if successful.h]h?Tries to reserve the specified destID. Returns 0 if successful.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKOhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_destid_free (C function)c.rio_destid_freehNtauh1jhjhhhNhNubj )}(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}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKeubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKeubj?)}(hrio_destid_freeh]jE)}(hrio_destid_freeh]hrio_destid_free}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhKeubj`)}(h!(struct rio_net *net, u16 destid)h](jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_neth]hrio_net}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_destid_freeasbuh1hhjubj.)}(h h]h }(hj4hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjBhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hneth]hnet}(hjOhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hjkhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjhubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmmodnameN classnameNjj)}j]j0c.rio_destid_freeasbuh1hhjdubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjdubjE)}(hdestidh]hdestid}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjdubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhKeubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhKeubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhKehjhhubj)}(hhh]h)}(h"free a previously allocated destIDh]h"free a previously allocated destID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chK_hjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKeubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(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)}(hjh]h Parameters}(hjhhhNhNubah}(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.chKchjubj)}(hhh](j)}(h$``struct rio_net *net`` RIO network h](j)}(h``struct rio_net *net``h]j)}(hjh]hstruct rio_net *net}(hjhhhNhNubah}(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.chK`hjubj)}(hhh]h)}(h RIO networkh]h RIO network}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK`hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK`hjubj)}(h``u16 destid`` destID to free h](j)}(h``u16 destid``h]j)}(hj;h]h u16 destid}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKahj5ubj)}(hhh]h)}(hdestID to freeh]hdestID to free}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPhKahjQubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhjPhKahjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjvh]h Description}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjtubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKchjubh)}(h-Makes the specified destID available for use.h]h-Makes the specified destID available for use.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKchjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_destid_first (C function)c.rio_destid_firsthNtauh1jhjhhhNhNubj )}(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}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jrio_destid_firstsbc.rio_destid_firstasbuh1hhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKsubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKsubj?)}(hrio_destid_firsth]jE)}(hjh]hrio_destid_first}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhKsubj`)}(h(struct rio_net *net)h]jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hj hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj ubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubh)}(hhh]jE)}(hrio_neth]hrio_net}(hj+hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj(ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj-modnameN classnameNjj)}j]jc.rio_destid_firstasbuh1hhj ubj.)}(h h]h }(hjIhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubj)}(hjh]h*}(hjWhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjE)}(hneth]hnet}(hjdhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubah}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhKsubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhKsubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhKshjhhubj)}(hhh]h)}(hreturn first destID in useh]hreturn first destID in use}(hjhhhNhNubah}(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&]uh1jhjhhhjhKsubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(h5**Parameters** ``struct rio_net *net`` RIO networkh](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(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.chKthjubj)}(hhh]j)}(h#``struct rio_net *net`` RIO networkh](j)}(h``struct rio_net *net``h]j)}(hjh]hstruct rio_net *net}(hjhhhNhNubah}(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.chKvhjubj)}(hhh]h)}(h RIO networkh]h RIO network}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKqhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKvhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_destid_next (C function)c.rio_destid_nexthNtauh1jhjhhhNhNubj )}(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}(hj,hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj)ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj.modnameN classnameNjj)}j]j)}jrio_destid_nextsbc.rio_destid_nextasbuh1hhj%hhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKubj.)}(h h]h }(hjNhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%hhhjMhKubj?)}(hrio_destid_nexth]jE)}(hjJh]hrio_destid_next}(hj`hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj\ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj%hhhjMhKubj`)}(h(struct rio_net *net, u16 from)h](jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hj{hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjwubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjwubh)}(hhh]jE)}(hrio_neth]hrio_net}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jHc.rio_destid_nextasbuh1hhjwubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjwubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjwubjE)}(hneth]hnet}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjwubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjsubjf)}(hu16 fromh](h)}(hhh]jE)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jHc.rio_destid_nextasbuh1hhjubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hfromh]hfrom}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjsubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj%hhhjMhKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj!hhhjMhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjMhKhjhhubj)}(hhh]h)}(hreturn next destID in useh]hreturn next destID in use}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjAhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjMhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj\jj\jjjuh1j hhhjhNhNubj)}(hu**Parameters** ``struct rio_net *net`` RIO network ``u16 from`` destination ID from which search shall continueh](h)}(h**Parameters**h]j)}(hjfh]h Parameters}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjdubah}(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 h](j)}(h``struct rio_net *net``h]j)}(hjh]hstruct rio_net *net}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj|ubj)}(h<``u16 from`` destination ID from which search shall continueh](j)}(h ``u16 from``h]j)}(hjh]hu16 from}(hjhhhNhNubah}(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/destination ID from which search shall continueh]h/destination ID from which search shall continue}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj|ubeh}(h]h ]h"]h$]h&]uh1jhj`ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_get_device_id (C function)c.rio_get_device_idhNtauh1jhjhhhNhNubj )}(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}(hjhhhNhNubah}(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 }(hj=hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj<hKubj?)}(hrio_get_device_idh]jE)}(hj9h]hrio_get_device_id}(hjOhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjKubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhj<hKubj`)}(h1(struct rio_mport *port, u16 destid, u8 hopcount)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hjjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjfubj.)}(h h]h }(hjwhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjfubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j7c.rio_get_device_idasbuh1hhjfubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjfubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjfubjE)}(hporth]hport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjfubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjbubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j7c.rio_get_device_idasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdestidh]hdestid}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjbubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hj%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj"ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj'modnameN classnameNjj)}j]j7c.rio_get_device_idasbuh1hhjubj.)}(h h]h }(hjChhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hjQhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjbubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhj<hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhj<hKubah}(h]j ah ](jjeh"]h$]h&]jj)jhuh1jhj<hKhj hhubj)}(hhh]h)}(h,Get the base/extended device id for a deviceh]h,Get the base/extended device id for a device}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjxhhubah}(h]h ]h"]h$]h&]uh1jhj hhhj<hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h(``u16 destid`` Destination ID of device h](j)}(h``u16 destid``h]j)}(hjh]h u16 destid}(hjhhhNhNubah}(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)}(hDestination ID of deviceh]hDestination ID of device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hKhjubj)}(h#``u8 hopcount`` Hopcount to device h](j)}(h``u8 hopcount``h]j)}(hj.h]h u8 hopcount}(hj0hhhNhNubah}(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.chKhj(ubj)}(hhh]h)}(hHopcount to deviceh]hHopcount to device}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjChKhjDubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhjChKhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjih]h Description}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjgubah}(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.}(hjhhhNhNubah}(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&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_set_device_id (C function)c.rio_set_device_idhNtauh1jhjhhhNhNubj )}(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}(hjhhhNhNubah}(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 }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKubj?)}(hrio_set_device_idh]jE)}(hrio_set_device_idh]hrio_set_device_id}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhKubj`)}(h:(struct rio_mport *port, u16 destid, u8 hopcount, u16 did)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j)}jjsbc.rio_set_device_idasbuh1hhjubj.)}(h h]h }(hj)hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hj7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hporth]hport}(hjDhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hj`hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj]ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjbmodnameN classnameNjj)}j]j%c.rio_set_device_idasbuh1hhjYubj.)}(h h]h }(hj~hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYubjE)}(hdestidh]hdestid}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjYubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j%c.rio_set_device_idasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hu16 didh](h)}(hhh]jE)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j%c.rio_set_device_idasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdidh]hdid}(hjhhhNhNubah}(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&]jj)jhuh1jhjhKhjhhubj)}(hhh]h)}(h,Set the base/extended device id for a deviceh]h,Set the base/extended device id for a device}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjChhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj^jj^jjjuh1j hhhjhNhNubj)}(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)}(hjhh]h Parameters}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjfubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjbubj)}(hhh](j)}(h+``struct rio_mport *port`` RIO master port h](j)}(h``struct rio_mport *port``h]j)}(hjh]hstruct rio_mport *port}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj~ubj)}(h(``u16 destid`` Destination ID of device h](j)}(h``u16 destid``h]j)}(hjh]h u16 destid}(hjhhhNhNubah}(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)}(hDestination ID of deviceh]hDestination ID of device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj~ubj)}(h#``u8 hopcount`` Hopcount to device h](j)}(h``u8 hopcount``h]j)}(hjh]h u8 hopcount}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj~ubj)}(h*``u16 did`` Device ID value to be written h](j)}(h ``u16 did``h]j)}(hj2h]hu16 did}(hj4hhhNhNubah}(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)}(hDevice ID value to be writtenh]hDevice ID value to be written}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGhKhjHubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhjGhKhj~ubeh}(h]h ]h"]h$]h&]uh1jhjbubh)}(h**Description**h]j)}(hjmh]h Description}(hjohhhNhNubah}(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.chKhjbubh)}(h1Writes the base/extended device id from a device.h]h1Writes the base/extended device id from a device.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjbubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_clear_locks (C function)c.rio_clear_lockshNtauh1jhjhhhNhNubj )}(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}(hjhhhNhNubah}(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 }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhKubj?)}(hrio_clear_locksh]jE)}(hrio_clear_locksh]hrio_clear_locks}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhKubj`)}(h(struct rio_net *net)h]jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_neth]hrio_net}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_clear_locksasbuh1hhjubj.)}(h h]h }(hj-hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hj;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hneth]hnet}(hjHhhhNhNubah}(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&]jj)jhuh1jhjhKhjhhubj)}(hhh]h)}(h6Release all host locks and signal enumeration completeh]h6Release all host locks and signal enumeration complete}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhjohhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(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}(hjhhhNhNubah}(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 to run on h](j)}(h``struct rio_net *net``h]j)}(hjh]hstruct rio_net *net}(hjhhhNhNubah}(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 network to run onh]hRIO network to run on}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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)}(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 }(hjhhhNhNubj)}(h ``-EINVAL``h]h-EINVAL}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 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&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_enum_host (C function)c.rio_enum_hosthNtauh1jhjhhhNhNubj )}(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}(hjEhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjAhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKubj.)}(h h]h }(hjThhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjAhhhjShKubj?)}(h rio_enum_hosth]jE)}(h rio_enum_hosth]h rio_enum_host}(hjfhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjbubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjAhhhjShKubj`)}(h(struct rio_mport *port)h]jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj~ubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj~ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjhsbc.rio_enum_hostasbuh1hhj~ubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj~ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj~ubjE)}(hporth]hport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj~ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjzubah}(h]h ]h"]h$]h&]j]j^uh1j_hjAhhhjShKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj=hhhjShKubah}(h]j8ah ](jjeh"]h$]h&]jj)jhuh1jhjShKhj:hhubj)}(hhh]h)}(h0Set host lock and initialize host destination IDh]h0Set host lock and initialize host destination ID}(hjhhhNhNubah}(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:hhhjShKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(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)}(hj'h]h Parameters}(hj)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.chKhj!ubj)}(hhh]j)}(h<``struct rio_mport *port`` Master port to issue transaction h](j)}(h``struct rio_mport *port``h]j)}(hjFh]hstruct rio_mport *port}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chKhj@ubj)}(hhh]h)}(h Master port to issue transactionh]h Master port to issue transaction}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[hKhj\ubah}(h]h ]h"]h$]h&]uh1jhj@ubeh}(h]h ]h"]h$]h&]uh1jhj[hKhj=ubah}(h]h ]h"]h$]h&]uh1jhj!ubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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!ubh)}(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 }(hjhhhNhNubj)}(h``0``h]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh on success or }(hjhhhNhNubj)}(h``-1``h]h-1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 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&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"rio_device_has_destid (C function)c.rio_device_has_destidhNtauh1jhjhhhNhNubj )}(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}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM ubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhM ubj?)}(hrio_device_has_destidh]jE)}(hrio_device_has_destidh]hrio_device_has_destid}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhM ubj`)}(h2(struct rio_mport *port, int src_ops, int dst_ops)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hj'hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj#ubj.)}(h h]h }(hj4hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj#ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjEhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjGmodnameN classnameNjj)}j]j)}jj sbc.rio_device_has_destidasbuh1hhj#ubj.)}(h h]h }(hjehhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj#ubj)}(hjh]h*}(hjshhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj#ubjE)}(hporth]hport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj#ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h int src_opsh](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hsrc_opsh]hsrc_ops}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h int dst_opsh](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdst_opsh]hdst_ops}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhM ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhM ubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhM hjhhubj)}(hhh]h)}(h3Test if a device contains a destination ID registerh]h3Test if a device contains a destination ID register}(hjhhhNhNubah}(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&]uh1jhjhhhjhM ubeh}(h]h ](jfunctioneh"]h$]h&]jjjj,jj,jjjuh1j hhhjhNhNubj)}(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)}(hj6h]h Parameters}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj0ubj)}(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}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjOubj)}(hhh]h)}(h Master port to issue transactionh]h Master port to issue transaction}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjhMhjkubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhjjhMhjLubj)}(h-``int src_ops`` RIO device source operations h](j)}(h``int src_ops``h]j)}(hjh]h int src_ops}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjLubj)}(h2``int dst_ops`` RIO device destination operations h](j)}(h``int dst_ops``h]j)}(hjh]h int dst_ops}(hjhhhNhNubah}(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 device destination operationsh]h!RIO device destination operations}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjLubeh}(h]h ]h"]h$]h&]uh1jhj0ubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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.chMhj0ubh)}(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 }(hjhhhNhNubj)}(h **src_ops**h]hsrc_ops}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and }(hjhhhNhNubj)}(h **dst_ops**h]hdst_ops}(hj2hhhNhNubah}(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.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj0ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_release_dev (C function)c.rio_release_devhNtauh1jhjhhhNhNubj )}(hhh](j)}(h)void rio_release_dev (struct device *dev)h]j)}(h(void rio_release_dev(struct device *dev)h](j)}(hvoidh]hvoid}(hjkhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjghhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMubj.)}(h h]h }(hjzhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjghhhjyhMubj?)}(hrio_release_devh]jE)}(hrio_release_devh]hrio_release_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjghhhjyhMubj`)}(h(struct device *dev)h]jf)}(hstruct device *devh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hdeviceh]hdevice}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_release_devasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hdevh]hdev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubah}(h]h ]h"]h$]h&]j]j^uh1j_hjghhhjyhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjchhhjyhMubah}(h]j^ah ](jjeh"]h$]h&]jj)jhuh1jhjyhMhj`hhubj)}(hhh]h)}(hFrees a RIO device structh]hFrees a RIO device struct}(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&]uh1jhj`hhhjyhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjCjjCjjjuh1j hhhjhNhNubj)}(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)}(hjMh]h Parameters}(hjOhhhNhNubah}(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.chMhjGubj)}(hhh]j)}(hF``struct device *dev`` LDM device associated with a RIO device struct h](j)}(h``struct device *dev``h]j)}(hjlh]hstruct device *dev}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjjubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjfubj)}(hhh]h)}(h.LDM device associated with a RIO device structh]h.LDM device associated with a RIO device struct}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]uh1jhjhMhjcubah}(h]h ]h"]h$]h&]uh1jhjGubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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.chMhjGubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjGubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_is_switch (C function)c.rio_is_switchhNtauh1jhjhhhNhNubj )}(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}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM+ubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhM+ubj?)}(h rio_is_switchh]jE)}(h rio_is_switchh]h rio_is_switch}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhM+ubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hj)hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj%ubj.)}(h h]h }(hj6hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjDubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjImodnameN classnameNjj)}j]j)}jjsbc.rio_is_switchasbuh1hhj%ubj.)}(h h]h }(hjghhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%ubj)}(hjh]h*}(hjuhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%ubjE)}(hrdevh]hrdev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj!ubah}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhM+ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhM+ubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhM+hjhhubj)}(hhh]h)}(h-Tests if a RIO device has switch capabilitiesh]h-Tests if a RIO device has switch capabilities}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM#hjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhM+ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(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)}(hjh]h Parameters}(hjhhhNhNubah}(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'hjubj)}(hhh]j)}(h$``struct rio_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hjh]hstruct rio_dev *rdev}(hjhhhNhNubah}(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.chM$hjubj)}(hhh]h)}(h RIO deviceh]h RIO device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM$hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM$hjubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hj(h]h Description}(hj*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.chM&hjubh)}(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.}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM&hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_setup_device (C function)c.rio_setup_devicehNtauh1jhjhhhNhNubj )}(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}(hjmhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjihhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMBubj.)}(h h]h }(hj{hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjihhhjzhMBubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jrio_setup_devicesbc.rio_setup_deviceasbuh1hhjihhhjzhMBubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjihhhjzhMBubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjihhhjzhMBubj?)}(hrio_setup_deviceh]jE)}(hjh]hrio_setup_device}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjihhhjzhMBubj`)}(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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_neth]hrio_net}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_setup_deviceasbuh1hhjubj.)}(h h]h }(hj#hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hj1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hneth]hnet}(hj>hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hjWhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjSubj.)}(h h]h }(hjdhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjSubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjuhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjrubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjwmodnameN classnameNjj)}j]jc.rio_setup_deviceasbuh1hhjSubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjSubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjSubjE)}(hporth]hport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjSubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_setup_deviceasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdestidh]hdestid}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_setup_deviceasbuh1hhj ubj.)}(h h]h }(hj0hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubjE)}(hhopcounth]hhopcount}(hj>hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h int do_enumh](j)}(hinth]hint}(hjWhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjSubj.)}(h h]h }(hjehhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjSubjE)}(hdo_enumh]hdo_enum}(hjshhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjSubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjihhhjzhMBubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjehhhjzhMBubah}(h]j`ah ](jjeh"]h$]h&]jj)jhuh1jhjzhMBhjbhhubj)}(hhh]h)}(h"Allocates and sets up a RIO deviceh]h"Allocates and sets up a RIO device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM3hjhhubah}(h]h ]h"]h$]h&]uh1jhjbhhhjzhMBubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(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)}(hjh]h Parameters}(hjhhhNhNubah}(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.chM7hjubj)}(hhh](j)}(h$``struct rio_net *net`` RIO network h](j)}(h``struct rio_net *net``h]j)}(hjh]hstruct rio_net *net}(hjhhhNhNubah}(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.chM4hjubj)}(hhh]h)}(h RIO networkh]h RIO network}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM4hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM4hjubj)}(h<``struct rio_mport *port`` Master port to send transactions h](j)}(h``struct rio_mport *port``h]j)}(hjh]hstruct rio_mport *port}(hjhhhNhNubah}(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}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,hM5hj-ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj,hM5hjubj)}(h&``u16 destid`` Current destination ID h](j)}(h``u16 destid``h]j)}(hjPh]h u16 destid}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjNubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM6hjJubj)}(hhh]h)}(hCurrent destination IDh]hCurrent destination ID}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjehM6hjfubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhjehM6hjubj)}(h!``u8 hopcount`` Current hopcount h](j)}(h``u8 hopcount``h]j)}(hjh]h u8 hopcount}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM7hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM7hjubj)}(h0``int do_enum`` Enumeration/Discovery mode flag h](j)}(h``int do_enum``h]j)}(hjh]h int do_enum}(hjhhhNhNubah}(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.chM8hjubj)}(hhh]h)}(hEnumeration/Discovery mode flagh]hEnumeration/Discovery mode flag}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM8hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM8hjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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:hjubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM:hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j rio_sport_is_active (C function)c.rio_sport_is_activehNtauh1jhjhhhNhNubj )}(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}(hjBhhhNhNubah}(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 }(hjQhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj>hhhjPhMubj?)}(hrio_sport_is_activeh]jE)}(hrio_sport_is_activeh]hrio_sport_is_active}(hjchhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj_ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj>hhhjPhMubj`)}(h(struct rio_dev *rdev, int sp)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj{ubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj{ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjesbc.rio_sport_is_activeasbuh1hhj{ubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj{ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj{ubjE)}(hrdevh]hrdev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj{ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjwubjf)}(hint sph](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hsph]hsp}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjwubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj>hhhjPhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj:hhhjPhMubah}(h]j5ah ](jjeh"]h$]h&]jj)jhuh1jhjPhMhj7hhubj)}(hhh]h)}(h0Tests if a switch port has an active connection.h]h0Tests if a switch port has an active connection.}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj4hhubah}(h]h ]h"]h$]h&]uh1jhj7hhhjPhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjOjjOjjjuh1j hhhjhNhNubj)}(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)}(hjYh]h Parameters}(hj[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.chMhjSubj)}(hhh](j)}(h/``struct rio_dev *rdev`` RapidIO device object h](j)}(h``struct rio_dev *rdev``h]j)}(hjxh]hstruct rio_dev *rdev}(hjzhhhNhNubah}(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.chMhjrubj)}(hhh]h)}(hRapidIO device objecth]hRapidIO device object}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjrubeh}(h]h ]h"]h$]h&]uh1jhjhMhjoubj)}(h``int sp`` Switch port number h](j)}(h ``int sp``h]j)}(hjh]hint sp}(hjhhhNhNubah}(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)}(hSwitch port numberh]hSwitch port number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjoubeh}(h]h ]h"]h$]h&]uh1jhjSubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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.chMhjSubh)}(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 }(hjhhhNhNubj)}(h``RIO_PORT_N_ERR_STS_PORT_OK``h]hRIO_PORT_N_ERR_STS_PORT_OK}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh if the port is active or }(hjhhhNhNubj)}(h``0``h]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 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.chMhjSubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j'rio_get_host_deviceid_lock (C function)c.rio_get_host_deviceid_lockhNtauh1jhjhhhNhNubj )}(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}(hjXhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjUubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjZmodnameN classnameNjj)}j]j)}jrio_get_host_deviceid_locksbc.rio_get_host_deviceid_lockasbuh1hhjQhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMubj.)}(h h]h }(hjzhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjQhhhjyhMubj?)}(hrio_get_host_deviceid_lockh]jE)}(hjvh]hrio_get_host_deviceid_lock}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjQhhhjyhMubj`)}(h%(struct rio_mport *port, u8 hopcount)h](jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jtc.rio_get_host_deviceid_lockasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hporth]hport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jtc.rio_get_host_deviceid_lockasbuh1hhjubj.)}(h h]h }(hj8hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hjFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjQhhhjyhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjMhhhjyhMubah}(h]jHah ](jjeh"]h$]h&]jj)jhuh1jhjyhMhjJhhubj)}(hhh]h)}(h-Reads the Host Device ID Lock CSR on a deviceh]h-Reads the Host Device ID Lock CSR on a device}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjmhhubah}(h]h ]h"]h$]h&]uh1jhjJhhhjyhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(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)}(hjh]h Parameters}(hjhhhNhNubah}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h-``u8 hopcount`` Number of hops to the device h](j)}(h``u8 hopcount``h]j)}(hjh]h u8 hopcount}(hjhhhNhNubah}(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 to the deviceh]hNumber of hops to the device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hj%h]h Description}(hj'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.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.}(hj;hhhNhNubah}(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&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_enum_peer (C function)c.rio_enum_peerhNtauh1jhjhhhNhNubj )}(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}(hjjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjfhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMubj.)}(h h]h }(hjyhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjfhhhjxhMubj?)}(h rio_enum_peerh]jE)}(h rio_enum_peerh]h rio_enum_peer}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjfhhhjxhMubj`)}(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}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_neth]hrio_net}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_enum_peerasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hneth]hnet}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hj&hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj7hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj4ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj9modnameN classnameNjj)}j]jc.rio_enum_peerasbuh1hhjubj.)}(h h]h }(hjUhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjchhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hporth]hport}(hjphhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_enum_peerasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hstruct rio_dev *prevh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_enum_peerasbuh1hhjubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hprevh]hprev}(hj(hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h int prev_porth](j)}(hinth]hint}(hjAhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj=ubj.)}(h h]h }(hjOhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj=ubjE)}(h prev_porth]h prev_port}(hj]hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj=ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjfhhhjxhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjbhhhjxhMubah}(h]j]ah ](jjeh"]h$]h&]jj)jhuh1jhjxhMhj_hhubj)}(hhh]h)}(h9Recursively enumerate a RIO network through a master porth]h9Recursively enumerate a RIO network through a master port}(hjhhhNhNubah}(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&]uh1jhj_hhhjxhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(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)}(hjh]h Parameters}(hjhhhNhNubah}(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 enumerated h](j)}(h``struct rio_net *net``h]j)}(hjh]hstruct rio_net *net}(hjhhhNhNubah}(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 enumeratedh]hRIO network being enumerated}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h<``struct rio_mport *port`` Master port to send transactions h](j)}(h``struct rio_mport *port``h]j)}(hjh]hstruct rio_mport *port}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h0``u8 hopcount`` Number of hops into the network h](j)}(h``u8 hopcount``h]j)}(hj:h]h u8 hopcount}(hj<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.chMhj4ubj)}(hhh]h)}(hNumber of hops into the networkh]hNumber of hops into the network}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOhMhjPubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhjOhMhjubj)}(hM``struct rio_dev *prev`` Previous RIO device connected to the enumerated one h](j)}(h``struct rio_dev *prev``h]j)}(hjsh]hstruct rio_dev *prev}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjqubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjmubj)}(hhh]h)}(h3Previous RIO device connected to the enumerated oneh]h3Previous RIO device connected to the enumerated one}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjmubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h.``int prev_port`` Port on previous RIO device h](j)}(h``int prev_port``h]j)}(hjh]h int prev_port}(hjhhhNhNubah}(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.chM hjubj)}(hhh]h)}(hPort on previous RIO deviceh]hPort on previous RIO device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM hjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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 hjubh)}(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 }(hjhhhNhNubj)}(h**port**h]hport}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_enum_complete (C function)c.rio_enum_completehNtauh1jhjhhhNhNubj )}(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}(hj>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 }(hjMhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj:hhhjLhMubj?)}(hrio_enum_completeh]jE)}(hrio_enum_completeh]hrio_enum_complete}(hj_hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj[ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj:hhhjLhMubj`)}(h(struct rio_mport *port)h]jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hj{hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjwubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjwubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjasbc.rio_enum_completeasbuh1hhjwubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjwubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjwubjE)}(hporth]hport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjwubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjsubah}(h]h ]h"]h$]h&]j]j^uh1j_hj:hhhjLhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj6hhhjLhMubah}(h]j1ah ](jjeh"]h$]h&]jj)jhuh1jhjLhMhj3hhubj)}(hhh]h)}(h-Tests if enumeration of a network is completeh]h-Tests if enumeration of a network is complete}(hjhhhNhNubah}(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&]uh1jhj3hhhjLhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(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)}(hj h]h Parameters}(hj"hhhNhNubah}(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)}(hj?h]hstruct rio_mport *port}(hjAhhhNhNubah}(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.chMhj9ubj)}(hhh]h)}(hMaster port to send transactionh]hMaster port to send transaction}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjThMhjUubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhjThMhj6ubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjzh]h Description}(hj|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.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 }(hjhhhNhNubj)}(h``1``h]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh if enumeration is complete or }(hjhhhNhNubj)}(h``0``h]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh if enumeration is incomplete.}(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&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_disc_peer (C function)c.rio_disc_peerhNtauh1jhjhhhNhNubj )}(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}(hjhhhNhNubah}(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 }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj?)}(h rio_disc_peerh]jE)}(h rio_disc_peerh]h rio_disc_peer}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubj`)}(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}(hj hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hj-hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_neth]hrio_net}(hj>hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj;ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj@modnameN classnameNjj)}j]j)}jjsbc.rio_disc_peerasbuh1hhjubj.)}(h h]h }(hj^hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjlhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hneth]hnet}(hjyhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jZc.rio_disc_peerasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hporth]hport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jZc.rio_disc_peerasbuh1hhjubj.)}(h h]h }(hj#hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdestidh]hdestid}(hj1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hjMhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjJubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjOmodnameN classnameNjj)}j]jZc.rio_disc_peerasbuh1hhjFubj.)}(h h]h }(hjkhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjFubjE)}(hhopcounth]hhopcount}(hjyhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjFubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hstruct rio_dev *prevh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jZc.rio_disc_peerasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hprevh]hprev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h int prev_porth](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(h prev_porth]h prev_port}(hjhhhNhNubah}(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&]jj)jhuh1jhjhMhjhhubj)}(hhh]h)}(h9Recursively discovers a RIO network through a master porth]h9Recursively discovers a RIO network through a master port}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjEhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj`jj`jjjuh1j hhhjhNhNubj)}(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)}(hjjh]h Parameters}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjdubj)}(hhh](j)}(h5``struct rio_net *net`` RIO network being discovered h](j)}(h``struct rio_net *net``h]j)}(hjh]hstruct rio_net *net}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h<``struct rio_mport *port`` Master port to send transactions h](j)}(h``struct rio_mport *port``h]j)}(hjh]hstruct rio_mport *port}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h1``u16 destid`` Current destination ID in network h](j)}(h``u16 destid``h]j)}(hjh]h u16 destid}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h0``u8 hopcount`` Number of hops into the network h](j)}(h``u8 hopcount``h]j)}(hj4h]h u8 hopcount}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhj.ubj)}(hhh]h)}(hNumber of hops into the networkh]hNumber of hops into the network}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIhMhjJubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhjIhMhjubj)}(h*``struct rio_dev *prev`` previous rio_dev h](j)}(h``struct rio_dev *prev``h]j)}(hjmh]hstruct rio_dev *prev}(hjohhhNhNubah}(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)}(hprevious rio_devh]hprevious rio_dev}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h'``int prev_port`` previous port number h](j)}(h``int prev_port``h]j)}(hjh]h int prev_port}(hjhhhNhNubah}(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 port numberh]hprevious port number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjdubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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.chMhjdubh)}(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 }(hjhhhNhNubj)}(h**port**h]hport}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMhjdubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j rio_mport_is_active (C function)c.rio_mport_is_activehNtauh1jhjhhhNhNubj )}(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}(hj8hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj4hhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM!ubj.)}(h h]h }(hjGhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj4hhhjFhM!ubj?)}(hrio_mport_is_activeh]jE)}(hrio_mport_is_activeh]hrio_mport_is_active}(hjYhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjUubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj4hhhjFhM!ubj`)}(h(struct rio_mport *port)h]jf)}(hstruct rio_mport *porth](jl)}(hjoh]hstruct}(hjuhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjqubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjqubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jj[sbc.rio_mport_is_activeasbuh1hhjqubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjqubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjqubjE)}(hporth]hport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjqubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjmubah}(h]h ]h"]h$]h&]j]j^uh1j_hj4hhhjFhM!ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj0hhhjFhM!ubah}(h]j+ah ](jjeh"]h$]h&]jj)jhuh1jhjFhM!hj-hhubj)}(hhh]h)}(h#Tests if master port link is activeh]h#Tests if master port link is active}(hjhhhNhNubah}(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&]uh1jhj-hhhjFhM!ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(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}(hjhhhNhNubah}(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)}(hj9h]hstruct rio_mport *port}(hj;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.chMhj3ubj)}(hhh]h)}(hMaster port to testh]hMaster port to test}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNhMhjOubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhjNhMhj0ubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjth]h Description}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjrubah}(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 }(hjhhhNhNubj)}(h``RIO_PORT_N_ERR_STS_PORT_OK``h]hRIO_PORT_N_ERR_STS_PORT_OK}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh" if the master port is active or }(hjhhhNhNubj)}(h``0``h]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 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&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$rio_update_route_tables (C function)c.rio_update_route_tableshNtauh1jhjhhhNhNubj )}(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}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM{ubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhM{ubj?)}(hrio_update_route_tablesh]jE)}(hrio_update_route_tablesh]hrio_update_route_tables}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhM{ubj`)}(h(struct rio_net *net)h]jf)}(hstruct rio_net *neth](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hj'hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_neth]hrio_net}(hj8hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj5ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj:modnameN classnameNjj)}j]j)}jjsbc.rio_update_route_tablesasbuh1hhjubj.)}(h h]h }(hjXhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjfhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hneth]hnet}(hjshhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubah}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhjhM{ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhM{ubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhM{hjhhubj)}(hhh]h)}(h Updates route tables in switchesh]h Updates route tables in switches}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMthjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhM{ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(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)}(hjh]h Parameters}(hjhhhNhNubah}(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.chMxhjubj)}(hhh]j)}(h5``struct rio_net *net`` RIO network to run update on h](j)}(h``struct rio_net *net``h]j)}(hjh]hstruct rio_net *net}(hjhhhNhNubah}(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.chMuhjubj)}(hhh]h)}(hRIO network to run update onh]hRIO network to run update on}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMuhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMuhjubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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.chMwhjubh)}(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.}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMwhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_init_em (C function) c.rio_init_emhNtauh1jhjhhhNhNubj )}(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}(hj^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 }(hjmhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjZhhhjlhMubj?)}(h rio_init_emh]jE)}(h rio_init_emh]h rio_init_em}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj{ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjZhhhjlhMubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsb c.rio_init_emasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubah}(h]h ]h"]h$]h&]j]j^uh1j_hjZhhhjlhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjVhhhjlhMubah}(h]jQah ](jjeh"]h$]h&]jj)jhuh1jhjlhMhjShhubj)}(hhh]h)}(h/Initializes RIO Error Management (for switches)h]h/Initializes RIO Error Management (for switches)}(hjhhhNhNubah}(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&]uh1jhjShhhjlhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj6jj6jjjuh1j hhhjhNhNubj)}(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)}(hj@h]h Parameters}(hjBhhhNhNubah}(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_dev *rdev`` RIO device h](j)}(h``struct rio_dev *rdev``h]j)}(hj_h]hstruct rio_dev *rdev}(hjahhhNhNubah}(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.chMhjYubj)}(hhh]h)}(h RIO deviceh]h RIO device}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjthMhjuubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjthMhjVubah}(h]h ]h"]h$]h&]uh1jhj:ubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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.chMhj:ubh)}(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).}(hjhhhNhNubah}(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&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_enum_mport (C function)c.rio_enum_mporthNtauh1jhjhhhNhNubj )}(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}(hjhhhNhNubah}(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 }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj?)}(hrio_enum_mporth]jE)}(hrio_enum_mporth]hrio_enum_mport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubj`)}(h$(struct rio_mport *mport, u32 flags)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hj)hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj:hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj7ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj<modnameN classnameNjj)}j]j)}jjsbc.rio_enum_mportasbuh1hhjubj.)}(h h]h }(hjZhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hmporth]hmport}(hjuhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(h u32 flagsh](h)}(hhh]jE)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jVc.rio_enum_mportasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hflagsh]hflags}(hjhhhNhNubah}(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&]jj)jhuh1jhjhMhjhhubj)}(hhh]h)}(h'Start enumeration through a master porth]h'Start enumeration through a master port}(hjhhhNhNubah}(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&]jjjjjjjjjuh1j hhhjhNhNubj)}(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.Ch](h)}(h**Parameters**h]j)}(hj h]h Parameters}(hj 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}(hj* 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}(hjA hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj= hMhj> ubah}(h]h ]h"]h$]h&]uh1jhj" ubeh}(h]h ]h"]h$]h&]uh1jhj= hMhj ubj)}(h(``u32 flags`` Enumeration control flags h](j)}(h ``u32 flags``h]j)}(hja h]h u32 flags}(hjc 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}(hjz hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjv hMhjw ubah}(h]h ]h"]h$]h&]uh1jhj[ ubeh}(h]h ]h"]h$]h&]uh1jhjv hMhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]j)}(hj h]h Description}(hj 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 }(hj hhhNhNubj)}(h``0``h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh if enumeration succeeds or }(hj hhhNhNubj)}(h ``-EBUSY``h]h-EBUSY}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh if enumeration fails.}(hj 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&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j#rio_build_route_tables (C function)c.rio_build_route_tableshNtauh1jhjhhhNhNubj )}(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}(hj 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 }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj hhhj hMubj?)}(hrio_build_route_tablesh]jE)}(hrio_build_route_tablesh]hrio_build_route_tables}(hj& 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}(hjB hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj> ubj.)}(h h]h }(hjO hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj> ubh)}(hhh]jE)}(hrio_neth]hrio_net}(hj` hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj] ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjb modnameN classnameNjj)}j]j)}jj( sbc.rio_build_route_tablesasbuh1hhj> ubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj> ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj> ubjE)}(hneth]hnet}(hj 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&]jj)jhuh1jhj hMhj hhubj)}(hhh]h)}(h/Generate route tables from switch route entriesh]h/Generate route tables from switch route entries}(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&]uh1jhj hhhj hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj jj jjjuh1j hhhjhNhNubj)}(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}(hj 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}(hj 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 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]j)}(hjA h]h Description}(hjC 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.}(hjW 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&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_disc_mport (C function)c.rio_disc_mporthNtauh1jhjhhhNhNubj )}(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}(hj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj hhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM(ubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj hhhj hM(ubj?)}(hrio_disc_mporth]jE)}(hrio_disc_mporth]hrio_disc_mport}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj hhhj hM(ubj`)}(h$(struct rio_mport *mport, u32 flags)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hj hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj ubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j)}jj sbc.rio_disc_mportasbuh1hhj ubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjE)}(hmporth]hmport}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj ubjf)}(h u32 flagsh](h)}(hhh]jE)}(hu32h]hu32}(hj8 hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj5 ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj: modnameN classnameNjj)}j]j c.rio_disc_mportasbuh1hhj1 ubj.)}(h h]h }(hjV hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj1 ubjE)}(hflagsh]hflags}(hjd hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj1 ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj hhhj hM(ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj~ hhhj hM(ubah}(h]jy ah ](jjeh"]h$]h&]jj)jhuh1jhj hM(hj{ hhubj)}(hhh]h)}(h%Start discovery through a master porth]h%Start discovery through a master port}(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&]uh1jhj{ hhhj hM(ubeh}(h]h ](jfunctioneh"]h$]h&]jjjj jj jjjuh1j hhhjhNhNubj)}(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)}(hj h]h Parameters}(hj 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.chM!hj 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}(hj 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 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hMhj ubj)}(h&``u32 flags`` discovery control flags h](j)}(h ``u32 flags``h]j)}(hj h]h u32 flags}(hj 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! hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hMhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]j)}(hjC h]h Description}(hjE hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjA ubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM!hj 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 }(hjY hhhNhNubj)}(h``0``h]h0}(hja hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjY ubh if discovery succeeds or }(hjY hhhNhNubj)}(h ``-EBUSY``h]h-EBUSY}(hjs hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjY ubh on failure.}(hjY hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chM!hj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_basic_attach (C function)c.rio_basic_attachhNtauh1jhjhhhNhNubj )}(hhh](j)}(hint rio_basic_attach (void)h]j)}(hint rio_basic_attach(void)h](j)}(hinth]hint}(hj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj hhh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMzubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj hhhj hMzubj?)}(hrio_basic_attachh]jE)}(hrio_basic_attachh]hrio_basic_attach}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj hhhj hMzubj`)}(h(void)h]jf)}(hvoidh]j)}(hvoidh]hvoid}(hj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]noemphj]j^uh1jehj ubah}(h]h ]h"]h$]h&]j]j^uh1j_hj hhhj hMzubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj hhhj hMzubah}(h]j ah ](jjeh"]h$]h&]jj)jhuh1jhj hMzhj hhubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj hhhj hMzubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(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)}(hj&h]h Parameters}(hj(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.chMqhj ubj)}(hhh]j)}(h``void`` no arguments h](j)}(h``void``h]j)}(hjEh]hvoid}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjCubah}(h]h ]h"]h$]h&]uh1jh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMthj?ubj)}(hhh]h)}(h no argumentsh]h no arguments}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZhMthj[ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhjZhMthj<ubah}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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.chMvhj ubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMohj ubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMthj ubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh^/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:69: ./drivers/rapidio/rio-scan.chMvhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubeh}(h]enumeration-and-discoveryah ]h"]enumeration and discoveryah$]h&]uh1hhjhhhhhKCubh)}(hhh](h)}(hDriver functionalityh]hDriver functionality}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKIubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j rio_setup_inb_dbell (C function)c.rio_setup_inb_dbellhNtauh1jhjhhhNhNubj )}(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}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj hMubj?)}(hrio_setup_inb_dbellh]jE)}(hrio_setup_inb_dbellh]hrio_setup_inb_dbell}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhj hMubj`)}(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}(hj9hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj5ubj.)}(h h]h }(hjFhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj5ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjWhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjTubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjYmodnameN classnameNjj)}j]j)}jjsbc.rio_setup_inb_dbellasbuh1hhj5ubj.)}(h h]h }(hjwhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj5ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj5ubjE)}(hmporth]hmport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj5ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj1ubjf)}(h void *dev_idh](j)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hdev_idh]hdev_id}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj1ubjf)}(hstruct resource *resh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hresourceh]hresource}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]jsc.rio_setup_inb_dbellasbuh1hhjubj.)}(h h]h }(hj)hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hj7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hresh]hres}(hjDhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj1ubjf)}(hOvoid (*dinb)(struct rio_mport *mport, void *dev_id, u16 src, u16 dst, u16 info)h](j)}(hvoidh]hvoid}(hj]hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjYubj.)}(h h]h }(hjkhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYubj)}(hjNGh]h(}(hjyhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjYubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjYubjE)}(hdinbh]hdinb}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjYubj)}(hjwGh]h)}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjYubj)}(hjNGh]h(}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjYubjl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjYubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jsc.rio_setup_inb_dbellasbuh1hhjYubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjYubjE)}(hmporth]hmport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjYubj)}(hjGh]h,}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjYubj.)}(h h]h }(hj-hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYubj)}(hvoidh]hvoid}(hj;hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjYubj.)}(h h]h }(hjIhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYubj)}(hjh]h*}(hjWhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjYubjE)}(hdev_idh]hdev_id}(hjdhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjYubj)}(hjGh]h,}(hjrhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjYubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYubh)}(hhh]jE)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jsc.rio_setup_inb_dbellasbuh1hhjYubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYubjE)}(hsrch]hsrc}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjYubj)}(hjGh]h,}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjYubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYubh)}(hhh]jE)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jsc.rio_setup_inb_dbellasbuh1hhjYubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYubjE)}(hdsth]hdst}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjYubj)}(hjGh]h,}(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjYubj.)}(h h]h }(hj/hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYubh)}(hhh]jE)}(hu16h]hu16}(hj@hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj=ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjBmodnameN classnameNjj)}j]jsc.rio_setup_inb_dbellasbuh1hhjYubj.)}(h h]h }(hj^hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjYubjE)}(hinfoh]hinfo}(hjlhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjYubj)}(hjwGh]h)}(hjzhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj1ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhj hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhj hMubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhj hMhjhhubj)}(hhh]h)}(hbind inbound doorbell callbackh]hbind inbound doorbell callback}(hjhhhNhNubah}(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&]uh1jhjhhhj hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(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)}(hjh]h Parameters}(hjhhhNhNubah}(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)}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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}(hjhhhNhNubah}(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}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2hMhj3ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2hMhjubj)}(h3``struct resource *res`` Doorbell message resource h](j)}(h``struct resource *res``h]j)}(hjVh]hstruct resource *res}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjTubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjPubj)}(hhh]h)}(hDoorbell message resourceh]hDoorbell message resource}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkhMhjlubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjkhMhjubj)}(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)}(hjh]hQvoid (*dinb) (struct rio_mport * mport, void *dev_id, u16 src, u16 dst, u16 info)}(hjhhhNhNubah}(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-Callback to execute when doorbell is receivedh]h-Callback to execute when doorbell is received}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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.chMhjubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_chk_dev_route (C function)c.rio_chk_dev_routehNtauh1jhjhhhNhNubj )}(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}(hjhhhNhNubah}(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 }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj hhhjhMubj?)}(hrio_chk_dev_routeh]jE)}(hrio_chk_dev_routeh]hrio_chk_dev_route}(hj0hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj,ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj hhhjhMubj`)}(h:(struct rio_dev *rdev, struct rio_dev **nrdev, int *npnum)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjLhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjHubj.)}(h h]h }(hjYhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjHubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjgubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjlmodnameN classnameNjj)}j]j)}jj2sbc.rio_chk_dev_routeasbuh1hhjHubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjHubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjHubjE)}(hrdevh]hrdev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjHubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjDubjf)}(hstruct rio_dev **nrdevh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_chk_dev_routeasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hnrdevh]hnrdev}(hj"hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjDubjf)}(h int *npnumh](j)}(hinth]hint}(hj;hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj7ubj.)}(h h]h }(hjIhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj7ubj)}(hjh]h*}(hjWhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj7ubjE)}(hnpnumh]hnpnum}(hjdhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj7ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjDubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj hhhjhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhMhjhhubj)}(hhh]h)}(h'Validate route to the specified device.h]h'Validate route to the specified device.}(hjhhhNhNubah}(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&]jjjjjjjjjuh1j hhhjhNhNubj)}(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)}(hjh]h Parameters}(hjhhhNhNubah}(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)}(h6``struct rio_dev *rdev`` RIO device failed to respond h](j)}(h``struct rio_dev *rdev``h]j)}(hjh]hstruct rio_dev *rdev}(hjhhhNhNubah}(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)}(hRIO device failed to respondh]hRIO device failed to respond}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(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}(hj hhhNhNubah}(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}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h8``int *npnum`` nrdev's port number on the route to rdev h](j)}(h``int *npnum``h]j)}(hjAh]h int *npnum}(hjChhhNhNubah}(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(nrdev's port number on the route to rdevh]h*nrdev’s port number on the route to rdev}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVhMhjWubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhjVhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hj|h]h Description}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjzubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_chk_dev_access (C function)c.rio_chk_dev_accesshNtauh1jhjhhhNhNubj )}(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}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj?)}(hrio_chk_dev_accessh]jE)}(hrio_chk_dev_accessh]hrio_chk_dev_access}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhjhMubj`)}(h(struct rio_dev *rdev)h]jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hj hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_chk_dev_accessasbuh1hhjubj.)}(h h]h }(hj<hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjJhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hjWhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(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&]jj)jhuh1jhjhMhjhhubj)}(hhh]h)}(h(Validate access to the specified device.h]h(Validate access to the specified device.}(hjhhhNhNubah}(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&]uh1jhjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(hR**Parameters** ``struct rio_dev *rdev`` Pointer to RIO device control structureh](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(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_dev *rdev`` Pointer to RIO device control structureh](j)}(h``struct rio_dev *rdev``h]j)}(hjh]hstruct rio_dev *rdev}(hjhhhNhNubah}(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'Pointer to RIO device control structureh]h'Pointer to RIO device control structure}(hjhhhNhNubah}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j!rio_get_input_status (C function)c.rio_get_input_statushNtauh1jhjhhhNhNubj )}(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}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hj+hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhj*hMubj?)}(hrio_get_input_statush]jE)}(hrio_get_input_statush]hrio_get_input_status}(hj=hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj9ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjhhhj*hMubj`)}(h.(struct rio_dev *rdev, int pnum, u32 *lnkresp)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjYhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjUubj.)}(h h]h }(hjfhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjUubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjwhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjtubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjymodnameN classnameNjj)}j]j)}jj?sbc.rio_get_input_statusasbuh1hhjUubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjUubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjUubjE)}(hrdevh]hrdev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjUubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjQubjf)}(hint pnumh](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hpnumh]hpnum}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjQubjf)}(h u32 *lnkresph](h)}(hhh]jE)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.rio_get_input_statusasbuh1hhjubj.)}(h h]h }(hj!hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hj/hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hlnkresph]hlnkresp}(hj<hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjQubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjhhhj*hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjhhhj*hMubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhj*hMhjhhubj)}(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).}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjchhubah}(h]h ]h"]h$]h&]uh1jhjhhhj*hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj~jj~jjjuh1j hhhjhNhNubj)}(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)}(hjh]h Parameters}(hjhhhNhNubah}(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)}(hB``struct rio_dev *rdev`` RIO devive to issue Input-status command h](j)}(h``struct rio_dev *rdev``h]j)}(hjh]hstruct rio_dev *rdev}(hjhhhNhNubah}(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 devive to issue Input-status commandh]h(RIO devive to issue Input-status command}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h5``int pnum`` Device port number to issue the command h](j)}(h ``int pnum``h]j)}(hjh]hint pnum}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h-``u32 *lnkresp`` Response from a link partnerh](j)}(h``u32 *lnkresp``h]j)}(hjh]h u32 *lnkresp}(hjhhhNhNubah}(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}(hj2hhhNhNubah}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj.hMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j rio_clr_err_stopped (C function)c.rio_clr_err_stoppedhNtauh1jhjhhhNhNubj )}(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}(hjshhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjohhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chM7ubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjohhhjhM7ubj?)}(hrio_clr_err_stoppedh]jE)}(hrio_clr_err_stoppedh]hrio_clr_err_stopped}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjohhhjhM7ubj`)}(h0(struct rio_dev *rdev, u32 pnum, u32 err_status)h](jf)}(hstruct rio_dev *rdevh](jl)}(hjoh]hstruct}(hjhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.rio_clr_err_stoppedasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjE)}(hrdevh]hrdev}(hj hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hu32 pnumh](h)}(hhh]jE)}(hu32h]hu32}(hj%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj"ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj'modnameN classnameNjj)}j]jc.rio_clr_err_stoppedasbuh1hhjubj.)}(h h]h }(hjChhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hpnumh]hpnum}(hjQhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubjf)}(hu32 err_statush](h)}(hhh]jE)}(hu32h]hu32}(hjmhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjomodnameN classnameNjj)}j]jc.rio_clr_err_stoppedasbuh1hhjfubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjfubjE)}(h err_statush]h err_status}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjfubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjohhhjhM7ubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjkhhhjhM7ubah}(h]jfah ](jjeh"]h$]h&]jj)jhuh1jhjhM7hjhhhubj)}(hhh]h)}(h!Clears port Error-stopped states.h]h!Clears port Error-stopped states.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chM+hjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhhjhM7ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j hhhjhNhNubj)}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM,hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM,hjubj)}(h0``u32 pnum`` Switch port number to clear errors h](j)}(h ``u32 pnum``h]j)}(hj=h]hu32 pnum}(hj?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-hj7ubj)}(hhh]h)}(h"Switch port number to clear errorsh]h"Switch port number to clear errors}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRhM-hjSubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhjRhM-hjubj)}(hG``u32 err_status`` port error status (if 0 reads register from device) h](j)}(h``u32 err_status``h]j)}(hjvh]hu32 err_status}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjtubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chM.hjpubj)}(hhh]h)}(h3port error status (if 0 reads register from device)h]h3port error status (if 0 reads register from device)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM.hjubah}(h]h ]h"]h$]h&]uh1jhjpubeh}(h]h ]h"]h$]h&]uh1jhjhM.hjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(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.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.}(hjhhhNhNubah}(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&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$rio_std_route_add_entry (C function)c.rio_std_route_add_entryhNtauh1jhjhhhNhNubj )}(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}(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjhhhjhMubj?)}(hrio_std_route_add_entryh]jE)}(hrio_std_route_add_entryh]hrio_std_route_add_entry}(hjhhhNhNubah}(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}(hj3hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj/ubj.)}(h h]h }(hj@hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj/ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjQhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjNubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjSmodnameN classnameNjj)}j]j)}jjsbc.rio_std_route_add_entryasbuh1hhj/ubj.)}(h h]h }(hjqhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj/ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj/ubjE)}(hmporth]hmport}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj/ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj+ubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jmc.rio_std_route_add_entryasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hdestidh]hdestid}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj+ubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jmc.rio_std_route_add_entryasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(hhopcounth]hhopcount}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj+ubjf)}(h u16 tableh](h)}(hhh]jE)}(hu16h]hu16}(hj8hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj5ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj:modnameN classnameNjj)}j]jmc.rio_std_route_add_entryasbuh1hhj1ubj.)}(h h]h }(hjVhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj1ubjE)}(htableh]htable}(hjdhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj1ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj+ubjf)}(hu16 route_destidh](h)}(hhh]jE)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj}ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jmc.rio_std_route_add_entryasbuh1hhjyubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjyubjE)}(h route_destidh]h route_destid}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjyubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj+ubjf)}(h u8 route_porth](h)}(hhh]jE)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jmc.rio_std_route_add_entryasbuh1hhjubj.)}(h h]h }(hjhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjubjE)}(h route_porth]h route_port}(hjhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjubeh}(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&]jj)jhuh1jhjhMhjhhubj)}(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}(hjhhhNhNubah}(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&]jjjj6jj6jjjuh1j hhhjhNhNubj)}(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)}(hj@h]h Parameters}(hjBhhhNhNubah}(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}(hjahhhNhNubah}(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.chMhjYubj)}(hhh]h)}(h Master port to issue transactionh]h Master port to issue transaction}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjthMhjuubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjthMhjVubj)}(h,``u16 destid`` Destination ID of the device h](j)}(h``u16 destid``h]j)}(hjh]h u16 destid}(hjhhhNhNubah}(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)}(hDestination ID of the deviceh]hDestination ID of the device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjVubj)}(h4``u8 hopcount`` Number of switch hops to the device h](j)}(h``u8 hopcount``h]j)}(hjh]h u8 hopcount}(hjhhhNhNubah}(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#Number of switch hops to the deviceh]h#Number of switch hops to the device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjVubj)}(h9``u16 table`` routing table ID (global or port-specific) h](j)}(h ``u16 table``h]j)}(hj h]h u16 table}(hj 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# hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hMhjVubj)}(h,``u16 route_destid`` destID entry in the RT h](j)}(h``u16 route_destid``h]j)}(hjC h]hu16 route_destid}(hjE hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjA 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\ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjX hMhjY ubah}(h]h ]h"]h$]h&]uh1jhj= ubeh}(h]h ]h"]h$]h&]uh1jhjX hMhjVubj)}(h7``u8 route_port`` destination port for specified destIDh](j)}(h``u8 route_port``h]j)}(hj| h]h u8 route_port}(hj~ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjz ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjv ubj)}(hhh]h)}(h%destination port for specified destIDh]h%destination port for specified destID}(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&]uh1jhjv ubeh}(h]h ]h"]h$]h&]uh1jhj hMhjVubeh}(h]h ]h"]h$]h&]uh1jhj:ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$rio_std_route_get_entry (C function)c.rio_std_route_get_entryhNtauh1jhjhhhNhNubj )}(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}(hj 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 }(hj 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}(hj 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}(hj!hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj!ubj.)}(h h]h }(hj !hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj1!hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj.!ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj3!modnameN classnameNjj)}j]j)}jj sbc.rio_std_route_get_entryasbuh1hhj!ubj.)}(h h]h }(hjQ!hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!ubj)}(hjh]h*}(hj_!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubjE)}(hmporth]hmport}(hjl!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}(hj!hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj!ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj!modnameN classnameNjj)}j]jM!c.rio_std_route_get_entryasbuh1hhj!ubj.)}(h h]h }(hj!hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!ubjE)}(hdestidh]hdestid}(hj!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}(hj!hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj!ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj!modnameN classnameNjj)}j]jM!c.rio_std_route_get_entryasbuh1hhj!ubj.)}(h h]h }(hj!hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj!ubjE)}(hhopcounth]hhopcount}(hj!hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj!ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj !ubjf)}(h u16 tableh](h)}(hhh]jE)}(hu16h]hu16}(hj"hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj"ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj"modnameN classnameNjj)}j]jM!c.rio_std_route_get_entryasbuh1hhj"ubj.)}(h h]h }(hj6"hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj"ubjE)}(htableh]htable}(hjD"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}(hj`"hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj]"ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjb"modnameN classnameNjj)}j]jM!c.rio_std_route_get_entryasbuh1hhjY"ubj.)}(h h]h }(hj~"hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjY"ubjE)}(h route_destidh]h route_destid}(hj"hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjY"ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj !ubjf)}(hu8 *route_porth](h)}(hhh]jE)}(hu8h]hu8}(hj"hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj"ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj"modnameN classnameNjj)}j]jM!c.rio_std_route_get_entryasbuh1hhj"ubj.)}(h h]h }(hj"hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj"ubj)}(hjh]h*}(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"ubjE)}(h route_porth]h route_port}(hj"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&]jj)jhuh1jhj hMhj 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 #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&]uh1jhj hhhj hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj##jj##jjjuh1j hhhjhNhNubj)}(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}(hj/#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)}(hjL#h]hstruct rio_mport *mport}(hjN#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJ#ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjF#ubj)}(hhh]h)}(h Master port to issue transactionh]h Master port to issue transaction}(hje#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhja#hMhjb#ubah}(h]h ]h"]h$]h&]uh1jhjF#ubeh}(h]h ]h"]h$]h&]uh1jhja#hMhjC#ubj)}(h,``u16 destid`` Destination ID of the device h](j)}(h``u16 destid``h]j)}(hj#h]h u16 destid}(hj#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#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#hMhj#ubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jhj#hMhjC#ubj)}(h4``u8 hopcount`` Number of switch hops to the device h](j)}(h``u8 hopcount``h]j)}(hj#h]h u8 hopcount}(hj#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#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#hMhj#ubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jhj#hMhjC#ubj)}(h9``u16 table`` routing table ID (global or port-specific) h](j)}(h ``u16 table``h]j)}(hj#h]h u16 table}(hj#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$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj $hMhj $ubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jhj $hMhjC#ubj)}(h,``u16 route_destid`` destID entry in the RT h](j)}(h``u16 route_destid``h]j)}(hj0$h]hu16 route_destid}(hj2$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}(hjI$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjE$hMhjF$ubah}(h]h ]h"]h$]h&]uh1jhj*$ubeh}(h]h ]h"]h$]h&]uh1jhjE$hMhjC#ubj)}(hA``u8 *route_port`` returned destination port for specified destIDh](j)}(h``u8 *route_port``h]j)}(hji$h]hu8 *route_port}(hjk$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjg$ubah}(h]h ]h"]h$]h&]uh1jhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjc$ubj)}(hhh]h)}(h.returned destination port for specified destIDh]h.returned destination port for specified destID}(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&]uh1jhjc$ubeh}(h]h ]h"]h$]h&]uh1jhj~$hMhjC#ubeh}(h]h ]h"]h$]h&]uh1jhj'#ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$rio_std_route_clr_table (C function)c.rio_std_route_clr_tablehNtauh1jhjhhhNhNubj )}(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}(hj$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 }(hj$hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj$hhhj$hMubj?)}(hrio_std_route_clr_tableh]jE)}(hrio_std_route_clr_tableh]hrio_std_route_clr_table}(hj$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)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hj%hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj$ubj.)}(h h]h }(hj %hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj$ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj%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 }(hj>%hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj$ubj)}(hjh]h*}(hjL%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj$ubjE)}(hmporth]hmport}(hjY%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}(hju%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjr%ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjw%modnameN classnameNjj)}j]j:%c.rio_std_route_clr_tableasbuh1hhjn%ubj.)}(h h]h }(hj%hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjn%ubjE)}(hdestidh]hdestid}(hj%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjn%ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj$ubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hj%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 }(hj%hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%ubjE)}(hhopcounth]hhopcount}(hj%hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj$ubjf)}(h u16 tableh](h)}(hhh]jE)}(hu16h]hu16}(hj&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 }(hj#&hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj%ubjE)}(htableh]htable}(hj1&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&]jj)jhuh1jhj$hMhj$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[&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMhjX&hhubah}(h]h ]h"]h$]h&]uh1jhj$hhhj$hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjs&jjs&jjjuh1j hhhjhNhNubj)}(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}(hj&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.chMhjw&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}(hj&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&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&hMhj&ubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhj&hMhj&ubj)}(h,``u16 destid`` Destination ID of the device h](j)}(h``u16 destid``h]j)}(hj&h]h u16 destid}(hj&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&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&hMhj&ubah}(h]h ]h"]h$]h&]uh1jhj&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}(hj'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''hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#'hMhj$'ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj#'hMhj&ubj)}(h8``u16 table`` routing table ID (global or port-specific)h](j)}(h ``u16 table``h]j)}(hjG'h]h u16 table}(hjI'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)}(h*routing table ID (global or port-specific)h]h*routing table ID (global or port-specific)}(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&]uh1jhjA'ubeh}(h]h ]h"]h$]h&]uh1jhj\'hMhj&ubeh}(h]h ]h"]h$]h&]uh1jhjw&ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_find_mport (C function)c.rio_find_mporthNtauh1jhjhhhNhNubj )}(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}(hj'hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj'hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMOubj.)}(h h]h }(hj'hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj'hhhj'hMOubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj'hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj'ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj'modnameN classnameNjj)}j]j)}jrio_find_mportsbc.rio_find_mportasbuh1hhj'hhhj'hMOubj.)}(h h]h }(hj'hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj'hhhj'hMOubj)}(hjh]h*}(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj'hhhj'hMOubj?)}(hrio_find_mporth]jE)}(hj'h]hrio_find_mport}(hj(hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj'ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj'hhhj'hMOubj`)}(h(int mport_id)h]jf)}(h int mport_idh](j)}(hinth]hint}(hj(hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj(ubj.)}(h h]h }(hj)(hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj(ubjE)}(hmport_idh]hmport_id}(hj7(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'hMOubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj'hhhj'hMOubah}(h]j'ah ](jjeh"]h$]h&]jj)jhuh1jhj'hMOhj'hhubj)}(hhh]h)}(hfind RIO mport by its IDh]hfind RIO mport by its ID}(hja(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&]uh1jhj'hhhj'hMOubeh}(h]h ](jfunctioneh"]h$]h&]jjjjy(jjy(jjjuh1j hhhjhNhNubj)}(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)}(hj(h]h Parameters}(hj(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.chMLhj}(ubj)}(hhh]j)}(h-``int mport_id`` number (ID) of mport device h](j)}(h``int mport_id``h]j)}(hj(h]h int mport_id}(hj(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.chMIhj(ubj)}(hhh]h)}(hnumber (ID) of mport deviceh]hnumber (ID) of mport device}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(hMIhj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhj(hMIhj(ubah}(h]h ]h"]h$]h&]uh1jhj}(ubh)}(h**Description**h]j)}(hj(h]h Description}(hj(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, }(hj(hhhNhNubj)}(h``NULL``h]hNULL}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubh 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&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_mport_scan (C function)c.rio_mport_scanhNtauh1jhjhhhNhNubj )}(hhh](j)}(h!int rio_mport_scan (int mport_id)h]j)}(h int rio_mport_scan(int mport_id)h](j)}(hinth]hint}(hj4)hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj0)hhhY/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:75: ./drivers/rapidio/rio.chMubj.)}(h h]h }(hjC)hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj0)hhhjB)hMubj?)}(hrio_mport_scanh]jE)}(hrio_mport_scanh]hrio_mport_scan}(hjU)hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjQ)ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj0)hhhjB)hMubj`)}(h(int mport_id)h]jf)}(h int mport_idh](j)}(hinth]hint}(hjq)hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjm)ubj.)}(h h]h }(hj)hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjm)ubjE)}(hmport_idh]hmport_id}(hj)hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjm)ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehji)ubah}(h]h ]h"]h$]h&]j]j^uh1j_hj0)hhhjB)hMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj,)hhhjB)hMubah}(h]j')ah ](jjeh"]h$]h&]jj)jhuh1jhjB)hMhj))hhubj)}(hhh]h)}(h4execute enumeration/discovery on the specified mporth]h4execute enumeration/discovery on the specified mport}(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&]uh1jhj))hhhjB)hMubeh}(h]h ](jfunctioneh"]h$]h&]jjjj)jj)jjjuh1j hhhjhNhNubj)}(h>**Parameters** ``int mport_id`` number (ID) of mport deviceh](h)}(h**Parameters**h]j)}(hj)h]h Parameters}(hj)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}(hj)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*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&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj *hMhj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jRIO_LOP_READ (C macro)c.RIO_LOP_READhNtauh1jhjhhhNhNubj )}(hhh](j)}(h RIO_LOP_READh]j)}(h RIO_LOP_READh]j?)}(h RIO_LOP_READh]jE)}(hjL*h]h RIO_LOP_READ}(hjV*hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjR*ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjN*hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chK ubah}(h]h ]h"]h$]h&]j]j^juh1jjjhjJ*hhhji*hK ubah}(h]jE*ah ](jjeh"]h$]h&]jj)jhuh1jhji*hK hjG*hhubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjG*hhhji*hK ubeh}(h]h ](jmacroeh"]h$]h&]jjjj*jj*jjjuh1j hhhjhNhNubh)}(h"``RIO_LOP_READ (size, type, len)``h]j)}(hj*h]hRIO_LOP_READ (size, type, len)}(hj*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"hjhhubj()}(h+Generate rio_local_read_config_* functions h]h)}(h*Generate rio_local_read_config_* functionsh]h*Generate rio_local_read_config_* functions}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKhj*ubah}(h]h ]h"]h$]h&]uh1j(hj*hKhjhhubj)}(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)}(hj*h]h Parameters}(hj*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.chKhj*ubj)}(hhh](j)}(h;``size`` Size of configuration space read (8, 16, 32 bits) h](j)}(h``size``h]j)}(hj*h]hsize}(hj*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*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*hKhj*ubah}(h]h ]h"]h$]h&]uh1jhj*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}(hj+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.+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*+hKhj++ubah}(h]h ]h"]h$]h&]uh1jhj+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)}(hjN+h]hlen}(hjP+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjL+ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKhjH+ubj)}(hhh]h)}(h2Length of configuration space read (1, 2, 4 bytes)h]h2Length of configuration space read (1, 2, 4 bytes)}(hjg+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjc+hKhjd+ubah}(h]h ]h"]h$]h&]uh1jhjH+ubeh}(h]h ]h"]h$]h&]uh1jhjc+hKhj*ubeh}(h]h ]h"]h$]h&]uh1jhj*ubh)}(h**Description**h]j)}(hj+h]h Description}(hj+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.chKhj*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.}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKhj*ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jRIO_LOP_WRITE (C macro)c.RIO_LOP_WRITEhNtauh1jhjhhhNhNubj )}(hhh](j)}(h RIO_LOP_WRITEh]j)}(h RIO_LOP_WRITEh]j?)}(h RIO_LOP_WRITEh]jE)}(hj+h]h RIO_LOP_WRITE}(hj+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.chK5ubah}(h]h ]h"]h$]h&]j]j^juh1jjjhj+hhhj+hK5ubah}(h]j+ah ](jjeh"]h$]h&]jj)jhuh1jhj+hK5hj+hhubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj+hhhj+hK5ubeh}(h]h ](jmacroeh"]h$]h&]jjjj+jj+jjjuh1j hhhjhNhNubh)}(h#``RIO_LOP_WRITE (size, type, len)``h]j)}(hj,h]hRIO_LOP_WRITE (size, type, len)}(hj,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.chK7hjhhubj()}(h,Generate rio_local_write_config_* functions h]h)}(h+Generate rio_local_write_config_* functionsh]h+Generate rio_local_write_config_* functions}(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,,hK-hjhhubj)}(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)}(hj9,h]h Parameters}(hj;,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7,ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chK1hj3,ubj)}(hhh](j)}(h<``size`` Size of configuration space write (8, 16, 32 bits) h](j)}(h``size``h]j)}(hjX,h]hsize}(hjZ,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjV,ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chK.hjR,ubj)}(hhh]h)}(h2Size of configuration space write (8, 16, 32 bits)h]h2Size of configuration space write (8, 16, 32 bits)}(hjq,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjm,hK.hjn,ubah}(h]h ]h"]h$]h&]uh1jhjR,ubeh}(h]h ]h"]h$]h&]uh1jhjm,hK.hjO,ubj)}(h"``type`` C type of value argument h](j)}(h``type``h]j)}(hj,h]htype}(hj,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)}(hC type of value argumenth]hC type of value argument}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,hK/hj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhj,hK/hjO,ubj)}(h<``len`` Length of configuration space write (1, 2, 4 bytes) h](j)}(h``len``h]j)}(hj,h]hlen}(hj,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.chK0hj,ubj)}(hhh]h)}(h3Length of configuration space write (1, 2, 4 bytes)h]h3Length of configuration space write (1, 2, 4 bytes)}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,hK0hj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhj,hK0hjO,ubeh}(h]h ]h"]h$]h&]uh1jhj3,ubh)}(h**Description**h]j)}(hj-h]h Description}(hj-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.chK2hj3,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-hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chK2hj3,ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jRIO_OP_READ (C macro) c.RIO_OP_READhNtauh1jhjhhhNhNubj )}(hhh](j)}(h RIO_OP_READh]j)}(h RIO_OP_READh]j?)}(h RIO_OP_READh]jE)}(hjD-h]h RIO_OP_READ}(hjN-hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjJ-ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjF-hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKTubah}(h]h ]h"]h$]h&]j]j^juh1jjjhjB-hhhja-hKTubah}(h]j=-ah ](jjeh"]h$]h&]jj)jhuh1jhja-hKThj?-hhubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj?-hhhja-hKTubeh}(h]h ](jmacroeh"]h$]h&]jjjjz-jjz-jjjuh1j hhhjhNhNubh)}(h!``RIO_OP_READ (size, type, len)``h]j)}(hj-h]hRIO_OP_READ (size, type, len)}(hj-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.chKVhjhhubj()}(h+Generate rio_mport_read_config_* functions h]h)}(h*Generate rio_mport_read_config_* functionsh]h*Generate rio_mport_read_config_* functions}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKLhj-ubah}(h]h ]h"]h$]h&]uh1j(hj-hKLhjhhubj)}(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)}(hj-h]h Parameters}(hj-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.chKPhj-ubj)}(hhh](j)}(h;``size`` Size of configuration space read (8, 16, 32 bits) h](j)}(h``size``h]j)}(hj-h]hsize}(hj-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-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-hKMhj-ubah}(h]h ]h"]h$]h&]uh1jhj-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}(hj.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&.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj".hKNhj#.ubah}(h]h ]h"]h$]h&]uh1jhj.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)}(hjF.h]hlen}(hjH.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.chKOhj@.ubj)}(hhh]h)}(h2Length of configuration space read (1, 2, 4 bytes)h]h2Length of configuration space read (1, 2, 4 bytes)}(hj_.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[.hKOhj\.ubah}(h]h ]h"]h$]h&]uh1jhj@.ubeh}(h]h ]h"]h$]h&]uh1jhj[.hKOhj-ubeh}(h]h ]h"]h$]h&]uh1jhj-ubh)}(h**Description**h]j)}(hj.h]h Description}(hj.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.chKQhj-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.}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKQhj-ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jRIO_OP_WRITE (C macro)c.RIO_OP_WRITEhNtauh1jhjhhhNhNubj )}(hhh](j)}(h RIO_OP_WRITEh]j)}(h RIO_OP_WRITEh]j?)}(h RIO_OP_WRITEh]jE)}(hj.h]h RIO_OP_WRITE}(hj.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.chKiubah}(h]h ]h"]h$]h&]j]j^juh1jjjhj.hhhj.hKiubah}(h]j.ah ](jjeh"]h$]h&]jj)jhuh1jhj.hKihj.hhubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj.hhhj.hKiubeh}(h]h ](jmacroeh"]h$]h&]jjjj.jj.jjjuh1j hhhjhNhNubh)}(h"``RIO_OP_WRITE (size, type, len)``h]j)}(hj.h]hRIO_OP_WRITE (size, type, len)}(hj.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.chKkhjhhubj()}(h,Generate rio_mport_write_config_* functions h]h)}(h+Generate rio_mport_write_config_* functionsh]h+Generate rio_mport_write_config_* functions}(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$/hKahjhhubj)}(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)}(hj1/h]h Parameters}(hj3/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)}(hjP/h]hsize}(hjR/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjN/ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:78: ./drivers/rapidio/rio-access.chKbhjJ/ubj)}(hhh]h)}(h2Size of configuration space write (8, 16, 32 bits)h]h2Size of configuration space write (8, 16, 32 bits)}(hji/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhje/hKbhjf/ubah}(h]h ]h"]h$]h&]uh1jhjJ/ubeh}(h]h ]h"]h$]h&]uh1jhje/hKbhjG/ubj)}(h"``type`` C type of value argument h](j)}(h``type``h]j)}(hj/h]htype}(hj/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.chKchj/ubj)}(hhh]h)}(hC type of value argumenth]hC type of value argument}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/hKchj/ubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhj/hKchjG/ubj)}(h<``len`` Length of configuration space write (1, 2, 4 bytes) h](j)}(h``len``h]j)}(hj/h]hlen}(hj/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.chKdhj/ubj)}(hhh]h)}(h3Length of configuration space write (1, 2, 4 bytes)h]h3Length of configuration space write (1, 2, 4 bytes)}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/hKdhj/ubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhj/hKdhjG/ubeh}(h]h ]h"]h$]h&]uh1jhj+/ubh)}(h**Description**h]j)}(hj/h]h Description}(hj/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.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.}(hj0hhhNhNubah}(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&]uh1jhjhhhNhNubeh}(h]driver-functionalityah ]h"]driver functionalityah$]h&]uh1hhjhhhhhKIubh)}(hhh](h)}(hDevice model supporth]hDevice model support}(hj40hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj10hhhhhKRubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_match_device (C function)c.rio_match_devicehNtauh1jhj10hhhNhNubj )}(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)}(hj1h]hconst}(hj[0hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjW0hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKubj.)}(h h]h }(hji0hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjW0hhhjh0hKubjl)}(hjoh]hstruct}(hjw0hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjW0hhhjh0hKubj.)}(h h]h }(hj0hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjW0hhhjh0hKubh)}(hhh]jE)}(h rio_device_idh]h rio_device_id}(hj0hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj0ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj0modnameN classnameNjj)}j]j)}jrio_match_devicesbc.rio_match_deviceasbuh1hhjW0hhhjh0hKubj.)}(h h]h }(hj0hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjW0hhhjh0hKubj)}(hjh]h*}(hj0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjW0hhhjh0hKubj?)}(hrio_match_deviceh]jE)}(hj0h]hrio_match_device}(hj0hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj0ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hjW0hhhjh0hKubj`)}(h<(const struct rio_device_id *id, const struct rio_dev *rdev)h](jf)}(hconst struct rio_device_id *idh](jl)}(hj1h]hconst}(hj0hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj0ubj.)}(h h]h }(hj0hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj0ubjl)}(hjoh]hstruct}(hj 1hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj0ubj.)}(h h]h }(hj1hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj0ubh)}(hhh]jE)}(h rio_device_idh]h rio_device_id}(hj)1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj&1ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj+1modnameN classnameNjj)}j]j0c.rio_match_deviceasbuh1hhj0ubj.)}(h h]h }(hjG1hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj0ubj)}(hjh]h*}(hjU1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj0ubjE)}(hidh]hid}(hjb1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj0ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj0ubjf)}(hconst struct rio_dev *rdevh](jl)}(hj1h]hconst}(hj{1hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjw1ubj.)}(h h]h }(hj1hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjw1ubjl)}(hjoh]hstruct}(hj1hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjw1ubj.)}(h h]h }(hj1hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjw1ubh)}(hhh]jE)}(hrio_devh]hrio_dev}(hj1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj1ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj1modnameN classnameNjj)}j]j0c.rio_match_deviceasbuh1hhjw1ubj.)}(h h]h }(hj1hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjw1ubj)}(hjh]h*}(hj1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjw1ubjE)}(hrdevh]hrdev}(hj1hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjw1ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj0ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hjW0hhhjh0hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjS0hhhjh0hKubah}(h]jN0ah ](jjeh"]h$]h&]jj)jhuh1jhjh0hKhjP0hhubj)}(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}(hj2hhhNhNubah}(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&]uh1jhjP0hhhjh0hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj/2jj/2jjjuh1j hhhj10hNhNubj)}(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)}(hj92h]h Parameters}(hj;2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj72ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj32ubj)}(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)}(hjX2h]hconst struct rio_device_id *id}(hjZ2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjV2ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhjR2ubj)}(hhh]h)}(h,the RIO device id structure to match againsth]h,the RIO device id structure to match against}(hjq2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjm2hKhjn2ubah}(h]h ]h"]h$]h&]uh1jhjR2ubeh}(h]h ]h"]h$]h&]uh1jhjm2hKhjO2ubj)}(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)}(hj2h]hconst struct rio_dev *rdev}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj2ubj)}(hhh](h)}(h)the RIO device structure to match againsth]h)the RIO device structure to match against}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj2ubh)}(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 }(hj2hhhNhNubh)}(h.:c:type:`struct rio_device_id `h]j)}(hj2h]hstruct rio_device_id}(hj2hhhNhNubah}(h]h ](j:jc-typeeh"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]refdocj: refdomainjreftypetype refexplicitrefwarnjj:j: rio_device_iduh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj2ubh or }(hj2hhhNhNubj)}(h``NULL``h]hNULL}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubh if there is no match.}(hj2hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj2hKhj2ubeh}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj2hKhjO2ubeh}(h]h ]h"]h$]h&]uh1jhj32ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj10hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_device_probe (C function)c.rio_device_probehNtauh1jhj10hhhNhNubj )}(hhh](j)}(h)int rio_device_probe (struct device *dev)h]j)}(h(int rio_device_probe(struct device *dev)h](j)}(hinth]hint}(hj/3hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj+3hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKSubj.)}(h h]h }(hj>3hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj+3hhhj=3hKSubj?)}(hrio_device_probeh]jE)}(hrio_device_probeh]hrio_device_probe}(hjP3hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjL3ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj+3hhhj=3hKSubj`)}(h(struct device *dev)h]jf)}(hstruct device *devh](jl)}(hjoh]hstruct}(hjl3hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjh3ubj.)}(h h]h }(hjy3hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjh3ubh)}(hhh]jE)}(hdeviceh]hdevice}(hj3hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj3ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj3modnameN classnameNjj)}j]j)}jjR3sbc.rio_device_probeasbuh1hhjh3ubj.)}(h h]h }(hj3hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjh3ubj)}(hjh]h*}(hj3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjh3ubjE)}(hdevh]hdev}(hj3hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjh3ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjd3ubah}(h]h ]h"]h$]h&]j]j^uh1j_hj+3hhhj=3hKSubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj'3hhhj=3hKSubah}(h]j"3ah ](jjeh"]h$]h&]jj)jhuh1jhj=3hKShj$3hhubj)}(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}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKNhj3hhubah}(h]h ]h"]h$]h&]uh1jhj$3hhhj=3hKSubeh}(h]h ](jfunctioneh"]h$]h&]jjjj4jj4jjjuh1j hhhj10hNhNubj)}(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}(hj4hhhNhNubah}(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.chKRhj 4ubj)}(hhh]j)}(hA``struct device *dev`` the RIO device structure to match against h](j)}(h``struct device *dev``h]j)}(hj04h]hstruct device *dev}(hj24hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.4ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKOhj*4ubj)}(hhh]h)}(h)the RIO device structure to match againsth]h)the RIO device structure to match against}(hjI4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjE4hKOhjF4ubah}(h]h ]h"]h$]h&]uh1jhj*4ubeh}(h]h ]h"]h$]h&]uh1jhjE4hKOhj'4ubah}(h]h ]h"]h$]h&]uh1jhj 4ubh)}(h**Description**h]j)}(hjk4h]h Description}(hjm4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhji4ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKQhj 4ubh)}(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}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKQhj 4ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj10hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_device_remove (C function)c.rio_device_removehNtauh1jhj10hhhNhNubj )}(hhh](j)}(h+void rio_device_remove (struct device *dev)h]j)}(h*void rio_device_remove(struct device *dev)h](j)}(hvoidh]hvoid}(hj4hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj4hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKsubj.)}(h h]h }(hj4hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj4hhhj4hKsubj?)}(hrio_device_removeh]jE)}(hrio_device_removeh]hrio_device_remove}(hj4hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj4ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj4hhhj4hKsubj`)}(h(struct device *dev)h]jf)}(hstruct device *devh](jl)}(hjoh]hstruct}(hj4hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj4ubj.)}(h h]h }(hj4hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj4ubh)}(hhh]jE)}(hdeviceh]hdevice}(hj 5hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj5ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj 5modnameN classnameNjj)}j]j)}jj4sbc.rio_device_removeasbuh1hhj4ubj.)}(h h]h }(hj+5hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj4ubj)}(hjh]h*}(hj95hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj4ubjE)}(hdevh]hdev}(hjF5hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj4ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj4ubah}(h]h ]h"]h$]h&]j]j^uh1j_hj4hhhj4hKsubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj4hhhj4hKsubah}(h]j4ah ](jjeh"]h$]h&]jj)jhuh1jhj4hKshj4hhubj)}(hhh]h)}(h#Remove a RIO device from the systemh]h#Remove a RIO device from the system}(hjp5hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKkhjm5hhubah}(h]h ]h"]h$]h&]uh1jhj4hhhj4hKsubeh}(h]h ](jfunctioneh"]h$]h&]jjjj5jj5jjjuh1j hhhj10hNhNubj)}(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)}(hj5h]h Parameters}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKohj5ubj)}(hhh]j)}(hA``struct device *dev`` the RIO device structure to match against h](j)}(h``struct device *dev``h]j)}(hj5h]hstruct device *dev}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKmhj5ubj)}(hhh]h)}(h)the RIO device structure to match againsth]h)the RIO device structure to match against}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5hKmhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj5hKmhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubh)}(h**Description**h]j)}(hj5h]h Description}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKohj5ubh)}(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.}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKohj5ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj10hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_match_bus (C function)c.rio_match_bushNtauh1jhj10hhhNhNubj )}(hhh](j)}(hGint rio_match_bus (struct device *dev, const struct device_driver *drv)h]j)}(hFint rio_match_bus(struct device *dev, const struct device_driver *drv)h](j)}(hinth]hint}(hj16hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj-6hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKubj.)}(h h]h }(hj@6hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj-6hhhj?6hKubj?)}(h rio_match_bush]jE)}(h rio_match_bush]h rio_match_bus}(hjR6hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjN6ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj-6hhhj?6hKubj`)}(h5(struct device *dev, const struct device_driver *drv)h](jf)}(hstruct device *devh](jl)}(hjoh]hstruct}(hjn6hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjj6ubj.)}(h h]h }(hj{6hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjj6ubh)}(hhh]jE)}(hdeviceh]hdevice}(hj6hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj6ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj6modnameN classnameNjj)}j]j)}jjT6sbc.rio_match_busasbuh1hhjj6ubj.)}(h h]h }(hj6hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjj6ubj)}(hjh]h*}(hj6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjj6ubjE)}(hdevh]hdev}(hj6hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjj6ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjf6ubjf)}(hconst struct device_driver *drvh](jl)}(hj1h]hconst}(hj6hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj6ubj.)}(h h]h }(hj6hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj6ubjl)}(hjoh]hstruct}(hj6hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj6ubj.)}(h h]h }(hj7hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj6ubh)}(hhh]jE)}(h device_driverh]h device_driver}(hj7hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj7ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj7modnameN classnameNjj)}j]j6c.rio_match_busasbuh1hhj6ubj.)}(h h]h }(hj77hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj6ubj)}(hjh]h*}(hjE7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj6ubjE)}(hdrvh]hdrv}(hjR7hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj6ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjf6ubeh}(h]h ]h"]h$]h&]j]j^uh1j_hj-6hhhj?6hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj)6hhhj?6hKubah}(h]j$6ah ](jjeh"]h$]h&]jj)jhuh1jhj?6hKhj&6hhubj)}(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}(hj|7hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhjy7hhubah}(h]h ]h"]h$]h&]uh1jhj&6hhhj?6hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj7jj7jjjuh1j hhhj10hNhNubj)}(hX**Parameters** ``struct device *dev`` the standard device structure to match against ``const 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)}(hj7h]h Parameters}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj7ubj)}(hhh](j)}(hF``struct device *dev`` the standard device structure to match against h](j)}(h``struct device *dev``h]j)}(hj7h]hstruct device *dev}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj7ubj)}(hhh]h)}(h.the standard device structure to match againsth]h.the standard device structure to match against}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7hKhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj7hKhj7ubj)}(hX;``const 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#``const struct device_driver *drv``h]j)}(hj7h]hconst struct device_driver *drv}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj7ubj)}(hhh](h)}(hAthe standard driver structure containing the ids to match againsth]hAthe standard driver structure containing the ids to match against}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj 8ubh)}(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 }(hj8hhhNhNubh)}(h.:c:type:`struct rio_device_id `h]j)}(hj(8h]hstruct rio_device_id}(hj*8hhhNhNubah}(h]h ](j:jc-typeeh"]h$]h&]uh1jhj&8ubah}(h]h ]h"]h$]h&]refdocj: refdomainjreftypetype refexplicitrefwarnjj: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.}(hj8hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjE8hKhj 8ubeh}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj 8hKhj7ubeh}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj10hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jrio_bus_init (C function)c.rio_bus_inithNtauh1jhj10hhhNhNubj )}(hhh](j)}(hint rio_bus_init (void)h]j)}(hint rio_bus_init(void)h](j)}(hinth]hint}(hj8hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj~8hhh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKubj.)}(h h]h }(hj8hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj~8hhhj8hKubj?)}(h rio_bus_inith]jE)}(h rio_bus_inith]h rio_bus_init}(hj8hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj8ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj~8hhhj8hKubj`)}(h(void)h]jf)}(hvoidh]j)}(hvoidh]hvoid}(hj8hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj8ubah}(h]h ]h"]h$]h&]noemphj]j^uh1jehj8ubah}(h]h ]h"]h$]h&]j]j^uh1j_hj~8hhhj8hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjz8hhhj8hKubah}(h]ju8ah ](jjeh"]h$]h&]jj)jhuh1jhj8hKhjw8hhubj)}(hhh]h)}(h.Register the RapidIO bus with the device modelh]h.Register the RapidIO bus with the device model}(hj8hhhNhNubah}(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&]uh1jhjw8hhhj8hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj9jj9jjjuh1j hhhj10hNhNubj)}(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)}(hj 9h]h Parameters}(hj 9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj 9ubah}(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)}(hj*9h]hvoid}(hj,9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(9ubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj$9ubj)}(hhh]h)}(h no argumentsh]h no arguments}(hjC9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?9hKhj@9ubah}(h]h ]h"]h$]h&]uh1jhj$9ubeh}(h]h ]h"]h$]h&]uh1jhj?9hKhj!9ubah}(h]h ]h"]h$]h&]uh1jhj9ubh)}(h**Description**h]j)}(hje9h]h Description}(hjg9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjc9ubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj9ubj()}(hRRegisters the RIO mport device class and RIO bus type with the Linux device model.h]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.}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:84: ./drivers/rapidio/rio-driver.chKhj{9ubah}(h]h ]h"]h$]h&]uh1j(hj9hKhj9ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj10hhhNhNubeh}(h]device-model-supportah ]h"]device model supportah$]h&]uh1hhjhhhhhKRubh)}(hhh](h)}(h PPC32 supporth]h PPC32 support}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9hhhhhKXubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"fsl_local_config_read (C function)c.fsl_local_config_readhNtauh1jhj9hhhNhNubj )}(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}(hj9hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj9hhha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKubj.)}(h h]h }(hj9hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj9hhhj9hKubj?)}(hfsl_local_config_readh]jE)}(hfsl_local_config_readh]hfsl_local_config_read}(hj9hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj9ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj9hhhj9hKubj`)}(hD(struct rio_mport *mport, int index, u32 offset, int len, u32 *data)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hj :hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj:ubj.)}(h h]h }(hj:hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj:ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj(:hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj%:ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj*:modnameN classnameNjj)}j]j)}jj9sbc.fsl_local_config_readasbuh1hhj:ubj.)}(h h]h }(hjH:hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj:ubj)}(hjh]h*}(hjV:hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj:ubjE)}(hmporth]hmport}(hjc:hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj:ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj:ubjf)}(h int indexh](j)}(hinth]hint}(hj|:hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjx:ubj.)}(h h]h }(hj:hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjx:ubjE)}(hindexh]hindex}(hj:hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjx:ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj:ubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hj:hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj:ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj:modnameN classnameNjj)}j]jD:c.fsl_local_config_readasbuh1hhj:ubj.)}(h h]h }(hj:hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj:ubjE)}(hoffseth]hoffset}(hj:hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj:ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj:ubjf)}(hint lenh](j)}(hinth]hint}(hj:hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj:ubj.)}(h h]h }(hj;hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj:ubjE)}(hlenh]hlen}(hj;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}(hj1;hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj.;ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj3;modnameN classnameNjj)}j]jD:c.fsl_local_config_readasbuh1hhj*;ubj.)}(h h]h }(hjO;hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj*;ubj)}(hjh]h*}(hj];hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*;ubjE)}(hdatah]hdata}(hjj;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_hj9hhhj9hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhj9hhhj9hKubah}(h]j9ah ](jjeh"]h$]h&]jj)jhuh1jhj9hKhj9hhubj)}(hhh]h)}(h*Generate a MPC85xx local config space readh]h*Generate a MPC85xx local config space read}(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&]uh1jhj9hhhj9hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj;jj;jjjuh1j hhhj9hNhNubj)}(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)}(hj;h]h Parameters}(hj;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}(hj;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;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;hKhj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhj;hKhj;ubj)}(h&``int index`` ID of RapdiIO interface h](j)}(h ``int index``h]j)}(hj<h]h int index}(hj<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'<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#<hKhj$<ubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhj#<hKhj;ubj)}(h/``u32 offset`` Offset into configuration space h](j)}(h``u32 offset``h]j)}(hjG<h]h u32 offset}(hjI<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjE<ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjA<ubj)}(hhh]h)}(hOffset into configuration spaceh]hOffset into configuration space}(hj`<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\<hKhj]<ubah}(h]h ]h"]h$]h&]uh1jhjA<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}(hj<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.chKhjz<ubj)}(hhh]h)}(h0Length (in bytes) of the maintenance transactionh]h0Length (in bytes) of the maintenance transaction}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<hKhj<ubah}(h]h ]h"]h$]h&]uh1jhjz<ubeh}(h]h ]h"]h$]h&]uh1jhj<hKhj;ubj)}(h$``u32 *data`` Value to be read into h](j)}(h ``u32 *data``h]j)}(hj<h]h u32 *data}(hj<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 read intoh]hValue to be read into}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<hKhj<ubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhj<hKhj;ubeh}(h]h ]h"]h$]h&]uh1jhj;ubh)}(h**Description**h]j)}(hj<h]h Description}(hj<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;ubh)}(hgGenerates a MPC85xx local configuration space read. Returns ``0`` on success or ``-EINVAL`` on failure.h](hhjY=hhhjk=hKubj`)}(hC(struct rio_mport *mport, int index, u32 offset, int len, u32 data)h](jf)}(hstruct rio_mport *mporth](jl)}(hjoh]hstruct}(hj=hhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj=ubj.)}(h h]h }(hj=hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj=ubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj=hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj=ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj=modnameN classnameNjj)}j]j)}jj=sbc.fsl_local_config_writeasbuh1hhj=ubj.)}(h h]h }(hj=hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj=ubj)}(hjh]h*}(hj=hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj=ubjE)}(hmporth]hmport}(hj=hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj=ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj=ubjf)}(h int indexh](j)}(hinth]hint}(hj >hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj>ubj.)}(h h]h }(hj>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj>ubjE)}(hindexh]hindex}(hj(>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}(hjD>hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjA>ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjF>modnameN classnameNjj)}j]j=c.fsl_local_config_writeasbuh1hhj=>ubj.)}(h h]h }(hjb>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj=>ubjE)}(hoffseth]hoffset}(hjp>hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj=>ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj=ubjf)}(hint lenh](j)}(hinth]hint}(hj>hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj>ubj.)}(h h]h }(hj>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj>ubjE)}(hlenh]hlen}(hj>hhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj>ubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj=ubjf)}(hu32 datah](h)}(hhh]jE)}(hu32h]hu32}(hj>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 }(hj>hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj>ubjE)}(hdatah]hdata}(hj>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_hjY=hhhjk=hKubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjU=hhhjk=hKubah}(h]jP=ah ](jjeh"]h$]h&]jj)jhuh1jhjk=hKhjR=hhubj)}(hhh]h)}(h+Generate a MPC85xx local config space writeh]h+Generate a MPC85xx local config space write}(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&]uh1jhjR=hhhjk=hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj/?jj/?jjjuh1j hhhj9hNhNubj)}(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)}(hj9?h]h Parameters}(hj;?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7?ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj3?ubj)}(hhh](j)}(h5``struct rio_mport *mport`` RapidIO master port info h](j)}(h``struct rio_mport *mport``h]j)}(hjX?h]hstruct rio_mport *mport}(hjZ?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjV?ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjR?ubj)}(hhh]h)}(hRapidIO master port infoh]hRapidIO master port info}(hjq?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjm?hKhjn?ubah}(h]h ]h"]h$]h&]uh1jhjR?ubeh}(h]h ]h"]h$]h&]uh1jhjm?hKhjO?ubj)}(h&``int index`` ID of RapdiIO interface h](j)}(h ``int index``h]j)}(hj?h]h int index}(hj?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?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?hKhj?ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhj?hKhjO?ubj)}(h/``u32 offset`` Offset into configuration space h](j)}(h``u32 offset``h]j)}(hj?h]h u32 offset}(hj?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?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?hKhj?ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhj?hKhjO?ubj)}(h=``int len`` Length (in bytes) of the maintenance transaction h](j)}(h ``int len``h]j)}(hj@h]hint len}(hj@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@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@hKhj@ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhj@hKhjO?ubj)}(h!``u32 data`` Value to be written h](j)}(h ``u32 data``h]j)}(hj<@h]hu32 data}(hj>@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.chKhj6@ubj)}(hhh]h)}(hValue to be writtenh]hValue to be written}(hjU@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQ@hKhjR@ubah}(h]h ]h"]h$]h&]uh1jhj6@ubeh}(h]h ]h"]h$]h&]uh1jhjQ@hKhjO?ubeh}(h]h ]h"]h$]h&]uh1jhj3?ubh)}(h**Description**h]j)}(hjw@h]h Description}(hjy@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhju@ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj3?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 }(hj@hhhNhNubj)}(h``0``h]h0}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@ubh on success or }(hj@hhhNhNubj)}(h ``-EINVAL``h]h-EINVAL}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@ubh on failure.}(hj@hhhNhNubeh}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj3?ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj9hhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j fsl_rio_config_read (C function)c.fsl_rio_config_readhNtauh1jhj9hhhNhNubj )}(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}(hj@hhhNhNubah}(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 }(hj@hhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj@hhhj@hKubj?)}(hfsl_rio_config_readh]jE)}(hfsl_rio_config_readh]hfsl_rio_config_read}(hjAhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj@ubah}(h]h ](jXjYeh"]h$]h&]j]j^uh1j>hj@hhhj@hKubj`)}(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}(hjAhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjAubj.)}(h h]h }(hj*AhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjAubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hj;AhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj8Aubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj=AmodnameN classnameNjj)}j]j)}jjAsbc.fsl_rio_config_readasbuh1hhjAubj.)}(h h]h }(hj[AhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjAubj)}(hjh]h*}(hjiAhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjAubjE)}(hmporth]hmport}(hjvAhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjAubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubjf)}(h int indexh](j)}(hinth]hint}(hjAhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjAubj.)}(h h]h }(hjAhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjAubjE)}(hindexh]hindex}(hjAhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjAubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hjAhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjAubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjAmodnameN classnameNjj)}j]jWAc.fsl_rio_config_readasbuh1hhjAubj.)}(h h]h }(hjAhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjAubjE)}(hdestidh]hdestid}(hjAhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjAubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hjBhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj Bubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjBmodnameN classnameNjj)}j]jWAc.fsl_rio_config_readasbuh1hhjBubj.)}(h h]h }(hj-BhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjBubjE)}(hhopcounth]hhopcount}(hj;BhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hjWBhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjTBubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjYBmodnameN classnameNjj)}j]jWAc.fsl_rio_config_readasbuh1hhjPBubj.)}(h h]h }(hjuBhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjPBubjE)}(hoffseth]hoffset}(hjBhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjPBubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubjf)}(hint lenh](j)}(hinth]hint}(hjBhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjBubj.)}(h h]h }(hjBhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjBubjE)}(hlenh]hlen}(hjBhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubjf)}(hu32 *valh](h)}(hhh]jE)}(hu32h]hu32}(hjBhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjBmodnameN classnameNjj)}j]jWAc.fsl_rio_config_readasbuh1hhjBubj.)}(h h]h }(hjBhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjBubj)}(hjh]h*}(hjChhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjBubjE)}(hvalh]hval}(hj ChhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjBubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjAubeh}(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&]jj)jhuh1jhj@hKhj@hhubj)}(hhh]h)}(h/Generate a MPC85xx read maintenance transactionh]h/Generate a MPC85xx read maintenance transaction}(hj7ChhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhj4Chhubah}(h]h ]h"]h$]h&]uh1jhj@hhhj@hKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjOCjjOCjjjuh1j hhhj9hNhNubj)}(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)}(hjYCh]h Parameters}(hj[ChhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWCubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjSCubj)}(hhh](j)}(h5``struct rio_mport *mport`` RapidIO master port info h](j)}(h``struct rio_mport *mport``h]j)}(hjxCh]hstruct rio_mport *mport}(hjzChhhNhNubah}(h]h ]h"]h$]h&]uh1jhjvCubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjrCubj)}(hhh]h)}(hRapidIO master port infoh]hRapidIO master port info}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjChKhjCubah}(h]h ]h"]h$]h&]uh1jhjrCubeh}(h]h ]h"]h$]h&]uh1jhjChKhjoCubj)}(h&``int index`` ID of RapdiIO interface h](j)}(h ``int index``h]j)}(hjCh]h int index}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jhjCubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjCubj)}(hhh]h)}(hID of RapdiIO interfaceh]hID of RapdiIO interface}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjChKhjCubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhjChKhjoCubj)}(h-``u16 destid`` Destination ID of transaction h](j)}(h``u16 destid``h]j)}(hjCh]h u16 destid}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jhjCubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chKhjCubj)}(hhh]h)}(hDestination ID of transactionh]hDestination ID of transaction}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjChKhjDubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhjChKhjoCubj)}(h0``u8 hopcount`` Number of hops to target device h](j)}(h``u8 hopcount``h]j)}(hj#Dh]h u8 hopcount}(hj%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)}(hNumber of hops to target deviceh]hNumber of hops to target device}(hjhjnEhhhjEhKubj`)}(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}(hjEhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhjEubj.)}(h h]h }(hjEhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjEubh)}(hhh]jE)}(h rio_mporth]h rio_mport}(hjEhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjEubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjEmodnameN classnameNjj)}j]j)}jjEsbc.fsl_rio_config_writeasbuh1hhjEubj.)}(h h]h }(hjEhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjEubj)}(hjh]h*}(hjEhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjEubjE)}(hmporth]hmport}(hjFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjEubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjEubjf)}(h int indexh](j)}(hinth]hint}(hj!FhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjFubj.)}(h h]h }(hj/FhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjFubjE)}(hindexh]hindex}(hj=FhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjFubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjEubjf)}(h u16 destidh](h)}(hhh]jE)}(hu16h]hu16}(hjYFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjVFubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj[FmodnameN classnameNjj)}j]jEc.fsl_rio_config_writeasbuh1hhjRFubj.)}(h h]h }(hjwFhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjRFubjE)}(hdestidh]hdestid}(hjFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjRFubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjEubjf)}(h u8 hopcounth](h)}(hhh]jE)}(hu8h]hu8}(hjFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjFubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjFmodnameN classnameNjj)}j]jEc.fsl_rio_config_writeasbuh1hhjFubj.)}(h h]h }(hjFhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjFubjE)}(hhopcounth]hhopcount}(hjFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjFubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjEubjf)}(h u32 offseth](h)}(hhh]jE)}(hu32h]hu32}(hjFhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjFubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjFmodnameN classnameNjj)}j]jEc.fsl_rio_config_writeasbuh1hhjFubj.)}(h h]h }(hjGhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hjFubjE)}(hoffseth]hoffset}(hjGhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjFubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehjEubjf)}(hint lenh](j)}(hinth]hint}(hj.GhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj*Gubj.)}(h h]h }(hjhjIhhhjJhMubj`)}(h(struct platform_device *dev)h]jf)}(hstruct platform_device *devh](jl)}(hjoh]hstruct}(hj4JhhhNhNubah}(h]h ]jxah"]h$]h&]uh1jkhj0Jubj.)}(h h]h }(hjAJhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj0Jubh)}(hhh]jE)}(hplatform_deviceh]hplatform_device}(hjRJhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhjOJubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjTJmodnameN classnameNjj)}j]j)}jjJsbc.fsl_rio_setupasbuh1hhj0Jubj.)}(h h]h }(hjrJhhhNhNubah}(h]h ]j:ah"]h$]h&]uh1j-hj0Jubj)}(hjh]h*}(hjJhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj0JubjE)}(hdevh]hdev}(hjJhhhNhNubah}(h]h ]jQah"]h$]h&]uh1jDhj0Jubeh}(h]h ]h"]h$]h&]noemphj]j^uh1jehj,Jubah}(h]h ]h"]h$]h&]j]j^uh1j_hjIhhhjJhMubeh}(h]h ]h"]h$]h&]j]j^juh1jjjhjIhhhjJhMubah}(h]jIah ](jjeh"]h$]h&]jj)jhuh1jhjJhMhjIhhubj)}(hhh]h)}(h)Setup Freescale PowerPC RapidIO interfaceh]h)Setup Freescale PowerPC RapidIO interface}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chMhjJhhubah}(h]h ]h"]h$]h&]uh1jhjIhhhjJhMubeh}(h]h ](jfunctioneh"]h$]h&]jjjjJjjJjjjuh1j hhhj9hNhNubj)}(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)}(hjJh]h Parameters}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chMhjJubj)}(hhh]j)}(h8``struct platform_device *dev`` platform_device pointer h](j)}(h``struct platform_device *dev``h]j)}(hjJh]hstruct platform_device *dev}(hjJhhhNhNubah}(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.chMhjJubj)}(hhh]h)}(hplatform_device pointerh]hplatform_device pointer}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj KhMhjKubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhj KhMhjJubah}(h]h ]h"]h$]h&]uh1jhjJubh)}(h**Description**h]j)}(hj3Kh]h Description}(hj5KhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1Kubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chMhjJubh)}(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.}(hjIKhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/admin-guide/rapidio:90: ./arch/powerpc/sysdev/fsl_rio.chMhjJubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj9hhhNhNubeh}(h] ppc32-supportah ]h"] ppc32 supportah$]h&]uh1hhjhhhhhKXubeh}(h] internalsah ]h"] internalsah$]h&]uh1hhhhhhhhK7ubh)}(hhh](h)}(hCreditsh]hCredits}(hjrKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjoKhhhhhK^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:}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK`hjoKhhubjx)}(hhh](j})}(h)Matt Porter\ mporter@kernel.crashing.org h]h)}(h(Matt Porter\ mporter@kernel.crashing.orgh](h Matt Porter }(hjKhhhNhNubh reference)}(hmporter@kernel.crashing.orgh]hmporter@kernel.crashing.org}(hjKhhhNhNubah}(h]h ]h"]h$]h&]refuri"mailto:mporter@kernel.crashing.orguh1jKhjKubeh}(h]h ]h"]h$]h&]uh1hhhhKchjKubah}(h]h ]h"]h$]h&]uh1j|hjKhhhhhNubj})}(h!Randy Vinson\ rvinson@mvista.com h]h)}(h Randy Vinson\ rvinson@mvista.comh](hRandy Vinson }(hjKhhhNhNubjK)}(hrvinson@mvista.comh]hrvinson@mvista.com}(hjKhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:rvinson@mvista.comuh1jKhjKubeh}(h]h ]h"]h$]h&]uh1hhhhKehjKubah}(h]h ]h"]h$]h&]uh1j|hjKhhhhhNubj})}(h!Dan Malek\ dan@embeddedalley.com h]h)}(h Dan Malek\ dan@embeddedalley.comh](h Dan Malek }(hjKhhhNhNubjK)}(hdan@embeddedalley.comh]hdan@embeddedalley.com}(hjKhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:dan@embeddedalley.comuh1jKhjKubeh}(h]h ]h"]h$]h&]uh1hhhhKghjKubah}(h]h ]h"]h$]h&]uh1j|hjKhhhhhNubeh}(h]h ]h"]h$]h&]jjjhjjuh1jwhjoKhhhhhKcubh)}(h7The following people have contributed to this document:h]h7The following people have contributed to this document:}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihjoKhhubjx)}(hhh]j})}(h(Matt Porter\ mporter@kernel.crashing.orgh]h)}(hj$Lh](h Matt Porter }(hj&LhhhNhNubjK)}(hmporter@kernel.crashing.orgh]hmporter@kernel.crashing.org}(hj-LhhhNhNubah}(h]h ]h"]h$]h&]refuri"mailto:mporter@kernel.crashing.orguh1jKhj&Lubeh}(h]h ]h"]h$]h&]uh1hhhhKkhj"Lubah}(h]h ]h"]h$]h&]uh1j|hjLhhhhhNubah}(h]h ]h"]h$]h&]jjjhjjuh1jwhjoKhhhhhKkubeh}(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_handlerjLerror_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.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_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_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j\LjYLj+j(jjjcj`jjjjj|jyjlKjiKjjjjj.0j+0j9j9jdKjaKjTLjQLu nametypes}(j\Lj+jjcjjj|jlKjjj.0j9jdKjTLuh}(jYLhj(hjj.j`j?jjfjjjyjjjjjjcjhj j jv j{ jj jjjjjjj,j1jjj?jDj j j"j"j3%j8%j'j'j )j)j,j,j /j/j1j 1j2j2j?4jD4jM6jR6j8j8j9j9j,;j1;j<j<jM>jR>jw@j|@jEBjJBjGDjLDjEjEjJjJjLjLj\QjaQjKSjPSjXjXj:[j?[j ^j^j4`j9`j\djadjhjhjkjkj^mjcmj'oj,ojrjrjtjtj#yj(yj{j{j~jjjjjjujzj҉j׉jjjZj_j̒jђjj•j@jEjj jjjܢjjjjTjYjjjjjjjjjiKjjjjôjȴjjjjjjj1j6jjj jjjjj jjjj jjjjjjjjjjjjjj!j jjjjjj8j=jjj^jcjjj`jej5j:jHjMj]jbj1j6jjj+j0jjjQjVjjj j jy j~ j j j+0jjjjjjjjjjfjkjjj j j$j$j'j'j')j,)jE*jJ*j+j+j=-jB-j.j.j9j10jN0jS0j"3j'3j4j4j$6j)6ju8jz8jaKj9j9j9jP=jU=j@j@jeEjjEjIjIjQLjoKu 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.