\hypertarget{structmlx4__cmd}{}\doxysection{mlx4\+\_\+cmd Struct Reference}
\label{structmlx4__cmd}\index{mlx4\_cmd@{mlx4\_cmd}}


{\ttfamily \#include $<$mlx4.\+h$>$}



Collaboration diagram for mlx4\+\_\+cmd\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=190pt]{d7/d4c/structmlx4__cmd__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
struct pci\+\_\+pool $\ast$ \mbox{\hyperlink{structmlx4__cmd_a8abc0a00b3aa5f9095945163ac7e2182}{pool}}
\item 
void \+\_\+\+\_\+iomem $\ast$ \mbox{\hyperlink{structmlx4__cmd_a8d98f8a55e1a1e2a3a601fbf9d392fc4}{hcr}}
\item 
struct mutex \mbox{\hyperlink{structmlx4__cmd_a182a8064df6530dbbb1e3cb1e3873402}{slave\+\_\+cmd\+\_\+mutex}}
\item 
struct semaphore \mbox{\hyperlink{structmlx4__cmd_ad0e591baeae8c42fdd9ac57b1c6af4f3}{poll\+\_\+sem}}
\item 
struct semaphore \mbox{\hyperlink{structmlx4__cmd_a8b009faa6fa3e9fe8f7322fc0961af89}{event\+\_\+sem}}
\item 
struct rw\+\_\+semaphore \mbox{\hyperlink{structmlx4__cmd_a87c0ec4d241b39814b2be324fb165078}{switch\+\_\+sem}}
\item 
int \mbox{\hyperlink{structmlx4__cmd_a2f4d1012cdc5b269e761888ba921a8b3}{max\+\_\+cmds}}
\item 
spinlock\+\_\+t \mbox{\hyperlink{structmlx4__cmd_aa7e6b1127c83e4a164b41fd348a1d976}{context\+\_\+lock}}
\item 
int \mbox{\hyperlink{structmlx4__cmd_a0eb52c7f026e6e524c84c732a8406886}{free\+\_\+head}}
\item 
struct \mbox{\hyperlink{structmlx4__cmd__context}{mlx4\+\_\+cmd\+\_\+context}} $\ast$ \mbox{\hyperlink{structmlx4__cmd_aabdd44c561d3f3e506573d38fd37822f}{context}}
\item 
u16 \mbox{\hyperlink{structmlx4__cmd_a79471437374c27a35d007f1349ee6f6c}{token\+\_\+mask}}
\item 
u8 \mbox{\hyperlink{structmlx4__cmd_a81abcc36f1862d804e067974a9145845}{use\+\_\+events}}
\item 
u8 \mbox{\hyperlink{structmlx4__cmd_aed16019cc30842f731bd07546106e4b2}{toggle}}
\item 
u8 \mbox{\hyperlink{structmlx4__cmd_ab9b131bd89b446b25e359042e48597bc}{comm\+\_\+toggle}}
\item 
u8 \mbox{\hyperlink{structmlx4__cmd_acd13691533c03fab1a0305db3f1526ef}{initialized}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


Definition at line \mbox{\hyperlink{mlx4_8h_source_l00618}{618}} of file \mbox{\hyperlink{mlx4_8h_source}{mlx4.\+h}}.



\doxysubsection{Field Documentation}
\mbox{\Hypertarget{structmlx4__cmd_ab9b131bd89b446b25e359042e48597bc}\label{structmlx4__cmd_ab9b131bd89b446b25e359042e48597bc}} 
\index{mlx4\_cmd@{mlx4\_cmd}!comm\_toggle@{comm\_toggle}}
\index{comm\_toggle@{comm\_toggle}!mlx4\_cmd@{mlx4\_cmd}}
\doxysubsubsection{\texorpdfstring{comm\_toggle}{comm\_toggle}}
{\footnotesize\ttfamily u8 mlx4\+\_\+cmd\+::comm\+\_\+toggle}



Definition at line \mbox{\hyperlink{mlx4_8h_source_l00632}{632}} of file \mbox{\hyperlink{mlx4_8h_source}{mlx4.\+h}}.



Referenced by \mbox{\hyperlink{mlx4__cmd_8c_source_l00254}{comm\+\_\+pending()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l00288}{mlx4\+\_\+comm\+\_\+cmd\+\_\+poll()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l00262}{mlx4\+\_\+comm\+\_\+cmd\+\_\+post()}}, and \mbox{\hyperlink{mlx4__cmd_8c_source_l02293}{sync\+\_\+toggles()}}.

\mbox{\Hypertarget{structmlx4__cmd_aabdd44c561d3f3e506573d38fd37822f}\label{structmlx4__cmd_aabdd44c561d3f3e506573d38fd37822f}} 
\index{mlx4\_cmd@{mlx4\_cmd}!context@{context}}
\index{context@{context}!mlx4\_cmd@{mlx4\_cmd}}
\doxysubsubsection{\texorpdfstring{context}{context}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structmlx4__cmd__context}{mlx4\+\_\+cmd\+\_\+context}}$\ast$ mlx4\+\_\+cmd\+::context}



