\hypertarget{diagnostics_8h_source}{}\doxysection{diagnostics.\+h}
\label{diagnostics_8h_source}\index{dev/mlx5/diagnostics.h@{dev/mlx5/diagnostics.h}}
\mbox{\hyperlink{diagnostics_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00001}00001 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00002}00002 \textcolor{comment}{ * Copyright (c) 2013-\/2017, Mellanox Technologies, Ltd.  All rights reserved.}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00003}00003 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00004}00004 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00005}00005 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00006}00006 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00007}00007 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00008}00008 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00009}00009 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00010}00010 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00011}00011 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00012}00012 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00013}00013 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS `AS IS' AND}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00014}00014 \textcolor{comment}{ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00015}00015 \textcolor{comment}{ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00016}00016 \textcolor{comment}{ * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00017}00017 \textcolor{comment}{ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00018}00018 \textcolor{comment}{ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00019}00019 \textcolor{comment}{ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00020}00020 \textcolor{comment}{ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00021}00021 \textcolor{comment}{ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00022}00022 \textcolor{comment}{ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00023}00023 \textcolor{comment}{ * SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00024}00024 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00025}00025 \textcolor{comment}{ * \$FreeBSD\$}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00026}00026 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00027}00027 }
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00028}00028 \textcolor{preprocessor}{\#ifndef MLX5\_CORE\_DIAGNOSTICS\_H}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00029}00029 \textcolor{preprocessor}{\#define MLX5\_CORE\_DIAGNOSTICS\_H}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00030}00030 }
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00031}\mbox{\hyperlink{diagnostics_8h_a09e7b0e104f988b63c16f97ed22bf112}{00031}} \textcolor{preprocessor}{\#define MLX5\_CORE\_DIAGNOSTICS\_NUM(n, s, t) n}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00032}\mbox{\hyperlink{diagnostics_8h_a564dbe8b5909c6db75fb45e402c4d6f5}{00032}} \textcolor{preprocessor}{\#define MLX5\_CORE\_DIAGNOSTICS\_STRUCT(n, s, t) s,}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00033}\mbox{\hyperlink{diagnostics_8h_a3185f3c4f19a9977d92c2115ef2fa408}{00033}} \textcolor{preprocessor}{\#define MLX5\_CORE\_DIAGNOSTICS\_ENTRY(n, s, t) \{ \#s, (t) \},}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00034}00034 }
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00035}\mbox{\hyperlink{diagnostics_8h_a75394e6a4ad1e53643ef6d10fec48ad6}{00035}} \textcolor{keyword}{static} \mbox{\hyperlink{diagnostics_8h_a75394e6a4ad1e53643ef6d10fec48ad6}{MALLOC\_DEFINE}}(M\_MLX5\_EEPROM, \textcolor{stringliteral}{"{}MLX5EEPROM"{}}, \textcolor{stringliteral}{"{}MLX5 EEPROM information"{}});}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00036}00036 }
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00037}\mbox{\hyperlink{structmlx5__core__diagnostics__entry}{00037}} \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__core__diagnostics__entry}{mlx5\_core\_diagnostics\_entry}} \{}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00038}\mbox{\hyperlink{structmlx5__core__diagnostics__entry_a46e07f1b513eba7c9f465fd756fc49ad}{00038}}         \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\mbox{\hyperlink{structmlx5__core__diagnostics__entry_a46e07f1b513eba7c9f465fd756fc49ad}{desc}};}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00039}\mbox{\hyperlink{structmlx5__core__diagnostics__entry_a90e81a3fc16bb67bf7d87f2013f0cdfc}{00039}}         u16     \mbox{\hyperlink{structmlx5__core__diagnostics__entry_a90e81a3fc16bb67bf7d87f2013f0cdfc}{counter\_id}};}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00040}00040 \};}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00041}00041 }
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00042}\mbox{\hyperlink{diagnostics_8h_a8a4d564bca272b990b9454d4e5a750fb}{00042}} \textcolor{preprocessor}{\#define MLX5\_CORE\_PCI\_DIAGNOSTICS(m) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00043}00043 \textcolor{preprocessor}{m(+1, pxd\_ready\_bp, 0x0401) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00044}00044 \textcolor{preprocessor}{m(+1, pci\_write\_bp, 0x0402) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00045}00045 \textcolor{preprocessor}{m(+1, pci\_read\_bp, 0x0403) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00046}00046 \textcolor{preprocessor}{m(+1, pci\_read\_stuck\_no\_completion\_buffer, 0x0404) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00047}00047 \textcolor{preprocessor}{m(+1, max\_pci\_bw, 0x0405) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00048}00048 \textcolor{preprocessor}{m(+1, used\_pci\_bw, 0x0406) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00049}00049 \textcolor{preprocessor}{m(+1, rx\_pci\_errors, 0) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00050}00050 \textcolor{preprocessor}{m(+1, tx\_pci\_errors, 0) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00051}00051 \textcolor{preprocessor}{m(+1, tx\_pci\_correctable\_errors, 0) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00052}00052 \textcolor{preprocessor}{m(+1, tx\_pci\_non\_fatal\_errors, 0) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00053}00053 \textcolor{preprocessor}{m(+1, tx\_pci\_fatal\_errors, 0)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00054}00054 }
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00055}\mbox{\hyperlink{diagnostics_8h_a78075f2194bf8c27dfe1630c064866cd}{00055}} \textcolor{preprocessor}{\#define MLX5\_CORE\_PCI\_DIAGNOSTICS\_NUM \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00056}00056 \textcolor{preprocessor}{        (0 MLX5\_CORE\_PCI\_DIAGNOSTICS(MLX5\_CORE\_DIAGNOSTICS\_NUM))}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00057}00057 }
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00058}\mbox{\hyperlink{unionmlx5__core__pci__diagnostics}{00058}} \textcolor{keyword}{union }\mbox{\hyperlink{unionmlx5__core__pci__diagnostics}{mlx5\_core\_pci\_diagnostics}} \{}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00059}\mbox{\hyperlink{unionmlx5__core__pci__diagnostics_a253059b17b683329f7e61c72bfa1d86f}{00059}}         u64     \mbox{\hyperlink{unionmlx5__core__pci__diagnostics_a253059b17b683329f7e61c72bfa1d86f}{array}}[\mbox{\hyperlink{diagnostics_8h_a78075f2194bf8c27dfe1630c064866cd}{MLX5\_CORE\_PCI\_DIAGNOSTICS\_NUM}}];}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00060}00060         \textcolor{keyword}{struct }\{}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00061}00061                 u64     \mbox{\hyperlink{diagnostics_8h_a8a4d564bca272b990b9454d4e5a750fb}{MLX5\_CORE\_PCI\_DIAGNOSTICS}}(}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00062}00062                         \mbox{\hyperlink{diagnostics_8h_a564dbe8b5909c6db75fb45e402c4d6f5}{MLX5\_CORE\_DIAGNOSTICS\_STRUCT}}) dummy[0];}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00063}\mbox{\hyperlink{unionmlx5__core__pci__diagnostics_aae72754dfc3c558c01afe6f7bfc93141}{00063}}         \}       \mbox{\hyperlink{unionmlx5__core__pci__diagnostics_aae72754dfc3c558c01afe6f7bfc93141}{counter}};}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00064}00064 \};}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00065}00065 }
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00066}00066 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__core__diagnostics__entry}{mlx5\_core\_diagnostics\_entry}}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00067}00067         \mbox{\hyperlink{diagnostics_8h_abc401592678e18f1f00922140bacfb75}{mlx5\_core\_pci\_diagnostics\_table}}[\mbox{\hyperlink{diagnostics_8h_a78075f2194bf8c27dfe1630c064866cd}{MLX5\_CORE\_PCI\_DIAGNOSTICS\_NUM}}];}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00068}00068 }
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00069}\mbox{\hyperlink{diagnostics_8h_aeae5b4945ab86c8bdd5e12285f55c062}{00069}} \textcolor{preprocessor}{\#define MLX5\_CORE\_GENERAL\_DIAGNOSTICS(m) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00070}00070 \textcolor{preprocessor}{m(+1, l0\_mtt\_miss, 0x0801) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00071}00071 \textcolor{preprocessor}{m(+1, l0\_mtt\_hit, 0x0802) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00072}00072 \textcolor{preprocessor}{m(+1, l1\_mtt\_miss, 0x0803) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00073}00073 \textcolor{preprocessor}{m(+1, l1\_mtt\_hit, 0x0804) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00074}00074 \textcolor{preprocessor}{m(+1, l0\_mpt\_miss, 0x0805) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00075}00075 \textcolor{preprocessor}{m(+1, l0\_mpt\_hit, 0x0806) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00076}00076 \textcolor{preprocessor}{m(+1, l1\_mpt\_miss, 0x0807) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00077}00077 \textcolor{preprocessor}{m(+1, l1\_mpt\_hit, 0x0808) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00078}00078 \textcolor{preprocessor}{m(+1, rxb\_no\_slow\_path\_credits, 0x0c01) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00079}00079 \textcolor{preprocessor}{m(+1, rxb\_no\_fast\_path\_credits, 0x0c02) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00080}00080 \textcolor{preprocessor}{m(+1, rxb\_rxt\_no\_slow\_path\_cred\_perf\_count, 0x0c03) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00081}00081 \textcolor{preprocessor}{m(+1, rxb\_rxt\_no\_fast\_path\_cred\_perf\_count, 0x0c04) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00082}00082 \textcolor{preprocessor}{m(+1, rxt\_ctrl\_perf\_slice\_load\_slow, 0x1001) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00083}00083 \textcolor{preprocessor}{m(+1, rxt\_ctrl\_perf\_slice\_load\_fast, 0x1002) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00084}00084 \textcolor{preprocessor}{m(+1, rxt\_steering\_perf\_count\_steering0\_rse\_work\_rate, 0x1003) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00085}00085 \textcolor{preprocessor}{m(+1, rxt\_steering\_perf\_count\_steering1\_rse\_work\_rate, 0x1004) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00086}00086 \textcolor{preprocessor}{m(+1, perf\_count\_tpt\_credit, 0x1401) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00087}00087 \textcolor{preprocessor}{m(+1, perf\_wb\_miss, 0x1402) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00088}00088 \textcolor{preprocessor}{m(+1, perf\_wb\_hit, 0x1403) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00089}00089 \textcolor{preprocessor}{m(+1, rxw\_perf\_rx\_l1\_slow\_miss\_ldb, 0x1404) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00090}00090 \textcolor{preprocessor}{m(+1, rxw\_perf\_rx\_l1\_slow\_hit\_ldb, 0x1405) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00091}00091 \textcolor{preprocessor}{m(+1, rxw\_perf\_rx\_l1\_fast\_miss\_ldb, 0x1406) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00092}00092 \textcolor{preprocessor}{m(+1, rxw\_perf\_rx\_l1\_fast\_hit\_ldb, 0x1407) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00093}00093 \textcolor{preprocessor}{m(+1, rxw\_perf\_l2\_cache\_read\_miss\_ldb, 0x1408) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00094}00094 \textcolor{preprocessor}{m(+1, rxw\_perf\_l2\_cache\_read\_hit\_ldb, 0x1409) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00095}00095 \textcolor{preprocessor}{m(+1, rxw\_perf\_rx\_l1\_slow\_miss\_reqsl, 0x140a) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00096}00096 \textcolor{preprocessor}{m(+1, rxw\_perf\_rx\_l1\_slow\_hit\_reqsl, 0x140b) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00097}00097 \textcolor{preprocessor}{m(+1, rxw\_perf\_rx\_l1\_fast\_miss\_reqsl, 0x140c) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00098}00098 \textcolor{preprocessor}{m(+1, rxw\_perf\_rx\_l1\_fast\_hit\_reqsl, 0x140d) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00099}00099 \textcolor{preprocessor}{m(+1, rxw\_perf\_l2\_cache\_read\_miss\_reqsl, 0x140e) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00100}00100 \textcolor{preprocessor}{m(+1, rxw\_perf\_l2\_cache\_read\_hit\_reqsl, 0x140f) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00101}00101 \textcolor{preprocessor}{m(+1, rxs\_no\_pxt\_credits, 0x1801) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00102}00102 \textcolor{preprocessor}{m(+1, rxc\_eq\_all\_slices\_busy, 0x1c01) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00103}00103 \textcolor{preprocessor}{m(+1, rxc\_cq\_all\_slices\_busy, 0x1c02) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00104}00104 \textcolor{preprocessor}{m(+1, rxc\_msix\_all\_slices\_busy, 0x1c03) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00105}00105 \textcolor{preprocessor}{m(+1, sxw\_qp\_done\_due\_to\_vl\_limited, 0x2001) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00106}00106 \textcolor{preprocessor}{m(+1, sxw\_qp\_done\_due\_to\_desched, 0x2002) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00107}00107 \textcolor{preprocessor}{m(+1, sxw\_qp\_done\_due\_to\_work\_done, 0x2003) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00108}00108 \textcolor{preprocessor}{m(+1, sxw\_qp\_done\_due\_to\_limited, 0x2004) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00109}00109 \textcolor{preprocessor}{m(+1, sxw\_qp\_done\_due\_to\_e2e\_credits, 0x2005) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00110}00110 \textcolor{preprocessor}{m(+1, sxw\_packet\_send\_sxw2sxp\_go\_vld, 0x2006) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00111}00111 \textcolor{preprocessor}{m(+1, sxw\_perf\_count\_steering\_hit, 0x2007) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00112}00112 \textcolor{preprocessor}{m(+1, sxw\_perf\_count\_steering\_miss, 0x2008) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00113}00113 \textcolor{preprocessor}{m(+1, sxw\_perf\_count\_steering\_rse\_0, 0x2009) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00114}00114 \textcolor{preprocessor}{m(+1, sxd\_no\_sched\_credits, 0x2401) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00115}00115 \textcolor{preprocessor}{m(+1, sxd\_no\_slow\_path\_sched\_credits, 0x2402) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00116}00116 \textcolor{preprocessor}{m(+1, tpt\_indirect\_mem\_key, 0x2801)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00117}00117 }
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00118}\mbox{\hyperlink{diagnostics_8h_a51625de9157770f21f56084a50008198}{00118}} \textcolor{preprocessor}{\#define MLX5\_CORE\_GENERAL\_DIAGNOSTICS\_NUM \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00119}00119 \textcolor{preprocessor}{        (0 MLX5\_CORE\_GENERAL\_DIAGNOSTICS(MLX5\_CORE\_DIAGNOSTICS\_NUM))}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00120}00120 }
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00121}\mbox{\hyperlink{unionmlx5__core__general__diagnostics}{00121}} \textcolor{keyword}{union }\mbox{\hyperlink{unionmlx5__core__general__diagnostics}{mlx5\_core\_general\_diagnostics}} \{}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00122}\mbox{\hyperlink{unionmlx5__core__general__diagnostics_a795959b86dca310d59fdb8d5ee94a970}{00122}}         u64     \mbox{\hyperlink{unionmlx5__core__general__diagnostics_a795959b86dca310d59fdb8d5ee94a970}{array}}[\mbox{\hyperlink{diagnostics_8h_a51625de9157770f21f56084a50008198}{MLX5\_CORE\_GENERAL\_DIAGNOSTICS\_NUM}}];}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00123}00123         \textcolor{keyword}{struct }\{}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00124}00124                 u64     \mbox{\hyperlink{diagnostics_8h_aeae5b4945ab86c8bdd5e12285f55c062}{MLX5\_CORE\_GENERAL\_DIAGNOSTICS}}(}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00125}00125                         \mbox{\hyperlink{diagnostics_8h_a564dbe8b5909c6db75fb45e402c4d6f5}{MLX5\_CORE\_DIAGNOSTICS\_STRUCT}}) dummy[0];}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00126}\mbox{\hyperlink{unionmlx5__core__general__diagnostics_a9fe1ec7148b05e50a59bd9dce3d28307}{00126}}         \}       \mbox{\hyperlink{unionmlx5__core__general__diagnostics_a9fe1ec7148b05e50a59bd9dce3d28307}{counter}};}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00127}00127 \};}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00128}00128 }
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00129}00129 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__core__diagnostics__entry}{mlx5\_core\_diagnostics\_entry}}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00130}00130         \mbox{\hyperlink{diagnostics_8h_ac02a3acc52b0b521aff23f44dcbc81e3}{mlx5\_core\_general\_diagnostics\_table}}[\mbox{\hyperlink{diagnostics_8h_a51625de9157770f21f56084a50008198}{MLX5\_CORE\_GENERAL\_DIAGNOSTICS\_NUM}}];}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00131}00131 }
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00132}\mbox{\hyperlink{structmlx5__eeprom}{00132}} \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__eeprom}{mlx5\_eeprom}} \{}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00133}\mbox{\hyperlink{structmlx5__eeprom_aa93c604edcc259f68900245a1502a402}{00133}}         \textcolor{keywordtype}{int}     \mbox{\hyperlink{structmlx5__eeprom_aa93c604edcc259f68900245a1502a402}{lock\_bit}};}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00134}\mbox{\hyperlink{structmlx5__eeprom_ac2ef50b162ef4dfb5863b387152b8dba}{00134}}         \textcolor{keywordtype}{int}     \mbox{\hyperlink{structmlx5__eeprom_ac2ef50b162ef4dfb5863b387152b8dba}{i2c\_addr}};}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00135}\mbox{\hyperlink{structmlx5__eeprom_ac53d68b3cf00b8cfa85b50095cbea899}{00135}}         \textcolor{keywordtype}{int}     \mbox{\hyperlink{structmlx5__eeprom_ac53d68b3cf00b8cfa85b50095cbea899}{page\_num}};}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00136}\mbox{\hyperlink{structmlx5__eeprom_aa6501ac737a8d0841d5d00941e130d39}{00136}}         \textcolor{keywordtype}{int}     \mbox{\hyperlink{structmlx5__eeprom_aa6501ac737a8d0841d5d00941e130d39}{device\_addr}};}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00137}\mbox{\hyperlink{structmlx5__eeprom_af7c0617ed733ca2aa36f87a2baf3f0f1}{00137}}         \textcolor{keywordtype}{int}     \mbox{\hyperlink{structmlx5__eeprom_af7c0617ed733ca2aa36f87a2baf3f0f1}{module\_num}};}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00138}\mbox{\hyperlink{structmlx5__eeprom_abf6ca9a363668fce6edc11b25c071db4}{00138}}         \textcolor{keywordtype}{int}     \mbox{\hyperlink{structmlx5__eeprom_abf6ca9a363668fce6edc11b25c071db4}{len}};}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00139}\mbox{\hyperlink{structmlx5__eeprom_a869d5225ef5964d04d4d835f44ae9855}{00139}}         \textcolor{keywordtype}{int}     \mbox{\hyperlink{structmlx5__eeprom_a869d5225ef5964d04d4d835f44ae9855}{type}};}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00140}\mbox{\hyperlink{structmlx5__eeprom_a7f1b41e312e78a9956c0faa32ff09d3e}{00140}}         \textcolor{keywordtype}{int}     \mbox{\hyperlink{structmlx5__eeprom_a7f1b41e312e78a9956c0faa32ff09d3e}{page\_valid}};}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00141}\mbox{\hyperlink{structmlx5__eeprom_ade7ff0de51349d4e3c07842a3030312c}{00141}}         u32     *\mbox{\hyperlink{structmlx5__eeprom_ade7ff0de51349d4e3c07842a3030312c}{data}};}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00142}00142 \};}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00143}00143 }
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00144}00144 \textcolor{comment}{/* function prototypes */}}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00145}00145 \textcolor{keywordtype}{int} \mbox{\hyperlink{diagnostics_8h_a8119f9ce2267687f5ad06db5d26f4488}{mlx5\_core\_set\_diagnostics\_full}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *mdev,}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00146}00146                                    u8 enable\_pci, u8 enable\_general);}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00147}00147 \textcolor{keywordtype}{int} \mbox{\hyperlink{diagnostics_8h_a86f48a41965c67d9e0304122ed8327c4}{mlx5\_core\_get\_diagnostics\_full}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *mdev,}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00148}00148                                    \textcolor{keyword}{union} \mbox{\hyperlink{unionmlx5__core__pci__diagnostics}{mlx5\_core\_pci\_diagnostics}} *ppci,}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00149}00149                                    \textcolor{keyword}{union} \mbox{\hyperlink{unionmlx5__core__general__diagnostics}{mlx5\_core\_general\_diagnostics}} *pgen);}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00150}00150 \textcolor{keywordtype}{int} \mbox{\hyperlink{diagnostics_8h_ae08773a28ebd8a8ad883d39acb1d32a6}{mlx5\_core\_supports\_diagnostics}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *mdev, u16 counter\_id);}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00151}00151 \textcolor{keywordtype}{int} \mbox{\hyperlink{diagnostics_8h_a1d00fa84f8aab5462c8926622d729ee9}{mlx5\_read\_eeprom}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *dev, \textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__eeprom}{mlx5\_eeprom}} *eeprom);}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00152}00152 \textcolor{keywordtype}{int} \mbox{\hyperlink{diagnostics_8h_a081609d563276d52d14f519efca758b0}{mlx5\_get\_eeprom\_info}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *dev, \textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__eeprom}{mlx5\_eeprom}} *eeprom);}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00153}00153 \textcolor{keywordtype}{int} \mbox{\hyperlink{diagnostics_8h_a1107f6b61f43b5591965b89dc200a093}{mlx5\_get\_eeprom}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *dev, \textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__eeprom}{mlx5\_eeprom}} *ee);}
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00154}00154 }
\DoxyCodeLine{\Hypertarget{diagnostics_8h_source_l00155}00155 \textcolor{preprocessor}{\#endif                                  }\textcolor{comment}{/* MLX5\_CORE\_DIAGNOSTICS\_H */}\textcolor{preprocessor}{}}

\end{DoxyCode}
