\hypertarget{diagnostics_8h}{}\doxysection{dev/mlx5/diagnostics.h File Reference}
\label{diagnostics_8h}\index{dev/mlx5/diagnostics.h@{dev/mlx5/diagnostics.h}}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d9/df3/diagnostics_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structmlx5__core__diagnostics__entry}{mlx5\+\_\+core\+\_\+diagnostics\+\_\+entry}}
\item 
union \mbox{\hyperlink{unionmlx5__core__pci__diagnostics}{mlx5\+\_\+core\+\_\+pci\+\_\+diagnostics}}
\item 
union \mbox{\hyperlink{unionmlx5__core__general__diagnostics}{mlx5\+\_\+core\+\_\+general\+\_\+diagnostics}}
\item 
struct \mbox{\hyperlink{structmlx5__eeprom}{mlx5\+\_\+eeprom}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{diagnostics_8h_a09e7b0e104f988b63c16f97ed22bf112}{MLX5\+\_\+\+CORE\+\_\+\+DIAGNOSTICS\+\_\+\+NUM}}(n,  s,  t)~n
\item 
\#define \mbox{\hyperlink{diagnostics_8h_a564dbe8b5909c6db75fb45e402c4d6f5}{MLX5\+\_\+\+CORE\+\_\+\+DIAGNOSTICS\+\_\+\+STRUCT}}(n,  s,  t)~s,
\item 
\#define \mbox{\hyperlink{diagnostics_8h_a3185f3c4f19a9977d92c2115ef2fa408}{MLX5\+\_\+\+CORE\+\_\+\+DIAGNOSTICS\+\_\+\+ENTRY}}(n,  s,  t)~\{ \#s, (t) \},
\item 
\#define \mbox{\hyperlink{diagnostics_8h_a8a4d564bca272b990b9454d4e5a750fb}{MLX5\+\_\+\+CORE\+\_\+\+PCI\+\_\+\+DIAGNOSTICS}}(m)
\item 
\#define \mbox{\hyperlink{diagnostics_8h_a78075f2194bf8c27dfe1630c064866cd}{MLX5\+\_\+\+CORE\+\_\+\+PCI\+\_\+\+DIAGNOSTICS\+\_\+\+NUM}}~ (0 \mbox{\hyperlink{diagnostics_8h_a8a4d564bca272b990b9454d4e5a750fb}{MLX5\+\_\+\+CORE\+\_\+\+PCI\+\_\+\+DIAGNOSTICS}}(\mbox{\hyperlink{diagnostics_8h_a09e7b0e104f988b63c16f97ed22bf112}{MLX5\+\_\+\+CORE\+\_\+\+DIAGNOSTICS\+\_\+\+NUM}}))
\item 
\#define \mbox{\hyperlink{diagnostics_8h_aeae5b4945ab86c8bdd5e12285f55c062}{MLX5\+\_\+\+CORE\+\_\+\+GENERAL\+\_\+\+DIAGNOSTICS}}(m)
\item 
\#define \mbox{\hyperlink{diagnostics_8h_a51625de9157770f21f56084a50008198}{MLX5\+\_\+\+CORE\+\_\+\+GENERAL\+\_\+\+DIAGNOSTICS\+\_\+\+NUM}}~ (0 \mbox{\hyperlink{diagnostics_8h_aeae5b4945ab86c8bdd5e12285f55c062}{MLX5\+\_\+\+CORE\+\_\+\+GENERAL\+\_\+\+DIAGNOSTICS}}(\mbox{\hyperlink{diagnostics_8h_a09e7b0e104f988b63c16f97ed22bf112}{MLX5\+\_\+\+CORE\+\_\+\+DIAGNOSTICS\+\_\+\+NUM}}))
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{diagnostics_8h_a75394e6a4ad1e53643ef6d10fec48ad6}{MALLOC\+\_\+\+DEFINE}} (M\+\_\+\+MLX5\+\_\+\+EEPROM, \char`\"{}MLX5\+EEPROM\char`\"{}, \char`\"{}MLX5 EEPROM information\char`\"{})
\item 
int \mbox{\hyperlink{diagnostics_8h_a8119f9ce2267687f5ad06db5d26f4488}{mlx5\+\_\+core\+\_\+set\+\_\+diagnostics\+\_\+full}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$mdev, u8 enable\+\_\+pci, u8 enable\+\_\+general)
\item 
int \mbox{\hyperlink{diagnostics_8h_a86f48a41965c67d9e0304122ed8327c4}{mlx5\+\_\+core\+\_\+get\+\_\+diagnostics\+\_\+full}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$mdev, union \mbox{\hyperlink{unionmlx5__core__pci__diagnostics}{mlx5\+\_\+core\+\_\+pci\+\_\+diagnostics}} $\ast$ppci, union \mbox{\hyperlink{unionmlx5__core__general__diagnostics}{mlx5\+\_\+core\+\_\+general\+\_\+diagnostics}} $\ast$pgen)
\item 
int \mbox{\hyperlink{diagnostics_8h_ae08773a28ebd8a8ad883d39acb1d32a6}{mlx5\+\_\+core\+\_\+supports\+\_\+diagnostics}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$mdev, u16 counter\+\_\+id)
\item 
int \mbox{\hyperlink{diagnostics_8h_a1d00fa84f8aab5462c8926622d729ee9}{mlx5\+\_\+read\+\_\+eeprom}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$dev, struct \mbox{\hyperlink{structmlx5__eeprom}{mlx5\+\_\+eeprom}} $\ast$eeprom)
\item 
int \mbox{\hyperlink{diagnostics_8h_a081609d563276d52d14f519efca758b0}{mlx5\+\_\+get\+\_\+eeprom\+\_\+info}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$dev, struct \mbox{\hyperlink{structmlx5__eeprom}{mlx5\+\_\+eeprom}} $\ast$eeprom)
\item 
int \mbox{\hyperlink{diagnostics_8h_a1107f6b61f43b5591965b89dc200a093}{mlx5\+\_\+get\+\_\+eeprom}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$dev, struct \mbox{\hyperlink{structmlx5__eeprom}{mlx5\+\_\+eeprom}} $\ast$ee)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const struct \mbox{\hyperlink{structmlx5__core__diagnostics__entry}{mlx5\+\_\+core\+\_\+diagnostics\+\_\+entry}} \mbox{\hyperlink{diagnostics_8h_abc401592678e18f1f00922140bacfb75}{mlx5\+\_\+core\+\_\+pci\+\_\+diagnostics\+\_\+table}} \mbox{[}\mbox{\hyperlink{diagnostics_8h_a78075f2194bf8c27dfe1630c064866cd}{MLX5\+\_\+\+CORE\+\_\+\+PCI\+\_\+\+DIAGNOSTICS\+\_\+\+NUM}}\mbox{]}
\item 
const struct \mbox{\hyperlink{structmlx5__core__diagnostics__entry}{mlx5\+\_\+core\+\_\+diagnostics\+\_\+entry}} \mbox{\hyperlink{diagnostics_8h_ac02a3acc52b0b521aff23f44dcbc81e3}{mlx5\+\_\+core\+\_\+general\+\_\+diagnostics\+\_\+table}} \mbox{[}\mbox{\hyperlink{diagnostics_8h_a51625de9157770f21f56084a50008198}{MLX5\+\_\+\+CORE\+\_\+\+GENERAL\+\_\+\+DIAGNOSTICS\+\_\+\+NUM}}\mbox{]}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{diagnostics_8h_a3185f3c4f19a9977d92c2115ef2fa408}\label{diagnostics_8h_a3185f3c4f19a9977d92c2115ef2fa408}} 
\index{diagnostics.h@{diagnostics.h}!MLX5\_CORE\_DIAGNOSTICS\_ENTRY@{MLX5\_CORE\_DIAGNOSTICS\_ENTRY}}
\index{MLX5\_CORE\_DIAGNOSTICS\_ENTRY@{MLX5\_CORE\_DIAGNOSTICS\_ENTRY}!diagnostics.h@{diagnostics.h}}
\doxysubsubsection{\texorpdfstring{MLX5\_CORE\_DIAGNOSTICS\_ENTRY}{MLX5\_CORE\_DIAGNOSTICS\_ENTRY}}
{\footnotesize\ttfamily \#define MLX5\+\_\+\+CORE\+\_\+\+DIAGNOSTICS\+\_\+\+ENTRY(\begin{DoxyParamCaption}\item[{}]{n,  }\item[{}]{s,  }\item[{}]{t }\end{DoxyParamCaption})~\{ \#s, (t) \},}



Definition at line \mbox{\hyperlink{diagnostics_8h_source_l00033}{33}} of file \mbox{\hyperlink{diagnostics_8h_source}{diagnostics.\+h}}.

\mbox{\Hypertarget{diagnostics_8h_a09e7b0e104f988b63c16f97ed22bf112}\label{diagnostics_8h_a09e7b0e104f988b63c16f97ed22bf112}} 
\index{diagnostics.h@{diagnostics.h}!MLX5\_CORE\_DIAGNOSTICS\_NUM@{MLX5\_CORE\_DIAGNOSTICS\_NUM}}
\index{MLX5\_CORE\_DIAGNOSTICS\_NUM@{MLX5\_CORE\_DIAGNOSTICS\_NUM}!diagnostics.h@{diagnostics.h}}
\doxysubsubsection{\texorpdfstring{MLX5\_CORE\_DIAGNOSTICS\_NUM}{MLX5\_CORE\_DIAGNOSTICS\_NUM}}
{\footnotesize\ttfamily \#define MLX5\+\_\+\+CORE\+\_\+\+DIAGNOSTICS\+\_\+\+NUM(\begin{DoxyParamCaption}\item[{}]{n,  }\item[{}]{s,  }\item[{}]{t }\end{DoxyParamCaption})~n}



Definition at line \mbox{\hyperlink{diagnostics_8h_source_l00031}{31}} of file \mbox{\hyperlink{diagnostics_8h_source}{diagnostics.\+h}}.

\mbox{\Hypertarget{diagnostics_8h_a564dbe8b5909c6db75fb45e402c4d6f5}\label{diagnostics_8h_a564dbe8b5909c6db75fb45e402c4d6f5}} 
\index{diagnostics.h@{diagnostics.h}!MLX5\_CORE\_DIAGNOSTICS\_STRUCT@{MLX5\_CORE\_DIAGNOSTICS\_STRUCT}}
\index{MLX5\_CORE\_DIAGNOSTICS\_STRUCT@{MLX5\_CORE\_DIAGNOSTICS\_STRUCT}!diagnostics.h@{diagnostics.h}}
\doxysubsubsection{\texorpdfstring{MLX5\_CORE\_DIAGNOSTICS\_STRUCT}{MLX5\_CORE\_DIAGNOSTICS\_STRUCT}}
{\footnotesize\ttfamily \#define MLX5\+\_\+\+CORE\+\_\+\+DIAGNOSTICS\+\_\+\+STRUCT(\begin{DoxyParamCaption}\item[{}]{n,  }\item[{}]{s,  }\item[{}]{t }\end{DoxyParamCaption})~s,}



Definition at line \mbox{\hyperlink{diagnostics_8h_source_l00032}{32}} of file \mbox{\hyperlink{diagnostics_8h_source}{diagnostics.\+h}}.

\mbox{\Hypertarget{diagnostics_8h_aeae5b4945ab86c8bdd5e12285f55c062}\label{diagnostics_8h_aeae5b4945ab86c8bdd5e12285f55c062}} 
\index{diagnostics.h@{diagnostics.h}!MLX5\_CORE\_GENERAL\_DIAGNOSTICS@{MLX5\_CORE\_GENERAL\_DIAGNOSTICS}}
\index{MLX5\_CORE\_GENERAL\_DIAGNOSTICS@{MLX5\_CORE\_GENERAL\_DIAGNOSTICS}!diagnostics.h@{diagnostics.h}}
\doxysubsubsection{\texorpdfstring{MLX5\_CORE\_GENERAL\_DIAGNOSTICS}{MLX5\_CORE\_GENERAL\_DIAGNOSTICS}}
{\footnotesize\ttfamily \#define MLX5\+\_\+\+CORE\+\_\+\+GENERAL\+\_\+\+DIAGNOSTICS(\begin{DoxyParamCaption}\item[{}]{m }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{diagnostics_8h_source_l00069}{69}} of file \mbox{\hyperlink{diagnostics_8h_source}{diagnostics.\+h}}.

\mbox{\Hypertarget{diagnostics_8h_a51625de9157770f21f56084a50008198}\label{diagnostics_8h_a51625de9157770f21f56084a50008198}} 
\index{diagnostics.h@{diagnostics.h}!MLX5\_CORE\_GENERAL\_DIAGNOSTICS\_NUM@{MLX5\_CORE\_GENERAL\_DIAGNOSTICS\_NUM}}
\index{MLX5\_CORE\_GENERAL\_DIAGNOSTICS\_NUM@{MLX5\_CORE\_GENERAL\_DIAGNOSTICS\_NUM}!diagnostics.h@{diagnostics.h}}
\doxysubsubsection{\texorpdfstring{MLX5\_CORE\_GENERAL\_DIAGNOSTICS\_NUM}{MLX5\_CORE\_GENERAL\_DIAGNOSTICS\_NUM}}
{\footnotesize\ttfamily \#define MLX5\+\_\+\+CORE\+\_\+\+GENERAL\+\_\+\+DIAGNOSTICS\+\_\+\+NUM~ (0 \mbox{\hyperlink{diagnostics_8h_aeae5b4945ab86c8bdd5e12285f55c062}{MLX5\+\_\+\+CORE\+\_\+\+GENERAL\+\_\+\+DIAGNOSTICS}}(\mbox{\hyperlink{diagnostics_8h_a09e7b0e104f988b63c16f97ed22bf112}{MLX5\+\_\+\+CORE\+\_\+\+DIAGNOSTICS\+\_\+\+NUM}}))}



Definition at line \mbox{\hyperlink{diagnostics_8h_source_l00118}{118}} of file \mbox{\hyperlink{diagnostics_8h_source}{diagnostics.\+h}}.

\mbox{\Hypertarget{diagnostics_8h_a8a4d564bca272b990b9454d4e5a750fb}\label{diagnostics_8h_a8a4d564bca272b990b9454d4e5a750fb}} 
\index{diagnostics.h@{diagnostics.h}!MLX5\_CORE\_PCI\_DIAGNOSTICS@{MLX5\_CORE\_PCI\_DIAGNOSTICS}}
\index{MLX5\_CORE\_PCI\_DIAGNOSTICS@{MLX5\_CORE\_PCI\_DIAGNOSTICS}!diagnostics.h@{diagnostics.h}}
\doxysubsubsection{\texorpdfstring{MLX5\_CORE\_PCI\_DIAGNOSTICS}{MLX5\_CORE\_PCI\_DIAGNOSTICS}}
{\footnotesize\ttfamily \#define MLX5\+\_\+\+CORE\+\_\+\+PCI\+\_\+\+DIAGNOSTICS(\begin{DoxyParamCaption}\item[{}]{m }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{m(+1, pxd\_ready\_bp, 0x0401) \(\backslash\)}
\DoxyCodeLine{m(+1, pci\_write\_bp, 0x0402) \(\backslash\)}
\DoxyCodeLine{m(+1, pci\_read\_bp, 0x0403) \(\backslash\)}
\DoxyCodeLine{m(+1, pci\_read\_stuck\_no\_completion\_buffer, 0x0404) \(\backslash\)}
\DoxyCodeLine{m(+1, max\_pci\_bw, 0x0405) \(\backslash\)}
\DoxyCodeLine{m(+1, used\_pci\_bw, 0x0406) \(\backslash\)}
\DoxyCodeLine{m(+1, rx\_pci\_errors, 0) \(\backslash\)}
\DoxyCodeLine{m(+1, tx\_pci\_errors, 0) \(\backslash\)}
\DoxyCodeLine{m(+1, tx\_pci\_correctable\_errors, 0) \(\backslash\)}
\DoxyCodeLine{m(+1, tx\_pci\_non\_fatal\_errors, 0) \(\backslash\)}
\DoxyCodeLine{m(+1, tx\_pci\_fatal\_errors, 0)}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{diagnostics_8h_source_l00042}{42}} of file \mbox{\hyperlink{diagnostics_8h_source}{diagnostics.\+h}}.

\mbox{\Hypertarget{diagnostics_8h_a78075f2194bf8c27dfe1630c064866cd}\label{diagnostics_8h_a78075f2194bf8c27dfe1630c064866cd}} 
\index{diagnostics.h@{diagnostics.h}!MLX5\_CORE\_PCI\_DIAGNOSTICS\_NUM@{MLX5\_CORE\_PCI\_DIAGNOSTICS\_NUM}}
\index{MLX5\_CORE\_PCI\_DIAGNOSTICS\_NUM@{MLX5\_CORE\_PCI\_DIAGNOSTICS\_NUM}!diagnostics.h@{diagnostics.h}}
\doxysubsubsection{\texorpdfstring{MLX5\_CORE\_PCI\_DIAGNOSTICS\_NUM}{MLX5\_CORE\_PCI\_DIAGNOSTICS\_NUM}}
{\footnotesize\ttfamily \#define MLX5\+\_\+\+CORE\+\_\+\+PCI\+\_\+\+DIAGNOSTICS\+\_\+\+NUM~ (0 \mbox{\hyperlink{diagnostics_8h_a8a4d564bca272b990b9454d4e5a750fb}{MLX5\+\_\+\+CORE\+\_\+\+PCI\+\_\+\+DIAGNOSTICS}}(\mbox{\hyperlink{diagnostics_8h_a09e7b0e104f988b63c16f97ed22bf112}{MLX5\+\_\+\+CORE\+\_\+\+DIAGNOSTICS\+\_\+\+NUM}}))}



Definition at line \mbox{\hyperlink{diagnostics_8h_source_l00055}{55}} of file \mbox{\hyperlink{diagnostics_8h_source}{diagnostics.\+h}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{diagnostics_8h_a75394e6a4ad1e53643ef6d10fec48ad6}\label{diagnostics_8h_a75394e6a4ad1e53643ef6d10fec48ad6}} 
\index{diagnostics.h@{diagnostics.h}!MALLOC\_DEFINE@{MALLOC\_DEFINE}}
\index{MALLOC\_DEFINE@{MALLOC\_DEFINE}!diagnostics.h@{diagnostics.h}}
\doxysubsubsection{\texorpdfstring{MALLOC\_DEFINE()}{MALLOC\_DEFINE()}}
{\footnotesize\ttfamily static MALLOC\+\_\+\+DEFINE (\begin{DoxyParamCaption}\item[{M\+\_\+\+MLX5\+\_\+\+EEPROM}]{,  }\item[{\char`\"{}MLX5\+EEPROM\char`\"{}}]{,  }\item[{\char`\"{}MLX5 EEPROM information\char`\"{}}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\Hypertarget{diagnostics_8h_a86f48a41965c67d9e0304122ed8327c4}\label{diagnostics_8h_a86f48a41965c67d9e0304122ed8327c4}} 
\index{diagnostics.h@{diagnostics.h}!mlx5\_core\_get\_diagnostics\_full@{mlx5\_core\_get\_diagnostics\_full}}
\index{mlx5\_core\_get\_diagnostics\_full@{mlx5\_core\_get\_diagnostics\_full}!diagnostics.h@{diagnostics.h}}
\doxysubsubsection{\texorpdfstring{mlx5\_core\_get\_diagnostics\_full()}{mlx5\_core\_get\_diagnostics\_full()}}
{\footnotesize\ttfamily int mlx5\+\_\+core\+\_\+get\+\_\+diagnostics\+\_\+full (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{mdev,  }\item[{union \mbox{\hyperlink{unionmlx5__core__pci__diagnostics}{mlx5\+\_\+core\+\_\+pci\+\_\+diagnostics}} $\ast$}]{ppci,  }\item[{union \mbox{\hyperlink{unionmlx5__core__general__diagnostics}{mlx5\+\_\+core\+\_\+general\+\_\+diagnostics}} $\ast$}]{pgen }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00166}{166}} of file \mbox{\hyperlink{mlx5__diagnostics_8c_source}{mlx5\+\_\+diagnostics.\+c}}.



References \mbox{\hyperlink{diagnostics_8h_source_l00122}{mlx5\+\_\+core\+\_\+general\+\_\+diagnostics\+::array}}, \mbox{\hyperlink{diagnostics_8h_source_l00059}{mlx5\+\_\+core\+\_\+pci\+\_\+diagnostics\+::array}}, \mbox{\hyperlink{unionmlx5__core__pci__diagnostics_aae72754dfc3c558c01afe6f7bfc93141}{mlx5\+\_\+core\+\_\+pci\+\_\+diagnostics\+::counter}}, \mbox{\hyperlink{diagnostics_8h_source_l00039}{mlx5\+\_\+core\+\_\+diagnostics\+\_\+entry\+::counter\+\_\+id}}, \mbox{\hyperlink{device_8h_source_l00070}{MLX5\+\_\+\+ADDR\+\_\+\+OF}}, \mbox{\hyperlink{device_8h_source_l01027}{MLX5\+\_\+\+CAP\+\_\+\+GEN}}, \mbox{\hyperlink{mlx5__port_8c_source_l00035}{mlx5\+\_\+core\+\_\+access\+\_\+reg()}}, \mbox{\hyperlink{diagnostics_8h_source_l00118}{MLX5\+\_\+\+CORE\+\_\+\+GENERAL\+\_\+\+DIAGNOSTICS\+\_\+\+NUM}}, \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00045}{mlx5\+\_\+core\+\_\+general\+\_\+diagnostics\+\_\+table}}, \mbox{\hyperlink{diagnostics_8h_source_l00055}{MLX5\+\_\+\+CORE\+\_\+\+PCI\+\_\+\+DIAGNOSTICS\+\_\+\+NUM}}, \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00039}{mlx5\+\_\+core\+\_\+pci\+\_\+diagnostics\+\_\+table}}, \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00067}{mlx5\+\_\+core\+\_\+put\+\_\+diag\+\_\+counter()}}, \mbox{\hyperlink{device_8h_source_l00091}{MLX5\+\_\+\+GET}}, \mbox{\hyperlink{device_8h_source_l00116}{MLX5\+\_\+\+GET64}}, \mbox{\hyperlink{device_8h_source_l01204}{MLX5\+\_\+\+PCIE\+\_\+\+PERFORMANCE\+\_\+\+COUNTERS\+\_\+\+GROUP}}, \mbox{\hyperlink{device_8h_source_l01206}{MLX5\+\_\+\+PCIE\+\_\+\+TIMERS\+\_\+\+AND\+\_\+\+STATES\+\_\+\+COUNTERS\+\_\+\+GROUP}}, \mbox{\hyperlink{mlx5__port_8c_source_l01068}{mlx5\+\_\+query\+\_\+diagnostic\+\_\+counters()}}, \mbox{\hyperlink{driver_8h_source_l00159}{MLX5\+\_\+\+REG\+\_\+\+MPCNT}}, \mbox{\hyperlink{device_8h_source_l00073}{MLX5\+\_\+\+SET}}, \mbox{\hyperlink{device_8h_source_l00064}{MLX5\+\_\+\+ST\+\_\+\+SZ\+\_\+\+BYTES}}, and \mbox{\hyperlink{driver_8h_source_l00914}{mlx5\+\_\+vzalloc()}}.



Referenced by \mbox{\hyperlink{mlx5__en__main_8c_source_l00810}{mlx5e\+\_\+update\+\_\+stats\+\_\+locked()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d5b/diagnostics_8h_a86f48a41965c67d9e0304122ed8327c4_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d5b/diagnostics_8h_a86f48a41965c67d9e0304122ed8327c4_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{diagnostics_8h_a8119f9ce2267687f5ad06db5d26f4488}\label{diagnostics_8h_a8119f9ce2267687f5ad06db5d26f4488}} 
\index{diagnostics.h@{diagnostics.h}!mlx5\_core\_set\_diagnostics\_full@{mlx5\_core\_set\_diagnostics\_full}}
\index{mlx5\_core\_set\_diagnostics\_full@{mlx5\_core\_set\_diagnostics\_full}!diagnostics.h@{diagnostics.h}}
\doxysubsubsection{\texorpdfstring{mlx5\_core\_set\_diagnostics\_full()}{mlx5\_core\_set\_diagnostics\_full()}}
{\footnotesize\ttfamily int mlx5\+\_\+core\+\_\+set\+\_\+diagnostics\+\_\+full (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{mdev,  }\item[{u8}]{enable\+\_\+pci,  }\item[{u8}]{enable\+\_\+general }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00086}{86}} of file \mbox{\hyperlink{mlx5__diagnostics_8c_source}{mlx5\+\_\+diagnostics.\+c}}.



References \mbox{\hyperlink{diagnostics_8h_source_l00039}{mlx5\+\_\+core\+\_\+diagnostics\+\_\+entry\+::counter\+\_\+id}}, \mbox{\hyperlink{device_8h_source_l00070}{MLX5\+\_\+\+ADDR\+\_\+\+OF}}, \mbox{\hyperlink{device_8h_source_l00992}{MLX5\+\_\+\+CAP\+\_\+\+DEBUG}}, \mbox{\hyperlink{device_8h_source_l01027}{MLX5\+\_\+\+CAP\+\_\+\+GEN}}, \mbox{\hyperlink{diagnostics_8h_source_l00118}{MLX5\+\_\+\+CORE\+\_\+\+GENERAL\+\_\+\+DIAGNOSTICS\+\_\+\+NUM}}, \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00045}{mlx5\+\_\+core\+\_\+general\+\_\+diagnostics\+\_\+table}}, \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00049}{mlx5\+\_\+core\+\_\+get\+\_\+index\+\_\+of\+\_\+diag\+\_\+counter()}}, \mbox{\hyperlink{diagnostics_8h_source_l00055}{MLX5\+\_\+\+CORE\+\_\+\+PCI\+\_\+\+DIAGNOSTICS\+\_\+\+NUM}}, \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00039}{mlx5\+\_\+core\+\_\+pci\+\_\+diagnostics\+\_\+table}}, \mbox{\hyperlink{device_8h_source_l00073}{MLX5\+\_\+\+SET}}, \mbox{\hyperlink{mlx5__port_8c_source_l01057}{mlx5\+\_\+set\+\_\+diagnostic\+\_\+params()}}, \mbox{\hyperlink{device_8h_source_l00064}{MLX5\+\_\+\+ST\+\_\+\+SZ\+\_\+\+BYTES}}, and \mbox{\hyperlink{driver_8h_source_l00914}{mlx5\+\_\+vzalloc()}}.