Definition at line \mbox{\hyperlink{mlx4_8h_source_l00628}{628}} of file \mbox{\hyperlink{mlx4_8h_source}{mlx4.\+h}}.



Referenced by \mbox{\hyperlink{mlx4__cmd_8c_source_l00666}{mlx4\+\_\+cmd\+\_\+event()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l02617}{mlx4\+\_\+cmd\+\_\+use\+\_\+events()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l02664}{mlx4\+\_\+cmd\+\_\+use\+\_\+polling()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l00683}{mlx4\+\_\+cmd\+\_\+wait()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l02744}{mlx4\+\_\+cmd\+\_\+wake\+\_\+completions()}}, and \mbox{\hyperlink{mlx4__cmd_8c_source_l00338}{mlx4\+\_\+comm\+\_\+cmd\+\_\+wait()}}.

\mbox{\Hypertarget{structmlx4__cmd_aa7e6b1127c83e4a164b41fd348a1d976}\label{structmlx4__cmd_aa7e6b1127c83e4a164b41fd348a1d976}} 
\index{mlx4\_cmd@{mlx4\_cmd}!context\_lock@{context\_lock}}
\index{context\_lock@{context\_lock}!mlx4\_cmd@{mlx4\_cmd}}
\doxysubsubsection{\texorpdfstring{context\_lock}{context\_lock}}
{\footnotesize\ttfamily spinlock\+\_\+t mlx4\+\_\+cmd\+::context\+\_\+lock}



Definition at line \mbox{\hyperlink{mlx4_8h_source_l00626}{626}} of file \mbox{\hyperlink{mlx4_8h_source}{mlx4.\+h}}.



Referenced by \mbox{\hyperlink{mlx4__cmd_8c_source_l00683}{mlx4\+\_\+cmd\+\_\+wait()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l02744}{mlx4\+\_\+cmd\+\_\+wake\+\_\+completions()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l00338}{mlx4\+\_\+comm\+\_\+cmd\+\_\+wait()}}, and \mbox{\hyperlink{mlx4__main_8c_source_l03206}{mlx4\+\_\+load\+\_\+one()}}.

\mbox{\Hypertarget{structmlx4__cmd_a8b009faa6fa3e9fe8f7322fc0961af89}\label{structmlx4__cmd_a8b009faa6fa3e9fe8f7322fc0961af89}} 
\index{mlx4\_cmd@{mlx4\_cmd}!event\_sem@{event\_sem}}
\index{event\_sem@{event\_sem}!mlx4\_cmd@{mlx4\_cmd}}
\doxysubsubsection{\texorpdfstring{event\_sem}{event\_sem}}
{\footnotesize\ttfamily struct semaphore mlx4\+\_\+cmd\+::event\+\_\+sem}



Definition at line \mbox{\hyperlink{mlx4_8h_source_l00623}{623}} of file \mbox{\hyperlink{mlx4_8h_source}{mlx4.\+h}}.



Referenced by \mbox{\hyperlink{mlx4__cmd_8c_source_l02484}{mlx4\+\_\+cmd\+\_\+init()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l02617}{mlx4\+\_\+cmd\+\_\+use\+\_\+events()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l02664}{mlx4\+\_\+cmd\+\_\+use\+\_\+polling()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l00683}{mlx4\+\_\+cmd\+\_\+wait()}}, and \mbox{\hyperlink{mlx4__cmd_8c_source_l00338}{mlx4\+\_\+comm\+\_\+cmd\+\_\+wait()}}.

\mbox{\Hypertarget{structmlx4__cmd_a0eb52c7f026e6e524c84c732a8406886}\label{structmlx4__cmd_a0eb52c7f026e6e524c84c732a8406886}} 
\index{mlx4\_cmd@{mlx4\_cmd}!free\_head@{free\_head}}
\index{free\_head@{free\_head}!mlx4\_cmd@{mlx4\_cmd}}
\doxysubsubsection{\texorpdfstring{free\_head}{free\_head}}
{\footnotesize\ttfamily int mlx4\+\_\+cmd\+::free\+\_\+head}



