\hypertarget{mlx5__diagnostics_8c}{}\doxysection{dev/mlx5/mlx5\+\_\+core/mlx5\+\_\+diagnostics.c File Reference}
\label{mlx5__diagnostics_8c}\index{dev/mlx5/mlx5\_core/mlx5\_diagnostics.c@{dev/mlx5/mlx5\_core/mlx5\_diagnostics.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/port.\+h$>$}\newline
{\ttfamily \#include $<$dev/mlx5/diagnostics.\+h$>$}\newline
{\ttfamily \#include $<$dev/mlx5/mlx5\+\_\+core/mlx5\+\_\+core.\+h$>$}\newline
{\ttfamily \#include $<$net/sff8472.\+h$>$}\newline
Include dependency graph for mlx5\+\_\+diagnostics.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d2/d40/mlx5__diagnostics_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static int \mbox{\hyperlink{mlx5__diagnostics_8c_a942bb95d6139c49298e7634d796a59d1}{mlx5\+\_\+core\+\_\+get\+\_\+index\+\_\+of\+\_\+diag\+\_\+counter}} (const struct \mbox{\hyperlink{structmlx5__core__diagnostics__entry}{mlx5\+\_\+core\+\_\+diagnostics\+\_\+entry}} $\ast$entry, int size, u16 counter\+\_\+id)
\item 
static void \mbox{\hyperlink{mlx5__diagnostics_8c_aa7ec9a657ee8d665863fd486f7483441}{mlx5\+\_\+core\+\_\+put\+\_\+diag\+\_\+counter}} (const struct \mbox{\hyperlink{structmlx5__core__diagnostics__entry}{mlx5\+\_\+core\+\_\+diagnostics\+\_\+entry}} $\ast$entry, u64 $\ast$array, int size, u16 counter\+\_\+id, u64 value)
\item 
int \mbox{\hyperlink{mlx5__diagnostics_8c_a96465c3fa1bd8df3ad42de0dc68c52ec}{mlx5\+\_\+core\+\_\+set\+\_\+diagnostics\+\_\+full}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$dev, u8 enable\+\_\+pci, u8 enable\+\_\+general)
\item 
int \mbox{\hyperlink{mlx5__diagnostics_8c_a61f345b48d6edcf492c4f51e9fc7d196}{mlx5\+\_\+core\+\_\+get\+\_\+diagnostics\+\_\+full}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$dev, union \mbox{\hyperlink{unionmlx5__core__pci__diagnostics}{mlx5\+\_\+core\+\_\+pci\+\_\+diagnostics}} $\ast$pdiag, union \mbox{\hyperlink{unionmlx5__core__general__diagnostics}{mlx5\+\_\+core\+\_\+general\+\_\+diagnostics}} $\ast$pgen)
\item 
int \mbox{\hyperlink{mlx5__diagnostics_8c_a4a16de0d75ec174f21577c1e57bca51b}{mlx5\+\_\+core\+\_\+supports\+\_\+diagnostics}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$dev, u16 counter\+\_\+id)
\item 
int \mbox{\hyperlink{mlx5__diagnostics_8c_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{mlx5__diagnostics_8c_a1107f6b61f43b5591965b89dc200a093}{mlx5\+\_\+get\+\_\+eeprom}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$dev, struct \mbox{\hyperlink{structmlx5__eeprom}{mlx5\+\_\+eeprom}} $\ast$ee)
\item 
int \mbox{\hyperlink{mlx5__diagnostics_8c_a1d00fa84f8aab5462c8926622d729ee9}{mlx5\+\_\+read\+\_\+eeprom}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$dev, struct \mbox{\hyperlink{structmlx5__eeprom}{mlx5\+\_\+eeprom}} $\ast$eeprom)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const struct \mbox{\hyperlink{structmlx5__core__diagnostics__entry}{mlx5\+\_\+core\+\_\+diagnostics\+\_\+entry}} \mbox{\hyperlink{mlx5__diagnostics_8c_a87e1fa09dbf03ff0413b9a4246e89ffc}{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{mlx5__diagnostics_8c_a4283ebb782ae02032d8b904321b0b2cf}{mlx5\+\_\+core\+\_\+general\+\_\+diagnostics\+\_\+table}} \mbox{[}\mbox{\hyperlink{diagnostics_8h_a51625de9157770f21f56084a50008198}{MLX5\+\_\+\+CORE\+\_\+\+GENERAL\+\_\+\+DIAGNOSTICS\+\_\+\+NUM}}\mbox{]}
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{mlx5__diagnostics_8c_a61f345b48d6edcf492c4f51e9fc7d196}\label{mlx5__diagnostics_8c_a61f345b48d6edcf492c4f51e9fc7d196}} 
\index{mlx5\_diagnostics.c@{mlx5\_diagnostics.c}!mlx5\_core\_get\_diagnostics\_full@{mlx5\_core\_get\_diagnostics\_full}}
\index{mlx5\_core\_get\_diagnostics\_full@{mlx5\_core\_get\_diagnostics\_full}!mlx5\_diagnostics.c@{mlx5\_diagnostics.c}}
\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$}]{dev,  }\item[{union \mbox{\hyperlink{unionmlx5__core__pci__diagnostics}{mlx5\+\_\+core\+\_\+pci\+\_\+diagnostics}} $\ast$}]{pdiag,  }\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]{d1/d48/mlx5__diagnostics_8c_a61f345b48d6edcf492c4f51e9fc7d196_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d48/mlx5__diagnostics_8c_a61f345b48d6edcf492c4f51e9fc7d196_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__diagnostics_8c_a942bb95d6139c49298e7634d796a59d1}\label{mlx5__diagnostics_8c_a942bb95d6139c49298e7634d796a59d1}} 
\index{mlx5\_diagnostics.c@{mlx5\_diagnostics.c}!mlx5\_core\_get\_index\_of\_diag\_counter@{mlx5\_core\_get\_index\_of\_diag\_counter}}
\index{mlx5\_core\_get\_index\_of\_diag\_counter@{mlx5\_core\_get\_index\_of\_diag\_counter}!mlx5\_diagnostics.c@{mlx5\_diagnostics.c}}
\doxysubsubsection{\texorpdfstring{mlx5\_core\_get\_index\_of\_diag\_counter()}{mlx5\_core\_get\_index\_of\_diag\_counter()}}
{\footnotesize\ttfamily static int mlx5\+\_\+core\+\_\+get\+\_\+index\+\_\+of\+\_\+diag\+\_\+counter (\begin{DoxyParamCaption}\item[{const struct \mbox{\hyperlink{structmlx5__core__diagnostics__entry}{mlx5\+\_\+core\+\_\+diagnostics\+\_\+entry}} $\ast$}]{entry,  }\item[{int}]{size,  }\item[{u16}]{counter\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{diagnostics_8h_source_l00039}{mlx5\+\_\+core\+\_\+diagnostics\+\_\+entry\+::counter\+\_\+id}}.



Referenced by \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00086}{mlx5\+\_\+core\+\_\+set\+\_\+diagnostics\+\_\+full()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d48/mlx5__diagnostics_8c_a942bb95d6139c49298e7634d796a59d1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__diagnostics_8c_aa7ec9a657ee8d665863fd486f7483441}\label{mlx5__diagnostics_8c_aa7ec9a657ee8d665863fd486f7483441}} 
\index{mlx5\_diagnostics.c@{mlx5\_diagnostics.c}!mlx5\_core\_put\_diag\_counter@{mlx5\_core\_put\_diag\_counter}}
\index{mlx5\_core\_put\_diag\_counter@{mlx5\_core\_put\_diag\_counter}!mlx5\_diagnostics.c@{mlx5\_diagnostics.c}}
\doxysubsubsection{\texorpdfstring{mlx5\_core\_put\_diag\_counter()}{mlx5\_core\_put\_diag\_counter()}}
{\footnotesize\ttfamily static void mlx5\+\_\+core\+\_\+put\+\_\+diag\+\_\+counter (\begin{DoxyParamCaption}\item[{const struct \mbox{\hyperlink{structmlx5__core__diagnostics__entry}{mlx5\+\_\+core\+\_\+diagnostics\+\_\+entry}} $\ast$}]{entry,  }\item[{u64 $\ast$}]{array,  }\item[{int}]{size,  }\item[{u16}]{counter\+\_\+id,  }\item[{u64}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{diagnostics_8h_source_l00039}{mlx5\+\_\+core\+\_\+diagnostics\+\_\+entry\+::counter\+\_\+id}}.



Referenced by \mbox{\hyperlink{mlx5__diagnostics_8c_source_l00166}{mlx5\+\_\+core\+\_\+get\+\_\+diagnostics\+\_\+full()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d48/mlx5__diagnostics_8c_aa7ec9a657ee8d665863fd486f7483441_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__diagnostics_8c_a96465c3fa1bd8df3ad42de0dc68c52ec}\label{mlx5__diagnostics_8c_a96465c3fa1bd8df3ad42de0dc68c52ec}} 
\index{mlx5\_diagnostics.c@{mlx5\_diagnostics.c}!mlx5\_core\_set\_diagnostics\_full@{mlx5\_core\_set\_diagnostics\_full}}
\index{mlx5\_core\_set\_diagnostics\_full@{mlx5\_core\_set\_diagnostics\_full}!mlx5\_diagnostics.c@{mlx5\_diagnostics.c}}
\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$}]{dev,  }\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]{d1/d48/mlx5__diagnostics_8c_a96465c3fa1bd8df3ad42de0dc68c52ec_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d48/mlx5__diagnostics_8c_a96465c3fa1bd8df3ad42de0dc68c52ec_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__diagnostics_8c_a4a16de0d75ec174f21577c1e57bca51b}\label{mlx5__diagnostics_8c_a4a16de0d75ec174f21577c1e57bca51b}} 
\index{mlx5\_diagnostics.c@{mlx5\_diagnostics.c}!mlx5\_core\_supports\_diagnostics@{mlx5\_core\_supports\_diagnostics}}
\index{mlx5\_core\_supports\_diagnostics@{mlx5\_core\_supports\_diagnostics}!mlx5\_diagnostics.c@{mlx5\_diagnostics.c}}
\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$}]{dev,  }\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]{d1/d48/mlx5__diagnostics_8c_a4a16de0d75ec174f21577c1e57bca51b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__diagnostics_8c_a1107f6b61f43b5591965b89dc200a093}\label{mlx5__diagnostics_8c_a1107f6b61f43b5591965b89dc200a093}} 
\index{mlx5\_diagnostics.c@{mlx5\_diagnostics.c}!mlx5\_get\_eeprom@{mlx5\_get\_eeprom}}
\index{mlx5\_get\_eeprom@{mlx5\_get\_eeprom}!mlx5\_diagnostics.c@{mlx5\_diagnostics.c}}
\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]{d1/d48/mlx5__diagnostics_8c_a1107f6b61f43b5591965b89dc200a093_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d48/mlx5__diagnostics_8c_a1107f6b61f43b5591965b89dc200a093_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__diagnostics_8c_a081609d563276d52d14f519efca758b0}\label{mlx5__diagnostics_8c_a081609d563276d52d14f519efca758b0}} 
\index{mlx5\_diagnostics.c@{mlx5\_diagnostics.c}!mlx5\_get\_eeprom\_info@{mlx5\_get\_eeprom\_info}}
\index{mlx5\_get\_eeprom\_info@{mlx5\_get\_eeprom\_info}!mlx5\_diagnostics.c@{mlx5\_diagnostics.c}}
\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]{d1/d48/mlx5__diagnostics_8c_a081609d563276d52d14f519efca758b0_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d48/mlx5__diagnostics_8c_a081609d563276d52d14f519efca758b0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__diagnostics_8c_a1d00fa84f8aab5462c8926622d729ee9}\label{mlx5__diagnostics_8c_a1d00fa84f8aab5462c8926622d729ee9}} 
\index{mlx5\_diagnostics.c@{mlx5\_diagnostics.c}!mlx5\_read\_eeprom@{mlx5\_read\_eeprom}}
\index{mlx5\_read\_eeprom@{mlx5\_read\_eeprom}!mlx5\_diagnostics.c@{mlx5\_diagnostics.c}}
\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]{d1/d48/mlx5__diagnostics_8c_a1d00fa84f8aab5462c8926622d729ee9_cgraph}
\end{center}
\end{figure}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{mlx5__diagnostics_8c_a4283ebb782ae02032d8b904321b0b2cf}\label{mlx5__diagnostics_8c_a4283ebb782ae02032d8b904321b0b2cf}} 
\index{mlx5\_diagnostics.c@{mlx5\_diagnostics.c}!mlx5\_core\_general\_diagnostics\_table@{mlx5\_core\_general\_diagnostics\_table}}
\index{mlx5\_core\_general\_diagnostics\_table@{mlx5\_core\_general\_diagnostics\_table}!mlx5\_diagnostics.c@{mlx5\_diagnostics.c}}
\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{]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{}
\DoxyCodeLine{\}}

\end{DoxyCode}


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{mlx5__diagnostics_8c_a87e1fa09dbf03ff0413b9a4246e89ffc}\label{mlx5__diagnostics_8c_a87e1fa09dbf03ff0413b9a4246e89ffc}} 
\index{mlx5\_diagnostics.c@{mlx5\_diagnostics.c}!mlx5\_core\_pci\_diagnostics\_table@{mlx5\_core\_pci\_diagnostics\_table}}
\index{mlx5\_core\_pci\_diagnostics\_table@{mlx5\_core\_pci\_diagnostics\_table}!mlx5\_diagnostics.c@{mlx5\_diagnostics.c}}
\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{]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{}
\DoxyCodeLine{\}}

\end{DoxyCode}


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()}}.