Referenced by \mbox{\hyperlink{mlx5__en__ethtool_8c_source_l00890}{mlx5e\+\_\+ethtool\+\_\+handler()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d5b/diagnostics_8h_a8119f9ce2267687f5ad06db5d26f4488_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d5b/diagnostics_8h_a8119f9ce2267687f5ad06db5d26f4488_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{diagnostics_8h_ae08773a28ebd8a8ad883d39acb1d32a6}\label{diagnostics_8h_ae08773a28ebd8a8ad883d39acb1d32a6}} 
\index{diagnostics.h@{diagnostics.h}!mlx5\_core\_supports\_diagnostics@{mlx5\_core\_supports\_diagnostics}}
\index{mlx5\_core\_supports\_diagnostics@{mlx5\_core\_supports\_diagnostics}!diagnostics.h@{diagnostics.h}}
\doxysubsubsection{\texorpdfstring{mlx5\_core\_supports\_diagnostics()}{mlx5\_core\_supports\_diagnostics()}}
{\footnotesize\ttfamily int mlx5\+\_\+core\+\_\+supports\+\_\+diagnostics (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{mdev,  }\item[{u16}]{counter\+\_\+id }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00271}{271}} of file \mbox{\hyperlink{mlx5__diagnostics_8c_source}{mlx5\+\_\+diagnostics.\+c}}.



References \mbox{\hyperlink{diagnostics_8h_source_l00039}{mlx5\+\_\+core\+\_\+diagnostics\+\_\+entry\+::counter\+\_\+id}}, \mbox{\hyperlink{device_8h_source_l00992}{MLX5\+\_\+\+CAP\+\_\+\+DEBUG}}, and \mbox{\hyperlink{device_8h_source_l01027}{MLX5\+\_\+\+CAP\+\_\+\+GEN}}.



Referenced by \mbox{\hyperlink{mlx5__en__ethtool_8c_source_l01390}{mlx5e\+\_\+create\+\_\+diagnostics()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d5b/diagnostics_8h_ae08773a28ebd8a8ad883d39acb1d32a6_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{diagnostics_8h_a1107f6b61f43b5591965b89dc200a093}\label{diagnostics_8h_a1107f6b61f43b5591965b89dc200a093}} 
\index{diagnostics.h@{diagnostics.h}!mlx5\_get\_eeprom@{mlx5\_get\_eeprom}}
\index{mlx5\_get\_eeprom@{mlx5\_get\_eeprom}!diagnostics.h@{diagnostics.h}}
\doxysubsubsection{\texorpdfstring{mlx5\_get\_eeprom()}{mlx5\_get\_eeprom()}}
{\footnotesize\ttfamily int mlx5\+\_\+get\+\_\+eeprom (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{dev,  }\item[{struct \mbox{\hyperlink{structmlx5__eeprom}{mlx5\+\_\+eeprom}} $\ast$}]{ee }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00357}{357}} of file \mbox{\hyperlink{mlx5__diagnostics_8c_source}{mlx5\+\_\+diagnostics.\+c}}.



References \mbox{\hyperlink{diagnostics_8h_source_l00141}{mlx5\+\_\+eeprom\+::data}}, \mbox{\hyperlink{diagnostics_8h_source_l00136}{mlx5\+\_\+eeprom\+::device\+\_\+addr}}, \mbox{\hyperlink{diagnostics_8h_source_l00134}{mlx5\+\_\+eeprom\+::i2c\+\_\+addr}}, \mbox{\hyperlink{diagnostics_8h_source_l00138}{mlx5\+\_\+eeprom\+::len}}, \mbox{\hyperlink{mlx5__core_8h_source_l00056}{mlx5\+\_\+core\+\_\+err}}, \mbox{\hyperlink{port_8h_source_l00062}{MLX5\+\_\+\+EEPROM\+\_\+\+HIGH\+\_\+\+PAGE}}, \mbox{\hyperlink{port_8h_source_l00063}{MLX5\+\_\+\+EEPROM\+\_\+\+HIGH\+\_\+\+PAGE\+\_\+\+OFFSET}}, \mbox{\hyperlink{port_8h_source_l00056}{MLX5\+\_\+\+EEPROM\+\_\+\+PAGE\+\_\+\+LENGTH}}, \mbox{\hyperlink{mlx5__port_8c_source_l00703}{mlx5\+\_\+query\+\_\+eeprom()}}, \mbox{\hyperlink{diagnostics_8h_source_l00137}{mlx5\+\_\+eeprom\+::module\+\_\+num}}, \mbox{\hyperlink{diagnostics_8h_source_l00135}{mlx5\+\_\+eeprom\+::page\+\_\+num}}, and \mbox{\hyperlink{diagnostics_8h_source_l00140}{mlx5\+\_\+eeprom\+::page\+\_\+valid}}.



Referenced by \mbox{\hyperlink{mlx5__fwdump_8c_source_l00356}{mlx5\+\_\+eeprom\+\_\+copyout()}}, and \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00407}{mlx5\+\_\+read\+\_\+eeprom()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d5b/diagnostics_8h_a1107f6b61f43b5591965b89dc200a093_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d5b/diagnostics_8h_a1107f6b61f43b5591965b89dc200a093_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{diagnostics_8h_a081609d563276d52d14f519efca758b0}\label{diagnostics_8h_a081609d563276d52d14f519efca758b0}} 
\index{diagnostics.h@{diagnostics.h}!mlx5\_get\_eeprom\_info@{mlx5\_get\_eeprom\_info}}
\index{mlx5\_get\_eeprom\_info@{mlx5\_get\_eeprom\_info}!diagnostics.h@{diagnostics.h}}
\doxysubsubsection{\texorpdfstring{mlx5\_get\_eeprom\_info()}{mlx5\_get\_eeprom\_info()}}
{\footnotesize\ttfamily int mlx5\+\_\+get\+\_\+eeprom\+\_\+info (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{dev,  }\item[{struct \mbox{\hyperlink{structmlx5__eeprom}{mlx5\+\_\+eeprom}} $\ast$}]{eeprom }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00302}{302}} of file \mbox{\hyperlink{mlx5__diagnostics_8c_source}{mlx5\+\_\+diagnostics.\+c}}.



References \mbox{\hyperlink{mlx5__en__tx_8c_source_l00001}{data}}, \mbox{\hyperlink{diagnostics_8h_source_l00136}{mlx5\+\_\+eeprom\+::device\+\_\+addr}}, \mbox{\hyperlink{diagnostics_8h_source_l00134}{mlx5\+\_\+eeprom\+::i2c\+\_\+addr}}, \mbox{\hyperlink{diagnostics_8h_source_l00138}{mlx5\+\_\+eeprom\+::len}}, \mbox{\hyperlink{mlx5__core_8h_source_l00056}{mlx5\+\_\+core\+\_\+err}}, \mbox{\hyperlink{port_8h_source_l00058}{MLX5\+\_\+\+EEPROM\+\_\+\+IDENTIFIER\+\_\+\+BYTE\+\_\+\+MASK}}, \mbox{\hyperlink{port_8h_source_l00064}{MLX5\+\_\+\+EEPROM\+\_\+\+INFO\+\_\+\+BYTES}}, \mbox{\hyperlink{port_8h_source_l00060}{MLX5\+\_\+\+EEPROM\+\_\+\+PAGE\+\_\+3\+\_\+\+VALID\+\_\+\+BIT\+\_\+\+MASK}}, \mbox{\hyperlink{port_8h_source_l00059}{MLX5\+\_\+\+EEPROM\+\_\+\+REVISION\+\_\+\+ID\+\_\+\+BYTE\+\_\+\+MASK}}, \mbox{\hyperlink{port_8h_source_l00078}{MLX5\+\_\+\+ETH\+\_\+\+MODULE\+\_\+\+SFF\+\_\+8436}}, \mbox{\hyperlink{port_8h_source_l00079}{MLX5\+\_\+\+ETH\+\_\+\+MODULE\+\_\+\+SFF\+\_\+8436\+\_\+\+LEN}}, \mbox{\hyperlink{port_8h_source_l00068}{MLX5\+\_\+\+ETH\+\_\+\+MODULE\+\_\+\+SFF\+\_\+8472}}, \mbox{\hyperlink{port_8h_source_l00069}{MLX5\+\_\+\+ETH\+\_\+\+MODULE\+\_\+\+SFF\+\_\+8472\+\_\+\+LEN}}, \mbox{\hyperlink{port_8h_source_l00073}{MLX5\+\_\+\+ETH\+\_\+\+MODULE\+\_\+\+SFF\+\_\+8636}}, \mbox{\hyperlink{port_8h_source_l00074}{MLX5\+\_\+\+ETH\+\_\+\+MODULE\+\_\+\+SFF\+\_\+8636\+\_\+\+LEN}}, \mbox{\hyperlink{mlx5__port_8c_source_l00703}{mlx5\+\_\+query\+\_\+eeprom()}}, \mbox{\hyperlink{mlx5__port_8c_source_l00682}{mlx5\+\_\+query\+\_\+module\+\_\+num()}}, \mbox{\hyperlink{diagnostics_8h_source_l00137}{mlx5\+\_\+eeprom\+::module\+\_\+num}}, \mbox{\hyperlink{diagnostics_8h_source_l00135}{mlx5\+\_\+eeprom\+::page\+\_\+num}}, \mbox{\hyperlink{diagnostics_8h_source_l00140}{mlx5\+\_\+eeprom\+::page\+\_\+valid}}, and \mbox{\hyperlink{diagnostics_8h_source_l00139}{mlx5\+\_\+eeprom\+::type}}.



Referenced by \mbox{\hyperlink{mlx5__fwdump_8c_source_l00356}{mlx5\+\_\+eeprom\+\_\+copyout()}}, and \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00407}{mlx5\+\_\+read\+\_\+eeprom()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d5b/diagnostics_8h_a081609d563276d52d14f519efca758b0_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d5b/diagnostics_8h_a081609d563276d52d14f519efca758b0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{diagnostics_8h_a1d00fa84f8aab5462c8926622d729ee9}\label{diagnostics_8h_a1d00fa84f8aab5462c8926622d729ee9}} 
\index{diagnostics.h@{diagnostics.h}!mlx5\_read\_eeprom@{mlx5\_read\_eeprom}}
\index{mlx5\_read\_eeprom@{mlx5\_read\_eeprom}!diagnostics.h@{diagnostics.h}}
\doxysubsubsection{\texorpdfstring{mlx5\_read\_eeprom()}{mlx5\_read\_eeprom()}}
{\footnotesize\ttfamily int mlx5\+\_\+read\+\_\+eeprom (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{dev,  }\item[{struct \mbox{\hyperlink{structmlx5__eeprom}{mlx5\+\_\+eeprom}} $\ast$}]{eeprom }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00407}{407}} of file \mbox{\hyperlink{mlx5__diagnostics_8c_source}{mlx5\+\_\+diagnostics.\+c}}.