Definition at line \mbox{\hyperlink{mlx4_8h_source_l00627}{627}} of file \mbox{\hyperlink{mlx4_8h_source}{mlx4.\+h}}.



Referenced by \mbox{\hyperlink{mlx4__cmd_8c_source_l02617}{mlx4\+\_\+cmd\+\_\+use\+\_\+events()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l00683}{mlx4\+\_\+cmd\+\_\+wait()}}, and \mbox{\hyperlink{mlx4__cmd_8c_source_l00338}{mlx4\+\_\+comm\+\_\+cmd\+\_\+wait()}}.

\mbox{\Hypertarget{structmlx4__cmd_a8d98f8a55e1a1e2a3a601fbf9d392fc4}\label{structmlx4__cmd_a8d98f8a55e1a1e2a3a601fbf9d392fc4}} 
\index{mlx4\_cmd@{mlx4\_cmd}!hcr@{hcr}}
\index{hcr@{hcr}!mlx4\_cmd@{mlx4\_cmd}}
\doxysubsubsection{\texorpdfstring{hcr}{hcr}}
{\footnotesize\ttfamily void \+\_\+\+\_\+iomem$\ast$ mlx4\+\_\+cmd\+::hcr}



Definition at line \mbox{\hyperlink{mlx4_8h_source_l00620}{620}} of file \mbox{\hyperlink{mlx4_8h_source}{mlx4.\+h}}.



Referenced by \mbox{\hyperlink{mlx4__cmd_8c_source_l02589}{mlx4\+\_\+cmd\+\_\+cleanup()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l02484}{mlx4\+\_\+cmd\+\_\+init()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l00582}{mlx4\+\_\+cmd\+\_\+poll()}}, and \mbox{\hyperlink{mlx4__cmd_8c_source_l00432}{mlx4\+\_\+cmd\+\_\+post()}}.

\mbox{\Hypertarget{structmlx4__cmd_acd13691533c03fab1a0305db3f1526ef}\label{structmlx4__cmd_acd13691533c03fab1a0305db3f1526ef}} 
\index{mlx4\_cmd@{mlx4\_cmd}!initialized@{initialized}}
\index{initialized@{initialized}!mlx4\_cmd@{mlx4\_cmd}}
\doxysubsubsection{\texorpdfstring{initialized}{initialized}}
{\footnotesize\ttfamily u8 mlx4\+\_\+cmd\+::initialized}



Definition at line \mbox{\hyperlink{mlx4_8h_source_l00633}{633}} of file \mbox{\hyperlink{mlx4_8h_source}{mlx4.\+h}}.



Referenced by \mbox{\hyperlink{mlx4__cmd_8c_source_l02589}{mlx4\+\_\+cmd\+\_\+cleanup()}}, and \mbox{\hyperlink{mlx4__cmd_8c_source_l02484}{mlx4\+\_\+cmd\+\_\+init()}}.

\mbox{\Hypertarget{structmlx4__cmd_a2f4d1012cdc5b269e761888ba921a8b3}\label{structmlx4__cmd_a2f4d1012cdc5b269e761888ba921a8b3}} 
\index{mlx4\_cmd@{mlx4\_cmd}!max\_cmds@{max\_cmds}}
\index{max\_cmds@{max\_cmds}!mlx4\_cmd@{mlx4\_cmd}}
\doxysubsubsection{\texorpdfstring{max\_cmds}{max\_cmds}}
{\footnotesize\ttfamily int mlx4\+\_\+cmd\+::max\+\_\+cmds}



Definition at line \mbox{\hyperlink{mlx4_8h_source_l00625}{625}} of file \mbox{\hyperlink{mlx4_8h_source}{mlx4.\+h}}.



Referenced by \mbox{\hyperlink{mlx4__cmd_8c_source_l02617}{mlx4\+\_\+cmd\+\_\+use\+\_\+events()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l02664}{mlx4\+\_\+cmd\+\_\+use\+\_\+polling()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l02744}{mlx4\+\_\+cmd\+\_\+wake\+\_\+completions()}}, \mbox{\hyperlink{mlx4__main_8c_source_l01965}{mlx4\+\_\+init\+\_\+slave()}}, and \mbox{\hyperlink{mlx4__fw_8c_source_l01600}{mlx4\+\_\+\+QUERY\+\_\+\+FW()}}.

