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/driver-api/message-basedmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/zh_TW/driver-api/message-basedmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/it_IT/driver-api/message-basedmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/ja_JP/driver-api/message-basedmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/ko_KR/driver-api/message-basedmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/sp_SP/driver-api/message-basedmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(hMessage-based devicesh]hMessage-based devices}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhF/var/lib/git/docbuild/linux/Documentation/driver-api/message-based.rsthKubh)}(hhh](h)}(hFusion message devicesh]hFusion message devices}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](singlempt_register (C function)c.mpt_registerhNtauh1hhhhhhNhNubhdesc)}(hhh](hdesc_signature)}(hOu8 mpt_register (MPT_CALLBACK cbfunc, MPT_DRIVER_CLASS dclass, char *func_name)h]hdesc_signature_line)}(hNu8 mpt_register(MPT_CALLBACK cbfunc, MPT_DRIVER_CLASS dclass, char *func_name)h](h)}(hhh]h desc_sig_name)}(hu8h]hu8}(hhhhhNhNubah}(h]h ]nah"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&] refdomaincreftype identifier reftargethmodnameN classnameN c:parent_keysphinx.domains.c LookupKey)}data]j  ASTIdentifier)}j mpt_registersbc.mpt_registerasbuh1hhhhhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMubhdesc_sig_space)}(h h]h }(hjhhhNhNubah}(h]h ]wah"]h$]h&]uh1jhhhhhjhMubh desc_name)}(h mpt_registerh]h)}(hjh]h mpt_register}(hj2hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj.ubah}(h]h ](sig-namedescnameeh"]h$]h&] xml:spacepreserveuh1j,hhhhhjhMubhdesc_parameterlist)}(h?(MPT_CALLBACK cbfunc, MPT_DRIVER_CLASS dclass, char *func_name)h](hdesc_parameter)}(hMPT_CALLBACK cbfunch](h)}(hhh]h)}(h MPT_CALLBACKh]h MPT_CALLBACK}(hjXhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjUubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjZmodnameN classnameNj j)}j]jc.mpt_registerasbuh1hhjQubj)}(h h]h }(hjvhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjQubh)}(hcbfunch]hcbfunc}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjQubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjKubjP)}(hMPT_DRIVER_CLASS dclassh](h)}(hhh]h)}(hMPT_DRIVER_CLASSh]hMPT_DRIVER_CLASS}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNj j)}j]jc.mpt_registerasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubh)}(hdclassh]hdclass}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjKubjP)}(hchar *func_nameh](hdesc_sig_keyword_type)}(hcharh]hchar}(hjhhhNhNubah}(h]h ]ktah"]h$]h&]uh1jhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubhdesc_sig_punctuation)}(h*h]h*}(hjhhhNhNubah}(h]h ]pah"]h$]h&]uh1jhjubh)}(h func_nameh]h func_name}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjKubeh}(h]h ]h"]h$]h&]jGjHuh1jIhhhhhjhMubeh}(h]h ]h"]h$]h&]jGjH add_permalinkuh1hsphinx_line_type declaratorhhhhhjhMubah}(h]hah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1hhjhMhhhhubh desc_content)}(hhh]h paragraph)}(h1Register protocol-specific main callback handler.h]h1Register protocol-specific main callback handler.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjFhhubah}(h]h ]h"]h$]h&]uh1jDhhhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]domainjobjtypejcdesctypejcnoindex noindexentrynocontentsentryuh1hhhhhhNhNubh container)}(hX**Parameters** ``MPT_CALLBACK cbfunc`` callback function pointer ``MPT_DRIVER_CLASS dclass`` Protocol driver's class (``MPT_DRIVER_CLASS`` enum value) ``char *func_name`` call function's name **Description** This routine is called by a protocol-specific driver (SCSI host, LAN, SCSI target) to register its reply callback routine. Each protocol-specific driver must do this before it will be able to use any IOC resources, such as obtaining request frames. **NOTES** The SCSI protocol driver currently calls this routine thrice in order to register separate callbacks; one for "normal" SCSI IO; one for MptScsiTaskMgmt requests; one for Scan/DV requests. Returns u8 valued "handle" in the range (and S.O.D. order) {N,...,7,6,5,...,1} if successful. A return value of MPT_MAX_PROTOCOL_DRIVERS (including zero!) should be considered an error by the caller.h](jJ)}(h**Parameters**h]hstrong)}(hjuh]h Parameters}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjsubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjoubhdefinition_list)}(hhh](hdefinition_list_item)}(h2``MPT_CALLBACK cbfunc`` callback function pointer h](hterm)}(h``MPT_CALLBACK cbfunc``h]hliteral)}(hjh]hMPT_CALLBACK cbfunc}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubh definition)}(hhh]jJ)}(hcallback function pointerh]hcallback function pointer}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hV``MPT_DRIVER_CLASS dclass`` Protocol driver's class (``MPT_DRIVER_CLASS`` enum value) h](j)}(h``MPT_DRIVER_CLASS dclass``h]j)}(hjh]hMPT_DRIVER_CLASS dclass}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubj)}(hhh]jJ)}(h9Protocol driver's class (``MPT_DRIVER_CLASS`` enum value)h](hProtocol driver’s class (}(hjhhhNhNubj)}(h``MPT_DRIVER_CLASS``h]hMPT_DRIVER_CLASS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh enum value)}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jIhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h)``char *func_name`` call function's name h](j)}(h``char *func_name``h]j)}(hj$h]hchar *func_name}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubj)}(hhh]jJ)}(hcall function's nameh]hcall function’s name}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj9hMhj:ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj9hMhjubeh}(h]h ]h"]h$]h&]uh1jhjoubjJ)}(h**Description**h]jx)}(hj_h]h Description}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj]ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjoubh block_quote)}(hThis routine is called by a protocol-specific driver (SCSI host, LAN, SCSI target) to register its reply callback routine. Each protocol-specific driver must do this before it will be able to use any IOC resources, such as obtaining request frames. h]jJ)}(hThis routine is called by a protocol-specific driver (SCSI host, LAN, SCSI target) to register its reply callback routine. Each protocol-specific driver must do this before it will be able to use any IOC resources, such as obtaining request frames.h]hThis routine is called by a protocol-specific driver (SCSI host, LAN, SCSI target) to register its reply callback routine. Each protocol-specific driver must do this before it will be able to use any IOC resources, such as obtaining request frames.}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjwubah}(h]h ]h"]h$]h&]uh1juhjhMhjoubjJ)}(h **NOTES**h]jx)}(hjh]hNOTES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjoubj)}(hhh]j)}(hXThe SCSI protocol driver currently calls this routine thrice in order to register separate callbacks; one for "normal" SCSI IO; one for MptScsiTaskMgmt requests; one for Scan/DV requests. Returns u8 valued "handle" in the range (and S.O.D. order) {N,...,7,6,5,...,1} if successful. A return value of MPT_MAX_PROTOCOL_DRIVERS (including zero!) should be considered an error by the caller.h](j)}(hubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj:ubj)}(hhh]jJ)}(h%previously registered callback handleh]h%previously registered callback handle}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjUhMhjVubah}(h]h ]h"]h$]h&]uh1jhj:ubeh}(h]h ]h"]h$]h&]uh1jhjUhMhj7ubah}(h]h ]h"]h$]h&]uh1jhjubjJ)}(h**Description**h]jx)}(hj{h]h Description}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjyubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubjv)}(hEach protocol-specific driver should call this routine when it does not (or can no longer) handle events, or when its module is unloaded.h]jJ)}(hEach protocol-specific driver should call this routine when it does not (or can no longer) handle events, or when its module is unloaded.h]hEach protocol-specific driver should call this routine when it does not (or can no longer) handle events, or when its module is unloaded.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubah}(h]h ]h"]h$]h&]uh1juhjhMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmpt_reset_register (C function)c.mpt_reset_registerhNtauh1hhhhhhNhNubh)}(hhh](h)}(h?int mpt_reset_register (u8 cb_idx, MPT_RESETHANDLER reset_func)h]h)}(h>int mpt_reset_register(u8 cb_idx, MPT_RESETHANDLER reset_func)h](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMubj)}(h h]h }(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhjhMubj-)}(hmpt_reset_registerh]h)}(hmpt_reset_registerh]hmpt_reset_register}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hjhhhjhMubjJ)}(h((u8 cb_idx, MPT_RESETHANDLER reset_func)h](jP)}(h u8 cb_idxh](h)}(hhh]h)}(hu8h]hu8}(hj hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNj j)}j]j)}jjsbc.mpt_reset_registerasbuh1hhj ubj)}(h h]h }(hj* hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj ubh)}(hcb_idxh]hcb_idx}(hj8 hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjubjP)}(hMPT_RESETHANDLER reset_funch](h)}(hhh]h)}(hMPT_RESETHANDLERh]hMPT_RESETHANDLER}(hjT hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjQ ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjV modnameN classnameNj j)}j]j& c.mpt_reset_registerasbuh1hhjM ubj)}(h h]h }(hjr hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjM ubh)}(h reset_funch]h reset_func}(hj hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjM ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjubeh}(h]h ]h"]h$]h&]jGjHuh1jIhjhhhjhMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hjhhhjhMubah}(h]jah ](j<j=eh"]h$]h&]jAjB)jChuh1hhjhMhjhhubjE)}(hhh]jJ)}(h-Register protocol-specific IOC reset handler.h]h-Register protocol-specific IOC reset handler.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj hhubah}(h]h ]h"]h$]h&]uh1jDhjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj jij jjjkjluh1hhhhhhNhNubjn)}(hX9**Parameters** ``u8 cb_idx`` previously registered (via mpt_register) callback handle ``MPT_RESETHANDLER reset_func`` reset function **Description** This routine can be called by one or more protocol-specific drivers if/when they choose to be notified of IOC resets. Returns 0 for success.h](jJ)}(h**Parameters**h]jx)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj ubj)}(hhh](j)}(hG``u8 cb_idx`` previously registered (via mpt_register) callback handle h](j)}(h ``u8 cb_idx``h]j)}(hj h]h u8 cb_idx}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj ubj)}(hhh]jJ)}(h8previously registered (via mpt_register) callback handleh]h8previously registered (via mpt_register) callback handle}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj hMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hMhj ubj)}(h/``MPT_RESETHANDLER reset_func`` reset function h](j)}(h``MPT_RESETHANDLER reset_func``h]j)}(hj$ h]hMPT_RESETHANDLER reset_func}(hj& hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj" ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj ubj)}(hhh]jJ)}(hreset functionh]hreset function}(hj= hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj9 hMhj: ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj9 hMhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubjJ)}(h**Description**h]jx)}(hj_ h]h Description}(hja hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj] ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj ubjv)}(hThis routine can be called by one or more protocol-specific drivers if/when they choose to be notified of IOC resets. Returns 0 for success.h](jJ)}(huThis routine can be called by one or more protocol-specific drivers if/when they choose to be notified of IOC resets.h]huThis routine can be called by one or more protocol-specific drivers if/when they choose to be notified of IOC resets.}(hjy hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhju ubjJ)}(hReturns 0 for success.h]hReturns 0 for success.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhju ubeh}(h]h ]h"]h$]h&]uh1juhj hMhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ!mpt_reset_deregister (C function)c.mpt_reset_deregisterhNtauh1hhhhhhNhNubh)}(hhh](h)}(h%void mpt_reset_deregister (u8 cb_idx)h]h)}(h$void mpt_reset_deregister(u8 cb_idx)h](j)}(hvoidh]hvoid}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM&ubj)}(h h]h }(hj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj hhhj hM&ubj-)}(hmpt_reset_deregisterh]h)}(hmpt_reset_deregisterh]hmpt_reset_deregister}(hj hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj hhhj hM&ubjJ)}(h (u8 cb_idx)h]jP)}(h u8 cb_idxh](h)}(hhh]h)}(hu8h]hu8}(hj hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNj j)}j]j)}jj sbc.mpt_reset_deregisterasbuh1hhj ubj)}(h h]h }(hj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj ubh)}(hcb_idxh]hcb_idx}(hj+ hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj ubah}(h]h ]h"]h$]h&]jGjHuh1jIhj hhhj hM&ubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj hhhj hM&ubah}(h]j ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj hM&hj hhubjE)}(hhh]jJ)}(h/Deregister protocol-specific IOC reset handler.h]h/Deregister protocol-specific IOC reset handler.}(hjU hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM&hjR hhubah}(h]h ]h"]h$]h&]uh1jDhj hhhj hM&ubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhjm jijm jjjkjluh1hhhhhhNhNubjn)}(h**Parameters** ``u8 cb_idx`` previously registered callback handle **Description** Each protocol-specific driver should call this routine when it does not (or can no longer) handle IOC reset handling, or when its module is unloaded.h](jJ)}(h**Parameters**h]jx)}(hjw h]h Parameters}(hjy hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhju ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM*hjq ubj)}(hhh]j)}(h4``u8 cb_idx`` previously registered callback handle h](j)}(h ``u8 cb_idx``h]j)}(hj h]h u8 cb_idx}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM'hj ubj)}(hhh]jJ)}(h%previously registered callback handleh]h%previously registered callback handle}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj hM'hj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hM'hj ubah}(h]h ]h"]h$]h&]uh1jhjq ubjJ)}(h**Description**h]jx)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM)hjq ubjv)}(hEach protocol-specific driver should call this routine when it does not (or can no longer) handle IOC reset handling, or when its module is unloaded.h]jJ)}(hEach protocol-specific driver should call this routine when it does not (or can no longer) handle IOC reset handling, or when its module is unloaded.h]hEach protocol-specific driver should call this routine when it does not (or can no longer) handle IOC reset handling, or when its module is unloaded.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM(hj ubah}(h]h ]h"]h$]h&]uh1juhj hM(hjq ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ'mpt_device_driver_register (C function)c.mpt_device_driver_registerhNtauh1hhhhhhNhNubh)}(hhh](h)}(hMint mpt_device_driver_register (struct mpt_pci_driver * dd_cbfunc, u8 cb_idx)h]h)}(hKint mpt_device_driver_register(struct mpt_pci_driver *dd_cbfunc, u8 cb_idx)h](j)}(hinth]hint}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM8ubj)}(h h]h }(hj/ hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj hhhj. hM8ubj-)}(hmpt_device_driver_registerh]h)}(hmpt_device_driver_registerh]hmpt_device_driver_register}(hjA hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj= ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj hhhj. hM8ubjJ)}(h-(struct mpt_pci_driver *dd_cbfunc, u8 cb_idx)h](jP)}(h struct mpt_pci_driver *dd_cbfunch](hdesc_sig_keyword)}(hstructh]hstruct}(hj_ hhhNhNubah}(h]h ]kah"]h$]h&]uh1j] hjY ubj)}(h h]h }(hjn hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjY ubh)}(hhh]h)}(hmpt_pci_driverh]hmpt_pci_driver}(hj hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj| ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNj j)}j]j)}jjC sbc.mpt_device_driver_registerasbuh1hhjY ubj)}(h h]h }(hj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjY ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjY ubh)}(h dd_cbfunch]h dd_cbfunc}(hj hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjY ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjU ubjP)}(h u8 cb_idxh](h)}(hhh]h)}(hu8h]hu8}(hj hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNj j)}j]j c.mpt_device_driver_registerasbuh1hhj ubj)}(h h]h }(hj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj ubh)}(hcb_idxh]hcb_idx}(hj hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjU ubeh}(h]h ]h"]h$]h&]jGjHuh1jIhj hhhj. hM8ubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj hhhj. hM8ubah}(h]j ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj. hM8hj hhubjE)}(hhh]jJ)}(hRegister device driver hooksh]hRegister device driver hooks}(hj, hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM8hj) hhubah}(h]h ]h"]h$]h&]uh1jDhj hhhj. hM8ubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhjD jijD jjjkjluh1hhhhhhNhNubjn)}(hz**Parameters** ``struct mpt_pci_driver * dd_cbfunc`` driver callbacks struct ``u8 cb_idx`` MPT protocol driver indexh](jJ)}(h**Parameters**h]jx)}(hjN h]h Parameters}(hjP hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjL ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM<hjH ubj)}(hhh](j)}(h>``struct mpt_pci_driver * dd_cbfunc`` driver callbacks struct h](j)}(h%``struct mpt_pci_driver * dd_cbfunc``h]j)}(hjm h]h!struct mpt_pci_driver * dd_cbfunc}(hjo hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjk ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM9hjg ubj)}(hhh]jJ)}(hdriver callbacks structh]hdriver callbacks struct}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj hM9hj ubah}(h]h ]h"]h$]h&]uh1jhjg ubeh}(h]h ]h"]h$]h&]uh1jhj hM9hjd ubj)}(h'``u8 cb_idx`` MPT protocol driver indexh](j)}(h ``u8 cb_idx``h]j)}(hj h]h u8 cb_idx}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM;hj ubj)}(hhh]jJ)}(hMPT protocol driver indexh]hMPT protocol driver index}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM:hj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hM;hjd ubeh}(h]h ]h"]h$]h&]uh1jhjH ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ)mpt_device_driver_deregister (C function)c.mpt_device_driver_deregisterhNtauh1hhhhhhNhNubh)}(hhh](h)}(h-void mpt_device_driver_deregister (u8 cb_idx)h]h)}(h,void mpt_device_driver_deregister(u8 cb_idx)h](j)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMQubj)}(h h]h }(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj hhhjhMQubj-)}(hmpt_device_driver_deregisterh]h)}(hmpt_device_driver_deregisterh]hmpt_device_driver_deregister}(hj!hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj hhhjhMQubjJ)}(h (u8 cb_idx)h]jP)}(h u8 cb_idxh](h)}(hhh]h)}(hu8h]hu8}(hj@hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj=ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjBmodnameN classnameNj j)}j]j)}jj#sbc.mpt_device_driver_deregisterasbuh1hhj9ubj)}(h h]h }(hj`hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj9ubh)}(hcb_idxh]hcb_idx}(hjnhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj9ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj5ubah}(h]h ]h"]h$]h&]jGjHuh1jIhj hhhjhMQubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj hhhjhMQubah}(h]j ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhjhMQhj hhubjE)}(hhh]jJ)}(hDeRegister device driver hooksh]hDeRegister device driver hooks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMQhjhhubah}(h]h ]h"]h$]h&]uh1jDhj hhhjhMQubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhjjijjjjkjluh1hhhhhhNhNubjn)}(h9**Parameters** ``u8 cb_idx`` MPT protocol driver indexh](jJ)}(h**Parameters**h]jx)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMUhjubj)}(hhh]j)}(h'``u8 cb_idx`` MPT protocol driver indexh](j)}(h ``u8 cb_idx``h]j)}(hjh]h u8 cb_idx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMWhjubj)}(hhh]jJ)}(hMPT protocol driver indexh]hMPT protocol driver index}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMRhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMWhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmpt_get_msg_frame (C function)c.mpt_get_msg_framehNtauh1hhhhhhNhNubh)}(hhh](h)}(h>MPT_FRAME_HDR* mpt_get_msg_frame (u8 cb_idx, MPT_ADAPTER *ioc)h]h)}(h=MPT_FRAME_HDR *mpt_get_msg_frame(u8 cb_idx, MPT_ADAPTER *ioc)h](h)}(hhh]h)}(h MPT_FRAME_HDRh]h MPT_FRAME_HDR}(hj6hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj8modnameN classnameNj j)}j]j)}jmpt_get_msg_framesbc.mpt_get_msg_frameasbuh1hhj/hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMjubj)}(h h]h }(hjXhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj/hhhjWhMjubj)}(hjh]h*}(hjfhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj/hhhjWhMjubj-)}(hmpt_get_msg_frameh]h)}(hjTh]hmpt_get_msg_frame}(hjwhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjsubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj/hhhjWhMjubjJ)}(h(u8 cb_idx, MPT_ADAPTER *ioc)h](jP)}(h u8 cb_idxh](h)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNj j)}j]jRc.mpt_get_msg_frameasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubh)}(hcb_idxh]hcb_idx}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjubjP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNj j)}j]jRc.mpt_get_msg_frameasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hioch]hioc}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjubeh}(h]h ]h"]h$]h&]jGjHuh1jIhj/hhhjWhMjubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj+hhhjWhMjubah}(h]j&ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhjWhMjhj(hhubjE)}(hhh]jJ)}(h)Obtain an MPT request frame from the poolh]h)Obtain an MPT request frame from the pool}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMjhj=hhubah}(h]h ]h"]h$]h&]uh1jDhj(hhhjWhMjubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhjXjijXjjjkjluh1hhhhhhNhNubjn)}(hX_**Parameters** ``u8 cb_idx`` Handle of registered MPT protocol driver ``MPT_ADAPTER *ioc`` Pointer to MPT adapter structure **Description** Obtain an MPT request frame from the pool (of 1024) that are allocated per MPT adapter. Returns pointer to a MPT request frame or ``NULL`` if none are available or IOC is not active.h](jJ)}(h**Parameters**h]jx)}(hjbh]h Parameters}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj`ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMnhj\ubj)}(hhh](j)}(h7``u8 cb_idx`` Handle of registered MPT protocol driver h](j)}(h ``u8 cb_idx``h]j)}(hjh]h u8 cb_idx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMkhj{ubj)}(hhh]jJ)}(h(Handle of registered MPT protocol driverh]h(Handle of registered MPT protocol driver}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjhMkhjubah}(h]h ]h"]h$]h&]uh1jhj{ubeh}(h]h ]h"]h$]h&]uh1jhjhMkhjxubj)}(h6``MPT_ADAPTER *ioc`` Pointer to MPT adapter structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hjh]hMPT_ADAPTER *ioc}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMlhjubj)}(hhh]jJ)}(h Pointer to MPT adapter structureh]h Pointer to MPT adapter structure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjhMlhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMlhjxubeh}(h]h ]h"]h$]h&]uh1jhj\ubjJ)}(h**Description**h]jx)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMnhj\ubjv)}(hObtain an MPT request frame from the pool (of 1024) that are allocated per MPT adapter. Returns pointer to a MPT request frame or ``NULL`` if none are available or IOC is not active.h](jJ)}(hWObtain an MPT request frame from the pool (of 1024) that are allocated per MPT adapter.h]hWObtain an MPT request frame from the pool (of 1024) that are allocated per MPT adapter.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMmhj ubjJ)}(h^Returns pointer to a MPT request frame or ``NULL`` if none are available or IOC is not active.h](h*Returns pointer to a MPT request frame or }(hjhhhNhNubj)}(h``NULL``h]hNULL}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, if none are available or IOC is not active.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMphj ubeh}(h]h ]h"]h$]h&]uh1juhjhMmhj\ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmpt_put_msg_frame (C function)c.mpt_put_msg_framehNtauh1hhhhhhNhNubh)}(hhh](h)}(hGvoid mpt_put_msg_frame (u8 cb_idx, MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf)h]h)}(hFvoid mpt_put_msg_frame(u8 cb_idx, MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf)h](j)}(hvoidh]hvoid}(hjehhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjahhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMubj)}(h h]h }(hjthhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjahhhjshMubj-)}(hmpt_put_msg_frameh]h)}(hmpt_put_msg_frameh]hmpt_put_msg_frame}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hjahhhjshMubjJ)}(h0(u8 cb_idx, MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf)h](jP)}(h u8 cb_idxh](h)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNj j)}j]j)}jjsbc.mpt_put_msg_frameasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubh)}(hcb_idxh]hcb_idx}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjubjP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNj j)}j]jc.mpt_put_msg_frameasbuh1hhjubj)}(h h]h }(hj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hioch]hioc}(hj(hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjubjP)}(hMPT_FRAME_HDR *mfh](h)}(hhh]h)}(h MPT_FRAME_HDRh]h MPT_FRAME_HDR}(hjDhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjFmodnameN classnameNj j)}j]jc.mpt_put_msg_frameasbuh1hhj=ubj)}(h h]h }(hjbhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj=ubj)}(hjh]h*}(hjphhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj=ubh)}(hmfh]hmf}(hj}hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj=ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjubeh}(h]h ]h"]h$]h&]jGjHuh1jIhjahhhjshMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj]hhhjshMubah}(h]jXah ](j<j=eh"]h$]h&]jAjB)jChuh1hhjshMhjZhhubjE)}(hhh]jJ)}(h4Send a protocol-specific MPT request frame to an IOCh]h4Send a protocol-specific MPT request frame to an IOC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjhhubah}(h]h ]h"]h$]h&]uh1jDhjZhhhjshMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhjjijjjjkjluh1hhhhhhNhNubjn)}(hX/**Parameters** ``u8 cb_idx`` Handle of registered MPT protocol driver ``MPT_ADAPTER *ioc`` Pointer to MPT adapter structure ``MPT_FRAME_HDR *mf`` Pointer to MPT request frame **Description** This routine posts an MPT request frame to the request post FIFO of a specific MPT adapter.h](jJ)}(h**Parameters**h]jx)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubj)}(hhh](j)}(h7``u8 cb_idx`` Handle of registered MPT protocol driver h](j)}(h ``u8 cb_idx``h]j)}(hjh]h u8 cb_idx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubj)}(hhh]jJ)}(h(Handle of registered MPT protocol driverh]h(Handle of registered MPT protocol driver}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h6``MPT_ADAPTER *ioc`` Pointer to MPT adapter structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hj!h]hMPT_ADAPTER *ioc}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubj)}(hhh]jJ)}(h Pointer to MPT adapter structureh]h Pointer to MPT adapter structure}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj6hMhj7ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6hMhjubj)}(h3``MPT_FRAME_HDR *mf`` Pointer to MPT request frame h](j)}(h``MPT_FRAME_HDR *mf``h]j)}(hjZh]hMPT_FRAME_HDR *mf}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjTubj)}(hhh]jJ)}(hPointer to MPT request frameh]hPointer to MPT request frame}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjohMhjpubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhjohMhjubeh}(h]h ]h"]h$]h&]uh1jhjubjJ)}(h**Description**h]jx)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubjv)}(h[This routine posts an MPT request frame to the request post FIFO of a specific MPT adapter.h]jJ)}(h[This routine posts an MPT request frame to the request post FIFO of a specific MPT adapter.h]h[This routine posts an MPT request frame to the request post FIFO of a specific MPT adapter.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubah}(h]h ]h"]h$]h&]uh1juhjhMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ%mpt_put_msg_frame_hi_pri (C function)c.mpt_put_msg_frame_hi_prihNtauh1hhhhhhNhNubh)}(hhh](h)}(hNvoid mpt_put_msg_frame_hi_pri (u8 cb_idx, MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf)h]h)}(hMvoid mpt_put_msg_frame_hi_pri(u8 cb_idx, MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf)h](j)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMubj)}(h h]h }(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjhhhjhMubj-)}(hmpt_put_msg_frame_hi_prih]h)}(hmpt_put_msg_frame_hi_prih]hmpt_put_msg_frame_hi_pri}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hjhhhjhMubjJ)}(h0(u8 cb_idx, MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf)h](jP)}(h u8 cb_idxh](h)}(hhh]h)}(hu8h]hu8}(hj$hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj!ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj&modnameN classnameNj j)}j]j)}jjsbc.mpt_put_msg_frame_hi_priasbuh1hhjubj)}(h h]h }(hjDhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubh)}(hcb_idxh]hcb_idx}(hjRhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjubjP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hjnhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjkubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjpmodnameN classnameNj j)}j]j@c.mpt_put_msg_frame_hi_priasbuh1hhjgubj)}(h h]h }(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjgubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjgubh)}(hioch]hioc}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjgubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjubjP)}(hMPT_FRAME_HDR *mfh](h)}(hhh]h)}(h MPT_FRAME_HDRh]h MPT_FRAME_HDR}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNj j)}j]j@c.mpt_put_msg_frame_hi_priasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hmfh]hmf}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjubeh}(h]h ]h"]h$]h&]jGjHuh1jIhjhhhjhMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj hhhjhMubah}(h]jah ](j<j=eh"]h$]h&]jAjB)jChuh1hhjhMhjhhubjE)}(hhh]jJ)}(h1Send a hi-pri protocol-specific MPT request frameh]h1Send a hi-pri protocol-specific MPT request frame}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj#hhubah}(h]h ]h"]h$]h&]uh1jDhjhhhjhMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj>jij>jjjkjluh1hhhhhhNhNubjn)}(hX**Parameters** ``u8 cb_idx`` Handle of registered MPT protocol driver ``MPT_ADAPTER *ioc`` Pointer to MPT adapter structure ``MPT_FRAME_HDR *mf`` Pointer to MPT request frame **Description** Send a protocol-specific MPT request frame to an IOC using hi-priority request queue. This routine posts an MPT request frame to the request post FIFO of a specific MPT adapter.h](jJ)}(h**Parameters**h]jx)}(hjHh]h Parameters}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjFubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjBubj)}(hhh](j)}(h7``u8 cb_idx`` Handle of registered MPT protocol driver h](j)}(h ``u8 cb_idx``h]j)}(hjgh]h u8 cb_idx}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1jhjeubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjaubj)}(hhh]jJ)}(h(Handle of registered MPT protocol driverh]h(Handle of registered MPT protocol driver}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj|hMhj}ubah}(h]h ]h"]h$]h&]uh1jhjaubeh}(h]h ]h"]h$]h&]uh1jhj|hMhj^ubj)}(h6``MPT_ADAPTER *ioc`` Pointer to MPT adapter structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hjh]hMPT_ADAPTER *ioc}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubj)}(hhh]jJ)}(h Pointer to MPT adapter structureh]h Pointer to MPT adapter structure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj^ubj)}(h3``MPT_FRAME_HDR *mf`` Pointer to MPT request frame h](j)}(h``MPT_FRAME_HDR *mf``h]j)}(hjh]hMPT_FRAME_HDR *mf}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubj)}(hhh]jJ)}(hPointer to MPT request frameh]hPointer to MPT request frame}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj^ubeh}(h]h ]h"]h$]h&]uh1jhjBubjJ)}(h**Description**h]jx)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjBubjv)}(hSend a protocol-specific MPT request frame to an IOC using hi-priority request queue. This routine posts an MPT request frame to the request post FIFO of a specific MPT adapter.h](jJ)}(hUSend a protocol-specific MPT request frame to an IOC using hi-priority request queue.h]hUSend a protocol-specific MPT request frame to an IOC using hi-priority request queue.}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj*ubjJ)}(h[This routine posts an MPT request frame to the request post FIFO of a specific MPT adapter.h]h[This routine posts an MPT request frame to the request post FIFO of a specific MPT adapter.}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj*ubeh}(h]h ]h"]h$]h&]uh1juhj<hMhjBubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmpt_free_msg_frame (C function)c.mpt_free_msg_framehNtauh1hhhhhhNhNubh)}(hhh](h)}(h=void mpt_free_msg_frame (MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf)h]h)}(hh]h Parameters}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj<ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj8ubj)}(hhh](j)}(h7``u8 cb_idx`` Handle of registered MPT protocol driver h](j)}(h ``u8 cb_idx``h]j)}(hj]h]h u8 cb_idx}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjWubj)}(hhh]jJ)}(h(Handle of registered MPT protocol driverh]h(Handle of registered MPT protocol driver}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjrhMhjsubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhjrhMhjTubj)}(h6``MPT_ADAPTER *ioc`` Pointer to MPT adapter structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hjh]hMPT_ADAPTER *ioc}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubj)}(hhh]jJ)}(h Pointer to MPT adapter structureh]h Pointer to MPT adapter structure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjTubj)}(h.``int reqBytes`` Size of the request in bytes h](j)}(h``int reqBytes``h]j)}(hjh]h int reqBytes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubj)}(hhh]jJ)}(hSize of the request in bytesh]hSize of the request in bytes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjTubj)}(h*``u32 *req`` Pointer to MPT request frame h](j)}(h ``u32 *req``h]j)}(hjh]hu32 *req}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubj)}(hhh]jJ)}(hPointer to MPT request frameh]hPointer to MPT request frame}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjTubj)}(h=``int sleepFlag`` Use schedule if CAN_SLEEP else use udelay. h](j)}(h``int sleepFlag``h]j)}(hjAh]h int sleepFlag}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj;ubj)}(hhh]jJ)}(h*Use schedule if CAN_SLEEP else use udelay.h]h*Use schedule if CAN_SLEEP else use udelay.}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjVhMhjWubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhjVhMhjTubeh}(h]h ]h"]h$]h&]uh1jhj8ubjJ)}(h**Description**h]jx)}(hj|h]h Description}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjzubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj8ubjv)}(h}This routine is used exclusively to send MptScsiTaskMgmt requests since they are required to be sent via doorbell handshake. h]jJ)}(h|This routine is used exclusively to send MptScsiTaskMgmt requests since they are required to be sent via doorbell handshake.h]h|This routine is used exclusively to send MptScsiTaskMgmt requests since they are required to be sent via doorbell handshake.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubah}(h]h ]h"]h$]h&]uh1juhjhMhj8ubjJ)}(h**NOTE**h]jx)}(hjh]hNOTE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj8ubj)}(hhh]j)}(hIt is the callers responsibility to byte-swap fields in the request which are greater than 1 byte in size. Returns 0 for success, non-zero for failure.h](j)}(h;It is the callers responsibility to byte-swap fields in theh]h;It is the callers responsibility to byte-swap fields in the}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubj)}(hhh](jJ)}(h.request which are greater than 1 byte in size.h]h.request which are greater than 1 byte in size.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubjJ)}(h,Returns 0 for success, non-zero for failure.h]h,Returns 0 for success, non-zero for failure.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmpt_verify_adapter (C function)c.mpt_verify_adapterhNtauh1hhhhhhNhNubh)}(hhh](h)}(h7int mpt_verify_adapter (int iocid, MPT_ADAPTER **iocpp)h]h)}(h6int mpt_verify_adapter(int iocid, MPT_ADAPTER **iocpp)h](j)}(hinth]hint}(hj,hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj(hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMTubj)}(h h]h }(hj;hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj(hhhj:hMTubj-)}(hmpt_verify_adapterh]h)}(hmpt_verify_adapterh]hmpt_verify_adapter}(hjMhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjIubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj(hhhj:hMTubjJ)}(h (int iocid, MPT_ADAPTER **iocpp)h](jP)}(h int iocidh](j)}(hinth]hint}(hjihhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjeubj)}(h h]h }(hjwhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjeubh)}(hiocidh]hiocid}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjeubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjaubjP)}(hMPT_ADAPTER **iocpph](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNj j)}j]j)}jjOsbc.mpt_verify_adapterasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hiocpph]hiocpp}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjaubeh}(h]h ]h"]h$]h&]jGjHuh1jIhj(hhhj:hMTubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj$hhhj:hMTubah}(h]jah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj:hMThj!hhubjE)}(hhh]jJ)}(h;Given IOC identifier, set pointer to its adapter structure.h]h;Given IOC identifier, set pointer to its adapter structure.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMThjhhubah}(h]h ]h"]h$]h&]uh1jDhj!hhhj:hMTubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj+jij+jjjkjluh1hhhhhhNhNubjn)}(hXI**Parameters** ``int iocid`` IOC unique identifier (integer) ``MPT_ADAPTER **iocpp`` Pointer to pointer to IOC adapter **Description** Given a unique IOC identifier, set pointer to the associated MPT adapter structure. Returns iocid and sets iocpp if iocid is found. Returns -1 if iocid is not found.h](jJ)}(h**Parameters**h]jx)}(hj5h]h Parameters}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj3ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMXhj/ubj)}(hhh](j)}(h.``int iocid`` IOC unique identifier (integer) h](j)}(h ``int iocid``h]j)}(hjTh]h int iocid}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjRubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMUhjNubj)}(hhh]jJ)}(hIOC unique identifier (integer)h]hIOC unique identifier (integer)}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjihMUhjjubah}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]uh1jhjihMUhjKubj)}(h:``MPT_ADAPTER **iocpp`` Pointer to pointer to IOC adapter h](j)}(h``MPT_ADAPTER **iocpp``h]j)}(hjh]hMPT_ADAPTER **iocpp}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMVhjubj)}(hhh]jJ)}(h!Pointer to pointer to IOC adapterh]h!Pointer to pointer to IOC adapter}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjhMVhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMVhjKubeh}(h]h ]h"]h$]h&]uh1jhj/ubjJ)}(h**Description**h]jx)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMXhj/ubjv)}(hGiven a unique IOC identifier, set pointer to the associated MPT adapter structure. Returns iocid and sets iocpp if iocid is found. Returns -1 if iocid is not found.h](jJ)}(hSGiven a unique IOC identifier, set pointer to the associated MPT adapter structure.h]hSGiven a unique IOC identifier, set pointer to the associated MPT adapter structure.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMWhjubjJ)}(hQReturns iocid and sets iocpp if iocid is found. Returns -1 if iocid is not found.h]hQReturns iocid and sets iocpp if iocid is found. Returns -1 if iocid is not found.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMZhjubeh}(h]h ]h"]h$]h&]uh1juhjhMWhj/ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmpt_attach (C function) c.mpt_attachhNtauh1hhhhhhNhNubh)}(hhh](h)}(hEint mpt_attach (struct pci_dev *pdev, const struct pci_device_id *id)h]h)}(hDint mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id)h](j)}(hinth]hint}(hj&hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMubj)}(h h]h }(hj5hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj"hhhj4hMubj-)}(h mpt_attachh]h)}(h mpt_attachh]h mpt_attach}(hjGhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjCubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj"hhhj4hMubjJ)}(h6(struct pci_dev *pdev, const struct pci_device_id *id)h](jP)}(hstruct pci_dev *pdevh](j^ )}(hja h]hstruct}(hjchhhNhNubah}(h]h ]jj ah"]h$]h&]uh1j] hj_ubj)}(h h]h }(hjphhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj_ubh)}(hhh]h)}(hpci_devh]hpci_dev}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj~ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNj j)}j]j)}jjIsb c.mpt_attachasbuh1hhj_ubj)}(h h]h }(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj_ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj_ubh)}(hpdevh]hpdev}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj_ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj[ubjP)}(hconst struct pci_device_id *idh](j^ )}(hconsth]hconst}(hjhhhNhNubah}(h]h ]jj ah"]h$]h&]uh1j] hjubj)}(h h]h }(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj^ )}(hja h]hstruct}(hjhhhNhNubah}(h]h ]jj ah"]h$]h&]uh1j] hjubj)}(h h]h }(hjhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubh)}(hhh]h)}(h pci_device_idh]h pci_device_id}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNj j)}j]j c.mpt_attachasbuh1hhjubj)}(h h]h }(hj-hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjubj)}(hjh]h*}(hj;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hidh]hid}(hjHhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj[ubeh}(h]h ]h"]h$]h&]jGjHuh1jIhj"hhhj4hMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hjhhhj4hMubah}(h]jah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj4hMhjhhubjE)}(hhh]jJ)}(h&Install a PCI intelligent MPT adapter.h]h&Install a PCI intelligent MPT adapter.}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjohhubah}(h]h ]h"]h$]h&]uh1jDhjhhhj4hMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhjjijjjjkjluh1hhhhhhNhNubjn)}(hXI**Parameters** ``struct pci_dev *pdev`` Pointer to pci_dev structure ``const struct pci_device_id *id`` PCI device ID information **Description** This routine performs all the steps necessary to bring the IOC of a MPT adapter to a OPERATIONAL state. This includes registering memory regions, registering the interrupt, and allocating request and reply memory pools. This routine also pre-fetches the LAN MAC address of a Fibre Channel MPT adapter. Returns 0 for success, non-zero for failure. TODO: Add support for polled controllersh](jJ)}(h**Parameters**h]jx)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubj)}(hhh](j)}(h6``struct pci_dev *pdev`` Pointer to pci_dev structure h](j)}(h``struct pci_dev *pdev``h]j)}(hjh]hstruct pci_dev *pdev}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubj)}(hhh]jJ)}(hPointer to pci_dev structureh]hPointer to pci_dev structure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h=``const struct pci_device_id *id`` PCI device ID information h](j)}(h"``const struct pci_device_id *id``h]j)}(hjh]hconst struct pci_device_id *id}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubj)}(hhh]jJ)}(hPCI device ID informationh]hPCI device ID information}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj hMhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hMhjubeh}(h]h ]h"]h$]h&]uh1jhjubjJ)}(h**Description**h]jx)}(hj' h]h Description}(hj) hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj% ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjubjv)}(hXThis routine performs all the steps necessary to bring the IOC of a MPT adapter to a OPERATIONAL state. This includes registering memory regions, registering the interrupt, and allocating request and reply memory pools. This routine also pre-fetches the LAN MAC address of a Fibre Channel MPT adapter. Returns 0 for success, non-zero for failure. TODO: Add support for polled controllersh](jJ)}(hThis routine performs all the steps necessary to bring the IOC of a MPT adapter to a OPERATIONAL state. This includes registering memory regions, registering the interrupt, and allocating request and reply memory pools.h]hThis routine performs all the steps necessary to bring the IOC of a MPT adapter to a OPERATIONAL state. This includes registering memory regions, registering the interrupt, and allocating request and reply memory pools.}(hjA hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj= ubjJ)}(hQThis routine also pre-fetches the LAN MAC address of a Fibre Channel MPT adapter.h]hQThis routine also pre-fetches the LAN MAC address of a Fibre Channel MPT adapter.}(hjP hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj= ubjJ)}(h,Returns 0 for success, non-zero for failure.h]h,Returns 0 for success, non-zero for failure.}(hj_ hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj= ubjJ)}(h(TODO: Add support for polled controllersh]h(TODO: Add support for polled controllers}(hjn hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj= ubeh}(h]h ]h"]h$]h&]uh1juhjO hMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmpt_detach (C function) c.mpt_detachhNtauh1hhhhhhNhNubh)}(hhh](h)}(h&void mpt_detach (struct pci_dev *pdev)h]h)}(h%void mpt_detach(struct pci_dev *pdev)h](j)}(hvoidh]hvoid}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMubj)}(h h]h }(hj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj hhhj hMubj-)}(h mpt_detachh]h)}(h mpt_detachh]h mpt_detach}(hj hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj hhhj hMubjJ)}(h(struct pci_dev *pdev)h]jP)}(hstruct pci_dev *pdevh](j^ )}(hja h]hstruct}(hj hhhNhNubah}(h]h ]jj ah"]h$]h&]uh1j] hj ubj)}(h h]h }(hj hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj ubh)}(hhh]h)}(hpci_devh]hpci_dev}(hj hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj!modnameN classnameNj j)}j]j)}jj sb c.mpt_detachasbuh1hhj ubj)}(h h]h }(hj!hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj ubj)}(hjh]h*}(hj,!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubh)}(hpdevh]hpdev}(hj9!hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj ubah}(h]h ]h"]h$]h&]jGjHuh1jIhj hhhj hMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj hhhj hMubah}(h]j ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj hMhj hhubjE)}(hhh]jJ)}(h%Remove a PCI intelligent MPT adapter.h]h%Remove a PCI intelligent MPT adapter.}(hjc!hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj`!hhubah}(h]h ]h"]h$]h&]uh1jDhj hhhj hMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj{!jij{!jjjkjluh1hhhhhhNhNubjn)}(hG**Parameters** ``struct pci_dev *pdev`` Pointer to pci_dev structureh](jJ)}(h**Parameters**h]jx)}(hj!h]h Parameters}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj!ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj!ubj)}(hhh]j)}(h5``struct pci_dev *pdev`` Pointer to pci_dev structureh](j)}(h``struct pci_dev *pdev``h]j)}(hj!h]hstruct pci_dev *pdev}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj!ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj!ubj)}(hhh]jJ)}(hPointer to pci_dev structureh]hPointer to pci_dev structure}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.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&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmpt_suspend (C function) c.mpt_suspendhNtauh1hhhhhhNhNubh)}(hhh](h)}(h:int mpt_suspend (struct pci_dev *pdev, pm_message_t state)h]h)}(h9int mpt_suspend(struct pci_dev *pdev, pm_message_t state)h](j)}(hinth]hint}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMTubj)}(h h]h }(hj "hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj!hhhj "hMTubj-)}(h mpt_suspendh]h)}(h mpt_suspendh]h mpt_suspend}(hj"hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj"ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj!hhhj "hMTubjJ)}(h*(struct pci_dev *pdev, pm_message_t state)h](jP)}(hstruct pci_dev *pdevh](j^ )}(hja h]hstruct}(hj;"hhhNhNubah}(h]h ]jj ah"]h$]h&]uh1j] hj7"ubj)}(h h]h }(hjH"hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj7"ubh)}(hhh]h)}(hpci_devh]hpci_dev}(hjY"hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjV"ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj["modnameN classnameNj j)}j]j)}jj!"sb c.mpt_suspendasbuh1hhj7"ubj)}(h h]h }(hjy"hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj7"ubj)}(hjh]h*}(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj7"ubh)}(hpdevh]hpdev}(hj"hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj7"ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj3"ubjP)}(hpm_message_t stateh](h)}(hhh]h)}(h pm_message_th]h pm_message_t}(hj"hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj"ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj"modnameN classnameNj j)}j]ju" c.mpt_suspendasbuh1hhj"ubj)}(h h]h }(hj"hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj"ubh)}(hstateh]hstate}(hj"hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj"ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj3"ubeh}(h]h ]h"]h$]h&]jGjHuh1jIhj!hhhj "hMTubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj!hhhj "hMTubah}(h]j!ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj "hMThj!hhubjE)}(hhh]jJ)}(h'Fusion MPT base driver suspend routine.h]h'Fusion MPT base driver suspend routine.}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMThj#hhubah}(h]h ]h"]h$]h&]uh1jDhj!hhhj "hMTubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj#jij#jjjkjluh1hhhhhhNhNubjn)}(ht**Parameters** ``struct pci_dev *pdev`` Pointer to pci_dev structure ``pm_message_t state`` new state to enterh](jJ)}(h**Parameters**h]jx)}(hj(#h]h Parameters}(hj*#hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj&#ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMXhj"#ubj)}(hhh](j)}(h6``struct pci_dev *pdev`` Pointer to pci_dev structure h](j)}(h``struct pci_dev *pdev``h]j)}(hjG#h]hstruct pci_dev *pdev}(hjI#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjE#ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMUhjA#ubj)}(hhh]jJ)}(hPointer to pci_dev structureh]hPointer to pci_dev structure}(hj`#hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj\#hMUhj]#ubah}(h]h ]h"]h$]h&]uh1jhjA#ubeh}(h]h ]h"]h$]h&]uh1jhj\#hMUhj>#ubj)}(h)``pm_message_t state`` new state to enterh](j)}(h``pm_message_t state``h]j)}(hj#h]hpm_message_t state}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~#ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMWhjz#ubj)}(hhh]jJ)}(hnew state to enterh]hnew state to enter}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMVhj#ubah}(h]h ]h"]h$]h&]uh1jhjz#ubeh}(h]h ]h"]h$]h&]uh1jhj#hMWhj>#ubeh}(h]h ]h"]h$]h&]uh1jhj"#ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmpt_resume (C function) c.mpt_resumehNtauh1hhhhhhNhNubh)}(hhh](h)}(h%int mpt_resume (struct pci_dev *pdev)h]h)}(h$int mpt_resume(struct pci_dev *pdev)h](j)}(hinth]hint}(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj#hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM}ubj)}(h h]h }(hj#hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj#hhhj#hM}ubj-)}(h mpt_resumeh]h)}(h mpt_resumeh]h mpt_resume}(hj#hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj#ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj#hhhj#hM}ubjJ)}(h(struct pci_dev *pdev)h]jP)}(hstruct pci_dev *pdevh](j^ )}(hja h]hstruct}(hj$hhhNhNubah}(h]h ]jj ah"]h$]h&]uh1j] hj$ubj)}(h h]h }(hj$$hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj$ubh)}(hhh]h)}(hpci_devh]hpci_dev}(hj5$hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj2$ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj7$modnameN classnameNj j)}j]j)}jj#sb c.mpt_resumeasbuh1hhj$ubj)}(h h]h }(hjU$hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj$ubj)}(hjh]h*}(hjc$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj$ubh)}(hpdevh]hpdev}(hjp$hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj$ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj$ubah}(h]h ]h"]h$]h&]jGjHuh1jIhj#hhhj#hM}ubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj#hhhj#hM}ubah}(h]j#ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj#hM}hj#hhubjE)}(hhh]jJ)}(h&Fusion MPT base driver resume routine.h]h&Fusion MPT base driver resume routine.}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM}hj$hhubah}(h]h ]h"]h$]h&]uh1jDhj#hhhj#hM}ubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj$jij$jjjkjluh1hhhhhhNhNubjn)}(hG**Parameters** ``struct pci_dev *pdev`` Pointer to pci_dev structureh](jJ)}(h**Parameters**h]jx)}(hj$h]h Parameters}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj$ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj$ubj)}(hhh]j)}(h5``struct pci_dev *pdev`` Pointer to pci_dev structureh](j)}(h``struct pci_dev *pdev``h]j)}(hj$h]hstruct pci_dev *pdev}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj$ubj)}(hhh]jJ)}(hPointer to pci_dev structureh]hPointer to pci_dev structure}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM~hj$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&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmpt_GetIocState (C function)c.mpt_GetIocStatehNtauh1hhhhhhNhNubh)}(hhh](h)}(h2u32 mpt_GetIocState (MPT_ADAPTER *ioc, int cooked)h]h)}(h1u32 mpt_GetIocState(MPT_ADAPTER *ioc, int cooked)h](h)}(hhh]h)}(hu32h]hu32}(hj8%hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj5%ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj:%modnameN classnameNj j)}j]j)}jmpt_GetIocStatesbc.mpt_GetIocStateasbuh1hhj1%hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM ubj)}(h h]h }(hjZ%hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj1%hhhjY%hM ubj-)}(hmpt_GetIocStateh]h)}(hjV%h]hmpt_GetIocState}(hjl%hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjh%ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj1%hhhjY%hM ubjJ)}(h(MPT_ADAPTER *ioc, int cooked)h](jP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hj%hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj%ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj%modnameN classnameNj j)}j]jT%c.mpt_GetIocStateasbuh1hhj%ubj)}(h h]h }(hj%hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj%ubj)}(hjh]h*}(hj%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%ubh)}(hioch]hioc}(hj%hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj%ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj%ubjP)}(h int cookedh](j)}(hinth]hint}(hj%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%ubj)}(h h]h }(hj%hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj%ubh)}(hcookedh]hcooked}(hj%hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj%ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj%ubeh}(h]h ]h"]h$]h&]jGjHuh1jIhj1%hhhjY%hM ubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj-%hhhjY%hM ubah}(h]j(%ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhjY%hM hj*%hhubjE)}(hhh]jJ)}(h'Get the current state of a MPT adapter.h]h'Get the current state of a MPT adapter.}(hj"&hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hj&hhubah}(h]h ]h"]h$]h&]uh1jDhj*%hhhjY%hM ubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj:&jij:&jjjkjluh1hhhhhhNhNubjn)}(h**Parameters** ``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure ``int cooked`` Request raw or cooked IOC state **Description** Returns all IOC Doorbell register bits if cooked==0, else just the Doorbell bits in MPI_IOC_STATE_MASK.h](jJ)}(h**Parameters**h]jx)}(hjD&h]h Parameters}(hjF&hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjB&ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hj>&ubj)}(hhh](j)}(h6``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hjc&h]hMPT_ADAPTER *ioc}(hje&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhja&ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hj]&ubj)}(hhh]jJ)}(h Pointer to MPT_ADAPTER structureh]h Pointer to MPT_ADAPTER structure}(hj|&hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjx&hM hjy&ubah}(h]h ]h"]h$]h&]uh1jhj]&ubeh}(h]h ]h"]h$]h&]uh1jhjx&hM hjZ&ubj)}(h/``int cooked`` Request raw or cooked IOC state h](j)}(h``int cooked``h]j)}(hj&h]h int cooked}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hj&ubj)}(hhh]jJ)}(hRequest raw or cooked IOC stateh]hRequest raw or cooked IOC state}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj&hM hj&ubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhj&hM hjZ&ubeh}(h]h ]h"]h$]h&]uh1jhj>&ubjJ)}(h**Description**h]jx)}(hj&h]h Description}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj&ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hj>&ubjv)}(hgReturns all IOC Doorbell register bits if cooked==0, else just the Doorbell bits in MPI_IOC_STATE_MASK.h]jJ)}(hgReturns all IOC Doorbell register bits if cooked==0, else just the Doorbell bits in MPI_IOC_STATE_MASK.h]hgReturns all IOC Doorbell register bits if cooked==0, else just the Doorbell bits in MPI_IOC_STATE_MASK.}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hj&ubah}(h]h ]h"]h$]h&]uh1juhj&hM hj>&ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ mpt_alloc_fw_memory (C function)c.mpt_alloc_fw_memoryhNtauh1hhhhhhNhNubh)}(hhh](h)}(h4int mpt_alloc_fw_memory (MPT_ADAPTER *ioc, int size)h]h)}(h3int mpt_alloc_fw_memory(MPT_ADAPTER *ioc, int size)h](j)}(hinth]hint}(hj&'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"'hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM ubj)}(h h]h }(hj5'hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj"'hhhj4'hM ubj-)}(hmpt_alloc_fw_memoryh]h)}(hmpt_alloc_fw_memoryh]hmpt_alloc_fw_memory}(hjG'hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjC'ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj"'hhhj4'hM ubjJ)}(h(MPT_ADAPTER *ioc, int size)h](jP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hjf'hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjc'ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjh'modnameN classnameNj j)}j]j)}jjI'sbc.mpt_alloc_fw_memoryasbuh1hhj_'ubj)}(h h]h }(hj'hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj_'ubj)}(hjh]h*}(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj_'ubh)}(hioch]hioc}(hj'hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj_'ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj['ubjP)}(hint sizeh](j)}(hinth]hint}(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj'ubj)}(h h]h }(hj'hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj'ubh)}(hsizeh]hsize}(hj'hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj'ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj['ubeh}(h]h ]h"]h$]h&]jGjHuh1jIhj"'hhhj4'hM ubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj'hhhj4'hM ubah}(h]j'ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj4'hM hj'hhubjE)}(hhh]jJ)}(hallocate firmware memoryh]hallocate firmware memory}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hj'hhubah}(h]h ]h"]h$]h&]uh1jDhj'hhhj4'hM ubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj(jij(jjjkjluh1hhhhhhNhNubjn)}(hX**Parameters** ``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure ``int size`` total FW bytes **Description** If memory has already been allocated, the same (cached) value is returned. Return 0 if successful, or non-zero for failureh](jJ)}(h**Parameters**h]jx)}(hj"(h]h Parameters}(hj$(hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj (ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hj(ubj)}(hhh](j)}(h6``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hjA(h]hMPT_ADAPTER *ioc}(hjC(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?(ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hj;(ubj)}(hhh]jJ)}(h Pointer to MPT_ADAPTER structureh]h Pointer to MPT_ADAPTER structure}(hjZ(hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjV(hM hjW(ubah}(h]h ]h"]h$]h&]uh1jhj;(ubeh}(h]h ]h"]h$]h&]uh1jhjV(hM hj8(ubj)}(h``int size`` total FW bytes h](j)}(h ``int size``h]j)}(hjz(h]hint size}(hj|(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjx(ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hjt(ubj)}(hhh]jJ)}(htotal FW bytesh]htotal FW bytes}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj(hM hj(ubah}(h]h ]h"]h$]h&]uh1jhjt(ubeh}(h]h ]h"]h$]h&]uh1jhj(hM hj8(ubeh}(h]h ]h"]h$]h&]uh1jhj(ubjJ)}(h**Description**h]jx)}(hj(h]h Description}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj(ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hj(ubjv)}(h{If memory has already been allocated, the same (cached) value is returned. Return 0 if successful, or non-zero for failureh](jJ)}(hJIf memory has already been allocated, the same (cached) value is returned.h]hJIf memory has already been allocated, the same (cached) value is returned.}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hj(ubjJ)}(h/Return 0 if successful, or non-zero for failureh]h/Return 0 if successful, or non-zero for failure}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hj(ubeh}(h]h ]h"]h$]h&]uh1juhj(hM hj(ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmpt_free_fw_memory (C function)c.mpt_free_fw_memoryhNtauh1hhhhhhNhNubh)}(hhh](h)}(h*void mpt_free_fw_memory (MPT_ADAPTER *ioc)h]h)}(h)void mpt_free_fw_memory(MPT_ADAPTER *ioc)h](j)}(hvoidh]hvoid}(hj)hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj)hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM ubj)}(h h]h }(hj")hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj)hhhj!)hM ubj-)}(hmpt_free_fw_memoryh]h)}(hmpt_free_fw_memoryh]hmpt_free_fw_memory}(hj4)hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj0)ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj)hhhj!)hM ubjJ)}(h(MPT_ADAPTER *ioc)h]jP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hjS)hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjP)ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjU)modnameN classnameNj j)}j]j)}jj6)sbc.mpt_free_fw_memoryasbuh1hhjL)ubj)}(h h]h }(hjs)hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjL)ubj)}(hjh]h*}(hj)hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjL)ubh)}(hioch]hioc}(hj)hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjL)ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjH)ubah}(h]h ]h"]h$]h&]jGjHuh1jIhj)hhhj!)hM ubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj )hhhj!)hM ubah}(h]j)ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj!)hM hj)hhubjE)}(hhh]jJ)}(hfree firmware memoryh]hfree firmware memory}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hj)hhubah}(h]h ]h"]h$]h&]uh1jDhj)hhhj!)hM ubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj)jij)jjjkjluh1hhhhhhNhNubjn)}(h**Parameters** ``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure **Description** If alt_img is NULL, delete from ioc structure. Else, delete a secondary image in same format.h](jJ)}(h**Parameters**h]jx)}(hj)h]h Parameters}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj)ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hj)ubj)}(hhh]j)}(h6``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hj)h]hMPT_ADAPTER *ioc}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hj)ubj)}(hhh]jJ)}(h Pointer to MPT_ADAPTER structureh]h Pointer to MPT_ADAPTER structure}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj*hM hj*ubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj*hM hj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubjJ)}(h**Description**h]jx)}(hj4*h]h Description}(hj6*hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj2*ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hj)ubjv)}(h]If alt_img is NULL, delete from ioc structure. Else, delete a secondary image in same format.h]jJ)}(h]If alt_img is NULL, delete from ioc structure. Else, delete a secondary image in same format.h]h]If alt_img is NULL, delete from ioc structure. Else, delete a secondary image in same format.}(hjN*hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM hjJ*ubah}(h]h ]h"]h$]h&]uh1juhj\*hM hj)ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ*mptbase_sas_persist_operation (C function)c.mptbase_sas_persist_operationhNtauh1hhhhhhNhNubh)}(hhh](h)}(hGint mptbase_sas_persist_operation (MPT_ADAPTER *ioc, u8 persist_opcode)h]h)}(hFint mptbase_sas_persist_operation(MPT_ADAPTER *ioc, u8 persist_opcode)h](j)}(hinth]hint}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMubj)}(h h]h }(hj*hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj*hhhj*hMubj-)}(hmptbase_sas_persist_operationh]h)}(hmptbase_sas_persist_operationh]hmptbase_sas_persist_operation}(hj*hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj*ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj*hhhj*hMubjJ)}(h%(MPT_ADAPTER *ioc, u8 persist_opcode)h](jP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hj*hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj*ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj*modnameN classnameNj j)}j]j)}jj*sbc.mptbase_sas_persist_operationasbuh1hhj*ubj)}(h h]h }(hj*hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj*ubj)}(hjh]h*}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*ubh)}(hioch]hioc}(hj*hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj*ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj*ubjP)}(hu8 persist_opcodeh](h)}(hhh]h)}(hu8h]hu8}(hj+hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj+ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj+modnameN classnameNj j)}j]j*c.mptbase_sas_persist_operationasbuh1hhj+ubj)}(h h]h }(hj8+hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj+ubh)}(hpersist_opcodeh]hpersist_opcode}(hjF+hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj+ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj*ubeh}(h]h ]h"]h$]h&]jGjHuh1jIhj*hhhj*hMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj{*hhhj*hMubah}(h]jv*ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj*hMhjx*hhubjE)}(hhh]jJ)}(h)Perform operation on SAS Persistent Tableh]h)Perform operation on SAS Persistent Table}(hjp+hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjm+hhubah}(h]h ]h"]h$]h&]uh1jDhjx*hhhj*hMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj+jij+jjjkjluh1hhhhhhNhNubjn)}(hX[**Parameters** ``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure ``u8 persist_opcode`` see below **Description** =============================== ====================================== MPI_SAS_OP_CLEAR_NOT_PRESENT Free all persist TargetID mappings for devices not currently present. MPI_SAS_OP_CLEAR_ALL_PERSISTENT Clear al persist TargetID mappings =============================== ====================================== **NOTE** Don't use not this function during interrupt time. Returns 0 for success, non-zero errorh](jJ)}(h**Parameters**h]jx)}(hj+h]h Parameters}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj+ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj+ubj)}(hhh](j)}(h6``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hj+h]hMPT_ADAPTER *ioc}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj+ubj)}(hhh]jJ)}(h Pointer to MPT_ADAPTER structureh]h Pointer to MPT_ADAPTER structure}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj+hMhj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj+hMhj+ubj)}(h ``u8 persist_opcode`` see below h](j)}(h``u8 persist_opcode``h]j)}(hj+h]hu8 persist_opcode}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj+ubj)}(hhh]jJ)}(h see belowh]h see below}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj+hMhj,ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj+hMhj+ubeh}(h]h ]h"]h$]h&]uh1jhj+ubjJ)}(h**Description**h]jx)}(hj%,h]h Description}(hj',hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj#,ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj+ubjv)}(hX\=============================== ====================================== MPI_SAS_OP_CLEAR_NOT_PRESENT Free all persist TargetID mappings for devices not currently present. MPI_SAS_OP_CLEAR_ALL_PERSISTENT Clear al persist TargetID mappings =============================== ====================================== h]htable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jI,hjF,ubjJ,)}(hhh]h}(h]h ]h"]h$]h&]colwidthK&uh1jI,hjF,ubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]jJ)}(hMPI_SAS_OP_CLEAR_NOT_PRESENTh]hMPI_SAS_OP_CLEAR_NOT_PRESENT}(hjn,hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjk,ubah}(h]h ]h"]h$]h&]uh1ji,hjf,ubjj,)}(hhh]jJ)}(hEFree all persist TargetID mappings for devices not currently present.h]hEFree all persist TargetID mappings for devices not currently present.}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj|,hMhj,ubah}(h]h ]h"]h$]h&]uh1ji,hjf,ubeh}(h]h ]h"]h$]h&]uh1jd,hja,ubje,)}(hhh](jj,)}(hhh]jJ)}(hMPI_SAS_OP_CLEAR_ALL_PERSISTENTh]hMPI_SAS_OP_CLEAR_ALL_PERSISTENT}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj,ubah}(h]h ]h"]h$]h&]uh1ji,hj,ubjj,)}(hhh]jJ)}(h"Clear al persist TargetID mappingsh]h"Clear al persist TargetID mappings}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj,hMhj,ubah}(h]h ]h"]h$]h&]uh1ji,hj,ubeh}(h]h ]h"]h$]h&]uh1jd,hja,ubeh}(h]h ]h"]h$]h&]uh1j_,hjF,ubeh}(h]h ]h"]h$]h&]colsKuh1jD,hjA,ubah}(h]h ]h"]h$]h&]uh1j?,hj;,ubah}(h]h ]h"]h$]h&]uh1juhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj+ubjJ)}(h**NOTE**h]jx)}(hj,h]hNOTE}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj,ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj+ubjJ)}(h2Don't use not this function during interrupt time.h]h4Don’t use not this function during interrupt time.}(hj -hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj+ubjv)}(h%Returns 0 for success, non-zero errorh]jJ)}(hj-h]h%Returns 0 for success, non-zero error}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj-ubah}(h]h ]h"]h$]h&]uh1juhj*-hMhj+ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ#mpt_raid_phys_disk_pg0 (C function)c.mpt_raid_phys_disk_pg0hNtauh1hhhhhhNhNubh)}(hhh](h)}(h_int mpt_raid_phys_disk_pg0 (MPT_ADAPTER *ioc, u8 phys_disk_num, RaidPhysDiskPage0_t *phys_disk)h]h)}(h^int mpt_raid_phys_disk_pg0(MPT_ADAPTER *ioc, u8 phys_disk_num, RaidPhysDiskPage0_t *phys_disk)h](j)}(hinth]hint}(hjQ-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjM-hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM[ubj)}(h h]h }(hj`-hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjM-hhhj_-hM[ubj-)}(hmpt_raid_phys_disk_pg0h]h)}(hmpt_raid_phys_disk_pg0h]hmpt_raid_phys_disk_pg0}(hjr-hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjn-ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hjM-hhhj_-hM[ubjJ)}(hD(MPT_ADAPTER *ioc, u8 phys_disk_num, RaidPhysDiskPage0_t *phys_disk)h](jP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hj-hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj-modnameN classnameNj j)}j]j)}jjt-sbc.mpt_raid_phys_disk_pg0asbuh1hhj-ubj)}(h h]h }(hj-hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj-ubj)}(hjh]h*}(hj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj-ubh)}(hioch]hioc}(hj-hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj-ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj-ubjP)}(hu8 phys_disk_numh](h)}(hhh]h)}(hu8h]hu8}(hj-hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj-modnameN classnameNj j)}j]j-c.mpt_raid_phys_disk_pg0asbuh1hhj-ubj)}(h h]h }(hj.hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj-ubh)}(h phys_disk_numh]h phys_disk_num}(hj.hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj-ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj-ubjP)}(hRaidPhysDiskPage0_t *phys_diskh](h)}(hhh]h)}(hRaidPhysDiskPage0_th]hRaidPhysDiskPage0_t}(hj0.hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj-.ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj2.modnameN classnameNj j)}j]j-c.mpt_raid_phys_disk_pg0asbuh1hhj).ubj)}(h h]h }(hjN.hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj).ubj)}(hjh]h*}(hj\.hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj).ubh)}(h phys_diskh]h phys_disk}(hji.hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj).ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj-ubeh}(h]h ]h"]h$]h&]jGjHuh1jIhjM-hhhj_-hM[ubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hjI-hhhj_-hM[ubah}(h]jD-ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj_-hM[hjF-hhubjE)}(hhh]jJ)}(hreturns phys disk page zeroh]hreturns phys disk page zero}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM[hj.hhubah}(h]h ]h"]h$]h&]uh1jDhjF-hhhj_-hM[ubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj.jij.jjjkjluh1hhhhhhNhNubjn)}(hXP**Parameters** ``MPT_ADAPTER *ioc`` Pointer to a Adapter Structure ``u8 phys_disk_num`` io unit unique phys disk num generated by the ioc ``RaidPhysDiskPage0_t *phys_disk`` requested payload data returned **Return** 0 on success -EFAULT if read of config page header fails or data pointer not NULL -ENOMEM if pci_alloc failedh](jJ)}(h**Parameters**h]jx)}(hj.h]h Parameters}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj.ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM_hj.ubj)}(hhh](j)}(h4``MPT_ADAPTER *ioc`` Pointer to a Adapter Structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hj.h]hMPT_ADAPTER *ioc}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM\hj.ubj)}(hhh]jJ)}(hPointer to a Adapter Structureh]hPointer to a Adapter Structure}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj.hM\hj.ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj.hM\hj.ubj)}(hG``u8 phys_disk_num`` io unit unique phys disk num generated by the ioc h](j)}(h``u8 phys_disk_num``h]j)}(hj /h]hu8 phys_disk_num}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj /ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM]hj/ubj)}(hhh]jJ)}(h1io unit unique phys disk num generated by the ioch]h1io unit unique phys disk num generated by the ioc}(hj&/hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj"/hM]hj#/ubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhj"/hM]hj.ubj)}(hC``RaidPhysDiskPage0_t *phys_disk`` requested payload data returned h](j)}(h"``RaidPhysDiskPage0_t *phys_disk``h]j)}(hjF/h]hRaidPhysDiskPage0_t *phys_disk}(hjH/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjD/ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM^hj@/ubj)}(hhh]jJ)}(hrequested payload data returnedh]hrequested payload data returned}(hj_/hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj[/hM^hj\/ubah}(h]h ]h"]h$]h&]uh1jhj@/ubeh}(h]h ]h"]h$]h&]uh1jhj[/hM^hj.ubeh}(h]h ]h"]h$]h&]uh1jhj.ubjJ)}(h **Return**h]jx)}(hj/h]hReturn}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj/ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM`hj.ubjJ)}(hm0 on success -EFAULT if read of config page header fails or data pointer not NULL -ENOMEM if pci_alloc failedh]hm0 on success -EFAULT if read of config page header fails or data pointer not NULL -ENOMEM if pci_alloc failed}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM`hj.ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ-mpt_raid_phys_disk_get_num_paths (C function)"c.mpt_raid_phys_disk_get_num_pathshNtauh1hhhhhhNhNubh)}(hhh](h)}(hIint mpt_raid_phys_disk_get_num_paths (MPT_ADAPTER *ioc, u8 phys_disk_num)h]h)}(hHint mpt_raid_phys_disk_get_num_paths(MPT_ADAPTER *ioc, u8 phys_disk_num)h](j)}(hinth]hint}(hj/hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj/hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMubj)}(h h]h }(hj/hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj/hhhj/hMubj-)}(h mpt_raid_phys_disk_get_num_pathsh]h)}(h mpt_raid_phys_disk_get_num_pathsh]h mpt_raid_phys_disk_get_num_paths}(hj/hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj/ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj/hhhj/hMubjJ)}(h$(MPT_ADAPTER *ioc, u8 phys_disk_num)h](jP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hj0hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj0modnameN classnameNj j)}j]j)}jj/sb"c.mpt_raid_phys_disk_get_num_pathsasbuh1hhj/ubj)}(h h]h }(hj&0hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj/ubj)}(hjh]h*}(hj40hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj/ubh)}(hioch]hioc}(hjA0hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj/ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj/ubjP)}(hu8 phys_disk_numh](h)}(hhh]h)}(hu8h]hu8}(hj]0hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjZ0ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj_0modnameN classnameNj j)}j]j"0"c.mpt_raid_phys_disk_get_num_pathsasbuh1hhjV0ubj)}(h h]h }(hj{0hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjV0ubh)}(h phys_disk_numh]h phys_disk_num}(hj0hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjV0ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj/ubeh}(h]h ]h"]h$]h&]jGjHuh1jIhj/hhhj/hMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj/hhhj/hMubah}(h]j/ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj/hMhj/hhubjE)}(hhh]jJ)}(h0returns number paths associated to this phys_numh]h0returns number paths associated to this phys_num}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj0hhubah}(h]h ]h"]h$]h&]uh1jDhj/hhhj/hMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj0jij0jjjkjluh1hhhhhhNhNubjn)}(h**Parameters** ``MPT_ADAPTER *ioc`` Pointer to a Adapter Structure ``u8 phys_disk_num`` io unit unique phys disk num generated by the ioc **Return** returns number pathsh](jJ)}(h**Parameters**h]jx)}(hj0h]h Parameters}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj0ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj0ubj)}(hhh](j)}(h4``MPT_ADAPTER *ioc`` Pointer to a Adapter Structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hj0h]hMPT_ADAPTER *ioc}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj0ubj)}(hhh]jJ)}(hPointer to a Adapter Structureh]hPointer to a Adapter Structure}(hj 1hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj 1hMhj 1ubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhj 1hMhj0ubj)}(hG``u8 phys_disk_num`` io unit unique phys disk num generated by the ioc h](j)}(h``u8 phys_disk_num``h]j)}(hj-1h]hu8 phys_disk_num}(hj/1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+1ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj'1ubj)}(hhh]jJ)}(h1io unit unique phys disk num generated by the ioch]h1io unit unique phys disk num generated by the ioc}(hjF1hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjB1hMhjC1ubah}(h]h ]h"]h$]h&]uh1jhj'1ubeh}(h]h ]h"]h$]h&]uh1jhjB1hMhj0ubeh}(h]h ]h"]h$]h&]uh1jhj0ubjJ)}(h **Return**h]jx)}(hjh1h]hReturn}(hjj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjf1ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj0ubjJ)}(hreturns number pathsh]hreturns number paths}(hj~1hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj0ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ#mpt_raid_phys_disk_pg1 (C function)c.mpt_raid_phys_disk_pg1hNtauh1hhhhhhNhNubh)}(hhh](h)}(h_int mpt_raid_phys_disk_pg1 (MPT_ADAPTER *ioc, u8 phys_disk_num, RaidPhysDiskPage1_t *phys_disk)h]h)}(h^int mpt_raid_phys_disk_pg1(MPT_ADAPTER *ioc, u8 phys_disk_num, RaidPhysDiskPage1_t *phys_disk)h](j)}(hinth]hint}(hj1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj1hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMubj)}(h h]h }(hj1hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj1hhhj1hMubj-)}(hmpt_raid_phys_disk_pg1h]h)}(hmpt_raid_phys_disk_pg1h]hmpt_raid_phys_disk_pg1}(hj1hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj1ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj1hhhj1hMubjJ)}(hD(MPT_ADAPTER *ioc, u8 phys_disk_num, RaidPhysDiskPage1_t *phys_disk)h](jP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hj1hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj1modnameN classnameNj j)}j]j)}jj1sbc.mpt_raid_phys_disk_pg1asbuh1hhj1ubj)}(h h]h }(hj 2hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj1ubj)}(hjh]h*}(hj2hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj1ubh)}(hioch]hioc}(hj(2hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj1ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj1ubjP)}(hu8 phys_disk_numh](h)}(hhh]h)}(hu8h]hu8}(hjD2hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjA2ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjF2modnameN classnameNj j)}j]j 2c.mpt_raid_phys_disk_pg1asbuh1hhj=2ubj)}(h h]h }(hjb2hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj=2ubh)}(h phys_disk_numh]h phys_disk_num}(hjp2hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj=2ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj1ubjP)}(hRaidPhysDiskPage1_t *phys_diskh](h)}(hhh]h)}(hRaidPhysDiskPage1_th]hRaidPhysDiskPage1_t}(hj2hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj2modnameN classnameNj j)}j]j 2c.mpt_raid_phys_disk_pg1asbuh1hhj2ubj)}(h h]h }(hj2hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj2ubj)}(hjh]h*}(hj2hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj2ubh)}(h phys_diskh]h phys_disk}(hj2hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj2ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj1ubeh}(h]h ]h"]h$]h&]jGjHuh1jIhj1hhhj1hMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj1hhhj1hMubah}(h]j1ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj1hMhj1hhubjE)}(hhh]jJ)}(hreturns phys disk page 1h]hreturns phys disk page 1}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj2hhubah}(h]h ]h"]h$]h&]uh1jDhj1hhhj1hMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj3jij3jjjkjluh1hhhhhhNhNubjn)}(hXP**Parameters** ``MPT_ADAPTER *ioc`` Pointer to a Adapter Structure ``u8 phys_disk_num`` io unit unique phys disk num generated by the ioc ``RaidPhysDiskPage1_t *phys_disk`` requested payload data returned **Return** 0 on success -EFAULT if read of config page header fails or data pointer not NULL -ENOMEM if pci_alloc failedh](jJ)}(h**Parameters**h]jx)}(hj3h]h Parameters}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj3ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj 3ubj)}(hhh](j)}(h4``MPT_ADAPTER *ioc`` Pointer to a Adapter Structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hj03h]hMPT_ADAPTER *ioc}(hj23hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.3ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj*3ubj)}(hhh]jJ)}(hPointer to a Adapter Structureh]hPointer to a Adapter Structure}(hjI3hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjE3hMhjF3ubah}(h]h ]h"]h$]h&]uh1jhj*3ubeh}(h]h ]h"]h$]h&]uh1jhjE3hMhj'3ubj)}(hG``u8 phys_disk_num`` io unit unique phys disk num generated by the ioc h](j)}(h``u8 phys_disk_num``h]j)}(hji3h]hu8 phys_disk_num}(hjk3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjg3ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjc3ubj)}(hhh]jJ)}(h1io unit unique phys disk num generated by the ioch]h1io unit unique phys disk num generated by the ioc}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj~3hMhj3ubah}(h]h ]h"]h$]h&]uh1jhjc3ubeh}(h]h ]h"]h$]h&]uh1jhj~3hMhj'3ubj)}(hC``RaidPhysDiskPage1_t *phys_disk`` requested payload data returned h](j)}(h"``RaidPhysDiskPage1_t *phys_disk``h]j)}(hj3h]hRaidPhysDiskPage1_t *phys_disk}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj3ubj)}(hhh]jJ)}(hrequested payload data returnedh]hrequested payload data returned}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj3hMhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj3hMhj'3ubeh}(h]h ]h"]h$]h&]uh1jhj 3ubjJ)}(h **Return**h]jx)}(hj3h]hReturn}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj3ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj 3ubjJ)}(hm0 on success -EFAULT if read of config page header fails or data pointer not NULL -ENOMEM if pci_alloc failedh]hm0 on success -EFAULT if read of config page header fails or data pointer not NULL -ENOMEM if pci_alloc failed}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj 3ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmpt_findImVolumes (C function)c.mpt_findImVolumeshNtauh1hhhhhhNhNubh)}(hhh](h)}(h(int mpt_findImVolumes (MPT_ADAPTER *ioc)h]h)}(h'int mpt_findImVolumes(MPT_ADAPTER *ioc)h](j)}(hinth]hint}(hj"4hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj4hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM=ubj)}(h h]h }(hj14hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj4hhhj04hM=ubj-)}(hmpt_findImVolumesh]h)}(hmpt_findImVolumesh]hmpt_findImVolumes}(hjC4hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj?4ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj4hhhj04hM=ubjJ)}(h(MPT_ADAPTER *ioc)h]jP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hjb4hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj_4ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjd4modnameN classnameNj j)}j]j)}jjE4sbc.mpt_findImVolumesasbuh1hhj[4ubj)}(h h]h }(hj4hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj[4ubj)}(hjh]h*}(hj4hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj[4ubh)}(hioch]hioc}(hj4hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj[4ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjW4ubah}(h]h ]h"]h$]h&]jGjHuh1jIhj4hhhj04hM=ubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj4hhhj04hM=ubah}(h]j4ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj04hM=hj4hhubjE)}(hhh]jJ)}(h-Identify IDs of hidden disks and RAID Volumesh]h-Identify IDs of hidden disks and RAID Volumes}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM=hj4hhubah}(h]h ]h"]h$]h&]uh1jDhj4hhhj04hM=ubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj4jij4jjjkjluh1hhhhhhNhNubjn)}(h**Parameters** ``MPT_ADAPTER *ioc`` Pointer to a Adapter Strucutre **Return** 0 on success -EFAULT if read of config page header fails or data pointer not NULL -ENOMEM if pci_alloc failedh](jJ)}(h**Parameters**h]jx)}(hj4h]h Parameters}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj4ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMAhj4ubj)}(hhh]j)}(h4``MPT_ADAPTER *ioc`` Pointer to a Adapter Strucutre h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hj5h]hMPT_ADAPTER *ioc}(hj 5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM>hj5ubj)}(hhh]jJ)}(hPointer to a Adapter Strucutreh]hPointer to a Adapter Strucutre}(hj!5hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj5hM>hj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj5hM>hj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubjJ)}(h **Return**h]jx)}(hjC5h]hReturn}(hjE5hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjA5ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM@hj4ubjJ)}(hm0 on success -EFAULT if read of config page header fails or data pointer not NULL -ENOMEM if pci_alloc failedh]hm0 on success -EFAULT if read of config page header fails or data pointer not NULL -ENOMEM if pci_alloc failed}(hjY5hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chM@hj4ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmpt_config (C function) c.mpt_confighNtauh1hhhhhhNhNubh)}(hhh](h)}(h4int mpt_config (MPT_ADAPTER *ioc, CONFIGPARMS *pCfg)h]h)}(h3int mpt_config(MPT_ADAPTER *ioc, CONFIGPARMS *pCfg)h](j)}(hinth]hint}(hj5hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj5hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMubj)}(h h]h }(hj5hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj5hhhj5hMubj-)}(h mpt_configh]h)}(h mpt_configh]h mpt_config}(hj5hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj5ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj5hhhj5hMubjJ)}(h%(MPT_ADAPTER *ioc, CONFIGPARMS *pCfg)h](jP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hj5hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj5modnameN classnameNj j)}j]j)}jj5sb c.mpt_configasbuh1hhj5ubj)}(h h]h }(hj5hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj5ubj)}(hjh]h*}(hj5hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj5ubh)}(hioch]hioc}(hj6hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj5ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj5ubjP)}(hCONFIGPARMS *pCfgh](h)}(hhh]h)}(h CONFIGPARMSh]h CONFIGPARMS}(hj6hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj6ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj!6modnameN classnameNj j)}j]j5 c.mpt_configasbuh1hhj6ubj)}(h h]h }(hj=6hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj6ubj)}(hjh]h*}(hjK6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj6ubh)}(hpCfgh]hpCfg}(hjX6hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj6ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj5ubeh}(h]h ]h"]h$]h&]jGjHuh1jIhj5hhhj5hMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj5hhhj5hMubah}(h]j{5ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj5hMhj}5hhubjE)}(hhh]jJ)}(h(Generic function to issue config messageh]h(Generic function to issue config message}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj6hhubah}(h]h ]h"]h$]h&]uh1jDhj}5hhhj5hMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj6jij6jjjkjluh1hhhhhhNhNubjn)}(hX**Parameters** ``MPT_ADAPTER *ioc`` Pointer to an adapter structure ``CONFIGPARMS *pCfg`` Pointer to a configuration structure. Struct contains action, page address, direction, physical address and pointer to a configuration page header Page header is updated. **Description** Returns 0 for success -EAGAIN if no msg frames currently available -EFAULT for non-successful reply or no reply (timeout)h](jJ)}(h**Parameters**h]jx)}(hj6h]h Parameters}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj6ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj6ubj)}(hhh](j)}(h5``MPT_ADAPTER *ioc`` Pointer to an adapter structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hj6h]hMPT_ADAPTER *ioc}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj6ubj)}(hhh]jJ)}(hPointer to an adapter structureh]hPointer to an adapter structure}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj6hMhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhj6hMhj6ubj)}(h``CONFIGPARMS *pCfg`` Pointer to a configuration structure. Struct contains action, page address, direction, physical address and pointer to a configuration page header Page header is updated. h](j)}(h``CONFIGPARMS *pCfg``h]j)}(hj6h]hCONFIGPARMS *pCfg}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj6ubj)}(hhh]jJ)}(hPointer to a configuration structure. Struct contains action, page address, direction, physical address and pointer to a configuration page header Page header is updated.h]hPointer to a configuration structure. Struct contains action, page address, direction, physical address and pointer to a configuration page header Page header is updated.}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj7ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhj7hMhj6ubeh}(h]h ]h"]h$]h&]uh1jhj6ubjJ)}(h**Description**h]jx)}(hj87h]h Description}(hj:7hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj67ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj6ubjv)}(hyReturns 0 for success -EAGAIN if no msg frames currently available -EFAULT for non-successful reply or no reply (timeout)h]jJ)}(hyReturns 0 for success -EAGAIN if no msg frames currently available -EFAULT for non-successful reply or no reply (timeout)h]hyReturns 0 for success -EAGAIN if no msg frames currently available -EFAULT for non-successful reply or no reply (timeout)}(hjR7hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjN7ubah}(h]h ]h"]h$]h&]uh1juhj`7hMhj6ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ"mpt_print_ioc_summary (C function)c.mpt_print_ioc_summaryhNtauh1hhhhhhNhNubh)}(hhh](h)}(h\void mpt_print_ioc_summary (MPT_ADAPTER *ioc, char *buffer, int *size, int len, int showlan)h]h)}(h[void mpt_print_ioc_summary(MPT_ADAPTER *ioc, char *buffer, int *size, int len, int showlan)h](j)}(hvoidh]hvoid}(hj7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj7hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMubj)}(h h]h }(hj7hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj7hhhj7hMubj-)}(hmpt_print_ioc_summaryh]h)}(hmpt_print_ioc_summaryh]hmpt_print_ioc_summary}(hj7hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj7ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj7hhhj7hMubjJ)}(hA(MPT_ADAPTER *ioc, char *buffer, int *size, int len, int showlan)h](jP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hj7hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj7modnameN classnameNj j)}j]j)}jj7sbc.mpt_print_ioc_summaryasbuh1hhj7ubj)}(h h]h }(hj7hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj7ubj)}(hjh]h*}(hj7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj7ubh)}(hioch]hioc}(hj8hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj7ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj7ubjP)}(h char *bufferh](j)}(hcharh]hchar}(hj8hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj8ubj)}(h h]h }(hj)8hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj8ubj)}(hjh]h*}(hj78hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj8ubh)}(hbufferh]hbuffer}(hjD8hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj8ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj7ubjP)}(h int *sizeh](j)}(hinth]hint}(hj]8hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjY8ubj)}(h h]h }(hjk8hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjY8ubj)}(hjh]h*}(hjy8hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjY8ubh)}(hsizeh]hsize}(hj8hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjY8ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj7ubjP)}(hint lenh](j)}(hinth]hint}(hj8hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj8ubj)}(h h]h }(hj8hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj8ubh)}(hlenh]hlen}(hj8hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj8ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj7ubjP)}(h int showlanh](j)}(hinth]hint}(hj8hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj8ubj)}(h h]h }(hj8hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj8ubh)}(hshowlanh]hshowlan}(hj8hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj8ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj7ubeh}(h]h ]h"]h$]h&]jGjHuh1jIhj7hhhj7hMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj7hhhj7hMubah}(h]jz7ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj7hMhj|7hhubjE)}(hhh]jJ)}(h'Write ASCII summary of IOC to a buffer.h]h'Write ASCII summary of IOC to a buffer.}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj9hhubah}(h]h ]h"]h$]h&]uh1jDhj|7hhhj7hMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj29jij29jjjkjluh1hhhhhhNhNubjn)}(hX**Parameters** ``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure ``char *buffer`` Pointer to buffer where IOC summary info should be written ``int *size`` Pointer to number of bytes we wrote (set by this routine) ``int len`` Offset at which to start writing in buffer ``int showlan`` Display LAN stuff? **Description** This routine writes (english readable) ASCII text, which represents a summary of IOC information, to a buffer.h](jJ)}(h**Parameters**h]jx)}(hj<9h]h Parameters}(hj>9hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj:9ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj69ubj)}(hhh](j)}(h6``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hj[9h]hMPT_ADAPTER *ioc}(hj]9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjY9ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjU9ubj)}(hhh]jJ)}(h Pointer to MPT_ADAPTER structureh]h Pointer to MPT_ADAPTER structure}(hjt9hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjp9hMhjq9ubah}(h]h ]h"]h$]h&]uh1jhjU9ubeh}(h]h ]h"]h$]h&]uh1jhjp9hMhjR9ubj)}(hL``char *buffer`` Pointer to buffer where IOC summary info should be written h](j)}(h``char *buffer``h]j)}(hj9h]h char *buffer}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj9ubj)}(hhh]jJ)}(h:Pointer to buffer where IOC summary info should be writtenh]h:Pointer to buffer where IOC summary info should be written}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj9hMhj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhj9hMhjR9ubj)}(hH``int *size`` Pointer to number of bytes we wrote (set by this routine) h](j)}(h ``int *size``h]j)}(hj9h]h int *size}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj9ubj)}(hhh]jJ)}(h9Pointer to number of bytes we wrote (set by this routine)h]h9Pointer to number of bytes we wrote (set by this routine)}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj9hMhj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhj9hMhjR9ubj)}(h7``int len`` Offset at which to start writing in buffer 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&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj:ubj)}(hhh]jJ)}(h*Offset at which to start writing in bufferh]h*Offset at which to start writing in buffer}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj:hMhj:ubah}(h]h ]h"]h$]h&]uh1jhj:ubeh}(h]h ]h"]h$]h&]uh1jhj:hMhjR9ubj)}(h#``int showlan`` Display LAN stuff? h](j)}(h``int showlan``h]j)}(hj?:h]h int showlan}(hjA:hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=:ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj9:ubj)}(hhh]jJ)}(hDisplay LAN stuff?h]hDisplay LAN stuff?}(hjX:hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjT:hMhjU:ubah}(h]h ]h"]h$]h&]uh1jhj9:ubeh}(h]h ]h"]h$]h&]uh1jhjT:hMhjR9ubeh}(h]h ]h"]h$]h&]uh1jhj69ubjJ)}(h**Description**h]jx)}(hjz:h]h Description}(hj|:hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjx:ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj69ubjv)}(hnThis routine writes (english readable) ASCII text, which represents a summary of IOC information, to a buffer.h]jJ)}(hnThis routine writes (english readable) ASCII text, which represents a summary of IOC information, to a buffer.h]hnThis routine writes (english readable) ASCII text, which represents a summary of IOC information, to a buffer.}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj:ubah}(h]h ]h"]h$]h&]uh1juhj:hMhj69ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ.mpt_set_taskmgmt_in_progress_flag (C function)#c.mpt_set_taskmgmt_in_progress_flaghNtauh1hhhhhhNhNubh)}(hhh](h)}(h8int mpt_set_taskmgmt_in_progress_flag (MPT_ADAPTER *ioc)h]h)}(h7int mpt_set_taskmgmt_in_progress_flag(MPT_ADAPTER *ioc)h](j)}(hinth]hint}(hj:hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj:hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMubj)}(h h]h }(hj:hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj:hhhj:hMubj-)}(h!mpt_set_taskmgmt_in_progress_flagh]h)}(h!mpt_set_taskmgmt_in_progress_flagh]h!mpt_set_taskmgmt_in_progress_flag}(hj:hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj:ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj:hhhj:hMubjJ)}(h(MPT_ADAPTER *ioc)h]jP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hj ;hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj;ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj ;modnameN classnameNj j)}j]j)}jj:sb#c.mpt_set_taskmgmt_in_progress_flagasbuh1hhj;ubj)}(h h]h }(hj);hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj;ubj)}(hjh]h*}(hj7;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;ubh)}(hioch]hioc}(hjD;hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj;ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj:ubah}(h]h ]h"]h$]h&]jGjHuh1jIhj:hhhj:hMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj:hhhj:hMubah}(h]j:ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj:hMhj:hhubjE)}(hhh]jJ)}(h)set flags associated with task managementh]h)set flags associated with task management}(hjn;hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjk;hhubah}(h]h ]h"]h$]h&]uh1jDhj:hhhj:hMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj;jij;jjjkjluh1hhhhhhNhNubjn)}(h**Parameters** ``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure **Description** Returns 0 for SUCCESS or -1 if FAILED. If -1 is return, then it was not possible to set the flagsh](jJ)}(h**Parameters**h]jx)}(hj;h]h Parameters}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj;ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj;ubj)}(hhh]j)}(h6``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hj;h]hMPT_ADAPTER *ioc}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj;ubj)}(hhh]jJ)}(h Pointer to MPT_ADAPTER structureh]h Pointer to MPT_ADAPTER structure}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj;hMhj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhj;hMhj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubjJ)}(h**Description**h]jx)}(hj;h]h Description}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj;ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj;ubjv)}(hbReturns 0 for SUCCESS or -1 if FAILED. If -1 is return, then it was not possible to set the flagsh](jJ)}(h&Returns 0 for SUCCESS or -1 if FAILED.h]h&Returns 0 for SUCCESS or -1 if FAILED.}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj<ubjJ)}(h:If -1 is return, then it was not possible to set the flagsh]h:If -1 is return, then it was not possible to set the flags}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj<ubeh}(h]h ]h"]h$]h&]uh1juhj<hMhj;ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ0mpt_clear_taskmgmt_in_progress_flag (C function)%c.mpt_clear_taskmgmt_in_progress_flaghNtauh1hhhhhhNhNubh)}(hhh](h)}(h;void mpt_clear_taskmgmt_in_progress_flag (MPT_ADAPTER *ioc)h]h)}(h:void mpt_clear_taskmgmt_in_progress_flag(MPT_ADAPTER *ioc)h](j)}(hvoidh]hvoid}(hjH<hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjD<hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMubj)}(h h]h }(hjW<hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjD<hhhjV<hMubj-)}(h#mpt_clear_taskmgmt_in_progress_flagh]h)}(h#mpt_clear_taskmgmt_in_progress_flagh]h#mpt_clear_taskmgmt_in_progress_flag}(hji<hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhje<ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hjD<hhhjV<hMubjJ)}(h(MPT_ADAPTER *ioc)h]jP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hj<hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj<ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj<modnameN classnameNj j)}j]j)}jjk<sb%c.mpt_clear_taskmgmt_in_progress_flagasbuh1hhj<ubj)}(h h]h }(hj<hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj<ubj)}(hjh]h*}(hj<hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<ubh)}(hioch]hioc}(hj<hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj<ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj}<ubah}(h]h ]h"]h$]h&]jGjHuh1jIhjD<hhhjV<hMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj@<hhhjV<hMubah}(h]j;<ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhjV<hMhj=<hhubjE)}(hhh]jJ)}(h+clear flags associated with task managementh]h+clear flags associated with task management}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj<hhubah}(h]h ]h"]h$]h&]uh1jDhj=<hhhjV<hMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj=jij=jjjkjluh1hhhhhhNhNubjn)}(hG**Parameters** ``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structureh](jJ)}(h**Parameters**h]jx)}(hj=h]h Parameters}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj =ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj =ubj)}(hhh]j)}(h5``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structureh](j)}(h``MPT_ADAPTER *ioc``h]j)}(hj.=h]hMPT_ADAPTER *ioc}(hj0=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,=ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj(=ubj)}(hhh]jJ)}(h Pointer to MPT_ADAPTER structureh]h Pointer to MPT_ADAPTER structure}(hjG=hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjD=ubah}(h]h ]h"]h$]h&]uh1jhj(=ubeh}(h]h ]h"]h$]h&]uh1jhjC=hMhj%=ubah}(h]h ]h"]h$]h&]uh1jhj =ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmpt_halt_firmware (C function)c.mpt_halt_firmwarehNtauh1hhhhhhNhNubh)}(hhh](h)}(h4void __noreturn mpt_halt_firmware (MPT_ADAPTER *ioc)h]h)}(h3void __noreturn mpt_halt_firmware(MPT_ADAPTER *ioc)h](j)}(hvoidh]hvoid}(hj=hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj=hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMubj)}(h h]h }(hj=hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj=hhhj=hMubh __noreturn}(hj=hhhNhNubj)}(h h]h }(hj=hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj=hhhj=hMubj-)}(hmpt_halt_firmwareh]h)}(hmpt_halt_firmwareh]hmpt_halt_firmware}(hj=hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj=ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj=hhhj=hMubjJ)}(h(MPT_ADAPTER *ioc)h]jP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hj=hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj=ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj=modnameN classnameNj j)}j]j)}jj=sbc.mpt_halt_firmwareasbuh1hhj=ubj)}(h h]h }(hj=hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj=ubj)}(hjh]h*}(hj>hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj=ubh)}(hioch]hioc}(hj>hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj=ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj=ubah}(h]h ]h"]h$]h&]jGjHuh1jIhj=hhhj=hMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj=hhhj=hMubah}(h]j{=ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj=hMhj}=hhubjE)}(hhh]jJ)}(hhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj<>hhubah}(h]h ]h"]h$]h&]uh1jDhj}=hhhj=hMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhjW>jijW>jjjkjluh1hhhhhhNhNubjn)}(hG**Parameters** ``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structureh](jJ)}(h**Parameters**h]jx)}(hja>h]h Parameters}(hjc>hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj_>ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj[>ubj)}(hhh]j)}(h5``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structureh](j)}(h``MPT_ADAPTER *ioc``h]j)}(hj>h]hMPT_ADAPTER *ioc}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~>ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjz>ubj)}(hhh]jJ)}(h Pointer to MPT_ADAPTER structureh]h Pointer to MPT_ADAPTER structure}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj>ubah}(h]h ]h"]h$]h&]uh1jhjz>ubeh}(h]h ]h"]h$]h&]uh1jhj>hMhjw>ubah}(h]h ]h"]h$]h&]uh1jhj[>ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ'mpt_Soft_Hard_ResetHandler (C function)c.mpt_Soft_Hard_ResetHandlerhNtauh1hhhhhhNhNubh)}(hhh](h)}(h@int mpt_Soft_Hard_ResetHandler (MPT_ADAPTER *ioc, int sleepFlag)h]h)}(h?int mpt_Soft_Hard_ResetHandler(MPT_ADAPTER *ioc, int sleepFlag)h](j)}(hinth]hint}(hj>hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj>hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMubj)}(h h]h }(hj>hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj>hhhj>hMubj-)}(hmpt_Soft_Hard_ResetHandlerh]h)}(hmpt_Soft_Hard_ResetHandlerh]hmpt_Soft_Hard_ResetHandler}(hj>hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj>ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj>hhhj>hMubjJ)}(h!(MPT_ADAPTER *ioc, int sleepFlag)h](jP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hj?hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj?modnameN classnameNj j)}j]j)}jj>sbc.mpt_Soft_Hard_ResetHandlerasbuh1hhj?ubj)}(h h]h }(hj:?hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj?ubj)}(hjh]h*}(hjH?hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj?ubh)}(hioch]hioc}(hjU?hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj?ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj?ubjP)}(h int sleepFlagh](j)}(hinth]hint}(hjn?hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjj?ubj)}(h h]h }(hj|?hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjj?ubh)}(h sleepFlagh]h sleepFlag}(hj?hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjj?ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj?ubeh}(h]h ]h"]h$]h&]jGjHuh1jIhj>hhhj>hMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj>hhhj>hMubah}(h]j>ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj>hMhj>hhubjE)}(hhh]jJ)}(hTry less expensive reseth]hTry less expensive reset}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj?hhubah}(h]h ]h"]h$]h&]uh1jDhj>hhhj>hMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhj?jij?jjjkjluh1hhhhhhNhNubjn)}(hX**Parameters** ``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure ``int sleepFlag`` Indicates if sleep or schedule must be called. **Description** Returns 0 for SUCCESS or -1 if FAILED. Try for softreset first, only if it fails go for expensive HardReset.h](jJ)}(h**Parameters**h]jx)}(hj?h]h Parameters}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj?ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj?ubj)}(hhh](j)}(h6``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hj?h]hMPT_ADAPTER *ioc}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj?ubj)}(hhh]jJ)}(h Pointer to MPT_ADAPTER structureh]h Pointer to MPT_ADAPTER structure}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj @hMhj @ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhj @hMhj?ubj)}(hA``int sleepFlag`` Indicates if sleep or schedule must be called. h](j)}(h``int sleepFlag``h]j)}(hj.@h]h int sleepFlag}(hj0@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,@ubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj(@ubj)}(hhh]jJ)}(h.Indicates if sleep or schedule must be called.h]h.Indicates if sleep or schedule must be called.}(hjG@hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjC@hMhjD@ubah}(h]h ]h"]h$]h&]uh1jhj(@ubeh}(h]h ]h"]h$]h&]uh1jhjC@hMhj?ubeh}(h]h ]h"]h$]h&]uh1jhj?ubjJ)}(h**Description**h]jx)}(hji@h]h Description}(hjk@hhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjg@ubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj?ubjv)}(hlReturns 0 for SUCCESS or -1 if FAILED. Try for softreset first, only if it fails go for expensive HardReset.h]jJ)}(hlReturns 0 for SUCCESS or -1 if FAILED. Try for softreset first, only if it fails go for expensive HardReset.h]hlReturns 0 for SUCCESS or -1 if FAILED. Try for softreset first, only if it fails go for expensive HardReset.}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj@ubah}(h]h ]h"]h$]h&]uh1juhj@hMhj?ubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ!mpt_HardResetHandler (C function)c.mpt_HardResetHandlerhNtauh1hhhhhhNhNubh)}(hhh](h)}(h:int mpt_HardResetHandler (MPT_ADAPTER *ioc, int sleepFlag)h]h)}(h9int mpt_HardResetHandler(MPT_ADAPTER *ioc, int sleepFlag)h](j)}(hinth]hint}(hj@hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj@hhhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMubj)}(h h]h }(hj@hhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj@hhhj@hMubj-)}(hmpt_HardResetHandlerh]h)}(hmpt_HardResetHandlerh]hmpt_HardResetHandler}(hj@hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj@ubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj@hhhj@hMubjJ)}(h!(MPT_ADAPTER *ioc, int sleepFlag)h](jP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hj@hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj@ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj@modnameN classnameNj j)}j]j)}jj@sbc.mpt_HardResetHandlerasbuh1hhj@ubj)}(h h]h }(hjAhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj@ubj)}(hjh]h*}(hj&AhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj@ubh)}(hioch]hioc}(hj3AhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj@ubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj@ubjP)}(h int sleepFlagh](j)}(hinth]hint}(hjLAhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjHAubj)}(h h]h }(hjZAhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjHAubh)}(h sleepFlagh]h sleepFlag}(hjhAhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjHAubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhj@ubeh}(h]h ]h"]h$]h&]jGjHuh1jIhj@hhhj@hMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hj@hhhj@hMubah}(h]j@ah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj@hMhj@hhubjE)}(hhh]jJ)}(hGeneric reset handlerh]hGeneric reset handler}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjAhhubah}(h]h ]h"]h$]h&]uh1jDhj@hhhj@hMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhjAjijAjjjkjluh1hhhhhhNhNubjn)}(hXC**Parameters** ``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure ``int sleepFlag`` Indicates if sleep or schedule must be called. **Description** Issues SCSI Task Management call based on input arg values. If TaskMgmt fails, returns associated SCSI request. Remark: _HardResetHandler can be invoked from an interrupt thread (timer) or a non-interrupt thread. In the former, must not call schedule(). **Note** A return of -1 is a FATAL error case, as it means a FW reload/initialization failed. Returns 0 for SUCCESS or -1 if FAILED.h](jJ)}(h**Parameters**h]jx)}(hjAh]h Parameters}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjAubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjAubj)}(hhh](j)}(h6``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hjAh]hMPT_ADAPTER *ioc}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjAubj)}(hhh]jJ)}(h Pointer to MPT_ADAPTER structureh]h Pointer to MPT_ADAPTER structure}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjAhMhjAubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhjAhMhjAubj)}(hA``int sleepFlag`` Indicates if sleep or schedule must be called. h](j)}(h``int sleepFlag``h]j)}(hj Bh]h int sleepFlag}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj Bubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjBubj)}(hhh]jJ)}(h.Indicates if sleep or schedule must be called.h]h.Indicates if sleep or schedule must be called.}(hj%BhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj!BhMhj"Bubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhj!BhMhjAubeh}(h]h ]h"]h$]h&]uh1jhjAubjJ)}(h**Description**h]jx)}(hjGBh]h Description}(hjIBhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjEBubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjAubjv)}(hXIssues SCSI Task Management call based on input arg values. If TaskMgmt fails, returns associated SCSI request. Remark: _HardResetHandler can be invoked from an interrupt thread (timer) or a non-interrupt thread. In the former, must not call schedule(). h](jJ)}(hoIssues SCSI Task Management call based on input arg values. If TaskMgmt fails, returns associated SCSI request.h]hoIssues SCSI Task Management call based on input arg values. If TaskMgmt fails, returns associated SCSI request.}(hjaBhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj]BubjJ)}(hRemark: _HardResetHandler can be invoked from an interrupt thread (timer) or a non-interrupt thread. In the former, must not call schedule().h]hRemark: _HardResetHandler can be invoked from an interrupt thread (timer) or a non-interrupt thread. In the former, must not call schedule().}(hjpBhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhj]Bubeh}(h]h ]h"]h$]h&]uh1juhjoBhMhjAubjJ)}(h**Note**h]jx)}(hjBh]hNote}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjBubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjAubj)}(hhh]j)}(h|A return of -1 is a FATAL error case, as it means a FW reload/initialization failed. Returns 0 for SUCCESS or -1 if FAILED.h](j)}(h3A return of -1 is a FATAL error case, as it means ah]h3A return of -1 is a FATAL error case, as it means a}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjBubj)}(hhh](jJ)}(h FW reload/initialization failed.h]h FW reload/initialization failed.}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjBubjJ)}(h&Returns 0 for SUCCESS or -1 if FAILED.h]h&Returns 0 for SUCCESS or -1 if FAILED.}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhh/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:7: ./drivers/message/fusion/mptbase.chMhjBubeh}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhjBhMhjBubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmptscsih_info (C function)c.mptscsih_infohNtauh1hhhhhhNhNubh)}(hhh](h)}(h5const char * mptscsih_info (struct Scsi_Host *SChost)h]h)}(h3const char *mptscsih_info(struct Scsi_Host *SChost)h](j^ )}(hjh]hconst}(hjChhhNhNubah}(h]h ]jj ah"]h$]h&]uh1j] hjChhhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMubj)}(h h]h }(hjChhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjChhhjChMubj)}(hcharh]hchar}(hj"ChhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjChhhjChMubj)}(h h]h }(hj0ChhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjChhhjChMubj)}(hjh]h*}(hj>ChhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjChhhjChMubj-)}(h mptscsih_infoh]h)}(h mptscsih_infoh]h mptscsih_info}(hjOChhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjKCubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hjChhhjChMubjJ)}(h(struct Scsi_Host *SChost)h]jP)}(hstruct Scsi_Host *SChosth](j^ )}(hja h]hstruct}(hjkChhhNhNubah}(h]h ]jj ah"]h$]h&]uh1j] hjgCubj)}(h h]h }(hjxChhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjgCubh)}(hhh]h)}(h Scsi_Hosth]h Scsi_Host}(hjChhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjCmodnameN classnameNj j)}j]j)}jjQCsbc.mptscsih_infoasbuh1hhjgCubj)}(h h]h }(hjChhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjgCubj)}(hjh]h*}(hjChhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjgCubh)}(hSChosth]hSChost}(hjChhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjgCubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjcCubah}(h]h ]h"]h$]h&]jGjHuh1jIhjChhhjChMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hjBhhhjChMubah}(h]jBah ](j<j=eh"]h$]h&]jAjB)jChuh1hhjChMhjBhhubjE)}(hhh]jJ)}(h$Return information about MPT adapterh]h$Return information about MPT adapter}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjChhubah}(h]h ]h"]h$]h&]uh1jDhjBhhhjChMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhjDjijDjjjkjluh1hhhhhhNhNubjn)}(h**Parameters** ``struct Scsi_Host *SChost`` Pointer to Scsi_Host structure **Description** (linux scsi_host_template.info routine) Returns pointer to buffer where information was written.h](jJ)}(h**Parameters**h]jx)}(hjDh]h Parameters}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjDubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhj Dubj)}(hhh]j)}(h<``struct Scsi_Host *SChost`` Pointer to Scsi_Host structure h](j)}(h``struct Scsi_Host *SChost``h]j)}(hj/Dh]hstruct Scsi_Host *SChost}(hj1DhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj-Dubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhj)Dubj)}(hhh]jJ)}(hPointer to Scsi_Host structureh]hPointer to Scsi_Host structure}(hjHDhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjDDhMhjEDubah}(h]h ]h"]h$]h&]uh1jhj)Dubeh}(h]h ]h"]h$]h&]uh1jhjDDhMhj&Dubah}(h]h ]h"]h$]h&]uh1jhj DubjJ)}(h**Description**h]jx)}(hjjDh]h Description}(hjlDhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjhDubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhj Dubjv)}(ha(linux scsi_host_template.info routine) Returns pointer to buffer where information was written.h](jJ)}(h'(linux scsi_host_template.info routine)h]h'(linux scsi_host_template.info routine)}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjDubjJ)}(h8Returns pointer to buffer where information was written.h]h8Returns pointer to buffer where information was written.}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjDubeh}(h]h ]h"]h$]h&]uh1juhjDhMhj Dubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmptscsih_qcmd (C function)c.mptscsih_qcmdhNtauh1hhhhhhNhNubh)}(hhh](h)}(h+int mptscsih_qcmd (struct scsi_cmnd *SCpnt)h]h)}(h*int mptscsih_qcmd(struct scsi_cmnd *SCpnt)h](j)}(hinth]hint}(hjDhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjDhhhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMubj)}(h h]h }(hjDhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjDhhhjDhMubj-)}(h mptscsih_qcmdh]h)}(h mptscsih_qcmdh]h mptscsih_qcmd}(hjDhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjDubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hjDhhhjDhMubjJ)}(h(struct scsi_cmnd *SCpnt)h]jP)}(hstruct scsi_cmnd *SCpnth](j^ )}(hja h]hstruct}(hjEhhhNhNubah}(h]h ]jj ah"]h$]h&]uh1j] hjEubj)}(h h]h }(hjEhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjEubh)}(hhh]h)}(h scsi_cmndh]h scsi_cmnd}(hj#EhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj Eubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj%EmodnameN classnameNj j)}j]j)}jjDsbc.mptscsih_qcmdasbuh1hhjEubj)}(h h]h }(hjCEhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjEubj)}(hjh]h*}(hjQEhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjEubh)}(hSCpnth]hSCpnt}(hj^EhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjEubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjDubah}(h]h ]h"]h$]h&]jGjHuh1jIhjDhhhjDhMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hjDhhhjDhMubah}(h]jDah ](j<j=eh"]h$]h&]jAjB)jChuh1hhjDhMhjDhhubjE)}(hhh]jJ)}(h3Primary Fusion MPT SCSI initiator IO start routine.h]h3Primary Fusion MPT SCSI initiator IO start routine.}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjEhhubah}(h]h ]h"]h$]h&]uh1jDhjDhhhjDhMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhjEjijEjjjkjluh1hhhhhhNhNubjn)}(hXZ**Parameters** ``struct scsi_cmnd *SCpnt`` Pointer to scsi_cmnd structure **Description** (linux scsi_host_template.queuecommand routine) This is the primary SCSI IO start routine. Create a MPI SCSIIORequest from a linux scsi_cmnd request and send it to the IOC. Returns 0. (rtn value discarded by linux scsi mid-layer)h](jJ)}(h**Parameters**h]jx)}(hjEh]h Parameters}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjEubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjEubj)}(hhh]j)}(h;``struct scsi_cmnd *SCpnt`` Pointer to scsi_cmnd structure h](j)}(h``struct scsi_cmnd *SCpnt``h]j)}(hjEh]hstruct scsi_cmnd *SCpnt}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjEubj)}(hhh]jJ)}(hPointer to scsi_cmnd structureh]hPointer to scsi_cmnd structure}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjEhMhjEubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhjEhMhjEubah}(h]h ]h"]h$]h&]uh1jhjEubjJ)}(h**Description**h]jx)}(hjFh]h Description}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjFubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjEubjv)}(h(linux scsi_host_template.queuecommand routine) This is the primary SCSI IO start routine. Create a MPI SCSIIORequest from a linux scsi_cmnd request and send it to the IOC. Returns 0. (rtn value discarded by linux scsi mid-layer)h](jJ)}(h(linux scsi_host_template.queuecommand routine) This is the primary SCSI IO start routine. Create a MPI SCSIIORequest from a linux scsi_cmnd request and send it to the IOC.h]h(linux scsi_host_template.queuecommand routine) This is the primary SCSI IO start routine. Create a MPI SCSIIORequest from a linux scsi_cmnd request and send it to the IOC.}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjFubjJ)}(h8Returns 0. (rtn value discarded by linux scsi mid-layer)h]h8Returns 0. (rtn value discarded by linux scsi mid-layer)}(hj-FhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjFubeh}(h]h ]h"]h$]h&]uh1juhj,FhMhjEubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ#mptscsih_IssueTaskMgmt (C function)c.mptscsih_IssueTaskMgmthNtauh1hhhhhhNhNubh)}(hhh](h)}(hqint mptscsih_IssueTaskMgmt (MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 id, u64 lun, int ctx2abort, ulong timeout)h]h)}(hpint mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 id, u64 lun, int ctx2abort, ulong timeout)h](j)}(hinth]hint}(hjbFhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj^Fhhhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMubj)}(h h]h }(hjqFhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj^FhhhjpFhMubj-)}(hmptscsih_IssueTaskMgmth]h)}(hmptscsih_IssueTaskMgmth]hmptscsih_IssueTaskMgmt}(hjFhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjFubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hj^FhhhjpFhMubjJ)}(hV(MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 id, u64 lun, int ctx2abort, ulong timeout)h](jP)}(hMPT_SCSI_HOST *hdh](h)}(hhh]h)}(h MPT_SCSI_HOSTh]h MPT_SCSI_HOST}(hjFhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjFmodnameN classnameNj j)}j]j)}jjFsbc.mptscsih_IssueTaskMgmtasbuh1hhjFubj)}(h h]h }(hjFhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjFubj)}(hjh]h*}(hjFhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjFubh)}(hhdh]hhd}(hjFhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjFubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjFubjP)}(hu8 typeh](h)}(hhh]h)}(hu8h]hu8}(hjFhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjFmodnameN classnameNj j)}j]jFc.mptscsih_IssueTaskMgmtasbuh1hhjFubj)}(h h]h }(hjGhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjFubh)}(htypeh]htype}(hj%GhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjFubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjFubjP)}(h u8 channelh](h)}(hhh]h)}(hu8h]hu8}(hjAGhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj>Gubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjCGmodnameN classnameNj j)}j]jFc.mptscsih_IssueTaskMgmtasbuh1hhj:Gubj)}(h h]h }(hj_GhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj:Gubh)}(hchannelh]hchannel}(hjmGhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj:Gubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjFubjP)}(hu8 idh](h)}(hhh]h)}(hu8h]hu8}(hjGhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjGmodnameN classnameNj j)}j]jFc.mptscsih_IssueTaskMgmtasbuh1hhjGubj)}(h h]h }(hjGhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjGubh)}(hidh]hid}(hjGhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjGubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjFubjP)}(hu64 lunh](h)}(hhh]h)}(hu64h]hu64}(hjGhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjGmodnameN classnameNj j)}j]jFc.mptscsih_IssueTaskMgmtasbuh1hhjGubj)}(h h]h }(hjGhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjGubh)}(hlunh]hlun}(hjGhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjGubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjFubjP)}(h int ctx2aborth](j)}(hinth]hint}(hjHhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjHubj)}(h h]h }(hj$HhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjHubh)}(h ctx2aborth]h ctx2abort}(hj2HhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjHubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjFubjP)}(h ulong timeouth](h)}(hhh]h)}(hulongh]hulong}(hjNHhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjKHubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjPHmodnameN classnameNj j)}j]jFc.mptscsih_IssueTaskMgmtasbuh1hhjGHubj)}(h h]h }(hjlHhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjGHubh)}(htimeouth]htimeout}(hjzHhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjGHubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjFubeh}(h]h ]h"]h$]h&]jGjHuh1jIhj^FhhhjpFhMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hjZFhhhjpFhMubah}(h]jUFah ](j<j=eh"]h$]h&]jAjB)jChuh1hhjpFhMhjWFhhubjE)}(hhh]jJ)}(h&Generic send Task Management function.h]h&Generic send Task Management function.}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjHhhubah}(h]h ]h"]h$]h&]uh1jDhjWFhhhjpFhMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhjHjijHjjjkjluh1hhhhhhNhNubjn)}(hX**Parameters** ``MPT_SCSI_HOST *hd`` Pointer to MPT_SCSI_HOST structure ``u8 type`` Task Management type ``u8 channel`` channel number for task management ``u8 id`` Logical Target ID for reset (if appropriate) ``u64 lun`` Logical Unit for reset (if appropriate) ``int ctx2abort`` Context for the task to be aborted (if appropriate) ``ulong timeout`` timeout for task management control **Description** Remark: _HardResetHandler can be invoked from an interrupt thread (timer) or a non-interrupt thread. In the former, must not call schedule(). Not all fields are meaningfull for all task types. Returns 0 for SUCCESS, or FAILED.h](jJ)}(h**Parameters**h]jx)}(hjHh]h Parameters}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjHubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjHubj)}(hhh](j)}(h9``MPT_SCSI_HOST *hd`` Pointer to MPT_SCSI_HOST structure h](j)}(h``MPT_SCSI_HOST *hd``h]j)}(hjHh]hMPT_SCSI_HOST *hd}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjHubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjHubj)}(hhh]jJ)}(h"Pointer to MPT_SCSI_HOST structureh]h"Pointer to MPT_SCSI_HOST structure}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjHhMhjHubah}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]uh1jhjHhMhjHubj)}(h!``u8 type`` Task Management type h](j)}(h ``u8 type``h]j)}(hjIh]hu8 type}(hj IhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjIubj)}(hhh]jJ)}(hTask Management typeh]hTask Management type}(hj7IhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj3IhMhj4Iubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhj3IhMhjHubj)}(h2``u8 channel`` channel number for task management h](j)}(h``u8 channel``h]j)}(hjWIh]h u8 channel}(hjYIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjUIubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjQIubj)}(hhh]jJ)}(h"channel number for task managementh]h"channel number for task management}(hjpIhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjlIhMhjmIubah}(h]h ]h"]h$]h&]uh1jhjQIubeh}(h]h ]h"]h$]h&]uh1jhjlIhMhjHubj)}(h7``u8 id`` Logical Target ID for reset (if appropriate) h](j)}(h ``u8 id``h]j)}(hjIh]hu8 id}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjIubj)}(hhh]jJ)}(h,Logical Target ID for reset (if appropriate)h]h,Logical Target ID for reset (if appropriate)}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjIhMhjIubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjIhMhjHubj)}(h4``u64 lun`` Logical Unit for reset (if appropriate) h](j)}(h ``u64 lun``h]j)}(hjIh]hu64 lun}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjIubj)}(hhh]jJ)}(h'Logical Unit for reset (if appropriate)h]h'Logical Unit for reset (if appropriate)}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjIhMhjIubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjIhMhjHubj)}(hF``int ctx2abort`` Context for the task to be aborted (if appropriate) h](j)}(h``int ctx2abort``h]j)}(hjJh]h int ctx2abort}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjIubj)}(hhh]jJ)}(h3Context for the task to be aborted (if appropriate)h]h3Context for the task to be aborted (if appropriate)}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjJhMhjJubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjJhMhjHubj)}(h6``ulong timeout`` timeout for task management control h](j)}(h``ulong timeout``h]j)}(hj;Jh]h ulong timeout}(hj=JhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9Jubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhj5Jubj)}(hhh]jJ)}(h#timeout for task management controlh]h#timeout for task management control}(hjTJhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjPJhMhjQJubah}(h]h ]h"]h$]h&]uh1jhj5Jubeh}(h]h ]h"]h$]h&]uh1jhjPJhMhjHubeh}(h]h ]h"]h$]h&]uh1jhjHubjJ)}(h**Description**h]jx)}(hjvJh]h Description}(hjxJhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjtJubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjHubjv)}(hRemark: _HardResetHandler can be invoked from an interrupt thread (timer) or a non-interrupt thread. In the former, must not call schedule(). Not all fields are meaningfull for all task types. Returns 0 for SUCCESS, or FAILED.h](jJ)}(hRemark: _HardResetHandler can be invoked from an interrupt thread (timer) or a non-interrupt thread. In the former, must not call schedule().h]hRemark: _HardResetHandler can be invoked from an interrupt thread (timer) or a non-interrupt thread. In the former, must not call schedule().}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjJubjJ)}(h2Not all fields are meaningfull for all task types.h]h2Not all fields are meaningfull for all task types.}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjJubjJ)}(h!Returns 0 for SUCCESS, or FAILED.h]h!Returns 0 for SUCCESS, or FAILED.}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjJubeh}(h]h ]h"]h$]h&]uh1juhjJhMhjHubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmptscsih_abort (C function)c.mptscsih_aborthNtauh1hhhhhhNhNubh)}(hhh](h)}(h-int mptscsih_abort (struct scsi_cmnd * SCpnt)h]h)}(h+int mptscsih_abort(struct scsi_cmnd *SCpnt)h](j)}(hinth]hint}(hjJhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjJhhhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMubj)}(h h]h }(hjJhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjJhhhjJhMubj-)}(hmptscsih_aborth]h)}(hmptscsih_aborth]hmptscsih_abort}(hjKhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjKubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hjJhhhjJhMubjJ)}(h(struct scsi_cmnd *SCpnt)h]jP)}(hstruct scsi_cmnd *SCpnth](j^ )}(hja h]hstruct}(hj KhhhNhNubah}(h]h ]jj ah"]h$]h&]uh1j] hjKubj)}(h h]h }(hj-KhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjKubh)}(hhh]h)}(h scsi_cmndh]h scsi_cmnd}(hj>KhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj;Kubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj@KmodnameN classnameNj j)}j]j)}jjKsbc.mptscsih_abortasbuh1hhjKubj)}(h h]h }(hj^KhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjKubj)}(hjh]h*}(hjlKhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjKubh)}(hSCpnth]hSCpnt}(hjyKhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjKubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjKubah}(h]h ]h"]h$]h&]jGjHuh1jIhjJhhhjJhMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hjJhhhjJhMubah}(h]jJah ](j<j=eh"]h$]h&]jAjB)jChuh1hhjJhMhjJhhubjE)}(hhh]jJ)}(h-Abort linux scsi_cmnd routine, new_eh varianth]h-Abort linux scsi_cmnd routine, new_eh variant}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjKhhubah}(h]h ]h"]h$]h&]uh1jDhjJhhhjJhMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhjKjijKjjjkjluh1hhhhhhNhNubjn)}(h**Parameters** ``struct scsi_cmnd * SCpnt`` Pointer to scsi_cmnd structure, IO to be aborted **Description** (linux scsi_host_template.eh_abort_handler routine) Returns SUCCESS or FAILED.h](jJ)}(h**Parameters**h]jx)}(hjKh]h Parameters}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjKubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjKubj)}(hhh]j)}(hN``struct scsi_cmnd * SCpnt`` Pointer to scsi_cmnd structure, IO to be aborted h](j)}(h``struct scsi_cmnd * SCpnt``h]j)}(hjKh]hstruct scsi_cmnd * SCpnt}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjKubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjKubj)}(hhh]jJ)}(h0Pointer to scsi_cmnd structure, IO to be abortedh]h0Pointer to scsi_cmnd structure, IO to be aborted}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjKhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjKhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubjJ)}(h**Description**h]jx)}(hjLh]h Description}(hj!LhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjLubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjKubjv)}(hO(linux scsi_host_template.eh_abort_handler routine) Returns SUCCESS or FAILED.h](jJ)}(h3(linux scsi_host_template.eh_abort_handler routine)h]h3(linux scsi_host_template.eh_abort_handler routine)}(hj9LhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhj5LubjJ)}(hReturns SUCCESS or FAILED.h]hReturns SUCCESS or FAILED.}(hjHLhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhj5Lubeh}(h]h ]h"]h$]h&]uh1juhjGLhMhjKubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmptscsih_dev_reset (C function)c.mptscsih_dev_resethNtauh1hhhhhhNhNubh)}(hhh](h)}(h1int mptscsih_dev_reset (struct scsi_cmnd * SCpnt)h]h)}(h/int mptscsih_dev_reset(struct scsi_cmnd *SCpnt)h](j)}(hinth]hint}(hj}LhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjyLhhhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMubj)}(h h]h }(hjLhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjyLhhhjLhMubj-)}(hmptscsih_dev_reseth]h)}(hmptscsih_dev_reseth]hmptscsih_dev_reset}(hjLhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjLubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hjyLhhhjLhMubjJ)}(h(struct scsi_cmnd *SCpnt)h]jP)}(hstruct scsi_cmnd *SCpnth](j^ )}(hja h]hstruct}(hjLhhhNhNubah}(h]h ]jj ah"]h$]h&]uh1j] hjLubj)}(h h]h }(hjLhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjLubh)}(hhh]h)}(h scsi_cmndh]h scsi_cmnd}(hjLhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjLubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjLmodnameN classnameNj j)}j]j)}jjLsbc.mptscsih_dev_resetasbuh1hhjLubj)}(h h]h }(hjLhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjLubj)}(hjh]h*}(hjMhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjLubh)}(hSCpnth]hSCpnt}(hjMhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjLubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjLubah}(h]h ]h"]h$]h&]jGjHuh1jIhjyLhhhjLhMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hjuLhhhjLhMubah}(h]jpLah ](j<j=eh"]h$]h&]jAjB)jChuh1hhjLhMhjrLhhubjE)}(hhh]jJ)}(h"Perform a SCSI LOGICAL_UNIT_RESET!h]h"Perform a SCSI LOGICAL_UNIT_RESET!}(hj=MhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhj:Mhhubah}(h]h ]h"]h$]h&]uh1jDhjrLhhhjLhMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhjUMjijUMjjjkjluh1hhhhhhNhNubjn)}(h**Parameters** ``struct scsi_cmnd * SCpnt`` Pointer to scsi_cmnd structure, IO which reset is due to **Description** (linux scsi_host_template.eh_dev_reset_handler routine) Returns SUCCESS or FAILED.h](jJ)}(h**Parameters**h]jx)}(hj_Mh]h Parameters}(hjaMhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhj]Mubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjYMubj)}(hhh]j)}(hV``struct scsi_cmnd * SCpnt`` Pointer to scsi_cmnd structure, IO which reset is due to h](j)}(h``struct scsi_cmnd * SCpnt``h]j)}(hj~Mh]hstruct scsi_cmnd * SCpnt}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj|Mubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjxMubj)}(hhh]jJ)}(h8Pointer to scsi_cmnd structure, IO which reset is due toh]h8Pointer to scsi_cmnd structure, IO which reset is due to}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjMhMhjMubah}(h]h ]h"]h$]h&]uh1jhjxMubeh}(h]h ]h"]h$]h&]uh1jhjMhMhjuMubah}(h]h ]h"]h$]h&]uh1jhjYMubjJ)}(h**Description**h]jx)}(hjMh]h Description}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjMubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjYMubjv)}(hS(linux scsi_host_template.eh_dev_reset_handler routine) Returns SUCCESS or FAILED.h](jJ)}(h7(linux scsi_host_template.eh_dev_reset_handler routine)h]h7(linux scsi_host_template.eh_dev_reset_handler routine)}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjMubjJ)}(hReturns SUCCESS or FAILED.h]hReturns SUCCESS or FAILED.}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjMubeh}(h]h ]h"]h$]h&]uh1juhjMhMhjYMubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌmptscsih_bus_reset (C function)c.mptscsih_bus_resethNtauh1hhhhhhNhNubh)}(hhh](h)}(h1int mptscsih_bus_reset (struct scsi_cmnd * SCpnt)h]h)}(h/int mptscsih_bus_reset(struct scsi_cmnd *SCpnt)h](j)}(hinth]hint}(hjNhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjNhhhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chM9ubj)}(h h]h }(hj&NhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjNhhhj%NhM9ubj-)}(hmptscsih_bus_reseth]h)}(hmptscsih_bus_reseth]hmptscsih_bus_reset}(hj8NhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj4Nubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hjNhhhj%NhM9ubjJ)}(h(struct scsi_cmnd *SCpnt)h]jP)}(hstruct scsi_cmnd *SCpnth](j^ )}(hja h]hstruct}(hjTNhhhNhNubah}(h]h ]jj ah"]h$]h&]uh1j] hjPNubj)}(h h]h }(hjaNhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjPNubh)}(hhh]h)}(h scsi_cmndh]h scsi_cmnd}(hjrNhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjoNubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjtNmodnameN classnameNj j)}j]j)}jj:Nsbc.mptscsih_bus_resetasbuh1hhjPNubj)}(h h]h }(hjNhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjPNubj)}(hjh]h*}(hjNhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjPNubh)}(hSCpnth]hSCpnt}(hjNhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjPNubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjLNubah}(h]h ]h"]h$]h&]jGjHuh1jIhjNhhhj%NhM9ubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hjNhhhj%NhM9ubah}(h]j Nah ](j<j=eh"]h$]h&]jAjB)jChuh1hhj%NhM9hj NhhubjE)}(hhh]jJ)}(h(Perform a SCSI BUS_RESET! new_eh varianth]h(Perform a SCSI BUS_RESET! new_eh variant}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chM9hjNhhubah}(h]h ]h"]h$]h&]uh1jDhj Nhhhj%NhM9ubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhjNjijNjjjkjluh1hhhhhhNhNubjn)}(h**Parameters** ``struct scsi_cmnd * SCpnt`` Pointer to scsi_cmnd structure, IO which reset is due to **Description** (linux scsi_host_template.eh_bus_reset_handler routine) Returns SUCCESS or FAILED.h](jJ)}(h**Parameters**h]jx)}(hjNh]h Parameters}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chM=hjNubj)}(hhh]j)}(hV``struct scsi_cmnd * SCpnt`` Pointer to scsi_cmnd structure, IO which reset is due to h](j)}(h``struct scsi_cmnd * SCpnt``h]j)}(hjOh]hstruct scsi_cmnd * SCpnt}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjOubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chM:hjOubj)}(hhh]jJ)}(h8Pointer to scsi_cmnd structure, IO which reset is due toh]h8Pointer to scsi_cmnd structure, IO which reset is due to}(hj1OhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj-OhM:hj.Oubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhj-OhM:hjOubah}(h]h ]h"]h$]h&]uh1jhjNubjJ)}(h**Description**h]jx)}(hjSOh]h Description}(hjUOhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjQOubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chM<hjNubjv)}(hS(linux scsi_host_template.eh_bus_reset_handler routine) Returns SUCCESS or FAILED.h](jJ)}(h7(linux scsi_host_template.eh_bus_reset_handler routine)h]h7(linux scsi_host_template.eh_bus_reset_handler routine)}(hjmOhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chM;hjiOubjJ)}(hReturns SUCCESS or FAILED.h]hReturns SUCCESS or FAILED.}(hj|OhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chM=hjiOubeh}(h]h ]h"]h$]h&]uh1juhj{OhM;hjNubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ mptscsih_host_reset (C function)c.mptscsih_host_resethNtauh1hhhhhhNhNubh)}(hhh](h)}(h1int mptscsih_host_reset (struct scsi_cmnd *SCpnt)h]h)}(h0int mptscsih_host_reset(struct scsi_cmnd *SCpnt)h](j)}(hinth]hint}(hjOhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjOhhhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMkubj)}(h h]h }(hjOhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjOhhhjOhMkubj-)}(hmptscsih_host_reseth]h)}(hmptscsih_host_reseth]hmptscsih_host_reset}(hjOhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjOubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hjOhhhjOhMkubjJ)}(h(struct scsi_cmnd *SCpnt)h]jP)}(hstruct scsi_cmnd *SCpnth](j^ )}(hja h]hstruct}(hjOhhhNhNubah}(h]h ]jj ah"]h$]h&]uh1j] hjOubj)}(h h]h }(hjOhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjOubh)}(hhh]h)}(h scsi_cmndh]h scsi_cmnd}(hj PhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj Pubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjPmodnameN classnameNj j)}j]j)}jjOsbc.mptscsih_host_resetasbuh1hhjOubj)}(h h]h }(hj,PhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjOubj)}(hjh]h*}(hj:PhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjOubh)}(hSCpnth]hSCpnt}(hjGPhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjOubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjOubah}(h]h ]h"]h$]h&]jGjHuh1jIhjOhhhjOhMkubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hjOhhhjOhMkubah}(h]jOah ](j<j=eh"]h$]h&]jAjB)jChuh1hhjOhMkhjOhhubjE)}(hhh]jJ)}(h2Perform a SCSI host adapter RESET (new_eh variant)h]h2Perform a SCSI host adapter RESET (new_eh variant)}(hjqPhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMkhjnPhhubah}(h]h ]h"]h$]h&]uh1jDhjOhhhjOhMkubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhjPjijPjjjkjluh1hhhhhhNhNubjn)}(h**Parameters** ``struct scsi_cmnd *SCpnt`` Pointer to scsi_cmnd structure, IO which reset is due to **Description** (linux scsi_host_template.eh_host_reset_handler routine) Returns SUCCESS or FAILED.h](jJ)}(h**Parameters**h]jx)}(hjPh]h Parameters}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjPubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMohjPubj)}(hhh]j)}(hU``struct scsi_cmnd *SCpnt`` Pointer to scsi_cmnd structure, IO which reset is due to h](j)}(h``struct scsi_cmnd *SCpnt``h]j)}(hjPh]hstruct scsi_cmnd *SCpnt}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjPubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMlhjPubj)}(hhh]jJ)}(h8Pointer to scsi_cmnd structure, IO which reset is due toh]h8Pointer to scsi_cmnd structure, IO which reset is due to}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjPhMlhjPubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjPhMlhjPubah}(h]h ]h"]h$]h&]uh1jhjPubjJ)}(h**Description**h]jx)}(hjPh]h Description}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjPubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMnhjPubjv)}(hT(linux scsi_host_template.eh_host_reset_handler routine) Returns SUCCESS or FAILED.h](jJ)}(h8(linux scsi_host_template.eh_host_reset_handler routine)h]h8(linux scsi_host_template.eh_host_reset_handler routine)}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMmhjQubjJ)}(hReturns SUCCESS or FAILED.h]hReturns SUCCESS or FAILED.}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMohjQubeh}(h]h ]h"]h$]h&]uh1juhjQhMmhjPubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ'mptscsih_taskmgmt_complete (C function)c.mptscsih_taskmgmt_completehNtauh1hhhhhhNhNubh)}(hhh](h)}(hWint mptscsih_taskmgmt_complete (MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr)h]h)}(hVint mptscsih_taskmgmt_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr)h](j)}(hinth]hint}(hjKQhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjGQhhhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMubj)}(h h]h }(hjZQhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjGQhhhjYQhMubj-)}(hmptscsih_taskmgmt_completeh]h)}(hmptscsih_taskmgmt_completeh]hmptscsih_taskmgmt_complete}(hjlQhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjhQubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hjGQhhhjYQhMubjJ)}(h8(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr)h](jP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hjQhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjQmodnameN classnameNj j)}j]j)}jjnQsbc.mptscsih_taskmgmt_completeasbuh1hhjQubj)}(h h]h }(hjQhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjQubj)}(hjh]h*}(hjQhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjQubh)}(hioch]hioc}(hjQhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjQubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjQubjP)}(hMPT_FRAME_HDR *mfh](h)}(hhh]h)}(h MPT_FRAME_HDRh]h MPT_FRAME_HDR}(hjQhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjQmodnameN classnameNj j)}j]jQc.mptscsih_taskmgmt_completeasbuh1hhjQubj)}(h h]h }(hjRhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjQubj)}(hjh]h*}(hjRhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjQubh)}(hmfh]hmf}(hjRhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjQubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjQubjP)}(hMPT_FRAME_HDR *mrh](h)}(hhh]h)}(h MPT_FRAME_HDRh]h MPT_FRAME_HDR}(hj7RhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj4Rubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj9RmodnameN classnameNj j)}j]jQc.mptscsih_taskmgmt_completeasbuh1hhj0Rubj)}(h h]h }(hjURhhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj0Rubj)}(hjh]h*}(hjcRhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj0Rubh)}(hmrh]hmr}(hjpRhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj0Rubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjQubeh}(h]h ]h"]h$]h&]jGjHuh1jIhjGQhhhjYQhMubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hjCQhhhjYQhMubah}(h]j>Qah ](j<j=eh"]h$]h&]jAjB)jChuh1hhjYQhMhj@QhhubjE)}(hhh]jJ)}(h&Registered with Fusion MPT base driverh]h&Registered with Fusion MPT base driver}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjRhhubah}(h]h ]h"]h$]h&]uh1jDhj@QhhhjYQhMubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhjRjijRjjjkjluh1hhhhhhNhNubjn)}(hX**Parameters** ``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure ``MPT_FRAME_HDR *mf`` Pointer to SCSI task mgmt request frame ``MPT_FRAME_HDR *mr`` Pointer to SCSI task mgmt reply frame **Description** This routine is called from mptbase.c::mpt_interrupt() at the completion of any SCSI task management request. This routine is registered with the MPT (base) driver at driver load/init time via the mpt_register() API call. Returns 1 indicating alloc'd request frame ptr should be freed.h](jJ)}(h**Parameters**h]jx)}(hjRh]h Parameters}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjRubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjRubj)}(hhh](j)}(h6``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hjRh]hMPT_ADAPTER *ioc}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjRubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjRubj)}(hhh]jJ)}(h Pointer to MPT_ADAPTER structureh]h Pointer to MPT_ADAPTER structure}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjRhMhjRubah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jhjRhMhjRubj)}(h>``MPT_FRAME_HDR *mf`` Pointer to SCSI task mgmt request frame h](j)}(h``MPT_FRAME_HDR *mf``h]j)}(hjSh]hMPT_FRAME_HDR *mf}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjSubj)}(hhh]jJ)}(h'Pointer to SCSI task mgmt request frameh]h'Pointer to SCSI task mgmt request frame}(hj-ShhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj)ShMhj*Subah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhj)ShMhjRubj)}(h<``MPT_FRAME_HDR *mr`` Pointer to SCSI task mgmt reply frame h](j)}(h``MPT_FRAME_HDR *mr``h]j)}(hjMSh]hMPT_FRAME_HDR *mr}(hjOShhhNhNubah}(h]h ]h"]h$]h&]uh1jhjKSubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjGSubj)}(hhh]jJ)}(h%Pointer to SCSI task mgmt reply frameh]h%Pointer to SCSI task mgmt reply frame}(hjfShhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjbShMhjcSubah}(h]h ]h"]h$]h&]uh1jhjGSubeh}(h]h ]h"]h$]h&]uh1jhjbShMhjRubeh}(h]h ]h"]h$]h&]uh1jhjRubjJ)}(h**Description**h]jx)}(hjSh]h Description}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjSubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjRubjv)}(hXThis routine is called from mptbase.c::mpt_interrupt() at the completion of any SCSI task management request. This routine is registered with the MPT (base) driver at driver load/init time via the mpt_register() API call. Returns 1 indicating alloc'd request frame ptr should be freed.h](jJ)}(hThis routine is called from mptbase.c::mpt_interrupt() at the completion of any SCSI task management request. This routine is registered with the MPT (base) driver at driver load/init time via the mpt_register() API call.h]hThis routine is called from mptbase.c::mpt_interrupt() at the completion of any SCSI task management request. This routine is registered with the MPT (base) driver at driver load/init time via the mpt_register() API call.}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjSubjJ)}(h?Returns 1 indicating alloc'd request frame ptr should be freed.h]hAReturns 1 indicating alloc’d request frame ptr should be freed.}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chMhjSubeh}(h]h ]h"]h$]h&]uh1juhjShMhjRubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hՌ%mptscsih_get_scsi_lookup (C function)c.mptscsih_get_scsi_lookuphNtauh1hhhhhhNhNubh)}(hhh](h)}(hEstruct scsi_cmnd * mptscsih_get_scsi_lookup (MPT_ADAPTER *ioc, int i)h]h)}(hCstruct scsi_cmnd *mptscsih_get_scsi_lookup(MPT_ADAPTER *ioc, int i)h](j^ )}(hja h]hstruct}(hjShhhNhNubah}(h]h ]jj ah"]h$]h&]uh1j] hjShhhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chM ubj)}(h h]h }(hjShhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjShhhjShM ubh)}(hhh]h)}(h scsi_cmndh]h scsi_cmnd}(hjThhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjTubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjT\modnameN classnameNj j)}j]j)}jmptscsih_get_scsi_lookupsbc.mptscsih_get_scsi_lookupasbuh1hhjShhhjShM ubj)}(h h]h }(hj&ThhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjShhhjShM ubj)}(hjh]h*}(hj4ThhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjShhhjShM ubj-)}(hmptscsih_get_scsi_lookuph]h)}(hj#Th]hmptscsih_get_scsi_lookup}(hjEThhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjATubah}(h]h ](jBjCeh"]h$]h&]jGjHuh1j,hjShhhjShM ubjJ)}(h(MPT_ADAPTER *ioc, int i)h](jP)}(hMPT_ADAPTER *ioch](h)}(hhh]h)}(h MPT_ADAPTERh]h MPT_ADAPTER}(hjcThhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj`Tubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjeTmodnameN classnameNj j)}j]j!Tc.mptscsih_get_scsi_lookupasbuh1hhj\Tubj)}(h h]h }(hjThhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhj\Tubj)}(hjh]h*}(hjThhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj\Tubh)}(hioch]hioc}(hjThhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj\Tubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjXTubjP)}(hint ih](j)}(hinth]hint}(hjThhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjTubj)}(h h]h }(hjThhhNhNubah}(h]h ]j(ah"]h$]h&]uh1jhjTubh)}(hih]hi}(hjThhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjTubeh}(h]h ]h"]h$]h&]noemphjGjHuh1jOhjXTubeh}(h]h ]h"]h$]h&]jGjHuh1jIhjShhhjShM ubeh}(h]h ]h"]h$]h&]jGjHj6uh1hj7j8hjShhhjShM ubah}(h]jSah ](j<j=eh"]h$]h&]jAjB)jChuh1hhjShM hjShhubjE)}(hhh]jJ)}(hretrieves scmd entryh]hretrieves scmd entry}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chM hjThhubah}(h]h ]h"]h$]h&]uh1jDhjShhhjShM ubeh}(h]h ](jfunctioneh"]h$]h&]jgjjhjUjijUjjjkjluh1hhhhhhNhNubjn)}(h**Parameters** ``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure ``int i`` index into the array **Description** Returns the scsi_cmd pointerh](jJ)}(h**Parameters**h]jx)}(hjUh]h Parameters}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjUubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chM hjUubj)}(hhh](j)}(h6``MPT_ADAPTER *ioc`` Pointer to MPT_ADAPTER structure h](j)}(h``MPT_ADAPTER *ioc``h]j)}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:Uubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chM hj6Uubj)}(hhh]jJ)}(h Pointer to MPT_ADAPTER structureh]h Pointer to MPT_ADAPTER structure}(hjUUhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjQUhM hjRUubah}(h]h ]h"]h$]h&]uh1jhj6Uubeh}(h]h ]h"]h$]h&]uh1jhjQUhM hj3Uubj)}(h``int i`` index into the array h](j)}(h ``int i``h]j)}(hjuUh]hint i}(hjwUhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjsUubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chM hjoUubj)}(hhh]jJ)}(hindex into the arrayh]hindex into the array}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhjUhM hjUubah}(h]h ]h"]h$]h&]uh1jhjoUubeh}(h]h ]h"]h$]h&]uh1jhjUhM hj3Uubeh}(h]h ]h"]h$]h&]uh1jhjUubjJ)}(h**Description**h]jx)}(hjUh]h Description}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jwhjUubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chM hjUubjJ)}(hReturns the scsi_cmd pointerh]hReturns the scsi_cmd pointer}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jIhj/var/lib/git/docbuild/linux/Documentation/driver-api/message-based:10: ./drivers/message/fusion/mptscsih.chM hjUubeh}(h]h ] kernelindentah"]h$]h&]uh1jmhhhhhNhNubeh}(h]fusion-message-devicesah ]h"]fusion message devicesah$]h&]uh1hhhhhhhhKubeh}(h]message-based-devicesah ]h"]message-based devicesah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksji,footnote_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_handlerjVerror_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}(jUjUjUjUu nametypes}(jUjUuh}(jUhjUhhhjj jgjljZj_jjj j j j j j j&j+jXj]jjjejjjcjhjj$jjj j j!j!j#j#j(%j-%j'j'j)j )jv*j{*jD-jI-j/j/j1j1j4j4j{5j5jz7j7j:j:j;<j@<j{=j=j>j>j@j@jBjBjDjDjUFjZFjJjJjpLjuLj NjNjOjOj>QjCQjSjSu 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.