References \mbox{\hyperlink{diagnostics_8h_source_l00141}{mlx5\+\_\+eeprom\+::data}}, \mbox{\hyperlink{diagnostics_8h_source_l00136}{mlx5\+\_\+eeprom\+::device\+\_\+addr}}, \mbox{\hyperlink{diagnostics_8h_source_l00134}{mlx5\+\_\+eeprom\+::i2c\+\_\+addr}}, \mbox{\hyperlink{diagnostics_8h_source_l00138}{mlx5\+\_\+eeprom\+::len}}, \mbox{\hyperlink{mlx5__core_8h_source_l00056}{mlx5\+\_\+core\+\_\+err}}, \mbox{\hyperlink{port_8h_source_l00061}{MLX5\+\_\+\+EEPROM\+\_\+\+LOW\+\_\+\+PAGE}}, \mbox{\hyperlink{port_8h_source_l00056}{MLX5\+\_\+\+EEPROM\+\_\+\+PAGE\+\_\+\+LENGTH}}, \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00357}{mlx5\+\_\+get\+\_\+eeprom()}}, \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00302}{mlx5\+\_\+get\+\_\+eeprom\+\_\+info()}}, \mbox{\hyperlink{port_8h_source_l00054}{MLX5\+\_\+\+I2\+C\+\_\+\+ADDR\+\_\+\+LOW}}, \mbox{\hyperlink{diagnostics_8h_source_l00135}{mlx5\+\_\+eeprom\+::page\+\_\+num}}, and \mbox{\hyperlink{diagnostics_8h_source_l00140}{mlx5\+\_\+eeprom\+::page\+\_\+valid}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d5b/diagnostics_8h_a1d00fa84f8aab5462c8926622d729ee9_cgraph}
\end{center}
\end{figure}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{diagnostics_8h_ac02a3acc52b0b521aff23f44dcbc81e3}\label{diagnostics_8h_ac02a3acc52b0b521aff23f44dcbc81e3}} 
\index{diagnostics.h@{diagnostics.h}!mlx5\_core\_general\_diagnostics\_table@{mlx5\_core\_general\_diagnostics\_table}}
\index{mlx5\_core\_general\_diagnostics\_table@{mlx5\_core\_general\_diagnostics\_table}!diagnostics.h@{diagnostics.h}}
\doxysubsubsection{\texorpdfstring{mlx5\_core\_general\_diagnostics\_table}{mlx5\_core\_general\_diagnostics\_table}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structmlx5__core__diagnostics__entry}{mlx5\+\_\+core\+\_\+diagnostics\+\_\+entry}} mlx5\+\_\+core\+\_\+general\+\_\+diagnostics\+\_\+table\mbox{[}\mbox{\hyperlink{diagnostics_8h_a51625de9157770f21f56084a50008198}{MLX5\+\_\+\+CORE\+\_\+\+GENERAL\+\_\+\+DIAGNOSTICS\+\_\+\+NUM}}\mbox{]}\hspace{0.3cm}{\ttfamily [extern]}}