\mbox{\Hypertarget{structmlx4__cmd_ad0e591baeae8c42fdd9ac57b1c6af4f3}\label{structmlx4__cmd_ad0e591baeae8c42fdd9ac57b1c6af4f3}} 
\index{mlx4\_cmd@{mlx4\_cmd}!poll\_sem@{poll\_sem}}
\index{poll\_sem@{poll\_sem}!mlx4\_cmd@{mlx4\_cmd}}
\doxysubsubsection{\texorpdfstring{poll\_sem}{poll\_sem}}
{\footnotesize\ttfamily struct semaphore mlx4\+\_\+cmd\+::poll\+\_\+sem}



Definition at line \mbox{\hyperlink{mlx4_8h_source_l00622}{622}} of file \mbox{\hyperlink{mlx4_8h_source}{mlx4.\+h}}.



Referenced by \mbox{\hyperlink{mlx4__cmd_8c_source_l02484}{mlx4\+\_\+cmd\+\_\+init()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l00582}{mlx4\+\_\+cmd\+\_\+poll()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l02617}{mlx4\+\_\+cmd\+\_\+use\+\_\+events()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l02664}{mlx4\+\_\+cmd\+\_\+use\+\_\+polling()}}, and \mbox{\hyperlink{mlx4__cmd_8c_source_l00288}{mlx4\+\_\+comm\+\_\+cmd\+\_\+poll()}}.

\mbox{\Hypertarget{structmlx4__cmd_a8abc0a00b3aa5f9095945163ac7e2182}\label{structmlx4__cmd_a8abc0a00b3aa5f9095945163ac7e2182}} 
\index{mlx4\_cmd@{mlx4\_cmd}!pool@{pool}}
\index{pool@{pool}!mlx4\_cmd@{mlx4\_cmd}}
\doxysubsubsection{\texorpdfstring{pool}{pool}}
{\footnotesize\ttfamily struct pci\+\_\+pool$\ast$ mlx4\+\_\+cmd\+::pool}



Definition at line \mbox{\hyperlink{mlx4_8h_source_l00619}{619}} of file \mbox{\hyperlink{mlx4_8h_source}{mlx4.\+h}}.



Referenced by \mbox{\hyperlink{mlx4__cmd_8c_source_l02589}{mlx4\+\_\+cmd\+\_\+cleanup()}}, and \mbox{\hyperlink{mlx4__cmd_8c_source_l02484}{mlx4\+\_\+cmd\+\_\+init()}}.

\mbox{\Hypertarget{structmlx4__cmd_a182a8064df6530dbbb1e3cb1e3873402}\label{structmlx4__cmd_a182a8064df6530dbbb1e3cb1e3873402}} 
\index{mlx4\_cmd@{mlx4\_cmd}!slave\_cmd\_mutex@{slave\_cmd\_mutex}}
\index{slave\_cmd\_mutex@{slave\_cmd\_mutex}!mlx4\_cmd@{mlx4\_cmd}}
\doxysubsubsection{\texorpdfstring{slave\_cmd\_mutex}{slave\_cmd\_mutex}}
{\footnotesize\ttfamily struct mutex mlx4\+\_\+cmd\+::slave\+\_\+cmd\+\_\+mutex}



Definition at line \mbox{\hyperlink{mlx4_8h_source_l00621}{621}} of file \mbox{\hyperlink{mlx4_8h_source}{mlx4.\+h}}.



Referenced by \mbox{\hyperlink{mlx4__cmd_8c_source_l02484}{mlx4\+\_\+cmd\+\_\+init()}}, \mbox{\hyperlink{mlx4__main_8c_source_l01965}{mlx4\+\_\+init\+\_\+slave()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l02096}{mlx4\+\_\+master\+\_\+do\+\_\+cmd()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l00517}{mlx4\+\_\+slave\+\_\+cmd()}}, and \mbox{\hyperlink{mlx4__main_8c_source_l01790}{mlx4\+\_\+slave\+\_\+exit()}}.

\mbox{\Hypertarget{structmlx4__cmd_a87c0ec4d241b39814b2be324fb165078}\label{structmlx4__cmd_a87c0ec4d241b39814b2be324fb165078}} 
\index{mlx4\_cmd@{mlx4\_cmd}!switch\_sem@{switch\_sem}}
\index{switch\_sem@{switch\_sem}!mlx4\_cmd@{mlx4\_cmd}}
\doxysubsubsection{\texorpdfstring{switch\_sem}{switch\_sem}}
{\footnotesize\ttfamily struct rw\+\_\+semaphore mlx4\+\_\+cmd\+::switch\+\_\+sem}



