\hypertarget{smartpqi__event_8c_source}{}\doxysection{smartpqi\+\_\+event.\+c}
\label{smartpqi__event_8c_source}\index{dev/smartpqi/smartpqi\_event.c@{dev/smartpqi/smartpqi\_event.c}}
\mbox{\hyperlink{smartpqi__event_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00001}00001 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00002}00002 \textcolor{comment}{ * Copyright 2016-\/2021 Microchip Technology, Inc. and/or its subsidiaries.}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00003}00003 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00004}00004 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00005}00005 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00006}00006 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00007}00007 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00008}00008 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00009}00009 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00010}00010 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00011}00011 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00012}00012 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00013}00013 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00014}00014 \textcolor{comment}{ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00015}00015 \textcolor{comment}{ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00016}00016 \textcolor{comment}{ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00017}00017 \textcolor{comment}{ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00018}00018 \textcolor{comment}{ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00019}00019 \textcolor{comment}{ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00020}00020 \textcolor{comment}{ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00021}00021 \textcolor{comment}{ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00022}00022 \textcolor{comment}{ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00023}00023 \textcolor{comment}{ * SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00024}00024 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00025}00025 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00026}00026 \textcolor{comment}{/* \$FreeBSD\$ */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00027}00027 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00028}00028 \textcolor{preprocessor}{\#include"{}\mbox{\hyperlink{smartpqi__includes_8h}{smartpqi\_includes.h}}"{}}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00029}00029 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00030}00030 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00031}00031 \textcolor{comment}{ * Function to rescan the devices connected to adapter.}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00032}00032 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00033}00033 \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00034}\mbox{\hyperlink{smartpqi__event_8c_a4ecc6fc2d55b15d0cb740db7628c5d4b}{00034}} \mbox{\hyperlink{smartpqi__event_8c_a4ecc6fc2d55b15d0cb740db7628c5d4b}{pqisrc\_rescan\_devices}}(\mbox{\hyperlink{structpqisrc__softstate}{pqisrc\_softstate\_t}} *softs)}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00035}00035 \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00036}00036         \textcolor{keywordtype}{int} ret;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00037}00037 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00038}00038         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{}IN\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00039}00039 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00040}00040         \mbox{\hyperlink{smartpqi__misc_8c_a2bc383243395a826bc5362e42908ce46}{os\_sema\_lock}}(\&softs-\/>\mbox{\hyperlink{structpqisrc__softstate_acbd30c0352d96df9070cf300f89b46ba}{scan\_lock}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00041}00041 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00042}00042         ret = \mbox{\hyperlink{smartpqi__discovery_8c_a18e09166c2b655df9d7d3bed658d6433}{pqisrc\_scan\_devices}}(softs);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00043}00043 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00044}00044         \mbox{\hyperlink{smartpqi__misc_8c_acc68f2cc3773f37a8256ca86ded339f8}{os\_sema\_unlock}}(\&softs-\/>\mbox{\hyperlink{structpqisrc__softstate_acbd30c0352d96df9070cf300f89b46ba}{scan\_lock}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00045}00045 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00046}00046         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{}OUT\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00047}00047 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00048}00048         \textcolor{keywordflow}{return} ret;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00049}00049 \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00050}00050 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00051}00051 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00052}\mbox{\hyperlink{smartpqi__event_8c_a3e42094ad51f568c9b1b8ea70c8a49d3}{00052}} \mbox{\hyperlink{smartpqi__event_8c_a3e42094ad51f568c9b1b8ea70c8a49d3}{pqisrc\_wait\_for\_rescan\_complete}}(\mbox{\hyperlink{structpqisrc__softstate}{pqisrc\_softstate\_t}} *softs)}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00053}00053 \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00054}00054         \mbox{\hyperlink{smartpqi__misc_8c_a2bc383243395a826bc5362e42908ce46}{os\_sema\_lock}}(\&softs-\/>\mbox{\hyperlink{structpqisrc__softstate_acbd30c0352d96df9070cf300f89b46ba}{scan\_lock}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00055}00055         \mbox{\hyperlink{smartpqi__misc_8c_acc68f2cc3773f37a8256ca86ded339f8}{os\_sema\_unlock}}(\&softs-\/>\mbox{\hyperlink{structpqisrc__softstate_acbd30c0352d96df9070cf300f89b46ba}{scan\_lock}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00056}00056 \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00057}00057 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00058}00058 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00059}00059 \textcolor{comment}{ * Subroutine to acknowledge the events processed by the driver to the adapter.}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00060}00060 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00061}00061 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00062}\mbox{\hyperlink{smartpqi__event_8c_af69297f3b8f75c4f7029ae92922e8418}{00062}} \mbox{\hyperlink{smartpqi__event_8c_af69297f3b8f75c4f7029ae92922e8418}{pqisrc\_acknowledge\_event}}(\mbox{\hyperlink{structpqisrc__softstate}{pqisrc\_softstate\_t}} *softs,}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00063}00063         \textcolor{keyword}{struct} \mbox{\hyperlink{structpqi__event}{pqi\_event}} *event)}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00064}00064 \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00065}00065 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00066}00066         \mbox{\hyperlink{structpqi__event__acknowledge__request}{pqi\_event\_acknowledge\_request\_t}} request;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00067}00067         \mbox{\hyperlink{structib__queue}{ib\_queue\_t}} *ib\_q = \&softs-\/>\mbox{\hyperlink{structpqisrc__softstate_a99235c18db56e9581bbf9a59870c6121}{op\_raid\_ib\_q}}[0];}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00068}00068         \textcolor{keywordtype}{int} tmo = \mbox{\hyperlink{smartpqi__defines_8h_a491495899109dbc8339892e5f22a05db}{PQISRC\_EVENT\_ACK\_RESP\_TIMEOUT}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00069}00069         memset(\&request,0,\textcolor{keyword}{sizeof}(request));}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00070}00070 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00071}00071         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{}IN\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00072}00072 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00073}00073         request.\mbox{\hyperlink{structpqi__event__acknowledge__request_aee2b4ddfec6f6555ad170249e720dd42}{header}}.\mbox{\hyperlink{structiu__header_a8c7c2c18feda0ecef67ff7c4f7289695}{iu\_type}} = \mbox{\hyperlink{smartpqi__defines_8h_ab51545b9ac1aaf0887fed8cd2453be60}{PQI\_REQUEST\_IU\_ACKNOWLEDGE\_VENDOR\_EVENT}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00074}00074         request.\mbox{\hyperlink{structpqi__event__acknowledge__request_aee2b4ddfec6f6555ad170249e720dd42}{header}}.\mbox{\hyperlink{structiu__header_abfef3e3722750301de381927e3a77097}{iu\_length}} = (\textcolor{keyword}{sizeof}(\mbox{\hyperlink{smartpqi__structures_8h_a6255301062ced2b18d0f6dcbba95df9d}{pqi\_event\_acknowledge\_request\_t}}) -\/}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00075}00075                                                                 \mbox{\hyperlink{smartpqi__defines_8h_a688b21896fc3388d2c42f5c8352e65f2}{PQI\_REQUEST\_HEADER\_LENGTH}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00076}00076         request.\mbox{\hyperlink{structpqi__event__acknowledge__request_a2e0b406e88ed9668e09b2434b7b6af68}{event\_type}} = \textcolor{keyword}{event}-\/>event\_type;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00077}00077         request.\mbox{\hyperlink{structpqi__event__acknowledge__request_a0fda802933dc213e6feea107fa15e28c}{event\_id}}   = \textcolor{keyword}{event}-\/>event\_id;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00078}00078         request.\mbox{\hyperlink{structpqi__event__acknowledge__request_aa2a3e8e52ce8cb285752caf71d84a5de}{additional\_event\_id}} = \textcolor{keyword}{event}-\/>additional\_event\_id;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00079}00079 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00080}00080         \textcolor{comment}{/* Submit Event Acknowledge */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00081}00081 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00082}00082         \mbox{\hyperlink{smartpqi__cmd_8c_ac73d6ecb509b9d834214412ffdf38cb8}{pqisrc\_submit\_cmnd}}(softs, ib\_q, \&request);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00083}00083 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00084}00084         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00085}00085 \textcolor{comment}{         * We have to special-\/case this type of request because the firmware}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00086}00086 \textcolor{comment}{         * does not generate an interrupt when this type of request completes.}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00087}00087 \textcolor{comment}{         * Therefore, we have to poll until we see that the firmware has}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00088}00088 \textcolor{comment}{         * consumed the request before we move on.}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00089}00089 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00090}00090 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00091}00091         \mbox{\hyperlink{smartpqi__defines_8h_a1ef981d0cfeeb34d0c197ec051b1c8b1}{COND\_WAIT}}(((ib\_q-\/>\mbox{\hyperlink{structib__queue_a045a4f504415699eb3f65feba92d068e}{pi\_local}}) == *(ib\_q-\/>\mbox{\hyperlink{structib__queue_a794f2b16954fc53366171e1ec77d24fe}{ci\_virt\_addr}})), tmo);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00092}00092                 \textcolor{keywordflow}{if} (tmo <= 0) \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00093}00093                         \mbox{\hyperlink{smartpqi__defines_8h_a9f37f65d1776ba362fa0e21fce3dcd2a}{DBG\_ERR}}(\textcolor{stringliteral}{"{}wait for event acknowledge timed out\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00094}00094                         \mbox{\hyperlink{smartpqi__defines_8h_a9f37f65d1776ba362fa0e21fce3dcd2a}{DBG\_ERR}}(\textcolor{stringliteral}{"{}tmo : \%d\(\backslash\)n"{}},tmo);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00095}00095                 \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00096}00096 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00097}00097         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{} OUT\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00098}00098 \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00099}00099 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00100}00100 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00101}00101 \textcolor{comment}{ * Acknowledge processed events to the adapter.}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00102}00102 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00103}00103 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00104}\mbox{\hyperlink{smartpqi__event_8c_a897751afef27adb89e77843260d72277}{00104}} \mbox{\hyperlink{smartpqi__event_8c_a897751afef27adb89e77843260d72277}{pqisrc\_ack\_all\_events}}(\textcolor{keywordtype}{void} *arg1)}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00105}00105 \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00106}00106         \textcolor{keywordtype}{int} i;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00107}00107         \textcolor{keyword}{struct }\mbox{\hyperlink{structpqi__event}{pqi\_event}} *pending\_event;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00108}00108         \mbox{\hyperlink{structpqisrc__softstate}{pqisrc\_softstate\_t}} *softs = (\mbox{\hyperlink{structpqisrc__softstate}{pqisrc\_softstate\_t}}*)arg1;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00109}00109 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00110}00110         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{} IN\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00111}00111 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00112}00112 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00113}00113         pending\_event = \&softs-\/>\mbox{\hyperlink{structpqisrc__softstate_a3372e1a1fdc44c1c7caaeab623a7cd77}{pending\_events}}[0];}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00114}00114         \textcolor{keywordflow}{for} (i=0; i < \mbox{\hyperlink{smartpqi__defines_8h_a18556ffca925e8f22402cbbaab2de238}{PQI\_NUM\_SUPPORTED\_EVENTS}}; i++) \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00115}00115                 \textcolor{keywordflow}{if} (pending\_event-\/>\mbox{\hyperlink{structpqi__event_adc9dc709318cc354ddc25f9af542e2da}{pending}} == \textcolor{keyword}{true}) \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00116}00116                         pending\_event-\/>\mbox{\hyperlink{structpqi__event_adc9dc709318cc354ddc25f9af542e2da}{pending}} = \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00117}00117                         \mbox{\hyperlink{smartpqi__event_8c_af69297f3b8f75c4f7029ae92922e8418}{pqisrc\_acknowledge\_event}}(softs, pending\_event);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00118}00118                 \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00119}00119                 pending\_event++;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00120}00120         \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00121}00121 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00122}00122         \textcolor{comment}{/* Rescan devices except for heartbeat event */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00123}00123         \textcolor{keywordflow}{if} ((\mbox{\hyperlink{smartpqi__event_8c_a4ecc6fc2d55b15d0cb740db7628c5d4b}{pqisrc\_rescan\_devices}}(softs)) != \mbox{\hyperlink{smartpqi__defines_8h_a6542920aac09fc054e88e3e7b264be15}{PQI\_STATUS\_SUCCESS}}) \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00124}00124                         \mbox{\hyperlink{smartpqi__defines_8h_a9f37f65d1776ba362fa0e21fce3dcd2a}{DBG\_ERR}}(\textcolor{stringliteral}{"{} Failed to Re-\/Scan devices\(\backslash\)n "{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00125}00125         \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00126}00126         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{} OUT\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00127}00127 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00128}00128 \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00129}00129 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00130}00130 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00131}00131 \textcolor{comment}{ * Get event index from event type to validate the type of event.}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00132}00132 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00133}00133 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00134}\mbox{\hyperlink{smartpqi__event_8c_aeea576317b203e8f3181d4200a689a7a}{00134}} \mbox{\hyperlink{smartpqi__event_8c_aeea576317b203e8f3181d4200a689a7a}{pqisrc\_event\_type\_to\_event\_index}}(\textcolor{keywordtype}{unsigned} \mbox{\hyperlink{structpqi__event_a351973bf934d6e28c81b5f925668b6ce}{event\_type}})}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00135}00135 \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00136}00136         \textcolor{keywordtype}{int} index;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00137}00137 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00138}00138         \textcolor{keywordflow}{switch} (\mbox{\hyperlink{structpqi__event_a351973bf934d6e28c81b5f925668b6ce}{event\_type}}) \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00139}00139         \textcolor{keywordflow}{case} \mbox{\hyperlink{smartpqi__defines_8h_acce307c26a07e296eec7cbff8200f62b}{PQI\_EVENT\_TYPE\_HOTPLUG}}:}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00140}00140                 index = \mbox{\hyperlink{smartpqi__defines_8h_a3a7545d86e034dee770573e0f686cec1}{PQI\_EVENT\_HOTPLUG}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00141}00141                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00142}00142         \textcolor{keywordflow}{case} \mbox{\hyperlink{smartpqi__defines_8h_aff99c961eee38028abb34b4472019eff}{PQI\_EVENT\_TYPE\_HARDWARE}}:}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00143}00143                 index = \mbox{\hyperlink{smartpqi__defines_8h_a5f2d120c6874ed97caef373932732f6c}{PQI\_EVENT\_HARDWARE}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00144}00144                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00145}00145         \textcolor{keywordflow}{case} \mbox{\hyperlink{smartpqi__defines_8h_a17197492dac1f20af2e4db17078ca3e0}{PQI\_EVENT\_TYPE\_PHYSICAL\_DEVICE}}:}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00146}00146                 index = \mbox{\hyperlink{smartpqi__defines_8h_a6ad9ae104653b604618b51783a20c2a5}{PQI\_EVENT\_PHYSICAL\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00147}00147                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00148}00148         \textcolor{keywordflow}{case} \mbox{\hyperlink{smartpqi__defines_8h_a51433ea9648e29ba1a0579b033ca6d4d}{PQI\_EVENT\_TYPE\_LOGICAL\_DEVICE}}:}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00149}00149                 index = \mbox{\hyperlink{smartpqi__defines_8h_a9bb3dc647c76c89d8db9ad008b9c8d17}{PQI\_EVENT\_LOGICAL\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00150}00150                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00151}00151         \textcolor{keywordflow}{case} \mbox{\hyperlink{smartpqi__defines_8h_a04603f2d9227805a44f45db9ee709669}{PQI\_EVENT\_TYPE\_AIO\_STATE\_CHANGE}}:}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00152}00152                 index = \mbox{\hyperlink{smartpqi__defines_8h_adab7653949c104f14b072e63af6c653a}{PQI\_EVENT\_AIO\_STATE\_CHANGE}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00153}00153                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00154}00154         \textcolor{keywordflow}{case} \mbox{\hyperlink{smartpqi__defines_8h_a5a3cc833e129d95fb7eb49c2cd2758ef}{PQI\_EVENT\_TYPE\_AIO\_CONFIG\_CHANGE}}:}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00155}00155                 index = \mbox{\hyperlink{smartpqi__defines_8h_a586eda7e74c2bce3f0ce9cb8d6476aa8}{PQI\_EVENT\_AIO\_CONFIG\_CHANGE}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00156}00156                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00157}00157         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00158}00158                 index = -\/1;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00159}00159                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00160}00160         \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00161}00161 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00162}00162         \textcolor{keywordflow}{return} index;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00163}00163 \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00164}00164 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00165}00165 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00166}00166 \textcolor{comment}{ * Function used to process the events supported by the adapter.}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00167}00167 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00168}00168 \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00169}\mbox{\hyperlink{smartpqi__event_8c_a30cfea99cc2656f1733e1912580b7d59}{00169}} \mbox{\hyperlink{smartpqi__event_8c_a30cfea99cc2656f1733e1912580b7d59}{pqisrc\_process\_event\_intr\_src}}(\mbox{\hyperlink{structpqisrc__softstate}{pqisrc\_softstate\_t}} *softs,\textcolor{keywordtype}{int} obq\_id)}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00170}00170 \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00171}00171         uint32\_t obq\_pi,obq\_ci;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00172}00172         \mbox{\hyperlink{structpqi__event__response}{pqi\_event\_response\_t}} response;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00173}00173         \mbox{\hyperlink{structob__queue}{ob\_queue\_t}} *event\_q;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00174}00174         \textcolor{keyword}{struct }\mbox{\hyperlink{structpqi__event}{pqi\_event}} *pending\_event;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00175}00175         boolean\_t  need\_delayed\_work = \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00176}00176 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00177}00177         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{} IN\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00178}00178 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00179}00179         event\_q = \&softs-\/>\mbox{\hyperlink{structpqisrc__softstate_a7ed80a15035b9525184ee039bab645aa}{event\_q}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00180}00180         obq\_ci = event\_q-\/>\mbox{\hyperlink{structob__queue_a248e0ac3f8566278a86891024a9a0147}{ci\_local}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00181}00181         obq\_pi = *(event\_q-\/>\mbox{\hyperlink{structob__queue_a55254108167ddb928dcf1640c7fd6b68}{pi\_virt\_addr}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00182}00182         \mbox{\hyperlink{smartpqi__defines_8h_aa737cff34324bcbdfddeea0ab692a335}{DBG\_INFO}}(\textcolor{stringliteral}{"{}Initial Event\_q ci : \%d Event\_q pi : \%d\(\backslash\)n"{}}, obq\_ci, obq\_pi);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00183}00183 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00184}00184         \textcolor{keywordflow}{while}(1) \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00185}00185                 \textcolor{keywordtype}{int} event\_index;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00186}00186                 \mbox{\hyperlink{smartpqi__defines_8h_aa737cff34324bcbdfddeea0ab692a335}{DBG\_INFO}}(\textcolor{stringliteral}{"{}queue\_id : \%d ci : \%d pi : \%d\(\backslash\)n"{}},obq\_id, obq\_ci, obq\_pi);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00187}00187                 \textcolor{keywordflow}{if} (obq\_pi == obq\_ci)}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00188}00188                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00189}00189 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00190}00190                 need\_delayed\_work = \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00191}00191 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00192}00192                 \textcolor{comment}{/* Copy the response */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00193}00193                 memcpy(\&response, event\_q-\/>\mbox{\hyperlink{structob__queue_a4d9e6519116a46a750de73634b85a3e5}{array\_virt\_addr}} + (obq\_ci * event\_q-\/>\mbox{\hyperlink{structob__queue_aa852a122f9ebe211b1668411873ef2b2}{elem\_size}}),}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00194}00194                                         \textcolor{keyword}{sizeof}(\mbox{\hyperlink{structpqi__event__response}{pqi\_event\_response\_t}}));}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00195}00195                 \mbox{\hyperlink{smartpqi__defines_8h_aa737cff34324bcbdfddeea0ab692a335}{DBG\_INFO}}(\textcolor{stringliteral}{"{}response.header.iu\_type : 0x\%x \(\backslash\)n"{}}, response.\mbox{\hyperlink{structpqi__event__response_a7e77d1e06e6ef717b6971f47c31dd176}{header}}.\mbox{\hyperlink{structiu__header_a8c7c2c18feda0ecef67ff7c4f7289695}{iu\_type}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00196}00196                 \mbox{\hyperlink{smartpqi__defines_8h_aa737cff34324bcbdfddeea0ab692a335}{DBG\_INFO}}(\textcolor{stringliteral}{"{}response.event\_type : 0x\%x \(\backslash\)n"{}}, response.\mbox{\hyperlink{structpqi__event__response_a43fecef79b81439dc9e8c51082611690}{event\_type}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00197}00197 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00198}00198                 event\_index = \mbox{\hyperlink{smartpqi__event_8c_aeea576317b203e8f3181d4200a689a7a}{pqisrc\_event\_type\_to\_event\_index}}(response.\mbox{\hyperlink{structpqi__event__response_a43fecef79b81439dc9e8c51082611690}{event\_type}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00199}00199 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00200}00200                 \textcolor{keywordflow}{if} (event\_index >= 0) \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00201}00201                         \textcolor{keywordflow}{if}(response.\mbox{\hyperlink{structpqi__event__response_ae8bd294475006b3fa74a5eaf91762d74}{request\_acknowledge}}) \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00202}00202                                 pending\_event = \&softs-\/>\mbox{\hyperlink{structpqisrc__softstate_a3372e1a1fdc44c1c7caaeab623a7cd77}{pending\_events}}[event\_index];}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00203}00203                                 pending\_event-\/>\mbox{\hyperlink{structpqi__event_adc9dc709318cc354ddc25f9af542e2da}{pending}} = \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00204}00204                                 pending\_event-\/>\mbox{\hyperlink{structpqi__event_a351973bf934d6e28c81b5f925668b6ce}{event\_type}} = response.\mbox{\hyperlink{structpqi__event__response_a43fecef79b81439dc9e8c51082611690}{event\_type}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00205}00205                                 pending\_event-\/>\mbox{\hyperlink{structpqi__event_ab4450f5534a4adc76afb9ae5c11db601}{event\_id}} = response.\mbox{\hyperlink{structpqi__event__response_a779a908910a0cb0b03d0f02da5b2ebc6}{event\_id}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00206}00206                                 pending\_event-\/>\mbox{\hyperlink{structpqi__event_ad6e7d26e52227b06d5efe207ba9eb9e4}{additional\_event\_id}} = response.\mbox{\hyperlink{structpqi__event__response_a7d54f93938486239459ab1ce282a663a}{additional\_event\_id}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00207}00207                         \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00208}00208                 \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00209}00209 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00210}00210         obq\_ci = (obq\_ci + 1) \% event\_q-\/>\mbox{\hyperlink{structob__queue_a4a25e403f0a114b1e1e5d696373f4707}{num\_elem}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00211}00211         \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00212}00212     \textcolor{comment}{/* Update CI */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00213}00213         event\_q-\/>\mbox{\hyperlink{structob__queue_a248e0ac3f8566278a86891024a9a0147}{ci\_local}} = obq\_ci;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00214}00214         \mbox{\hyperlink{smartpqi__defines_8h_abd5c9090ce518ed8bafbccc12e1a7c95}{PCI\_MEM\_PUT32}}(softs, event\_q-\/>\mbox{\hyperlink{structob__queue_a16ed8c9b069d3423e6cdafcf5767479a}{ci\_register\_abs}},}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00215}00215         event\_q-\/>\mbox{\hyperlink{structob__queue_a743c3e6ae6c7c03ee4b752d245ece77e}{ci\_register\_offset}}, event\_q-\/>\mbox{\hyperlink{structob__queue_a248e0ac3f8566278a86891024a9a0147}{ci\_local}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00216}00216 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00217}00217         \textcolor{comment}{/*Adding events to the task queue for acknowledging*/}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00218}00218         \textcolor{keywordflow}{if} (need\_delayed\_work == \textcolor{keyword}{true}) \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00219}00219                 \mbox{\hyperlink{smartpqi__intr_8c_ad6758d2ddbef0e607008ddbf2e6175ca}{os\_eventtaskqueue\_enqueue}}(softs);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00220}00220         \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00221}00221 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00222}00222         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{}OUT"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00223}00223         \textcolor{keywordflow}{return} \mbox{\hyperlink{smartpqi__defines_8h_a6542920aac09fc054e88e3e7b264be15}{PQI\_STATUS\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00224}00224 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00225}00225 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00226}00226 \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00227}00227 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00228}00228 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00229}00229 \textcolor{comment}{ * Function used to send a general management request to adapter.}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00230}00230 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00231}00231 \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00232}\mbox{\hyperlink{smartpqi__event_8c_a34ee317198f6ed558f49845931c3d037}{00232}} \mbox{\hyperlink{smartpqi__event_8c_a34ee317198f6ed558f49845931c3d037}{pqisrc\_submit\_management\_req}}(\mbox{\hyperlink{structpqisrc__softstate}{pqisrc\_softstate\_t}} *softs,}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00233}00233                                       \mbox{\hyperlink{structpqi__event__config__request}{pqi\_event\_config\_request\_t}} *request)}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00234}00234 \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00235}00235         \textcolor{keywordtype}{int} ret = \mbox{\hyperlink{smartpqi__defines_8h_a6542920aac09fc054e88e3e7b264be15}{PQI\_STATUS\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00236}00236         \mbox{\hyperlink{structib__queue}{ib\_queue\_t}} *op\_ib\_q = \&softs-\/>\mbox{\hyperlink{structpqisrc__softstate_a99235c18db56e9581bbf9a59870c6121}{op\_raid\_ib\_q}}[0];}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00237}00237         \mbox{\hyperlink{structrequest__container__block}{rcb\_t}} *rcb = NULL;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00238}00238 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00239}00239         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{} IN\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00240}00240 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00241}00241         \textcolor{comment}{/* Get the tag */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00242}00242         request-\/>\mbox{\hyperlink{structpqi__event__config__request_a529c642b6643b2bdb7ac5f2fb3844d51}{request\_id}} = \mbox{\hyperlink{smartpqi__prototypes_8h_a7d836c356de57cfa8d632c7573e8db5c}{pqisrc\_get\_tag}}(\&softs-\/>\mbox{\hyperlink{structpqisrc__softstate_a668aedc16c3999df9adec5c8f15c8662}{taglist}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00243}00243         \textcolor{keywordflow}{if} (\mbox{\hyperlink{smartpqi__defines_8h_ad29d273eac3646db20357b850e79701f}{INVALID\_ELEM}} == request-\/>\mbox{\hyperlink{structpqi__event__config__request_a529c642b6643b2bdb7ac5f2fb3844d51}{request\_id}}) \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00244}00244                 \mbox{\hyperlink{smartpqi__defines_8h_a9f37f65d1776ba362fa0e21fce3dcd2a}{DBG\_ERR}}(\textcolor{stringliteral}{"{}Tag not available\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00245}00245                 ret = \mbox{\hyperlink{smartpqi__defines_8h_adab1d99a474b0ae42a56a70f5a00589f}{PQI\_STATUS\_FAILURE}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00246}00246                 \textcolor{keywordflow}{goto} err\_out;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00247}00247         \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00248}00248 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00249}00249         rcb = \&softs-\/>\mbox{\hyperlink{structpqisrc__softstate_ab9fb72e02be74c214bfd2ce3bf45a9c8}{rcb}}[request-\/>\mbox{\hyperlink{structpqi__event__config__request_a529c642b6643b2bdb7ac5f2fb3844d51}{request\_id}}];}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00250}00250         rcb-\/>\mbox{\hyperlink{structrequest__container__block_ab7ed80534c399c53214f511cb989e029}{req\_pending}} = \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00251}00251         rcb-\/>\mbox{\hyperlink{structrequest__container__block_a58d78af62d56cc826c8108c4c7b347d8}{tag}} = request-\/>\mbox{\hyperlink{structpqi__event__config__request_a529c642b6643b2bdb7ac5f2fb3844d51}{request\_id}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00252}00252         \textcolor{comment}{/* Submit command on operational raid ib queue */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00253}00253         ret = \mbox{\hyperlink{smartpqi__cmd_8c_ac73d6ecb509b9d834214412ffdf38cb8}{pqisrc\_submit\_cmnd}}(softs, op\_ib\_q, request);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00254}00254         \textcolor{keywordflow}{if} (ret != \mbox{\hyperlink{smartpqi__defines_8h_a6542920aac09fc054e88e3e7b264be15}{PQI\_STATUS\_SUCCESS}}) \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00255}00255                 \mbox{\hyperlink{smartpqi__defines_8h_a9f37f65d1776ba362fa0e21fce3dcd2a}{DBG\_ERR}}(\textcolor{stringliteral}{"{}  Unable to submit command\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00256}00256                 \textcolor{keywordflow}{goto} err\_cmd;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00257}00257         \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00258}00258 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00259}00259         ret = \mbox{\hyperlink{smartpqi__helper_8c_ad3f842d6f7b28cd71c0f876567c4f2ec}{pqisrc\_wait\_on\_condition}}(softs, rcb, \mbox{\hyperlink{smartpqi__defines_8h_ac6a2fddd9054949aea1fc10d08fd756a}{PQISRC\_CMD\_TIMEOUT}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00260}00260         \textcolor{keywordflow}{if} (ret != \mbox{\hyperlink{smartpqi__defines_8h_a6542920aac09fc054e88e3e7b264be15}{PQI\_STATUS\_SUCCESS}}) \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00261}00261                 \mbox{\hyperlink{smartpqi__defines_8h_a9f37f65d1776ba362fa0e21fce3dcd2a}{DBG\_ERR}}(\textcolor{stringliteral}{"{}Management request timed out !!\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00262}00262                 \textcolor{keywordflow}{goto} err\_cmd;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00263}00263         \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00264}00264 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00265}00265         \mbox{\hyperlink{smartpqi__cam_8c_a2467faf3c573d11b5761a07d4dc31f3e}{os\_reset\_rcb}}(rcb);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00266}00266         \mbox{\hyperlink{smartpqi__prototypes_8h_a87eb6e7f9d33ad5d6a0bd07c4b3e4f6d}{pqisrc\_put\_tag}}(\&softs-\/>\mbox{\hyperlink{structpqisrc__softstate_a668aedc16c3999df9adec5c8f15c8662}{taglist}},request-\/>\mbox{\hyperlink{structpqi__event__config__request_a529c642b6643b2bdb7ac5f2fb3844d51}{request\_id}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00267}00267         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{}OUT\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00268}00268         \textcolor{keywordflow}{return} ret;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00269}00269 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00270}00270 err\_cmd:}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00271}00271         \mbox{\hyperlink{smartpqi__cam_8c_a2467faf3c573d11b5761a07d4dc31f3e}{os\_reset\_rcb}}(rcb);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00272}00272         \mbox{\hyperlink{smartpqi__prototypes_8h_a87eb6e7f9d33ad5d6a0bd07c4b3e4f6d}{pqisrc\_put\_tag}}(\&softs-\/>\mbox{\hyperlink{structpqisrc__softstate_a668aedc16c3999df9adec5c8f15c8662}{taglist}},request-\/>\mbox{\hyperlink{structpqi__event__config__request_a529c642b6643b2bdb7ac5f2fb3844d51}{request\_id}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00273}00273 err\_out:}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00274}00274         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{} failed OUT : \%d\(\backslash\)n"{}}, ret);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00275}00275         \textcolor{keywordflow}{return} ret;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00276}00276 \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00277}00277 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00278}00278 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00279}00279 \textcolor{comment}{ * Build and send the general management request.}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00280}00280 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00281}00281 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00282}\mbox{\hyperlink{smartpqi__event_8c_abd5d62db4f2122602c5f1a67c7787104}{00282}} \mbox{\hyperlink{smartpqi__event_8c_abd5d62db4f2122602c5f1a67c7787104}{pqi\_event\_configure}}(\mbox{\hyperlink{structpqisrc__softstate}{pqisrc\_softstate\_t}} *softs ,}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00283}00283                               \mbox{\hyperlink{structpqi__event__config__request}{pqi\_event\_config\_request\_t}} *request,}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00284}00284                               \mbox{\hyperlink{structdma__mem}{dma\_mem\_t}} *buff)}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00285}00285 \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00286}00286         \textcolor{keywordtype}{int} ret = \mbox{\hyperlink{smartpqi__defines_8h_a6542920aac09fc054e88e3e7b264be15}{PQI\_STATUS\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00287}00287 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00288}00288         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{} IN\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00289}00289 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00290}00290         request-\/>\mbox{\hyperlink{structpqi__event__config__request_abb1e203468c9db49855c6b2e51d7c07d}{header}}.\mbox{\hyperlink{structiu__header_a9a68e821350f8ac27d48d5af076580e5}{comp\_feature}} = 0x00;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00291}00291         request-\/>\mbox{\hyperlink{structpqi__event__config__request_abb1e203468c9db49855c6b2e51d7c07d}{header}}.\mbox{\hyperlink{structiu__header_abfef3e3722750301de381927e3a77097}{iu\_length}} = \textcolor{keyword}{sizeof}(\mbox{\hyperlink{smartpqi__structures_8h_a49bd4f6630fcc20b853bb615c375a929}{pqi\_event\_config\_request\_t}}) -\/}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00292}00292                     \mbox{\hyperlink{smartpqi__defines_8h_a688b21896fc3388d2c42f5c8352e65f2}{PQI\_REQUEST\_HEADER\_LENGTH}}; \textcolor{comment}{/* excluding IU header length */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00293}00293 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00294}00294         \textcolor{comment}{/*Op OQ id where response to be delivered */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00295}00295         request-\/>\mbox{\hyperlink{structpqi__event__config__request_a0e1cb6e469f74c6a04a07aa260aa7907}{response\_queue\_id}} = softs-\/>\mbox{\hyperlink{structpqisrc__softstate_ac710462ffd6912acc753c653067764d2}{op\_ob\_q}}[0].\mbox{\hyperlink{structob__queue_a408e66396fd891f19cd1120a27ac4ea6}{q\_id}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00296}00296         request-\/>\mbox{\hyperlink{structpqi__event__config__request_adcf6ec6220a770bdf7cf9b7e5e149501}{buffer\_length}}        = buff-\/>\mbox{\hyperlink{structdma__mem_a1b530be66acc3bef02d98cb8ac65f0f3}{size}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00297}00297         request-\/>\mbox{\hyperlink{structpqi__event__config__request_ac9a706389df1c7b1f4dfe53e1ddc0fba}{sg\_desc}}.\mbox{\hyperlink{structsgl__descriptor_ac8f07fda8c363e90c91d5fcf25ea56c0}{addr}}           = buff-\/>\mbox{\hyperlink{structdma__mem_aeb45b329de9078677f4738b737b19871}{dma\_addr}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00298}00298         request-\/>\mbox{\hyperlink{structpqi__event__config__request_ac9a706389df1c7b1f4dfe53e1ddc0fba}{sg\_desc}}.\mbox{\hyperlink{structsgl__descriptor_ac8da7680a02dcbdfed28f496f60e8e6c}{length}}    = buff-\/>\mbox{\hyperlink{structdma__mem_a1b530be66acc3bef02d98cb8ac65f0f3}{size}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00299}00299         request-\/>\mbox{\hyperlink{structpqi__event__config__request_ac9a706389df1c7b1f4dfe53e1ddc0fba}{sg\_desc}}.\mbox{\hyperlink{structsgl__descriptor_a919103780b6cfa8e4ca12ee14cdc4edb}{zero}}           = 0;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00300}00300         request-\/>\mbox{\hyperlink{structpqi__event__config__request_ac9a706389df1c7b1f4dfe53e1ddc0fba}{sg\_desc}}.\mbox{\hyperlink{structsgl__descriptor_a9a55d024712686e00ddff8422d3df448}{type}}           = \mbox{\hyperlink{smartpqi__structures_8h_a66b46c63a48381b1d6dbbb406dd11af4}{SGL\_DESCRIPTOR\_CODE\_LAST\_ALTERNATIVE\_SGL\_SEGMENT}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00301}00301 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00302}00302         \textcolor{comment}{/* submit management req IU*/}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00303}00303         ret = \mbox{\hyperlink{smartpqi__event_8c_a34ee317198f6ed558f49845931c3d037}{pqisrc\_submit\_management\_req}}(softs,request);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00304}00304         \textcolor{keywordflow}{if}(ret)}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00305}00305                 \textcolor{keywordflow}{goto} err\_out;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00306}00306 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00307}00307 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00308}00308         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{} OUT\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00309}00309         \textcolor{keywordflow}{return} ret;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00310}00310 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00311}00311 err\_out:}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00312}00312         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{}Failed OUT\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00313}00313         \textcolor{keywordflow}{return} ret;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00314}00314 \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00315}00315 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00316}00316 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00317}00317 \textcolor{comment}{ * Prepare REPORT EVENT CONFIGURATION IU to request that}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00318}00318 \textcolor{comment}{ * event configuration information be reported.}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00319}00319 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00320}00320 \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00321}\mbox{\hyperlink{smartpqi__event_8c_a8477d9b874e3b84102cbcebd79690008}{00321}} \mbox{\hyperlink{smartpqi__event_8c_a8477d9b874e3b84102cbcebd79690008}{pqisrc\_report\_event\_config}}(\mbox{\hyperlink{structpqisrc__softstate}{pqisrc\_softstate\_t}} *softs)}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00322}00322 \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00323}00323 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00324}00324         \textcolor{keywordtype}{int} ret,i ;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00325}00325         \mbox{\hyperlink{structpqi__event__config__request}{pqi\_event\_config\_request\_t}} request;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00326}00326         \mbox{\hyperlink{structpqi__event__config}{pqi\_event\_config\_t}}  *event\_config\_p ;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00327}00327         \mbox{\hyperlink{structdma__mem}{dma\_mem\_t}}  buf\_report\_event ;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00328}00328         \textcolor{comment}{/*bytes to be allocaed for report event config data-\/in buffer */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00329}00329         uint32\_t alloc\_size = \textcolor{keyword}{sizeof}(\mbox{\hyperlink{smartpqi__structures_8h_a0807514380a074550bfe3d8201954d9f}{pqi\_event\_config\_t}}) ;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00330}00330         memset(\&request, 0 , \textcolor{keyword}{sizeof}(request));}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00331}00331 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00332}00332         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{} IN\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00333}00333 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00334}00334         memset(\&buf\_report\_event, 0, \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct} \mbox{\hyperlink{structdma__mem}{dma\_mem}}));}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00335}00335         buf\_report\_event.\mbox{\hyperlink{structdma__mem_af72179aee46e89e8980f6234cffc4c72}{tag}}         = \textcolor{stringliteral}{"{}pqi\_report\_event\_buf"{}} ;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00336}00336         buf\_report\_event.\mbox{\hyperlink{structdma__mem_a1b530be66acc3bef02d98cb8ac65f0f3}{size}}       = alloc\_size;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00337}00337         buf\_report\_event.\mbox{\hyperlink{structdma__mem_abe7a309ffe7baf1b6690a1d405028bc6}{align}}     = \mbox{\hyperlink{smartpqi__defines_8h_a76565759e8e2c83811eeb5d052d59d0b}{PQISRC\_DEFAULT\_DMA\_ALIGN}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00338}00338 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00339}00339         \textcolor{comment}{/* allocate memory */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00340}00340         ret = \mbox{\hyperlink{smartpqi__mem_8c_ae6133cf50b42c3c1f52927a5c39717bc}{os\_dma\_mem\_alloc}}(softs, \&buf\_report\_event);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00341}00341         \textcolor{keywordflow}{if} (ret) \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00342}00342                 \mbox{\hyperlink{smartpqi__defines_8h_a9f37f65d1776ba362fa0e21fce3dcd2a}{DBG\_ERR}}(\textcolor{stringliteral}{"{}Failed to Allocate report event config buffer : \%d\(\backslash\)n"{}}, ret);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00343}00343                 \textcolor{keywordflow}{goto} err\_out;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00344}00344         \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00345}00345         \mbox{\hyperlink{smartpqi__defines_8h_aa737cff34324bcbdfddeea0ab692a335}{DBG\_INFO}}(\textcolor{stringliteral}{"{}buf\_report\_event.dma\_addr     = \%p \(\backslash\)n"{}},(\textcolor{keywordtype}{void}*)buf\_report\_event.\mbox{\hyperlink{structdma__mem_aeb45b329de9078677f4738b737b19871}{dma\_addr}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00346}00346         \mbox{\hyperlink{smartpqi__defines_8h_aa737cff34324bcbdfddeea0ab692a335}{DBG\_INFO}}(\textcolor{stringliteral}{"{}buf\_report\_event.virt\_addr    = \%p \(\backslash\)n"{}},(\textcolor{keywordtype}{void}*)buf\_report\_event.\mbox{\hyperlink{structdma__mem_a9e5cff334e2ed82ae48a52ba2ddb8342}{virt\_addr}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00347}00347 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00348}00348         request.\mbox{\hyperlink{structpqi__event__config__request_abb1e203468c9db49855c6b2e51d7c07d}{header}}.\mbox{\hyperlink{structiu__header_a8c7c2c18feda0ecef67ff7c4f7289695}{iu\_type}} = \mbox{\hyperlink{smartpqi__defines_8h_a52d247a737c3b34c6649b58a6cc8baea}{PQI\_REQUEST\_IU\_REPORT\_VENDOR\_EVENT\_CONFIG}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00349}00349 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00350}00350         \textcolor{comment}{/* Event configuration */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00351}00351         ret=\mbox{\hyperlink{smartpqi__event_8c_abd5d62db4f2122602c5f1a67c7787104}{pqi\_event\_configure}}(softs,\&request,\&buf\_report\_event);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00352}00352         \textcolor{keywordflow}{if}(ret)}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00353}00353                 \textcolor{keywordflow}{goto} free\_mem;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00354}00354 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00355}00355 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00356}00356         event\_config\_p = (\mbox{\hyperlink{structpqi__event__config}{pqi\_event\_config\_t}}*)buf\_report\_event.\mbox{\hyperlink{structdma__mem_a9e5cff334e2ed82ae48a52ba2ddb8342}{virt\_addr}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00357}00357         softs-\/>\mbox{\hyperlink{structpqisrc__softstate_a42c78ba3fbd6465e5792bd8f7c9a1e13}{event\_config}}.\mbox{\hyperlink{structpqi__event__config_a3cd294a412fbe33753effbe13f195cf7}{num\_event\_descriptors}} = \mbox{\hyperlink{smartpqi__defines_8h_a3acffbd305ee72dcd4593c0d8af64a4f}{MIN}}(event\_config\_p-\/>\mbox{\hyperlink{structpqi__event__config_a3cd294a412fbe33753effbe13f195cf7}{num\_event\_descriptors}},}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00358}00358                                                             \mbox{\hyperlink{smartpqi__structures_8h_ae34452822a36d5a283f5ef04bf250ee1}{PQI\_MAX\_EVENT\_DESCRIPTORS}}) ;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00359}00359 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00360}00360         \textcolor{keywordflow}{for} (i=0; i < softs-\/>\mbox{\hyperlink{structpqisrc__softstate_a42c78ba3fbd6465e5792bd8f7c9a1e13}{event\_config}}.\mbox{\hyperlink{structpqi__event__config_a3cd294a412fbe33753effbe13f195cf7}{num\_event\_descriptors}} ;i++)\{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00361}00361                 softs-\/>\mbox{\hyperlink{structpqisrc__softstate_a42c78ba3fbd6465e5792bd8f7c9a1e13}{event\_config}}.\mbox{\hyperlink{structpqi__event__config_a449bb5104da82ced5b6876bf6bab6f06}{descriptors}}[i].\mbox{\hyperlink{structpqi__event__descriptor_a1f6ab8cebed62296b56711274dc40b37}{event\_type}} =}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00362}00362                                         event\_config\_p-\/>\mbox{\hyperlink{structpqi__event__config_a449bb5104da82ced5b6876bf6bab6f06}{descriptors}}[i].\mbox{\hyperlink{structpqi__event__descriptor_a1f6ab8cebed62296b56711274dc40b37}{event\_type}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00363}00363         \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00364}00364         \textcolor{comment}{/* free the allocated memory*/}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00365}00365         \mbox{\hyperlink{smartpqi__mem_8c_a72843ee0f625a63dfbd365a1426c5722}{os\_dma\_mem\_free}}(softs, \&buf\_report\_event);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00366}00366 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00367}00367         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{} OUT\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00368}00368         \textcolor{keywordflow}{return} ret;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00369}00369 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00370}00370 free\_mem:}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00371}00371         \mbox{\hyperlink{smartpqi__mem_8c_a72843ee0f625a63dfbd365a1426c5722}{os\_dma\_mem\_free}}(softs, \&buf\_report\_event);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00372}00372 err\_out:}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00373}00373         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{}Failed OUT\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00374}00374         \textcolor{keywordflow}{return} \mbox{\hyperlink{smartpqi__defines_8h_adab1d99a474b0ae42a56a70f5a00589f}{PQI\_STATUS\_FAILURE}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00375}00375 \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00376}00376 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00377}00377 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00378}00378 \textcolor{comment}{ * Prepare SET EVENT CONFIGURATION IU to request that}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00379}00379 \textcolor{comment}{ * event configuration parameters be set.}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00380}00380 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00381}00381 \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00382}\mbox{\hyperlink{smartpqi__event_8c_a183ccbd635203cb65eef26696db35877}{00382}} \mbox{\hyperlink{smartpqi__event_8c_a183ccbd635203cb65eef26696db35877}{pqisrc\_set\_event\_config}}(\mbox{\hyperlink{structpqisrc__softstate}{pqisrc\_softstate\_t}} *softs)}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00383}00383 \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00384}00384 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00385}00385         \textcolor{keywordtype}{int} ret,i;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00386}00386         \mbox{\hyperlink{structpqi__event__config__request}{pqi\_event\_config\_request\_t}} request;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00387}00387         \mbox{\hyperlink{structpqi__event__config}{pqi\_event\_config\_t}} *event\_config\_p;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00388}00388         \mbox{\hyperlink{structdma__mem}{dma\_mem\_t}} buf\_set\_event;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00389}00389         \textcolor{comment}{/*bytes to be allocaed for set event config data-\/out buffer */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00390}00390         uint32\_t alloc\_size = \textcolor{keyword}{sizeof}(\mbox{\hyperlink{smartpqi__structures_8h_a0807514380a074550bfe3d8201954d9f}{pqi\_event\_config\_t}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00391}00391         memset(\&request, 0 , \textcolor{keyword}{sizeof}(request));}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00392}00392 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00393}00393         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{} IN\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00394}00394 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00395}00395         memset(\&buf\_set\_event, 0, \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct} \mbox{\hyperlink{structdma__mem}{dma\_mem}}));}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00396}00396         buf\_set\_event.\mbox{\hyperlink{structdma__mem_af72179aee46e89e8980f6234cffc4c72}{tag}}    = \textcolor{stringliteral}{"{}pqi\_set\_event\_buf"{}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00397}00397         buf\_set\_event.\mbox{\hyperlink{structdma__mem_a1b530be66acc3bef02d98cb8ac65f0f3}{size}}  = alloc\_size;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00398}00398         buf\_set\_event.\mbox{\hyperlink{structdma__mem_abe7a309ffe7baf1b6690a1d405028bc6}{align}}        = \mbox{\hyperlink{smartpqi__defines_8h_a76565759e8e2c83811eeb5d052d59d0b}{PQISRC\_DEFAULT\_DMA\_ALIGN}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00399}00399 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00400}00400         \textcolor{comment}{/* allocate memory */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00401}00401         ret = \mbox{\hyperlink{smartpqi__mem_8c_ae6133cf50b42c3c1f52927a5c39717bc}{os\_dma\_mem\_alloc}}(softs, \&buf\_set\_event);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00402}00402         \textcolor{keywordflow}{if} (ret) \{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00403}00403                 \mbox{\hyperlink{smartpqi__defines_8h_a9f37f65d1776ba362fa0e21fce3dcd2a}{DBG\_ERR}}(\textcolor{stringliteral}{"{}Failed to Allocate set event config buffer : \%d\(\backslash\)n"{}}, ret);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00404}00404                 \textcolor{keywordflow}{goto} err\_out;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00405}00405         \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00406}00406 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00407}00407         \mbox{\hyperlink{smartpqi__defines_8h_aa737cff34324bcbdfddeea0ab692a335}{DBG\_INFO}}(\textcolor{stringliteral}{"{}buf\_set\_event.dma\_addr        = \%p\(\backslash\)n"{}},(\textcolor{keywordtype}{void}*)buf\_set\_event.\mbox{\hyperlink{structdma__mem_aeb45b329de9078677f4738b737b19871}{dma\_addr}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00408}00408         \mbox{\hyperlink{smartpqi__defines_8h_aa737cff34324bcbdfddeea0ab692a335}{DBG\_INFO}}(\textcolor{stringliteral}{"{}buf\_set\_event.virt\_addr       = \%p\(\backslash\)n"{}},(\textcolor{keywordtype}{void}*)buf\_set\_event.\mbox{\hyperlink{structdma__mem_a9e5cff334e2ed82ae48a52ba2ddb8342}{virt\_addr}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00409}00409 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00410}00410         request.\mbox{\hyperlink{structpqi__event__config__request_abb1e203468c9db49855c6b2e51d7c07d}{header}}.\mbox{\hyperlink{structiu__header_a8c7c2c18feda0ecef67ff7c4f7289695}{iu\_type}} = \mbox{\hyperlink{smartpqi__defines_8h_a65f256938c3c02064d4e451aed1dca56}{PQI\_REQUEST\_IU\_SET\_EVENT\_CONFIG}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00411}00411         request.\mbox{\hyperlink{structpqi__event__config__request_a708dca98ba256d76befbbbda08749baa}{iu\_specific}}.\mbox{\hyperlink{structpqi__event__config__request_aac10a09c28fb97047af1741fa1680f31}{global\_event\_oq\_id}} = softs-\/>\mbox{\hyperlink{structpqisrc__softstate_a7ed80a15035b9525184ee039bab645aa}{event\_q}}.\mbox{\hyperlink{structob__queue_a408e66396fd891f19cd1120a27ac4ea6}{q\_id}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00412}00412 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00413}00413         \textcolor{comment}{/*pointer to data-\/out buffer*/}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00414}00414 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00415}00415         event\_config\_p = (\mbox{\hyperlink{structpqi__event__config}{pqi\_event\_config\_t}} *)buf\_set\_event.\mbox{\hyperlink{structdma__mem_a9e5cff334e2ed82ae48a52ba2ddb8342}{virt\_addr}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00416}00416 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00417}00417         event\_config\_p-\/>\mbox{\hyperlink{structpqi__event__config_a3cd294a412fbe33753effbe13f195cf7}{num\_event\_descriptors}} = softs-\/>\mbox{\hyperlink{structpqisrc__softstate_a42c78ba3fbd6465e5792bd8f7c9a1e13}{event\_config}}.\mbox{\hyperlink{structpqi__event__config_a3cd294a412fbe33753effbe13f195cf7}{num\_event\_descriptors}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00418}00418 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00419}00419 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00420}00420         for (i=0; i < softs-\/>\mbox{\hyperlink{structpqisrc__softstate_a42c78ba3fbd6465e5792bd8f7c9a1e13}{event\_config}}.\mbox{\hyperlink{structpqi__event__config_a3cd294a412fbe33753effbe13f195cf7}{num\_event\_descriptors}} ; i++)\{}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00421}00421                 event\_config\_p-\/>\mbox{\hyperlink{structpqi__event__config_a449bb5104da82ced5b6876bf6bab6f06}{descriptors}}[i].\mbox{\hyperlink{structpqi__event__descriptor_a1f6ab8cebed62296b56711274dc40b37}{event\_type}} =}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00422}00422                                         softs-\/>\mbox{\hyperlink{structpqisrc__softstate_a42c78ba3fbd6465e5792bd8f7c9a1e13}{event\_config}}.\mbox{\hyperlink{structpqi__event__config_a449bb5104da82ced5b6876bf6bab6f06}{descriptors}}[i].\mbox{\hyperlink{structpqi__event__descriptor_a1f6ab8cebed62296b56711274dc40b37}{event\_type}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00423}00423                 \textcolor{keywordflow}{if}( \mbox{\hyperlink{smartpqi__event_8c_aeea576317b203e8f3181d4200a689a7a}{pqisrc\_event\_type\_to\_event\_index}}(event\_config\_p-\/>\mbox{\hyperlink{structpqi__event__config_a449bb5104da82ced5b6876bf6bab6f06}{descriptors}}[i].\mbox{\hyperlink{structpqi__event__descriptor_a1f6ab8cebed62296b56711274dc40b37}{event\_type}}) != -\/1)}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00424}00424                         event\_config\_p-\/>\mbox{\hyperlink{structpqi__event__config_a449bb5104da82ced5b6876bf6bab6f06}{descriptors}}[i].\mbox{\hyperlink{structpqi__event__descriptor_ae3a8ed48f6fd817977dc07dbaad30558}{oq\_id}} = softs-\/>\mbox{\hyperlink{structpqisrc__softstate_a7ed80a15035b9525184ee039bab645aa}{event\_q}}.\mbox{\hyperlink{structob__queue_a408e66396fd891f19cd1120a27ac4ea6}{q\_id}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00425}00425                 \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00426}00426                         event\_config\_p-\/>\mbox{\hyperlink{structpqi__event__config_a449bb5104da82ced5b6876bf6bab6f06}{descriptors}}[i].\mbox{\hyperlink{structpqi__event__descriptor_ae3a8ed48f6fd817977dc07dbaad30558}{oq\_id}} = 0; \textcolor{comment}{/* Not supported this event. */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00427}00427 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00428}00428 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00429}00429         \}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00430}00430         \textcolor{comment}{/* Event configuration */}}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00431}00431         ret = \mbox{\hyperlink{smartpqi__event_8c_abd5d62db4f2122602c5f1a67c7787104}{pqi\_event\_configure}}(softs,\&request,\&buf\_set\_event);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00432}00432                 \textcolor{keywordflow}{if}(ret)}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00433}00433                         \textcolor{keywordflow}{goto} free\_mem;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00434}00434 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00435}00435         \mbox{\hyperlink{smartpqi__mem_8c_a72843ee0f625a63dfbd365a1426c5722}{os\_dma\_mem\_free}}(softs, \&buf\_set\_event);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00436}00436 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00437}00437         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{} OUT\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00438}00438         \textcolor{keywordflow}{return} ret;}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00439}00439 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00440}00440 free\_mem:}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00441}00441         \mbox{\hyperlink{smartpqi__mem_8c_a72843ee0f625a63dfbd365a1426c5722}{os\_dma\_mem\_free}}(softs, \&buf\_set\_event);}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00442}00442 err\_out:}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00443}00443         \mbox{\hyperlink{smartpqi__defines_8h_a92ed1b57cf082eadbd313491b844858e}{DBG\_FUNC}}(\textcolor{stringliteral}{"{}Failed OUT\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00444}00444         \textcolor{keywordflow}{return} \mbox{\hyperlink{smartpqi__defines_8h_adab1d99a474b0ae42a56a70f5a00589f}{PQI\_STATUS\_FAILURE}};}
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00445}00445 }
\DoxyCodeLine{\Hypertarget{smartpqi__event_8c_source_l00446}00446 \}}

\end{DoxyCode}
