\hypertarget{mlx5__vsc_8c}{}\doxysection{dev/mlx5/mlx5\+\_\+core/mlx5\+\_\+vsc.c File Reference}
\label{mlx5__vsc_8c}\index{dev/mlx5/mlx5\_core/mlx5\_vsc.c@{dev/mlx5/mlx5\_core/mlx5\_vsc.c}}
{\ttfamily \#include \char`\"{}opt\+\_\+rss.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}opt\+\_\+ratelimit.\+h\char`\"{}}\newline
{\ttfamily \#include $<$dev/mlx5/driver.\+h$>$}\newline
{\ttfamily \#include $<$dev/mlx5/device.\+h$>$}\newline
{\ttfamily \#include $<$dev/mlx5/mlx5\+\_\+core/mlx5\+\_\+core.\+h$>$}\newline
Include dependency graph for mlx5\+\_\+vsc.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{df/dda/mlx5__vsc_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{mlx5__vsc_8c_a168c89dedcde4beec4ec919f50d2cbc4}{mlx5\+\_\+vsc\+\_\+lock}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$mdev)
\item 
void \mbox{\hyperlink{mlx5__vsc_8c_a0fd8ff9d970b8b3c05aac233e508cd57}{mlx5\+\_\+vsc\+\_\+unlock}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$mdev)
\item 
int \mbox{\hyperlink{mlx5__vsc_8c_aa5cb7ba7eae29b14c082b41feaba8800}{mlx5\+\_\+vsc\+\_\+wait\+\_\+on\+\_\+flag}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$mdev, u32 expected)
\item 
int \mbox{\hyperlink{mlx5__vsc_8c_a28f27c48d084a78980255a2c8d425d70}{mlx5\+\_\+vsc\+\_\+set\+\_\+space}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$mdev, u16 space)
\item 
int \mbox{\hyperlink{mlx5__vsc_8c_a6b2f11ae678928439bc236d6ca7eac80}{mlx5\+\_\+vsc\+\_\+write}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$mdev, u32 addr, const u32 $\ast$\mbox{\hyperlink{mlx5__en__tx_8c_af943c26117683b64b9cd6943e2c496e5}{data}})
\item 
int \mbox{\hyperlink{mlx5__vsc_8c_a2385c649e8efc0065db8330e25da821b}{mlx5\+\_\+vsc\+\_\+read}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$mdev, u32 addr, u32 $\ast$\mbox{\hyperlink{mlx5__en__tx_8c_af943c26117683b64b9cd6943e2c496e5}{data}})
\item 
int \mbox{\hyperlink{mlx5__vsc_8c_a84d4b52ea7c0f3b222e7e423f320a687}{mlx5\+\_\+vsc\+\_\+lock\+\_\+addr\+\_\+space}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$mdev, u32 addr)
\item 
int \mbox{\hyperlink{mlx5__vsc_8c_a70148b5466a34950ab92cc6a62f3ba14}{mlx5\+\_\+vsc\+\_\+unlock\+\_\+addr\+\_\+space}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$mdev, u32 addr)
\item 
int \mbox{\hyperlink{mlx5__vsc_8c_a88c68733f60b0815c2956064d490d07d}{mlx5\+\_\+vsc\+\_\+find\+\_\+cap}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$mdev)
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{mlx5__vsc_8c_a88c68733f60b0815c2956064d490d07d}\label{mlx5__vsc_8c_a88c68733f60b0815c2956064d490d07d}} 
\index{mlx5\_vsc.c@{mlx5\_vsc.c}!mlx5\_vsc\_find\_cap@{mlx5\_vsc\_find\_cap}}
\index{mlx5\_vsc\_find\_cap@{mlx5\_vsc\_find\_cap}!mlx5\_vsc.c@{mlx5\_vsc.c}}
\doxysubsubsection{\texorpdfstring{mlx5\_vsc\_find\_cap()}{mlx5\_vsc\_find\_cap()}}
{\footnotesize\ttfamily int mlx5\+\_\+vsc\+\_\+find\+\_\+cap (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{mdev }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__vsc_8c_source_l00238}{238}} of file \mbox{\hyperlink{mlx5__vsc_8c_source}{mlx5\+\_\+vsc.\+c}}.



References \mbox{\hyperlink{driver_8h_source_l00657}{mlx5\+\_\+core\+\_\+dev\+::pdev}}, and \mbox{\hyperlink{driver_8h_source_l00684}{mlx5\+\_\+core\+\_\+dev\+::vsc\+\_\+addr}}.



Referenced by \mbox{\hyperlink{mlx5__fwdump_8c_source_l00071}{mlx5\+\_\+fwdump\+\_\+prep()}}, and \mbox{\hyperlink{mlx5__main_8c_source_l00956}{mlx5\+\_\+init\+\_\+once()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d97/mlx5__vsc_8c_a88c68733f60b0815c2956064d490d07d_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__vsc_8c_a168c89dedcde4beec4ec919f50d2cbc4}\label{mlx5__vsc_8c_a168c89dedcde4beec4ec919f50d2cbc4}} 
\index{mlx5\_vsc.c@{mlx5\_vsc.c}!mlx5\_vsc\_lock@{mlx5\_vsc\_lock}}
\index{mlx5\_vsc\_lock@{mlx5\_vsc\_lock}!mlx5\_vsc.c@{mlx5\_vsc.c}}
\doxysubsubsection{\texorpdfstring{mlx5\_vsc\_lock()}{mlx5\_vsc\_lock()}}
{\footnotesize\ttfamily int mlx5\+\_\+vsc\+\_\+lock (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{mdev }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__vsc_8c_source_l00035}{35}} of file \mbox{\hyperlink{mlx5__vsc_8c_source}{mlx5\+\_\+vsc.\+c}}.



References \mbox{\hyperlink{mlx5__core_8h_source_l00061}{mlx5\+\_\+core\+\_\+warn}}, \mbox{\hyperlink{driver_8h_source_l00215}{MLX5\+\_\+\+VSC\+\_\+\+COUNTER\+\_\+\+OFFSET}}, \mbox{\hyperlink{driver_8h_source_l00219}{MLX5\+\_\+\+VSC\+\_\+\+MAX\+\_\+\+RETRIES}}, \mbox{\hyperlink{driver_8h_source_l00216}{MLX5\+\_\+\+VSC\+\_\+\+SEMA\+\_\+\+OFFSET}}, \mbox{\hyperlink{driver_8h_source_l00657}{mlx5\+\_\+core\+\_\+dev\+::pdev}}, and \mbox{\hyperlink{driver_8h_source_l00684}{mlx5\+\_\+core\+\_\+dev\+::vsc\+\_\+addr}}.



Referenced by \mbox{\hyperlink{mlx5__health_8c_source_l00070}{lock\+\_\+sem\+\_\+sw\+\_\+reset()}}, \mbox{\hyperlink{mlx5__fwdump_8c_source_l00193}{mlx5\+\_\+fwdump()}}, \mbox{\hyperlink{mlx5__fwdump_8c_source_l00071}{mlx5\+\_\+fwdump\+\_\+prep()}}, and \mbox{\hyperlink{mlx5__health_8c_source_l00097}{unlock\+\_\+sem\+\_\+sw\+\_\+reset()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d97/mlx5__vsc_8c_a168c89dedcde4beec4ec919f50d2cbc4_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__vsc_8c_a84d4b52ea7c0f3b222e7e423f320a687}\label{mlx5__vsc_8c_a84d4b52ea7c0f3b222e7e423f320a687}} 
\index{mlx5\_vsc.c@{mlx5\_vsc.c}!mlx5\_vsc\_lock\_addr\_space@{mlx5\_vsc\_lock\_addr\_space}}
\index{mlx5\_vsc\_lock\_addr\_space@{mlx5\_vsc\_lock\_addr\_space}!mlx5\_vsc.c@{mlx5\_vsc.c}}
\doxysubsubsection{\texorpdfstring{mlx5\_vsc\_lock\_addr\_space()}{mlx5\_vsc\_lock\_addr\_space()}}
{\footnotesize\ttfamily int mlx5\+\_\+vsc\+\_\+lock\+\_\+addr\+\_\+space (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{mdev,  }\item[{u32}]{addr }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__vsc_8c_source_l00184}{184}} of file \mbox{\hyperlink{mlx5__vsc_8c_source}{mlx5\+\_\+vsc.\+c}}.



References \mbox{\hyperlink{mlx5__en__tx_8c_source_l00001}{data}}, \mbox{\hyperlink{driver_8h_source_l00215}{MLX5\+\_\+\+VSC\+\_\+\+COUNTER\+\_\+\+OFFSET}}, \mbox{\hyperlink{mlx5__ifc_8h_source_l10289}{MLX5\+\_\+\+VSC\+\_\+\+DOMAIN\+\_\+\+SEMAPHORES}}, \mbox{\hyperlink{mlx5__vsc_8c_source_l00158}{mlx5\+\_\+vsc\+\_\+read()}}, \mbox{\hyperlink{mlx5__vsc_8c_source_l00111}{mlx5\+\_\+vsc\+\_\+set\+\_\+space()}}, \mbox{\hyperlink{mlx5__vsc_8c_source_l00134}{mlx5\+\_\+vsc\+\_\+write()}}, \mbox{\hyperlink{driver_8h_source_l00657}{mlx5\+\_\+core\+\_\+dev\+::pdev}}, and \mbox{\hyperlink{driver_8h_source_l00684}{mlx5\+\_\+core\+\_\+dev\+::vsc\+\_\+addr}}.



Referenced by \mbox{\hyperlink{mlx5__health_8c_source_l00070}{lock\+\_\+sem\+\_\+sw\+\_\+reset()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d97/mlx5__vsc_8c_a84d4b52ea7c0f3b222e7e423f320a687_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d97/mlx5__vsc_8c_a84d4b52ea7c0f3b222e7e423f320a687_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__vsc_8c_a2385c649e8efc0065db8330e25da821b}\label{mlx5__vsc_8c_a2385c649e8efc0065db8330e25da821b}} 
\index{mlx5\_vsc.c@{mlx5\_vsc.c}!mlx5\_vsc\_read@{mlx5\_vsc\_read}}
\index{mlx5\_vsc\_read@{mlx5\_vsc\_read}!mlx5\_vsc.c@{mlx5\_vsc.c}}
\doxysubsubsection{\texorpdfstring{mlx5\_vsc\_read()}{mlx5\_vsc\_read()}}
{\footnotesize\ttfamily int mlx5\+\_\+vsc\+\_\+read (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{mdev,  }\item[{u32}]{addr,  }\item[{u32 $\ast$}]{data }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__vsc_8c_source_l00158}{158}} of file \mbox{\hyperlink{mlx5__vsc_8c_source}{mlx5\+\_\+vsc.\+c}}.



References \mbox{\hyperlink{mlx5__en__tx_8c_source_l00001}{data}}, \mbox{\hyperlink{mlx5__core_8h_source_l00061}{mlx5\+\_\+core\+\_\+warn}}, \mbox{\hyperlink{driver_8h_source_l00217}{MLX5\+\_\+\+VSC\+\_\+\+ADDR\+\_\+\+OFFSET}}, \mbox{\hyperlink{driver_8h_source_l00218}{MLX5\+\_\+\+VSC\+\_\+\+DATA\+\_\+\+OFFSET}}, \mbox{\hyperlink{device_8h_source_l00161}{MLX5\+\_\+\+VSC\+\_\+\+SET}}, \mbox{\hyperlink{mlx5__vsc_8c_source_l00089}{mlx5\+\_\+vsc\+\_\+wait\+\_\+on\+\_\+flag()}}, \mbox{\hyperlink{driver_8h_source_l00657}{mlx5\+\_\+core\+\_\+dev\+::pdev}}, and \mbox{\hyperlink{driver_8h_source_l00684}{mlx5\+\_\+core\+\_\+dev\+::vsc\+\_\+addr}}.



Referenced by \mbox{\hyperlink{mlx5__fwdump_8c_source_l00193}{mlx5\+\_\+fwdump()}}, \mbox{\hyperlink{mlx5__vsc_8c_source_l00184}{mlx5\+\_\+vsc\+\_\+lock\+\_\+addr\+\_\+space()}}, and \mbox{\hyperlink{mlx5__vsc_8c_source_l00214}{mlx5\+\_\+vsc\+\_\+unlock\+\_\+addr\+\_\+space()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=336pt]{d1/d97/mlx5__vsc_8c_a2385c649e8efc0065db8330e25da821b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d97/mlx5__vsc_8c_a2385c649e8efc0065db8330e25da821b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__vsc_8c_a28f27c48d084a78980255a2c8d425d70}\label{mlx5__vsc_8c_a28f27c48d084a78980255a2c8d425d70}} 
\index{mlx5\_vsc.c@{mlx5\_vsc.c}!mlx5\_vsc\_set\_space@{mlx5\_vsc\_set\_space}}
\index{mlx5\_vsc\_set\_space@{mlx5\_vsc\_set\_space}!mlx5\_vsc.c@{mlx5\_vsc.c}}
\doxysubsubsection{\texorpdfstring{mlx5\_vsc\_set\_space()}{mlx5\_vsc\_set\_space()}}
{\footnotesize\ttfamily int mlx5\+\_\+vsc\+\_\+set\+\_\+space (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{mdev,  }\item[{u16}]{space }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__vsc_8c_source_l00111}{111}} of file \mbox{\hyperlink{mlx5__vsc_8c_source}{mlx5\+\_\+vsc.\+c}}.



References \mbox{\hyperlink{mlx5__core_8h_source_l00061}{mlx5\+\_\+core\+\_\+warn}}, \mbox{\hyperlink{device_8h_source_l00170}{MLX5\+\_\+\+VSC\+\_\+\+GET}}, \mbox{\hyperlink{device_8h_source_l00161}{MLX5\+\_\+\+VSC\+\_\+\+SET}}, \mbox{\hyperlink{driver_8h_source_l00214}{MLX5\+\_\+\+VSC\+\_\+\+SPACE\+\_\+\+OFFSET}}, \mbox{\hyperlink{driver_8h_source_l00213}{MLX5\+\_\+\+VSC\+\_\+\+SPACE\+\_\+\+SUPPORTED}}, \mbox{\hyperlink{driver_8h_source_l00657}{mlx5\+\_\+core\+\_\+dev\+::pdev}}, and \mbox{\hyperlink{driver_8h_source_l00684}{mlx5\+\_\+core\+\_\+dev\+::vsc\+\_\+addr}}.



Referenced by \mbox{\hyperlink{mlx5__fwdump_8c_source_l00193}{mlx5\+\_\+fwdump()}}, \mbox{\hyperlink{mlx5__fwdump_8c_source_l00071}{mlx5\+\_\+fwdump\+\_\+prep()}}, \mbox{\hyperlink{mlx5__vsc_8c_source_l00184}{mlx5\+\_\+vsc\+\_\+lock\+\_\+addr\+\_\+space()}}, and \mbox{\hyperlink{mlx5__vsc_8c_source_l00214}{mlx5\+\_\+vsc\+\_\+unlock\+\_\+addr\+\_\+space()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d97/mlx5__vsc_8c_a28f27c48d084a78980255a2c8d425d70_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__vsc_8c_a0fd8ff9d970b8b3c05aac233e508cd57}\label{mlx5__vsc_8c_a0fd8ff9d970b8b3c05aac233e508cd57}} 
\index{mlx5\_vsc.c@{mlx5\_vsc.c}!mlx5\_vsc\_unlock@{mlx5\_vsc\_unlock}}
\index{mlx5\_vsc\_unlock@{mlx5\_vsc\_unlock}!mlx5\_vsc.c@{mlx5\_vsc.c}}
\doxysubsubsection{\texorpdfstring{mlx5\_vsc\_unlock()}{mlx5\_vsc\_unlock()}}
{\footnotesize\ttfamily void mlx5\+\_\+vsc\+\_\+unlock (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{mdev }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__vsc_8c_source_l00075}{75}} of file \mbox{\hyperlink{mlx5__vsc_8c_source}{mlx5\+\_\+vsc.\+c}}.



References \mbox{\hyperlink{mlx5__core_8h_source_l00061}{mlx5\+\_\+core\+\_\+warn}}, \mbox{\hyperlink{driver_8h_source_l00216}{MLX5\+\_\+\+VSC\+\_\+\+SEMA\+\_\+\+OFFSET}}, \mbox{\hyperlink{driver_8h_source_l00657}{mlx5\+\_\+core\+\_\+dev\+::pdev}}, and \mbox{\hyperlink{driver_8h_source_l00684}{mlx5\+\_\+core\+\_\+dev\+::vsc\+\_\+addr}}.



Referenced by \mbox{\hyperlink{mlx5__health_8c_source_l00070}{lock\+\_\+sem\+\_\+sw\+\_\+reset()}}, \mbox{\hyperlink{mlx5__fwdump_8c_source_l00193}{mlx5\+\_\+fwdump()}}, \mbox{\hyperlink{mlx5__fwdump_8c_source_l00071}{mlx5\+\_\+fwdump\+\_\+prep()}}, and \mbox{\hyperlink{mlx5__health_8c_source_l00097}{unlock\+\_\+sem\+\_\+sw\+\_\+reset()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d97/mlx5__vsc_8c_a0fd8ff9d970b8b3c05aac233e508cd57_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__vsc_8c_a70148b5466a34950ab92cc6a62f3ba14}\label{mlx5__vsc_8c_a70148b5466a34950ab92cc6a62f3ba14}} 
\index{mlx5\_vsc.c@{mlx5\_vsc.c}!mlx5\_vsc\_unlock\_addr\_space@{mlx5\_vsc\_unlock\_addr\_space}}
\index{mlx5\_vsc\_unlock\_addr\_space@{mlx5\_vsc\_unlock\_addr\_space}!mlx5\_vsc.c@{mlx5\_vsc.c}}
\doxysubsubsection{\texorpdfstring{mlx5\_vsc\_unlock\_addr\_space()}{mlx5\_vsc\_unlock\_addr\_space()}}
{\footnotesize\ttfamily int mlx5\+\_\+vsc\+\_\+unlock\+\_\+addr\+\_\+space (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{mdev,  }\item[{u32}]{addr }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__vsc_8c_source_l00214}{214}} of file \mbox{\hyperlink{mlx5__vsc_8c_source}{mlx5\+\_\+vsc.\+c}}.



References \mbox{\hyperlink{mlx5__en__tx_8c_source_l00001}{data}}, \mbox{\hyperlink{mlx5__ifc_8h_source_l10289}{MLX5\+\_\+\+VSC\+\_\+\+DOMAIN\+\_\+\+SEMAPHORES}}, \mbox{\hyperlink{mlx5__vsc_8c_source_l00158}{mlx5\+\_\+vsc\+\_\+read()}}, \mbox{\hyperlink{mlx5__vsc_8c_source_l00111}{mlx5\+\_\+vsc\+\_\+set\+\_\+space()}}, and \mbox{\hyperlink{mlx5__vsc_8c_source_l00134}{mlx5\+\_\+vsc\+\_\+write()}}.



Referenced by \mbox{\hyperlink{mlx5__health_8c_source_l00097}{unlock\+\_\+sem\+\_\+sw\+\_\+reset()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d97/mlx5__vsc_8c_a70148b5466a34950ab92cc6a62f3ba14_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d97/mlx5__vsc_8c_a70148b5466a34950ab92cc6a62f3ba14_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__vsc_8c_aa5cb7ba7eae29b14c082b41feaba8800}\label{mlx5__vsc_8c_aa5cb7ba7eae29b14c082b41feaba8800}} 
\index{mlx5\_vsc.c@{mlx5\_vsc.c}!mlx5\_vsc\_wait\_on\_flag@{mlx5\_vsc\_wait\_on\_flag}}
\index{mlx5\_vsc\_wait\_on\_flag@{mlx5\_vsc\_wait\_on\_flag}!mlx5\_vsc.c@{mlx5\_vsc.c}}
\doxysubsubsection{\texorpdfstring{mlx5\_vsc\_wait\_on\_flag()}{mlx5\_vsc\_wait\_on\_flag()}}
{\footnotesize\ttfamily int mlx5\+\_\+vsc\+\_\+wait\+\_\+on\+\_\+flag (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{mdev,  }\item[{u32}]{expected }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__vsc_8c_source_l00089}{89}} of file \mbox{\hyperlink{mlx5__vsc_8c_source}{mlx5\+\_\+vsc.\+c}}.



References \mbox{\hyperlink{driver_8h_source_l00217}{MLX5\+\_\+\+VSC\+\_\+\+ADDR\+\_\+\+OFFSET}}, \mbox{\hyperlink{device_8h_source_l00170}{MLX5\+\_\+\+VSC\+\_\+\+GET}}, \mbox{\hyperlink{driver_8h_source_l00219}{MLX5\+\_\+\+VSC\+\_\+\+MAX\+\_\+\+RETRIES}}, \mbox{\hyperlink{driver_8h_source_l00657}{mlx5\+\_\+core\+\_\+dev\+::pdev}}, and \mbox{\hyperlink{driver_8h_source_l00684}{mlx5\+\_\+core\+\_\+dev\+::vsc\+\_\+addr}}.



Referenced by \mbox{\hyperlink{mlx5__fwdump_8c_source_l00071}{mlx5\+\_\+fwdump\+\_\+prep()}}, \mbox{\hyperlink{mlx5__vsc_8c_source_l00158}{mlx5\+\_\+vsc\+\_\+read()}}, and \mbox{\hyperlink{mlx5__vsc_8c_source_l00134}{mlx5\+\_\+vsc\+\_\+write()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d97/mlx5__vsc_8c_aa5cb7ba7eae29b14c082b41feaba8800_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__vsc_8c_a6b2f11ae678928439bc236d6ca7eac80}\label{mlx5__vsc_8c_a6b2f11ae678928439bc236d6ca7eac80}} 
\index{mlx5\_vsc.c@{mlx5\_vsc.c}!mlx5\_vsc\_write@{mlx5\_vsc\_write}}
\index{mlx5\_vsc\_write@{mlx5\_vsc\_write}!mlx5\_vsc.c@{mlx5\_vsc.c}}
\doxysubsubsection{\texorpdfstring{mlx5\_vsc\_write()}{mlx5\_vsc\_write()}}
{\footnotesize\ttfamily int mlx5\+\_\+vsc\+\_\+write (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{mdev,  }\item[{u32}]{addr,  }\item[{const u32 $\ast$}]{data }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__vsc_8c_source_l00134}{134}} of file \mbox{\hyperlink{mlx5__vsc_8c_source}{mlx5\+\_\+vsc.\+c}}.



References \mbox{\hyperlink{mlx5__en__tx_8c_source_l00001}{data}}, \mbox{\hyperlink{mlx5__core_8h_source_l00061}{mlx5\+\_\+core\+\_\+warn}}, \mbox{\hyperlink{driver_8h_source_l00217}{MLX5\+\_\+\+VSC\+\_\+\+ADDR\+\_\+\+OFFSET}}, \mbox{\hyperlink{driver_8h_source_l00218}{MLX5\+\_\+\+VSC\+\_\+\+DATA\+\_\+\+OFFSET}}, \mbox{\hyperlink{device_8h_source_l00161}{MLX5\+\_\+\+VSC\+\_\+\+SET}}, \mbox{\hyperlink{mlx5__vsc_8c_source_l00089}{mlx5\+\_\+vsc\+\_\+wait\+\_\+on\+\_\+flag()}}, \mbox{\hyperlink{driver_8h_source_l00657}{mlx5\+\_\+core\+\_\+dev\+::pdev}}, and \mbox{\hyperlink{driver_8h_source_l00684}{mlx5\+\_\+core\+\_\+dev\+::vsc\+\_\+addr}}.



Referenced by \mbox{\hyperlink{mlx5__vsc_8c_source_l00184}{mlx5\+\_\+vsc\+\_\+lock\+\_\+addr\+\_\+space()}}, and \mbox{\hyperlink{mlx5__vsc_8c_source_l00214}{mlx5\+\_\+vsc\+\_\+unlock\+\_\+addr\+\_\+space()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=339pt]{d1/d97/mlx5__vsc_8c_a6b2f11ae678928439bc236d6ca7eac80_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d97/mlx5__vsc_8c_a6b2f11ae678928439bc236d6ca7eac80_icgraph}
\end{center}
\end{figure}