Definition at line \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00044}{44}} of file \mbox{\hyperlink{mlx5__diagnostics_8c_source}{mlx5\+\_\+diagnostics.\+c}}.



Referenced by \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00166}{mlx5\+\_\+core\+\_\+get\+\_\+diagnostics\+\_\+full()}}, \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00086}{mlx5\+\_\+core\+\_\+set\+\_\+diagnostics\+\_\+full()}}, and \mbox{\hyperlink{mlx5__en__ethtool_8c_source_l01390}{mlx5e\+\_\+create\+\_\+diagnostics()}}.

\mbox{\Hypertarget{diagnostics_8h_abc401592678e18f1f00922140bacfb75}\label{diagnostics_8h_abc401592678e18f1f00922140bacfb75}} 
\index{diagnostics.h@{diagnostics.h}!mlx5\_core\_pci\_diagnostics\_table@{mlx5\_core\_pci\_diagnostics\_table}}
\index{mlx5\_core\_pci\_diagnostics\_table@{mlx5\_core\_pci\_diagnostics\_table}!diagnostics.h@{diagnostics.h}}
\doxysubsubsection{\texorpdfstring{mlx5\_core\_pci\_diagnostics\_table}{mlx5\_core\_pci\_diagnostics\_table}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structmlx5__core__diagnostics__entry}{mlx5\+\_\+core\+\_\+diagnostics\+\_\+entry}} mlx5\+\_\+core\+\_\+pci\+\_\+diagnostics\+\_\+table\mbox{[}\mbox{\hyperlink{diagnostics_8h_a78075f2194bf8c27dfe1630c064866cd}{MLX5\+\_\+\+CORE\+\_\+\+PCI\+\_\+\+DIAGNOSTICS\+\_\+\+NUM}}\mbox{]}\hspace{0.3cm}{\ttfamily [extern]}}



Definition at line \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00038}{38}} of file \mbox{\hyperlink{mlx5__diagnostics_8c_source}{mlx5\+\_\+diagnostics.\+c}}.



Referenced by \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00166}{mlx5\+\_\+core\+\_\+get\+\_\+diagnostics\+\_\+full()}}, \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00086}{mlx5\+\_\+core\+\_\+set\+\_\+diagnostics\+\_\+full()}}, and \mbox{\hyperlink{mlx5__en__ethtool_8c_source_l01390}{mlx5e\+\_\+create\+\_\+diagnostics()}}.