Definition at line \mbox{\hyperlink{mlx4_8h_source_l00624}{624}} of file \mbox{\hyperlink{mlx4_8h_source}{mlx4.\+h}}.



Referenced by \mbox{\hyperlink{mlx4__cmd_8c_source_l02484}{mlx4\+\_\+cmd\+\_\+init()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l02617}{mlx4\+\_\+cmd\+\_\+use\+\_\+events()}}, and \mbox{\hyperlink{mlx4__cmd_8c_source_l02664}{mlx4\+\_\+cmd\+\_\+use\+\_\+polling()}}.

\mbox{\Hypertarget{structmlx4__cmd_aed16019cc30842f731bd07546106e4b2}\label{structmlx4__cmd_aed16019cc30842f731bd07546106e4b2}} 
\index{mlx4\_cmd@{mlx4\_cmd}!toggle@{toggle}}
\index{toggle@{toggle}!mlx4\_cmd@{mlx4\_cmd}}
\doxysubsubsection{\texorpdfstring{toggle}{toggle}}
{\footnotesize\ttfamily u8 mlx4\+\_\+cmd\+::toggle}



Definition at line \mbox{\hyperlink{mlx4_8h_source_l00631}{631}} of file \mbox{\hyperlink{mlx4_8h_source}{mlx4.\+h}}.



Referenced by \mbox{\hyperlink{mlx4__cmd_8c_source_l00418}{cmd\+\_\+pending()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l02484}{mlx4\+\_\+cmd\+\_\+init()}}, and \mbox{\hyperlink{mlx4__cmd_8c_source_l00432}{mlx4\+\_\+cmd\+\_\+post()}}.

\mbox{\Hypertarget{structmlx4__cmd_a79471437374c27a35d007f1349ee6f6c}\label{structmlx4__cmd_a79471437374c27a35d007f1349ee6f6c}} 
\index{mlx4\_cmd@{mlx4\_cmd}!token\_mask@{token\_mask}}
\index{token\_mask@{token\_mask}!mlx4\_cmd@{mlx4\_cmd}}
\doxysubsubsection{\texorpdfstring{token\_mask}{token\_mask}}
{\footnotesize\ttfamily u16 mlx4\+\_\+cmd\+::token\+\_\+mask}



Definition at line \mbox{\hyperlink{mlx4_8h_source_l00629}{629}} of file \mbox{\hyperlink{mlx4_8h_source}{mlx4.\+h}}.



Referenced by \mbox{\hyperlink{mlx4__cmd_8c_source_l00666}{mlx4\+\_\+cmd\+\_\+event()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l02617}{mlx4\+\_\+cmd\+\_\+use\+\_\+events()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l00683}{mlx4\+\_\+cmd\+\_\+wait()}}, and \mbox{\hyperlink{mlx4__cmd_8c_source_l00338}{mlx4\+\_\+comm\+\_\+cmd\+\_\+wait()}}.

\mbox{\Hypertarget{structmlx4__cmd_a81abcc36f1862d804e067974a9145845}\label{structmlx4__cmd_a81abcc36f1862d804e067974a9145845}} 
\index{mlx4\_cmd@{mlx4\_cmd}!use\_events@{use\_events}}
\index{use\_events@{use\_events}!mlx4\_cmd@{mlx4\_cmd}}
\doxysubsubsection{\texorpdfstring{use\_events}{use\_events}}
{\footnotesize\ttfamily u8 mlx4\+\_\+cmd\+::use\+\_\+events}



Definition at line \mbox{\hyperlink{mlx4_8h_source_l00630}{630}} of file \mbox{\hyperlink{mlx4_8h_source}{mlx4.\+h}}.



Referenced by \mbox{\hyperlink{mlx4__cmd_8c_source_l02484}{mlx4\+\_\+cmd\+\_\+init()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l02617}{mlx4\+\_\+cmd\+\_\+use\+\_\+events()}}, \mbox{\hyperlink{mlx4__cmd_8c_source_l02664}{mlx4\+\_\+cmd\+\_\+use\+\_\+polling()}}, and \mbox{\hyperlink{mlx4__cmd_8c_source_l00517}{mlx4\+\_\+slave\+\_\+cmd()}}.



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
dev/mlx4/mlx4\+\_\+core/\mbox{\hyperlink{mlx4_8h}{mlx4.\+h}}\end{DoxyCompactItemize}
