\hypertarget{mlx5__eq_8c_source}{}\doxysection{mlx5\+\_\+eq.\+c}
\label{mlx5__eq_8c_source}\index{dev/mlx5/mlx5\_core/mlx5\_eq.c@{dev/mlx5/mlx5\_core/mlx5\_eq.c}}
\mbox{\hyperlink{mlx5__eq_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00001}00001 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00002}00002 \textcolor{comment}{ * Copyright (c) 2013-\/2021, Mellanox Technologies, Ltd.  All rights reserved.}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00003}00003 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00004}00004 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00005}00005 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00006}00006 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00007}00007 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00008}00008 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00009}00009 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00010}00010 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00011}00011 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00012}00012 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00013}00013 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS `AS IS' AND}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00014}00014 \textcolor{comment}{ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00015}00015 \textcolor{comment}{ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00016}00016 \textcolor{comment}{ * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00017}00017 \textcolor{comment}{ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00018}00018 \textcolor{comment}{ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00019}00019 \textcolor{comment}{ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00020}00020 \textcolor{comment}{ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00021}00021 \textcolor{comment}{ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00022}00022 \textcolor{comment}{ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00023}00023 \textcolor{comment}{ * SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00024}00024 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00025}00025 \textcolor{comment}{ * \$FreeBSD\$}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00026}00026 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00027}00027 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00028}00028 \textcolor{preprocessor}{\#include "{}opt\_rss.h"{}}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00029}00029 \textcolor{preprocessor}{\#include "{}opt\_ratelimit.h"{}}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00030}00030 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00031}00031 \textcolor{preprocessor}{\#include <linux/interrupt.h>}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00032}00032 \textcolor{preprocessor}{\#include <linux/module.h>}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00033}00033 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{port_8h}{dev/mlx5/port.h}}>}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00034}00034 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{mlx5__ifc_8h}{dev/mlx5/mlx5\_ifc.h}}>}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00035}00035 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{core_8h}{dev/mlx5/mlx5\_fpga/core.h}}>}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00036}00036 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{mlx5__core_8h}{dev/mlx5/mlx5\_core/mlx5\_core.h}}>}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00037}00037 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{eswitch_8h}{dev/mlx5/mlx5\_core/eswitch.h}}>}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00038}00038 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00039}00039 \textcolor{preprocessor}{\#ifdef  RSS}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00040}00040 \textcolor{preprocessor}{\#include <net/rss\_config.h>}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00041}00041 \textcolor{preprocessor}{\#include <netinet/in\_rss.h>}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00042}00042 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00043}00043 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00044}00044 \textcolor{keyword}{enum} \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00045}\mbox{\hyperlink{mlx5__eq_8c_aa7df87806f64f3b241c8cde9eb57cad5a4878aafd13e306ff56db737cd683e822}{00045}}         \mbox{\hyperlink{mlx5__eq_8c_aa7df87806f64f3b241c8cde9eb57cad5a4878aafd13e306ff56db737cd683e822}{MLX5\_EQE\_SIZE}}              = \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__eqe}{mlx5\_eqe}}),}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00046}\mbox{\hyperlink{mlx5__eq_8c_aa7df87806f64f3b241c8cde9eb57cad5a5e62450cbcf1626f316a711ef98cf73c}{00046}}         \mbox{\hyperlink{mlx5__eq_8c_aa7df87806f64f3b241c8cde9eb57cad5a5e62450cbcf1626f316a711ef98cf73c}{MLX5\_EQE\_OWNER\_INIT\_VAL}}  = 0x1,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00047}00047 \};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00048}00048 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00049}00049 \textcolor{keyword}{enum} \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00050}\mbox{\hyperlink{mlx5__eq_8c_a2f1398dba5e4a5616b83437528bdb28ea58247a5f549b9429827df6ddd8c1b8d1}{00050}}         \mbox{\hyperlink{mlx5__eq_8c_a2f1398dba5e4a5616b83437528bdb28ea58247a5f549b9429827df6ddd8c1b8d1}{MLX5\_NUM\_SPARE\_EQE}}    = 0x80,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00051}\mbox{\hyperlink{mlx5__eq_8c_a2f1398dba5e4a5616b83437528bdb28eab813bdf8e7cb01f4c924b2f07716b7c8}{00051}}         \mbox{\hyperlink{mlx5__eq_8c_a2f1398dba5e4a5616b83437528bdb28eab813bdf8e7cb01f4c924b2f07716b7c8}{MLX5\_NUM\_ASYNC\_EQE}}    = 0x100,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00052}\mbox{\hyperlink{mlx5__eq_8c_a2f1398dba5e4a5616b83437528bdb28ea605def43f5204d8c00b5dcaf10ccbaee}{00052}}         \mbox{\hyperlink{mlx5__eq_8c_a2f1398dba5e4a5616b83437528bdb28ea605def43f5204d8c00b5dcaf10ccbaee}{MLX5\_NUM\_CMD\_EQE}}        = 32,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00053}00053 \};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00054}00054 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00055}00055 \textcolor{keyword}{enum} \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00056}\mbox{\hyperlink{mlx5__eq_8c_aeac2de18c0ed342a690b3e2ba3c52426a968a1c570d470b00b54d71d968660451}{00056}}         \mbox{\hyperlink{mlx5__eq_8c_aeac2de18c0ed342a690b3e2ba3c52426a968a1c570d470b00b54d71d968660451}{MLX5\_EQ\_DOORBEL\_OFFSET}}    = 0x40,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00057}00057 \};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00058}00058 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00059}\mbox{\hyperlink{mlx5__eq_8c_a07de28769aa29b9843ed42e1d6ee98c3}{00059}} \textcolor{preprocessor}{\#define MLX5\_ASYNC\_EVENT\_MASK ((1ull << MLX5\_EVENT\_TYPE\_PATH\_MIG)           | \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00060}00060 \textcolor{preprocessor}{                               (1ull << MLX5\_EVENT\_TYPE\_COMM\_EST)           | \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00061}00061 \textcolor{preprocessor}{                               (1ull << MLX5\_EVENT\_TYPE\_SQ\_DRAINED)         | \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00062}00062 \textcolor{preprocessor}{                               (1ull << MLX5\_EVENT\_TYPE\_CQ\_ERROR)           | \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00063}00063 \textcolor{preprocessor}{                               (1ull << MLX5\_EVENT\_TYPE\_WQ\_CATAS\_ERROR)     | \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00064}00064 \textcolor{preprocessor}{                               (1ull << MLX5\_EVENT\_TYPE\_PATH\_MIG\_FAILED)    | \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00065}00065 \textcolor{preprocessor}{                               (1ull << MLX5\_EVENT\_TYPE\_WQ\_INVAL\_REQ\_ERROR) | \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00066}00066 \textcolor{preprocessor}{                               (1ull << MLX5\_EVENT\_TYPE\_WQ\_ACCESS\_ERROR)    | \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00067}00067 \textcolor{preprocessor}{                               (1ull << MLX5\_EVENT\_TYPE\_PORT\_CHANGE)        | \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00068}00068 \textcolor{preprocessor}{                               (1ull << MLX5\_EVENT\_TYPE\_SRQ\_CATAS\_ERROR)    | \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00069}00069 \textcolor{preprocessor}{                               (1ull << MLX5\_EVENT\_TYPE\_SRQ\_LAST\_WQE)       | \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00070}00070 \textcolor{preprocessor}{                               (1ull << MLX5\_EVENT\_TYPE\_SRQ\_RQ\_LIMIT)       | \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00071}00071 \textcolor{preprocessor}{                               (1ull << MLX5\_EVENT\_TYPE\_NIC\_VPORT\_CHANGE))}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00072}00072 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00073}\mbox{\hyperlink{structmap__eq__in}{00073}} \textcolor{keyword}{struct }\mbox{\hyperlink{structmap__eq__in}{map\_eq\_in}} \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00074}\mbox{\hyperlink{structmap__eq__in_a805f0562d1bf2299a4d7768eb985aa6a}{00074}}         u64     \mbox{\hyperlink{structmap__eq__in_a805f0562d1bf2299a4d7768eb985aa6a}{mask}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00075}\mbox{\hyperlink{structmap__eq__in_aed79ffcbe583150aa8de4a3805393550}{00075}}         u32     \mbox{\hyperlink{structmap__eq__in_aed79ffcbe583150aa8de4a3805393550}{reserved}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00076}\mbox{\hyperlink{structmap__eq__in_ab4c71852e49a47885b079f12a73ad723}{00076}}         u32     \mbox{\hyperlink{structmap__eq__in_ab4c71852e49a47885b079f12a73ad723}{unmap\_eqn}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00077}00077 \};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00078}00078 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00079}\mbox{\hyperlink{structcre__des__eq}{00079}} \textcolor{keyword}{struct }\mbox{\hyperlink{structcre__des__eq}{cre\_des\_eq}} \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00080}\mbox{\hyperlink{structcre__des__eq_a5cc74948509ef7faa9273bdff5f41ecf}{00080}}         u8      \mbox{\hyperlink{structcre__des__eq_a5cc74948509ef7faa9273bdff5f41ecf}{reserved}}[15];}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00081}\mbox{\hyperlink{structcre__des__eq_a2f44fcda3d66aca60cb25e8a0fdca87c}{00081}}         u8      \mbox{\hyperlink{structcre__des__eq_a2f44fcda3d66aca60cb25e8a0fdca87c}{eqn}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00082}00082 \};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00083}00083 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00084}00084 \textcolor{comment}{/*Function prototype*/}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00085}00085 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{mlx5__eq_8c_a370192090ff6f36fb616d0b3ce36d736}{mlx5\_port\_module\_event}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *dev,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00086}00086                                    \textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__eqe}{mlx5\_eqe}} *eqe);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00087}00087 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{mlx5__eq_8c_a136efde93b0d2eb47db4e65aeecda423}{mlx5\_port\_general\_notification\_event}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *dev,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00088}00088                                                  \textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__eqe}{mlx5\_eqe}} *eqe);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00089}00089 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00090}\mbox{\hyperlink{mlx5__eq_8c_ab65280bdbdd8c5b8b71333f3cb7184fb}{00090}} \textcolor{keyword}{static} \textcolor{keywordtype}{int} \mbox{\hyperlink{mlx5__eq_8c_ab65280bdbdd8c5b8b71333f3cb7184fb}{mlx5\_cmd\_destroy\_eq}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *dev, u8 eqn)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00091}00091 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00092}00092         u32 in[\mbox{\hyperlink{device_8h_a2bdfa104f3d7c0635b984382d1562741}{MLX5\_ST\_SZ\_DW}}(destroy\_eq\_in)] = \{0\};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00093}00093         u32 out[\mbox{\hyperlink{device_8h_a2bdfa104f3d7c0635b984382d1562741}{MLX5\_ST\_SZ\_DW}}(destroy\_eq\_out)] = \{0\};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00094}00094 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00095}00095         \mbox{\hyperlink{device_8h_a78623a3e69c7911bd715d06c32daa626}{MLX5\_SET}}(destroy\_eq\_in, in, opcode, \mbox{\hyperlink{mlx5__ifc_8h_a871a83db4e53fc6c6872b5ac7cc94f39a6b2b9e78bf79f8b781a454c134de23d1}{MLX5\_CMD\_OP\_DESTROY\_EQ}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00096}00096         \mbox{\hyperlink{device_8h_a78623a3e69c7911bd715d06c32daa626}{MLX5\_SET}}(destroy\_eq\_in, in, eq\_number, eqn);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00097}00097 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00098}00098         \textcolor{keywordflow}{return} \mbox{\hyperlink{driver_8h_ad7393e74938540251a0c894eb1eae135}{mlx5\_cmd\_exec}}(dev, in, \textcolor{keyword}{sizeof}(in), out, \textcolor{keyword}{sizeof}(out));}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00099}00099 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00100}00100 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00101}\mbox{\hyperlink{mlx5__eq_8c_a0ea9e4e030ad49e57298f7d499b808eb}{00101}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__eqe}{mlx5\_eqe}} *\mbox{\hyperlink{mlx5__eq_8c_a0ea9e4e030ad49e57298f7d499b808eb}{get\_eqe}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__eq}{mlx5\_eq}} *eq, u32 entry)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00102}00102 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00103}00103         \textcolor{keywordflow}{return} \mbox{\hyperlink{driver_8h_a33cbf18448505cb9cafe531bbf041d14}{mlx5\_buf\_offset}}(\&eq-\/>\mbox{\hyperlink{structmlx5__eq_ad3eccdfe4ef1446008150d3fb2653f2a}{buf}}, entry * \mbox{\hyperlink{mlx5__eq_8c_aa7df87806f64f3b241c8cde9eb57cad5a4878aafd13e306ff56db737cd683e822}{MLX5\_EQE\_SIZE}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00104}00104 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00105}00105 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00106}\mbox{\hyperlink{mlx5__eq_8c_aa2f2790b3e31d0ab96b46d2eb8f4ef95}{00106}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__eqe}{mlx5\_eqe}} *\mbox{\hyperlink{mlx5__eq_8c_aa2f2790b3e31d0ab96b46d2eb8f4ef95}{next\_eqe\_sw}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__eq}{mlx5\_eq}} *eq)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00107}00107 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00108}00108         \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__eqe}{mlx5\_eqe}} *eqe = \mbox{\hyperlink{mlx5__eq_8c_a0ea9e4e030ad49e57298f7d499b808eb}{get\_eqe}}(eq, eq-\/>\mbox{\hyperlink{structmlx5__eq_af395b92fc27f6ce9bc00fef79c50c86d}{cons\_index}} \& (eq-\/>\mbox{\hyperlink{structmlx5__eq_aa8ba15075cddf5025484a7ba1ac5069d}{nent}} -\/ 1));}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00109}00109 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00110}00110         \textcolor{keywordflow}{return} ((eqe-\/>\mbox{\hyperlink{structmlx5__eqe_abfc4b38e20a0c05ca32801bcbee13e59}{owner}} \& 1) \string^ !!(eq-\/>\mbox{\hyperlink{structmlx5__eq_af395b92fc27f6ce9bc00fef79c50c86d}{cons\_index}} \& eq-\/>\mbox{\hyperlink{structmlx5__eq_aa8ba15075cddf5025484a7ba1ac5069d}{nent}})) ? NULL : eqe;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00111}00111 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00112}00112 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00113}\mbox{\hyperlink{mlx5__eq_8c_a9403993252fdce1c121c2a438bd1ca11}{00113}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\mbox{\hyperlink{mlx5__eq_8c_a9403993252fdce1c121c2a438bd1ca11}{eqe\_type\_str}}(u8 \mbox{\hyperlink{structmlx5__eqe_a191b661790e078fb8412603dbdaef90c}{type}})}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00114}00114 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00115}00115         \textcolor{keywordflow}{switch} (\mbox{\hyperlink{structmlx5__eqe_a191b661790e078fb8412603dbdaef90c}{type}}) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00116}00116         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a2584d6859bf3156406fef6b4fb0291e1}{MLX5\_EVENT\_TYPE\_COMP}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00117}00117                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_COMP"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00118}00118         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a64b4aae4b355ce5bd223d7bc87215f05}{MLX5\_EVENT\_TYPE\_PATH\_MIG}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00119}00119                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_PATH\_MIG"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00120}00120         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a1f5b3684caf67e2aa56121262fb015ec}{MLX5\_EVENT\_TYPE\_COMM\_EST}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00121}00121                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_COMM\_EST"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00122}00122         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a4a4e9bb038d065fc0ab750acd18382c8}{MLX5\_EVENT\_TYPE\_SQ\_DRAINED}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00123}00123                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_SQ\_DRAINED"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00124}00124         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a7b9e557cb974ee70477ebe796e0bca5e}{MLX5\_EVENT\_TYPE\_SRQ\_LAST\_WQE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00125}00125                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_SRQ\_LAST\_WQE"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00126}00126         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063acf53a1f049f92eb5bf676da747dbdcd5}{MLX5\_EVENT\_TYPE\_SRQ\_RQ\_LIMIT}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00127}00127                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_SRQ\_RQ\_LIMIT"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00128}00128         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063ac5f53a36d84d888535c4fa3988187f4a}{MLX5\_EVENT\_TYPE\_CQ\_ERROR}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00129}00129                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_CQ\_ERROR"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00130}00130         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a461fc0b780811e35233a80a848a68864}{MLX5\_EVENT\_TYPE\_WQ\_CATAS\_ERROR}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00131}00131                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_WQ\_CATAS\_ERROR"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00132}00132         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063af2a72618087d5e98681ba0162d96e5a2}{MLX5\_EVENT\_TYPE\_PATH\_MIG\_FAILED}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00133}00133                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_PATH\_MIG\_FAILED"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00134}00134         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063ad4a8ba90f51f99e2998839ed9c8246d0}{MLX5\_EVENT\_TYPE\_WQ\_INVAL\_REQ\_ERROR}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00135}00135                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_WQ\_INVAL\_REQ\_ERROR"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00136}00136         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063add41f550f9687d7697535ea73d5fde79}{MLX5\_EVENT\_TYPE\_WQ\_ACCESS\_ERROR}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00137}00137                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_WQ\_ACCESS\_ERROR"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00138}00138         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a5ab872e263887b067be64b30d42ddfc5}{MLX5\_EVENT\_TYPE\_SRQ\_CATAS\_ERROR}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00139}00139                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_SRQ\_CATAS\_ERROR"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00140}00140         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063af3ceb325d726959210a068c563d579bf}{MLX5\_EVENT\_TYPE\_INTERNAL\_ERROR}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00141}00141                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_INTERNAL\_ERROR"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00142}00142         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a47faea4a0a803e59295fe6da826df0a3}{MLX5\_EVENT\_TYPE\_PORT\_CHANGE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00143}00143                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_PORT\_CHANGE"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00144}00144         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a8c60ccb4bac7bfad968d054d27e00d1a}{MLX5\_EVENT\_TYPE\_GPIO\_EVENT}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00145}00145                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_GPIO\_EVENT"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00146}00146         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a9eaee915a513242fa026d4a264544bbd}{MLX5\_EVENT\_TYPE\_CODING\_PORT\_MODULE\_EVENT}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00147}00147                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_PORT\_MODULE\_EVENT"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00148}00148         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a84b24870a2384ffb4c425072f6173eb5}{MLX5\_EVENT\_TYPE\_TEMP\_WARN\_EVENT}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00149}00149                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_TEMP\_WARN\_EVENT"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00150}00150         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063ab0f4ad2f5f9f810d9b78601128388984}{MLX5\_EVENT\_TYPE\_REMOTE\_CONFIG}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00151}00151                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_REMOTE\_CONFIG"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00152}00152         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a45b4d3cdf25474c2064e3f03b06e1efa}{MLX5\_EVENT\_TYPE\_DB\_BF\_CONGESTION}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00153}00153                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_DB\_BF\_CONGESTION"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00154}00154         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063aa188ac11d136a70f29309ab77821bb9d}{MLX5\_EVENT\_TYPE\_STALL\_EVENT}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00155}00155                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_STALL\_EVENT"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00156}00156         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063aba844396e0f961e23e9d87612290a0e4}{MLX5\_EVENT\_TYPE\_CMD}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00157}00157                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_CMD"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00158}00158         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063ad28471d56eff54d0e5e6b3d09dd74237}{MLX5\_EVENT\_TYPE\_PAGE\_REQUEST}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00159}00159                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_PAGE\_REQUEST"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00160}00160         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a8b0d4544929b4c4dde81c2b3fdafddde}{MLX5\_EVENT\_TYPE\_NIC\_VPORT\_CHANGE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00161}00161                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_NIC\_VPORT\_CHANGE"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00162}00162         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063ab909e4ecc70b8282ae12f46882c1d1d0}{MLX5\_EVENT\_TYPE\_FPGA\_ERROR}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00163}00163                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_FPGA\_ERROR"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00164}00164         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a6e534ea39493f369081d17d6512b5f00}{MLX5\_EVENT\_TYPE\_FPGA\_QP\_ERROR}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00165}00165                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_FPGA\_QP\_ERROR"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00166}00166         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a10bc52fe740469b211fb6c0b015d5df6}{MLX5\_EVENT\_TYPE\_CODING\_DCBX\_CHANGE\_EVENT}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00167}00167                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_CODING\_DCBX\_CHANGE\_EVENT"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00168}00168         \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a7f10a8bac45d42f448a865e4df6637c5}{MLX5\_EVENT\_TYPE\_CODING\_GENERAL\_NOTIFICATION\_EVENT}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00169}00169                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}MLX5\_EVENT\_TYPE\_CODING\_GENERAL\_NOTIFICATION\_EVENT"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00170}00170         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00171}00171                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Unrecognized event"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00172}00172         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00173}00173 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00174}00174 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00175}\mbox{\hyperlink{mlx5__eq_8c_a90f44fc79d1fa6b11d07dda71ee394c4}{00175}} \textcolor{keyword}{static} \textcolor{keyword}{enum} \mbox{\hyperlink{driver_8h_a343f521a417793029242bf2d019b9b25}{mlx5\_dev\_event}} \mbox{\hyperlink{mlx5__eq_8c_a90f44fc79d1fa6b11d07dda71ee394c4}{port\_subtype\_event}}(u8 subtype)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00176}00176 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00177}00177         \textcolor{keywordflow}{switch} (subtype) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00178}00178         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a7ff5f2dff38e7639981794c43dc9167bac1c239157c6fc96fb52738e950ba57c9}{MLX5\_PORT\_CHANGE\_SUBTYPE\_DOWN}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00179}00179                 \textcolor{keywordflow}{return} \mbox{\hyperlink{driver_8h_a343f521a417793029242bf2d019b9b25ab0371e579d8bb0800bbcf8c39b118149}{MLX5\_DEV\_EVENT\_PORT\_DOWN}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00180}00180         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a7ff5f2dff38e7639981794c43dc9167bad3975908dd33c760a75477dd351ae604}{MLX5\_PORT\_CHANGE\_SUBTYPE\_ACTIVE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00181}00181                 \textcolor{keywordflow}{return} \mbox{\hyperlink{driver_8h_a343f521a417793029242bf2d019b9b25a934654825db78867eba51541ee0f70f0}{MLX5\_DEV\_EVENT\_PORT\_UP}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00182}00182         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a7ff5f2dff38e7639981794c43dc9167ba65f8dcaa4c6ea15fb78a30fefe6d3186}{MLX5\_PORT\_CHANGE\_SUBTYPE\_INITIALIZED}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00183}00183                 \textcolor{keywordflow}{return} \mbox{\hyperlink{driver_8h_a343f521a417793029242bf2d019b9b25a6ff2479be4cf106ff409da4595b01bcc}{MLX5\_DEV\_EVENT\_PORT\_INITIALIZED}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00184}00184         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a7ff5f2dff38e7639981794c43dc9167ba2adb6e1bb089b656f28f479567a91425}{MLX5\_PORT\_CHANGE\_SUBTYPE\_LID}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00185}00185                 \textcolor{keywordflow}{return} \mbox{\hyperlink{driver_8h_a343f521a417793029242bf2d019b9b25a9b179fd213d7d3440cc0fca497e2fb15}{MLX5\_DEV\_EVENT\_LID\_CHANGE}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00186}00186         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a7ff5f2dff38e7639981794c43dc9167ba18a91386c1144a89f6a70cfbb62debc0}{MLX5\_PORT\_CHANGE\_SUBTYPE\_PKEY}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00187}00187                 \textcolor{keywordflow}{return} \mbox{\hyperlink{driver_8h_a343f521a417793029242bf2d019b9b25ace73776fa71ec0539d5831630ff7ba6f}{MLX5\_DEV\_EVENT\_PKEY\_CHANGE}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00188}00188         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a7ff5f2dff38e7639981794c43dc9167ba44a707152c29518bf061d76816a19465}{MLX5\_PORT\_CHANGE\_SUBTYPE\_GUID}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00189}00189                 \textcolor{keywordflow}{return} \mbox{\hyperlink{driver_8h_a343f521a417793029242bf2d019b9b25a77c7246d91a75dc3f4f4369645b6ed4a}{MLX5\_DEV\_EVENT\_GUID\_CHANGE}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00190}00190         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a7ff5f2dff38e7639981794c43dc9167ba791c8f650ade9e202015bbbb58735752}{MLX5\_PORT\_CHANGE\_SUBTYPE\_CLIENT\_REREG}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00191}00191                 \textcolor{keywordflow}{return} \mbox{\hyperlink{driver_8h_a343f521a417793029242bf2d019b9b25afee02746a0d4cdba542601f5eb94d242}{MLX5\_DEV\_EVENT\_CLIENT\_REREG}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00192}00192         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00193}00193         \textcolor{keywordflow}{return} -\/1;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00194}00194 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00195}00195 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00196}\mbox{\hyperlink{mlx5__eq_8c_aa07dd5dd047a577b57fbbea50ee96d2b}{00196}} \textcolor{keyword}{static} \textcolor{keyword}{enum} \mbox{\hyperlink{driver_8h_a343f521a417793029242bf2d019b9b25}{mlx5\_dev\_event}} \mbox{\hyperlink{mlx5__eq_8c_aa07dd5dd047a577b57fbbea50ee96d2b}{dcbx\_subevent}}(u8 subtype)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00197}00197 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00198}00198         \textcolor{keywordflow}{switch} (subtype) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00199}00199         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_aabfcbcb5ac86a1edac4035264bc7d2b8a710b4dd9d1bfd6c6b1d01047feed763e}{MLX5\_DCBX\_EVENT\_SUBTYPE\_ERROR\_STATE\_DCBX}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00200}00200                 \textcolor{keywordflow}{return} \mbox{\hyperlink{driver_8h_a343f521a417793029242bf2d019b9b25add55b6d2fbeb76f9c0db2f187f40ef5d}{MLX5\_DEV\_EVENT\_ERROR\_STATE\_DCBX}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00201}00201         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_aabfcbcb5ac86a1edac4035264bc7d2b8a5cab0829f9ca9994dd4fffab9529d877}{MLX5\_DCBX\_EVENT\_SUBTYPE\_REMOTE\_CONFIG\_CHANGE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00202}00202                 \textcolor{keywordflow}{return} \mbox{\hyperlink{driver_8h_a343f521a417793029242bf2d019b9b25aad23de2c65925c7ab73c04bcbc02ac91}{MLX5\_DEV\_EVENT\_REMOTE\_CONFIG\_CHANGE}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00203}00203         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_aabfcbcb5ac86a1edac4035264bc7d2b8a54f507a0fa64ecad56f15b3dbc5495d7}{MLX5\_DCBX\_EVENT\_SUBTYPE\_LOCAL\_OPER\_CHANGE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00204}00204                 \textcolor{keywordflow}{return} \mbox{\hyperlink{driver_8h_a343f521a417793029242bf2d019b9b25af500bc7d16fa35b811f82bab25fafb7b}{MLX5\_DEV\_EVENT\_LOCAL\_OPER\_CHANGE}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00205}00205         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_aabfcbcb5ac86a1edac4035264bc7d2b8ae3edf1bac233825f62952a749a147a74}{MLX5\_DCBX\_EVENT\_SUBTYPE\_REMOTE\_CONFIG\_APP\_PRIORITY\_CHANGE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00206}00206                 \textcolor{keywordflow}{return} \mbox{\hyperlink{driver_8h_a343f521a417793029242bf2d019b9b25a59d01bf4d191c1b632a249db9b185654}{MLX5\_DEV\_EVENT\_REMOTE\_CONFIG\_APPLICATION\_PRIORITY\_CHANGE}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00207}00207         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00208}00208         \textcolor{keywordflow}{return} -\/1;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00209}00209 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00210}00210 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00211}\mbox{\hyperlink{mlx5__eq_8c_a01cc2e7e478d7b9fa6cfac1decff6165}{00211}} \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{mlx5__eq_8c_a01cc2e7e478d7b9fa6cfac1decff6165}{eq\_update\_ci}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__eq}{mlx5\_eq}} *eq, \textcolor{keywordtype}{int} arm)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00212}00212 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00213}00213         \_\_be32 \_\_iomem *addr = eq-\/>\mbox{\hyperlink{structmlx5__eq_ab02945fe37cf1eca0f20c6c7dc9e8608}{doorbell}} + (arm ? 0 : 2);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00214}00214         u32 val = (eq-\/>\mbox{\hyperlink{structmlx5__eq_af395b92fc27f6ce9bc00fef79c50c86d}{cons\_index}} \& 0xffffff) | (eq-\/>\mbox{\hyperlink{structmlx5__eq_ae40b65c29bbadc2c52b43a40afc37790}{eqn}} << 24);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00215}00215         \_\_raw\_writel((\_\_force u32) cpu\_to\_be32(val), addr);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00216}00216         \textcolor{comment}{/* We still want ordering, just not swabbing, so add a barrier */}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00217}00217         mb();}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00218}00218 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00219}00219 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00220}00220 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00221}\mbox{\hyperlink{mlx5__eq_8c_a69097b6997d93efe1b309707b2df5aa4}{00221}} \mbox{\hyperlink{mlx5__eq_8c_a69097b6997d93efe1b309707b2df5aa4}{mlx5\_temp\_warning\_event}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *dev, \textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__eqe}{mlx5\_eqe}} *eqe)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00222}00222 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00223}00223 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00224}00224         \mbox{\hyperlink{mlx5__core_8h_ac024f7b881a7d4965ecc662bc4be81ca}{mlx5\_core\_warn}}(dev,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00225}00225             \textcolor{stringliteral}{"{}High temperature on sensors with bit set \%\#jx \%\#jx\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00226}00226             (uintmax\_t)be64\_to\_cpu(eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a23d790d7732ba01f68202e2f410f9248}{data}}.\mbox{\hyperlink{unionev__data_af4337217d2368b7650461bcf1b419706}{temp\_warning}}.\mbox{\hyperlink{structmlx5__eqe__temp__warning_a56cf65ea4599508ca661c1075a774e60}{sensor\_warning\_msb}}),}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00227}00227             (uintmax\_t)be64\_to\_cpu(eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a23d790d7732ba01f68202e2f410f9248}{data}}.\mbox{\hyperlink{unionev__data_af4337217d2368b7650461bcf1b419706}{temp\_warning}}.\mbox{\hyperlink{structmlx5__eqe__temp__warning_a7f718700e9fcb7a53604a14fbb7c943c}{sensor\_warning\_lsb}}));}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00228}00228 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00229}00229 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00230}\mbox{\hyperlink{mlx5__eq_8c_a35b86f21a527bb67fcad1602ca8d3328}{00230}} \textcolor{keyword}{static} \textcolor{keywordtype}{int} \mbox{\hyperlink{mlx5__eq_8c_a35b86f21a527bb67fcad1602ca8d3328}{mlx5\_eq\_int}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *dev, \textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__eq}{mlx5\_eq}} *eq)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00231}00231 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00232}00232         \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__eqe}{mlx5\_eqe}} *eqe;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00233}00233         \textcolor{keywordtype}{int} eqes\_found = 0;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00234}00234         \textcolor{keywordtype}{int} set\_ci = 0;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00235}00235         u32 cqn;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00236}00236         u32 rsn;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00237}00237         u8 port;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00238}00238 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00239}00239         \textcolor{keywordflow}{while} ((eqe = \mbox{\hyperlink{mlx5__eq_8c_aa2f2790b3e31d0ab96b46d2eb8f4ef95}{next\_eqe\_sw}}(eq))) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00240}00240                 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00241}00241 \textcolor{comment}{                 * Make sure we read EQ entry contents after we've}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00242}00242 \textcolor{comment}{                 * checked the ownership bit.}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00243}00243 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00244}00244                 atomic\_thread\_fence\_acq();}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00245}00245 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00246}00246                 \mbox{\hyperlink{mlx5__core_8h_abecf5f90e845f80efc57b10bd4c67c2b}{mlx5\_core\_dbg}}(eq-\/>\mbox{\hyperlink{structmlx5__eq_a48de0b90831721e799bca729dfb7ac69}{dev}}, \textcolor{stringliteral}{"{}eqn \%d, eqe type \%s\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00247}00247                               eq-\/>\mbox{\hyperlink{structmlx5__eq_ae40b65c29bbadc2c52b43a40afc37790}{eqn}}, \mbox{\hyperlink{mlx5__eq_8c_a9403993252fdce1c121c2a438bd1ca11}{eqe\_type\_str}}(eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a191b661790e078fb8412603dbdaef90c}{type}}));}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00248}00248 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00249}00249                 \textcolor{keywordflow}{if} (dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a2642b287846069d077eec2d44e137703}{priv}}.\mbox{\hyperlink{structmlx5__priv_a964673598512783a751c61e61e82f365}{eq\_table}}.\mbox{\hyperlink{structmlx5__eq__table_ab03943fa25a9df8ec2ad247709b5bb99}{cb}} != NULL \&\&}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00250}00250                     dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a2642b287846069d077eec2d44e137703}{priv}}.\mbox{\hyperlink{structmlx5__priv_a964673598512783a751c61e61e82f365}{eq\_table}}.\mbox{\hyperlink{structmlx5__eq__table_ab03943fa25a9df8ec2ad247709b5bb99}{cb}}(dev, eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a191b661790e078fb8412603dbdaef90c}{type}}, \&eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a23d790d7732ba01f68202e2f410f9248}{data}})) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00251}00251                         \textcolor{comment}{/* FALLTHROUGH */}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00252}00252                 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{switch} (eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a191b661790e078fb8412603dbdaef90c}{type}}) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00253}00253                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a2584d6859bf3156406fef6b4fb0291e1}{MLX5\_EVENT\_TYPE\_COMP}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00254}00254                         \mbox{\hyperlink{driver_8h_ac5d87f72d2d6d9104beeeb746805826a}{mlx5\_cq\_completion}}(dev, eqe);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00255}00255                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00256}00256 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00257}00257                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a64b4aae4b355ce5bd223d7bc87215f05}{MLX5\_EVENT\_TYPE\_PATH\_MIG}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00258}00258                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a1f5b3684caf67e2aa56121262fb015ec}{MLX5\_EVENT\_TYPE\_COMM\_EST}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00259}00259                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a4a4e9bb038d065fc0ab750acd18382c8}{MLX5\_EVENT\_TYPE\_SQ\_DRAINED}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00260}00260                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a7b9e557cb974ee70477ebe796e0bca5e}{MLX5\_EVENT\_TYPE\_SRQ\_LAST\_WQE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00261}00261                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a461fc0b780811e35233a80a848a68864}{MLX5\_EVENT\_TYPE\_WQ\_CATAS\_ERROR}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00262}00262                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063af2a72618087d5e98681ba0162d96e5a2}{MLX5\_EVENT\_TYPE\_PATH\_MIG\_FAILED}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00263}00263                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063ad4a8ba90f51f99e2998839ed9c8246d0}{MLX5\_EVENT\_TYPE\_WQ\_INVAL\_REQ\_ERROR}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00264}00264                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063add41f550f9687d7697535ea73d5fde79}{MLX5\_EVENT\_TYPE\_WQ\_ACCESS\_ERROR}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00265}00265                         rsn = be32\_to\_cpu(eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a23d790d7732ba01f68202e2f410f9248}{data}}.\mbox{\hyperlink{unionev__data_a4670227c17c590a56264b5c384a63c33}{qp\_srq}}.\mbox{\hyperlink{structmlx5__eqe__qp__srq_a772346bda7554e71997db0848b40b13e}{qp\_srq\_n}}) \& 0xffffff;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00266}00266                         \mbox{\hyperlink{mlx5__core_8h_abecf5f90e845f80efc57b10bd4c67c2b}{mlx5\_core\_dbg}}(dev, \textcolor{stringliteral}{"{}event \%s(\%d) arrived on resource 0x\%x\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00267}00267                                       \mbox{\hyperlink{mlx5__eq_8c_a9403993252fdce1c121c2a438bd1ca11}{eqe\_type\_str}}(eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a191b661790e078fb8412603dbdaef90c}{type}}), eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a191b661790e078fb8412603dbdaef90c}{type}}, rsn);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00268}00268                         \mbox{\hyperlink{driver_8h_a30526f2751141ea864b41cf9de4bc3f6}{mlx5\_rsc\_event}}(dev, rsn, eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a191b661790e078fb8412603dbdaef90c}{type}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00269}00269                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00270}00270 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00271}00271                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063acf53a1f049f92eb5bf676da747dbdcd5}{MLX5\_EVENT\_TYPE\_SRQ\_RQ\_LIMIT}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00272}00272                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a5ab872e263887b067be64b30d42ddfc5}{MLX5\_EVENT\_TYPE\_SRQ\_CATAS\_ERROR}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00273}00273                         rsn = be32\_to\_cpu(eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a23d790d7732ba01f68202e2f410f9248}{data}}.\mbox{\hyperlink{unionev__data_a4670227c17c590a56264b5c384a63c33}{qp\_srq}}.\mbox{\hyperlink{structmlx5__eqe__qp__srq_a772346bda7554e71997db0848b40b13e}{qp\_srq\_n}}) \& 0xffffff;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00274}00274                         \mbox{\hyperlink{mlx5__core_8h_abecf5f90e845f80efc57b10bd4c67c2b}{mlx5\_core\_dbg}}(dev, \textcolor{stringliteral}{"{}SRQ event \%s(\%d): srqn 0x\%x\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00275}00275                                       \mbox{\hyperlink{mlx5__eq_8c_a9403993252fdce1c121c2a438bd1ca11}{eqe\_type\_str}}(eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a191b661790e078fb8412603dbdaef90c}{type}}), eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a191b661790e078fb8412603dbdaef90c}{type}}, rsn);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00276}00276                         \mbox{\hyperlink{driver_8h_ad238efcdc784b835d11392ccd8a750f6}{mlx5\_srq\_event}}(dev, rsn, eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a191b661790e078fb8412603dbdaef90c}{type}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00277}00277                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00278}00278 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00279}00279                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063aba844396e0f961e23e9d87612290a0e4}{MLX5\_EVENT\_TYPE\_CMD}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00280}00280                         \textcolor{keywordflow}{if} (dev-\/>\mbox{\hyperlink{structmlx5__core__dev_aaee056f22d7ec1c4298ffb20189ec7e5}{state}} != \mbox{\hyperlink{driver_8h_aa42b19437cec785545106d8c76e3d9dda09cf6fffb12218a75a5f45b789ce5c62}{MLX5\_DEVICE\_STATE\_INTERNAL\_ERROR}}) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00281}00281                                 \mbox{\hyperlink{driver_8h_ac4e75e249e91ee80f08f41df4dadf793}{mlx5\_cmd\_comp\_handler}}(dev, be32\_to\_cpu(eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a23d790d7732ba01f68202e2f410f9248}{data}}.\mbox{\hyperlink{unionev__data_aae005d046751421b5077e92b9b9e0fa7}{cmd}}.\mbox{\hyperlink{structmlx5__eqe__cmd_afaace51d6d34102d01732b52a48162c0}{vector}}),}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00282}00282                                     \mbox{\hyperlink{driver_8h_ad014fa48a9a275224b12ac628757dbbaa7cc9a077ee2d7a7fde1d1bc96d0a7a65}{MLX5\_CMD\_MODE\_EVENTS}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00283}00283                         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00284}00284                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00285}00285 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00286}00286                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a47faea4a0a803e59295fe6da826df0a3}{MLX5\_EVENT\_TYPE\_PORT\_CHANGE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00287}00287                         port = (eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a23d790d7732ba01f68202e2f410f9248}{data}}.\mbox{\hyperlink{unionev__data_a7f8cc159a2074ef3dd4cb2338b86adee}{port}}.\mbox{\hyperlink{structmlx5__eqe__port__state_acee3b02fd72d59528dc204b5ab2eb7c7}{port}} >> 4) \& 0xf;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00288}00288                         \textcolor{keywordflow}{switch} (eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a4bf685133d9c54f03eab7e75cd074d0d}{sub\_type}}) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00289}00289                         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a7ff5f2dff38e7639981794c43dc9167bac1c239157c6fc96fb52738e950ba57c9}{MLX5\_PORT\_CHANGE\_SUBTYPE\_DOWN}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00290}00290                         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a7ff5f2dff38e7639981794c43dc9167bad3975908dd33c760a75477dd351ae604}{MLX5\_PORT\_CHANGE\_SUBTYPE\_ACTIVE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00291}00291                         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a7ff5f2dff38e7639981794c43dc9167ba2adb6e1bb089b656f28f479567a91425}{MLX5\_PORT\_CHANGE\_SUBTYPE\_LID}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00292}00292                         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a7ff5f2dff38e7639981794c43dc9167ba18a91386c1144a89f6a70cfbb62debc0}{MLX5\_PORT\_CHANGE\_SUBTYPE\_PKEY}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00293}00293                         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a7ff5f2dff38e7639981794c43dc9167ba44a707152c29518bf061d76816a19465}{MLX5\_PORT\_CHANGE\_SUBTYPE\_GUID}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00294}00294                         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a7ff5f2dff38e7639981794c43dc9167ba791c8f650ade9e202015bbbb58735752}{MLX5\_PORT\_CHANGE\_SUBTYPE\_CLIENT\_REREG}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00295}00295                         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a7ff5f2dff38e7639981794c43dc9167ba65f8dcaa4c6ea15fb78a30fefe6d3186}{MLX5\_PORT\_CHANGE\_SUBTYPE\_INITIALIZED}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00296}00296                                 \textcolor{keywordflow}{if} (dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a56f5ffff099269a9a25d3ac8025fccd0}{event}})}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00297}00297                                         dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a56f5ffff099269a9a25d3ac8025fccd0}{event}}(dev, \mbox{\hyperlink{mlx5__eq_8c_a90f44fc79d1fa6b11d07dda71ee394c4}{port\_subtype\_event}}(eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a4bf685133d9c54f03eab7e75cd074d0d}{sub\_type}}),}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00298}00298                                                    (\textcolor{keywordtype}{unsigned} long)port);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00299}00299                                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00300}00300                         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00301}00301                                 \mbox{\hyperlink{mlx5__core_8h_ac024f7b881a7d4965ecc662bc4be81ca}{mlx5\_core\_warn}}(dev, \textcolor{stringliteral}{"{}Port event with unrecognized subtype: port \%d, sub\_type \%d\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00302}00302                                                port, eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a4bf685133d9c54f03eab7e75cd074d0d}{sub\_type}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00303}00303                         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00304}00304                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00305}00305 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00306}00306                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a10bc52fe740469b211fb6c0b015d5df6}{MLX5\_EVENT\_TYPE\_CODING\_DCBX\_CHANGE\_EVENT}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00307}00307                         port = (eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a23d790d7732ba01f68202e2f410f9248}{data}}.\mbox{\hyperlink{unionev__data_a7f8cc159a2074ef3dd4cb2338b86adee}{port}}.\mbox{\hyperlink{structmlx5__eqe__port__state_acee3b02fd72d59528dc204b5ab2eb7c7}{port}} >> 4) \& 0xf;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00308}00308                         \textcolor{keywordflow}{switch} (eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a4bf685133d9c54f03eab7e75cd074d0d}{sub\_type}}) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00309}00309                         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_aabfcbcb5ac86a1edac4035264bc7d2b8a710b4dd9d1bfd6c6b1d01047feed763e}{MLX5\_DCBX\_EVENT\_SUBTYPE\_ERROR\_STATE\_DCBX}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00310}00310                         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_aabfcbcb5ac86a1edac4035264bc7d2b8a5cab0829f9ca9994dd4fffab9529d877}{MLX5\_DCBX\_EVENT\_SUBTYPE\_REMOTE\_CONFIG\_CHANGE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00311}00311                         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_aabfcbcb5ac86a1edac4035264bc7d2b8a54f507a0fa64ecad56f15b3dbc5495d7}{MLX5\_DCBX\_EVENT\_SUBTYPE\_LOCAL\_OPER\_CHANGE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00312}00312                         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_aabfcbcb5ac86a1edac4035264bc7d2b8ae3edf1bac233825f62952a749a147a74}{MLX5\_DCBX\_EVENT\_SUBTYPE\_REMOTE\_CONFIG\_APP\_PRIORITY\_CHANGE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00313}00313                                 \textcolor{keywordflow}{if} (dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a56f5ffff099269a9a25d3ac8025fccd0}{event}})}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00314}00314                                         dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a56f5ffff099269a9a25d3ac8025fccd0}{event}}(dev,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00315}00315                                                    \mbox{\hyperlink{mlx5__eq_8c_aa07dd5dd047a577b57fbbea50ee96d2b}{dcbx\_subevent}}(eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a4bf685133d9c54f03eab7e75cd074d0d}{sub\_type}}),}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00316}00316                                                    0);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00317}00317                                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00318}00318                         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00319}00319                                 \mbox{\hyperlink{mlx5__core_8h_ac024f7b881a7d4965ecc662bc4be81ca}{mlx5\_core\_warn}}(dev,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00320}00320                                                \textcolor{stringliteral}{"{}dcbx event with unrecognized subtype: port \%d, sub\_type \%d\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00321}00321                                                port, eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a4bf685133d9c54f03eab7e75cd074d0d}{sub\_type}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00322}00322                         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00323}00323                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00324}00324 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00325}00325                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a7f10a8bac45d42f448a865e4df6637c5}{MLX5\_EVENT\_TYPE\_CODING\_GENERAL\_NOTIFICATION\_EVENT}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00326}00326                         \mbox{\hyperlink{mlx5__eq_8c_a136efde93b0d2eb47db4e65aeecda423}{mlx5\_port\_general\_notification\_event}}(dev, eqe);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00327}00327                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00328}00328 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00329}00329                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063ac5f53a36d84d888535c4fa3988187f4a}{MLX5\_EVENT\_TYPE\_CQ\_ERROR}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00330}00330                         cqn = be32\_to\_cpu(eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a23d790d7732ba01f68202e2f410f9248}{data}}.\mbox{\hyperlink{unionev__data_a3911b9acdff430e1d9244e9cb6bb89b6}{cq\_err}}.\mbox{\hyperlink{structmlx5__eqe__cq__err_a6c0adf332375b337dbee61494a4d196f}{cqn}}) \& 0xffffff;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00331}00331                         \mbox{\hyperlink{mlx5__core_8h_ac024f7b881a7d4965ecc662bc4be81ca}{mlx5\_core\_warn}}(dev, \textcolor{stringliteral}{"{}CQ error on CQN 0x\%x, syndrom 0x\%x\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00332}00332                                        cqn, eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a23d790d7732ba01f68202e2f410f9248}{data}}.\mbox{\hyperlink{unionev__data_a3911b9acdff430e1d9244e9cb6bb89b6}{cq\_err}}.\mbox{\hyperlink{structmlx5__eqe__cq__err_a7ac45ba91b4cfd77f37c0cf7279e8011}{syndrome}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00333}00333                         \mbox{\hyperlink{driver_8h_ae0e5002483dd04d57862acb4b0a7a21a}{mlx5\_cq\_event}}(dev, cqn, eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a191b661790e078fb8412603dbdaef90c}{type}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00334}00334                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00335}00335 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00336}00336                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063ad28471d56eff54d0e5e6b3d09dd74237}{MLX5\_EVENT\_TYPE\_PAGE\_REQUEST}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00337}00337                         \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00338}00338                                 u16 func\_id = be16\_to\_cpu(eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a23d790d7732ba01f68202e2f410f9248}{data}}.\mbox{\hyperlink{unionev__data_abed92a3f060a0594dfeb0811b45adb6f}{req\_pages}}.\mbox{\hyperlink{structmlx5__eqe__page__req_a7a465eb8b61315fb942f3b4984f7d999}{func\_id}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00339}00339                                 s32 npages = be32\_to\_cpu(eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a23d790d7732ba01f68202e2f410f9248}{data}}.\mbox{\hyperlink{unionev__data_abed92a3f060a0594dfeb0811b45adb6f}{req\_pages}}.\mbox{\hyperlink{structmlx5__eqe__page__req_a0522f76d792b127f3766e37a450aa1c0}{num\_pages}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00340}00340 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00341}00341                                 \mbox{\hyperlink{mlx5__core_8h_abecf5f90e845f80efc57b10bd4c67c2b}{mlx5\_core\_dbg}}(dev, \textcolor{stringliteral}{"{}page request for func 0x\%x, npages \%d\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00342}00342                                               func\_id, npages);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00343}00343                                 \mbox{\hyperlink{driver_8h_a601137d701d9fe43b09cecbfbc941e2b}{mlx5\_core\_req\_pages\_handler}}(dev, func\_id, npages);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00344}00344                         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00345}00345                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00346}00346 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00347}00347                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a9eaee915a513242fa026d4a264544bbd}{MLX5\_EVENT\_TYPE\_CODING\_PORT\_MODULE\_EVENT}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00348}00348                         \mbox{\hyperlink{mlx5__eq_8c_a370192090ff6f36fb616d0b3ce36d736}{mlx5\_port\_module\_event}}(dev, eqe);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00349}00349                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00350}00350 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00351}00351                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a8b0d4544929b4c4dde81c2b3fdafddde}{MLX5\_EVENT\_TYPE\_NIC\_VPORT\_CHANGE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00352}00352                         \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00353}00353                                 \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__eqe__vport__change}{mlx5\_eqe\_vport\_change}} *vc\_eqe =}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00354}00354                                                 \&eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a23d790d7732ba01f68202e2f410f9248}{data}}.\mbox{\hyperlink{unionev__data_ab624e78403d795527fd304e9733e632b}{vport\_change}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00355}00355                                 u16 \mbox{\hyperlink{structmlx5__eqe__vport__change_a34b8892d5c91494ea7c405409541a803}{vport\_num}} = be16\_to\_cpu(vc\_eqe-\/>\mbox{\hyperlink{structmlx5__eqe__vport__change_a34b8892d5c91494ea7c405409541a803}{vport\_num}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00356}00356 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00357}00357                                 \textcolor{keywordflow}{if} (dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a56f5ffff099269a9a25d3ac8025fccd0}{event}})}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00358}00358                                         dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a56f5ffff099269a9a25d3ac8025fccd0}{event}}(dev,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00359}00359                                              \mbox{\hyperlink{driver_8h_a343f521a417793029242bf2d019b9b25a07fb52b03136ad3a777174fca7aa26a1}{MLX5\_DEV\_EVENT\_VPORT\_CHANGE}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00360}00360                                              (\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{long})\mbox{\hyperlink{structmlx5__eqe__vport__change_a34b8892d5c91494ea7c405409541a803}{vport\_num}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00361}00361                         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00362}00362                         \textcolor{keywordflow}{if} (dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a2642b287846069d077eec2d44e137703}{priv}}.\mbox{\hyperlink{structmlx5__priv_af51b3ecf53b287041c15644d42c9f405}{eswitch}} != NULL)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00363}00363                                 \mbox{\hyperlink{eswitch_8h_aa8bf34fe99da7cf334618ab1bbc12917}{mlx5\_eswitch\_vport\_event}}(dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a2642b287846069d077eec2d44e137703}{priv}}.\mbox{\hyperlink{structmlx5__priv_af51b3ecf53b287041c15644d42c9f405}{eswitch}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00364}00364                                     eqe);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00365}00365                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00366}00366 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00367}00367                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063ab909e4ecc70b8282ae12f46882c1d1d0}{MLX5\_EVENT\_TYPE\_FPGA\_ERROR}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00368}00368                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a6e534ea39493f369081d17d6512b5f00}{MLX5\_EVENT\_TYPE\_FPGA\_QP\_ERROR}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00369}00369                         \mbox{\hyperlink{mlx5fpga__core_8c_ac3de9a8d23b331cb5b18af8fc134a7be}{mlx5\_fpga\_event}}(dev, eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a191b661790e078fb8412603dbdaef90c}{type}}, \&eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a23d790d7732ba01f68202e2f410f9248}{data}}.\mbox{\hyperlink{unionev__data_a557719a002e30b558cc340f2f16e102e}{raw}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00370}00370                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00371}00371                 \textcolor{keywordflow}{case} \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a84b24870a2384ffb4c425072f6173eb5}{MLX5\_EVENT\_TYPE\_TEMP\_WARN\_EVENT}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00372}00372                         \mbox{\hyperlink{mlx5__eq_8c_a69097b6997d93efe1b309707b2df5aa4}{mlx5\_temp\_warning\_event}}(dev, eqe);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00373}00373                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00374}00374 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00375}00375                 \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00376}00376                         \mbox{\hyperlink{mlx5__core_8h_ac024f7b881a7d4965ecc662bc4be81ca}{mlx5\_core\_warn}}(dev, \textcolor{stringliteral}{"{}Unhandled event 0x\%x on EQ 0x\%x\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00377}00377                                        eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a191b661790e078fb8412603dbdaef90c}{type}}, eq-\/>\mbox{\hyperlink{structmlx5__eq_ae40b65c29bbadc2c52b43a40afc37790}{eqn}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00378}00378                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00379}00379                 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00380}00380 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00381}00381                 ++eq-\/>\mbox{\hyperlink{structmlx5__eq_af395b92fc27f6ce9bc00fef79c50c86d}{cons\_index}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00382}00382                 eqes\_found = 1;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00383}00383                 ++set\_ci;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00384}00384 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00385}00385                 \textcolor{comment}{/* The HCA will think the queue has overflowed if we}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00386}00386 \textcolor{comment}{                 * don't tell it we've been processing events.  We}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00387}00387 \textcolor{comment}{                 * create our EQs with MLX5\_NUM\_SPARE\_EQE extra}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00388}00388 \textcolor{comment}{                 * entries, so we must update our consumer index at}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00389}00389 \textcolor{comment}{                 * least that often.}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00390}00390 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00391}00391                 \textcolor{keywordflow}{if} (unlikely(set\_ci >= \mbox{\hyperlink{mlx5__eq_8c_a2f1398dba5e4a5616b83437528bdb28ea58247a5f549b9429827df6ddd8c1b8d1}{MLX5\_NUM\_SPARE\_EQE}})) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00392}00392                         \mbox{\hyperlink{mlx5__eq_8c_a01cc2e7e478d7b9fa6cfac1decff6165}{eq\_update\_ci}}(eq, 0);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00393}00393                         set\_ci = 0;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00394}00394                 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00395}00395         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00396}00396 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00397}00397         \mbox{\hyperlink{mlx5__eq_8c_a01cc2e7e478d7b9fa6cfac1decff6165}{eq\_update\_ci}}(eq, 1);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00398}00398 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00399}00399         \textcolor{keywordflow}{return} eqes\_found;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00400}00400 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00401}00401 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00402}\mbox{\hyperlink{mlx5__eq_8c_af1a22fddf66e19e1ddfb6069194b1620}{00402}} \textcolor{keyword}{static} irqreturn\_t \mbox{\hyperlink{mlx5__eq_8c_af1a22fddf66e19e1ddfb6069194b1620}{mlx5\_msix\_handler}}(\textcolor{keywordtype}{int} irq, \textcolor{keywordtype}{void} *eq\_ptr)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00403}00403 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00404}00404         \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__eq}{mlx5\_eq}} *eq = eq\_ptr;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00405}00405         \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *dev = eq-\/>\mbox{\hyperlink{structmlx5__eq_a48de0b90831721e799bca729dfb7ac69}{dev}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00406}00406 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00407}00407         \textcolor{comment}{/* check if IRQs are not disabled */}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00408}00408         \textcolor{keywordflow}{if} (likely(dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a2642b287846069d077eec2d44e137703}{priv}}.\mbox{\hyperlink{structmlx5__priv_a4af23ce56d9c69785674c4db7cea5011}{disable\_irqs}} == 0))}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00409}00409                 \mbox{\hyperlink{mlx5__eq_8c_a35b86f21a527bb67fcad1602ca8d3328}{mlx5\_eq\_int}}(dev, eq);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00410}00410 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00411}00411         \textcolor{comment}{/* MSI-\/X vectors always belong to us */}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00412}00412         \textcolor{keywordflow}{return} IRQ\_HANDLED;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00413}00413 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00414}00414 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00415}\mbox{\hyperlink{mlx5__eq_8c_a5bf2a680bb3dc65cdbbfeb73f0ee3cb9}{00415}} \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{mlx5__eq_8c_a5bf2a680bb3dc65cdbbfeb73f0ee3cb9}{init\_eq\_buf}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__eq}{mlx5\_eq}} *eq)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00416}00416 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00417}00417         \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__eqe}{mlx5\_eqe}} *eqe;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00418}00418         \textcolor{keywordtype}{int} i;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00419}00419 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00420}00420         \textcolor{keywordflow}{for} (i = 0; i < eq-\/>\mbox{\hyperlink{structmlx5__eq_aa8ba15075cddf5025484a7ba1ac5069d}{nent}}; i++) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00421}00421                 eqe = \mbox{\hyperlink{mlx5__eq_8c_a0ea9e4e030ad49e57298f7d499b808eb}{get\_eqe}}(eq, i);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00422}00422                 eqe-\/>\mbox{\hyperlink{structmlx5__eqe_abfc4b38e20a0c05ca32801bcbee13e59}{owner}} = \mbox{\hyperlink{mlx5__eq_8c_aa7df87806f64f3b241c8cde9eb57cad5a5e62450cbcf1626f316a711ef98cf73c}{MLX5\_EQE\_OWNER\_INIT\_VAL}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00423}00423         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00424}00424 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00425}00425 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00426}\mbox{\hyperlink{driver_8h_a06bf088b080c7e9f412bb4e3c0a5437a}{00426}} \textcolor{keywordtype}{int} \mbox{\hyperlink{mlx5__eq_8c_a06bf088b080c7e9f412bb4e3c0a5437a}{mlx5\_create\_map\_eq}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *dev, \textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__eq}{mlx5\_eq}} *eq, u8 vecidx,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00427}00427                        \textcolor{keywordtype}{int} nent, u64 mask)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00428}00428 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00429}00429         u32 out[\mbox{\hyperlink{device_8h_a2bdfa104f3d7c0635b984382d1562741}{MLX5\_ST\_SZ\_DW}}(create\_eq\_out)] = \{0\};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00430}00430         \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__priv}{mlx5\_priv}} *\mbox{\hyperlink{en_8h_a5fb0e4bc38f8b60aad81d13acf50020f}{priv}} = \&dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a2642b287846069d077eec2d44e137703}{priv}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00431}00431         \_\_be64 *pas;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00432}00432         \textcolor{keywordtype}{void} *eqc;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00433}00433         \textcolor{keywordtype}{int} inlen;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00434}00434         u32 *in;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00435}00435         \textcolor{keywordtype}{int} err;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00436}00436 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00437}00437         eq-\/>\mbox{\hyperlink{structmlx5__eq_aa8ba15075cddf5025484a7ba1ac5069d}{nent}} = roundup\_pow\_of\_two(nent + \mbox{\hyperlink{mlx5__eq_8c_a2f1398dba5e4a5616b83437528bdb28ea58247a5f549b9429827df6ddd8c1b8d1}{MLX5\_NUM\_SPARE\_EQE}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00438}00438         eq-\/>\mbox{\hyperlink{structmlx5__eq_af395b92fc27f6ce9bc00fef79c50c86d}{cons\_index}} = 0;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00439}00439         err = \mbox{\hyperlink{driver_8h_aa8d46364cdf04a52c6e6c31165fcf07a}{mlx5\_buf\_alloc}}(dev, eq-\/>\mbox{\hyperlink{structmlx5__eq_aa8ba15075cddf5025484a7ba1ac5069d}{nent}} * \mbox{\hyperlink{mlx5__eq_8c_aa7df87806f64f3b241c8cde9eb57cad5a4878aafd13e306ff56db737cd683e822}{MLX5\_EQE\_SIZE}}, 2 * PAGE\_SIZE,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00440}00440                              \&eq-\/>\mbox{\hyperlink{structmlx5__eq_ad3eccdfe4ef1446008150d3fb2653f2a}{buf}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00441}00441         \textcolor{keywordflow}{if} (err)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00442}00442                 \textcolor{keywordflow}{return} err;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00443}00443 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00444}00444         \mbox{\hyperlink{mlx5__eq_8c_a5bf2a680bb3dc65cdbbfeb73f0ee3cb9}{init\_eq\_buf}}(eq);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00445}00445 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00446}00446         inlen = \mbox{\hyperlink{device_8h_a459f4e51a5d10dfb6fed7cafff215cb4}{MLX5\_ST\_SZ\_BYTES}}(create\_eq\_in) +}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00447}00447                 \mbox{\hyperlink{device_8h_aaf5b7017c184daa12a71900facaf9b93}{MLX5\_FLD\_SZ\_BYTES}}(create\_eq\_in, pas[0]) * eq-\/>\mbox{\hyperlink{structmlx5__eq_ad3eccdfe4ef1446008150d3fb2653f2a}{buf}}.\mbox{\hyperlink{structmlx5__buf_a2328a3f51ed8527f6084a550f17ed8f0}{npages}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00448}00448         in = \mbox{\hyperlink{driver_8h_af928b1985830513c1c81b095b31ad8a7}{mlx5\_vzalloc}}(inlen);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00449}00449         \textcolor{keywordflow}{if} (!in) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00450}00450                 err = -\/ENOMEM;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00451}00451                 \textcolor{keywordflow}{goto} err\_buf;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00452}00452         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00453}00453 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00454}00454         pas = (\_\_be64 *)\mbox{\hyperlink{device_8h_ad5cad9c2e464873013bfb7b9761d25a1}{MLX5\_ADDR\_OF}}(create\_eq\_in, in, pas);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00455}00455         \mbox{\hyperlink{driver_8h_adbd58dd0790cfdfce0e245704e92deec}{mlx5\_fill\_page\_array}}(\&eq-\/>\mbox{\hyperlink{structmlx5__eq_ad3eccdfe4ef1446008150d3fb2653f2a}{buf}}, pas);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00456}00456 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00457}00457         \mbox{\hyperlink{device_8h_a78623a3e69c7911bd715d06c32daa626}{MLX5\_SET}}(create\_eq\_in, in, opcode, \mbox{\hyperlink{mlx5__ifc_8h_a871a83db4e53fc6c6872b5ac7cc94f39ac2ad98031182dee77893a1c7ab4d66da}{MLX5\_CMD\_OP\_CREATE\_EQ}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00458}00458         \mbox{\hyperlink{device_8h_a6e7776ca1e3178584753950058580eb6}{MLX5\_SET64}}(create\_eq\_in, in, event\_bitmask, mask);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00459}00459 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00460}00460         eqc = \mbox{\hyperlink{device_8h_ad5cad9c2e464873013bfb7b9761d25a1}{MLX5\_ADDR\_OF}}(create\_eq\_in, in, eq\_context\_entry);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00461}00461         \mbox{\hyperlink{device_8h_a78623a3e69c7911bd715d06c32daa626}{MLX5\_SET}}(eqc, eqc, log\_eq\_size, ilog2(eq-\/>\mbox{\hyperlink{structmlx5__eq_aa8ba15075cddf5025484a7ba1ac5069d}{nent}}));}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00462}00462         \mbox{\hyperlink{device_8h_a78623a3e69c7911bd715d06c32daa626}{MLX5\_SET}}(eqc, eqc, uar\_page, \mbox{\hyperlink{en_8h_a5fb0e4bc38f8b60aad81d13acf50020f}{priv}}-\/>uar-\/>index);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00463}00463         \mbox{\hyperlink{device_8h_a78623a3e69c7911bd715d06c32daa626}{MLX5\_SET}}(eqc, eqc, intr, vecidx);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00464}00464         \mbox{\hyperlink{device_8h_a78623a3e69c7911bd715d06c32daa626}{MLX5\_SET}}(eqc, eqc, log\_page\_size,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00465}00465                  eq-\/>\mbox{\hyperlink{structmlx5__eq_ad3eccdfe4ef1446008150d3fb2653f2a}{buf}}.\mbox{\hyperlink{structmlx5__buf_aefd3839d2ab6886e118aec125a39aadd}{page\_shift}} -\/ \mbox{\hyperlink{device_8h_aae05225933a42f81e7c4a9fb286596f9aa4614720009368aaf55770e64acced36}{MLX5\_ADAPTER\_PAGE\_SHIFT}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00466}00466 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00467}00467         err = \mbox{\hyperlink{driver_8h_ad7393e74938540251a0c894eb1eae135}{mlx5\_cmd\_exec}}(dev, in, inlen, out, \textcolor{keyword}{sizeof}(out));}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00468}00468         \textcolor{keywordflow}{if} (err)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00469}00469                 \textcolor{keywordflow}{goto} err\_in;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00470}00470 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00471}00471         eq-\/>\mbox{\hyperlink{structmlx5__eq_ae40b65c29bbadc2c52b43a40afc37790}{eqn}} = \mbox{\hyperlink{device_8h_a12a03f8a456490fce8c791c7f2922f97}{MLX5\_GET}}(create\_eq\_out, out, eq\_number);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00472}00472         eq-\/>\mbox{\hyperlink{structmlx5__eq_a9fb4c53dbe246bcc97c8dd6b9306fe37}{irqn}} = vecidx;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00473}00473         eq-\/>\mbox{\hyperlink{structmlx5__eq_a48de0b90831721e799bca729dfb7ac69}{dev}} = dev;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00474}00474         eq-\/>\mbox{\hyperlink{structmlx5__eq_ab02945fe37cf1eca0f20c6c7dc9e8608}{doorbell}} = \mbox{\hyperlink{en_8h_a5fb0e4bc38f8b60aad81d13acf50020f}{priv}}-\/>uar-\/>map + \mbox{\hyperlink{mlx5__eq_8c_aeac2de18c0ed342a690b3e2ba3c52426a968a1c570d470b00b54d71d968660451}{MLX5\_EQ\_DOORBEL\_OFFSET}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00475}00475         err = request\_irq(\mbox{\hyperlink{en_8h_a5fb0e4bc38f8b60aad81d13acf50020f}{priv}}-\/>msix\_arr[vecidx].vector, \mbox{\hyperlink{mlx5__eq_8c_af1a22fddf66e19e1ddfb6069194b1620}{mlx5\_msix\_handler}}, 0,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00476}00476                           \textcolor{stringliteral}{"{}mlx5\_core"{}}, eq);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00477}00477         \textcolor{keywordflow}{if} (err)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00478}00478                 \textcolor{keywordflow}{goto} err\_eq;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00479}00479 \textcolor{preprocessor}{\#ifdef RSS}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00480}00480         \textcolor{keywordflow}{if} (vecidx >= \mbox{\hyperlink{driver_8h_a1b70d876770ccff427513794d6b0b2a7a097a3a0769380c7eb5dc37607e2464a2}{MLX5\_EQ\_VEC\_COMP\_BASE}}) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00481}00481                 u8 bucket = vecidx -\/ \mbox{\hyperlink{driver_8h_a1b70d876770ccff427513794d6b0b2a7a097a3a0769380c7eb5dc37607e2464a2}{MLX5\_EQ\_VEC\_COMP\_BASE}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00482}00482                 err = bind\_irq\_to\_cpu(\mbox{\hyperlink{en_8h_a5fb0e4bc38f8b60aad81d13acf50020f}{priv}}-\/>msix\_arr[vecidx].vector,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00483}00483                                       rss\_getcpu(bucket \% rss\_getnumbuckets()));}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00484}00484                 \textcolor{keywordflow}{if} (err)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00485}00485                         \textcolor{keywordflow}{goto} err\_irq;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00486}00486         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00487}00487 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00488}00488         \textcolor{keywordflow}{if} (0)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00489}00489                 \textcolor{keywordflow}{goto} err\_irq;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00490}00490 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00491}00491 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00492}00492 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00493}00493         \textcolor{comment}{/* EQs are created in ARMED state}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00494}00494 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00495}00495         \mbox{\hyperlink{mlx5__eq_8c_a01cc2e7e478d7b9fa6cfac1decff6165}{eq\_update\_ci}}(eq, 1);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00496}00496 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00497}00497         kvfree(in);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00498}00498         \textcolor{keywordflow}{return} 0;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00499}00499 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00500}00500 err\_irq:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00501}00501         free\_irq(\mbox{\hyperlink{en_8h_a5fb0e4bc38f8b60aad81d13acf50020f}{priv}}-\/>msix\_arr[vecidx].vector, eq);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00502}00502 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00503}00503 err\_eq:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00504}00504         \mbox{\hyperlink{mlx5__eq_8c_ab65280bdbdd8c5b8b71333f3cb7184fb}{mlx5\_cmd\_destroy\_eq}}(dev, eq-\/>\mbox{\hyperlink{structmlx5__eq_ae40b65c29bbadc2c52b43a40afc37790}{eqn}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00505}00505 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00506}00506 err\_in:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00507}00507         kvfree(in);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00508}00508 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00509}00509 err\_buf:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00510}00510         \mbox{\hyperlink{driver_8h_a1c3786da4ff727bd0e8bd0a9fd4d451c}{mlx5\_buf\_free}}(dev, \&eq-\/>\mbox{\hyperlink{structmlx5__eq_ad3eccdfe4ef1446008150d3fb2653f2a}{buf}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00511}00511         \textcolor{keywordflow}{return} err;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00512}00512 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00513}\mbox{\hyperlink{mlx5__eq_8c_a3bcf44e3d8dd587121956935537ab4f2}{00513}} \mbox{\hyperlink{mlx5__eq_8c_a3bcf44e3d8dd587121956935537ab4f2}{EXPORT\_SYMBOL\_GPL}}(\mbox{\hyperlink{mlx5__eq_8c_a06bf088b080c7e9f412bb4e3c0a5437a}{mlx5\_create\_map\_eq}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00514}00514 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00515}\mbox{\hyperlink{driver_8h_a317bd1a217dccf36056c07c42bf058b8}{00515}} \textcolor{keywordtype}{int} \mbox{\hyperlink{mlx5__eq_8c_a317bd1a217dccf36056c07c42bf058b8}{mlx5\_destroy\_unmap\_eq}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *dev, \textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__eq}{mlx5\_eq}} *eq)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00516}00516 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00517}00517         \textcolor{keywordtype}{int} err;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00518}00518 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00519}00519         free\_irq(dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a2642b287846069d077eec2d44e137703}{priv}}.\mbox{\hyperlink{structmlx5__priv_a8be22ab92b25f4d7ce05c1a21cba2643}{msix\_arr}}[eq-\/>\mbox{\hyperlink{structmlx5__eq_a9fb4c53dbe246bcc97c8dd6b9306fe37}{irqn}}].vector, eq);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00520}00520         err = \mbox{\hyperlink{mlx5__eq_8c_ab65280bdbdd8c5b8b71333f3cb7184fb}{mlx5\_cmd\_destroy\_eq}}(dev, eq-\/>\mbox{\hyperlink{structmlx5__eq_ae40b65c29bbadc2c52b43a40afc37790}{eqn}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00521}00521         \textcolor{keywordflow}{if} (err)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00522}00522                 \mbox{\hyperlink{mlx5__core_8h_ac024f7b881a7d4965ecc662bc4be81ca}{mlx5\_core\_warn}}(dev, \textcolor{stringliteral}{"{}failed to destroy a previously created eq: eqn \%d\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00523}00523                                eq-\/>\mbox{\hyperlink{structmlx5__eq_ae40b65c29bbadc2c52b43a40afc37790}{eqn}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00524}00524         \mbox{\hyperlink{driver_8h_a1c3786da4ff727bd0e8bd0a9fd4d451c}{mlx5\_buf\_free}}(dev, \&eq-\/>\mbox{\hyperlink{structmlx5__eq_ad3eccdfe4ef1446008150d3fb2653f2a}{buf}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00525}00525 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00526}00526         \textcolor{keywordflow}{return} err;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00527}00527 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00528}\mbox{\hyperlink{mlx5__eq_8c_ab1cd440461107c1641d08474a706bd5b}{00528}} \mbox{\hyperlink{mlx5__eq_8c_a3bcf44e3d8dd587121956935537ab4f2}{EXPORT\_SYMBOL\_GPL}}(\mbox{\hyperlink{mlx5__eq_8c_a317bd1a217dccf36056c07c42bf058b8}{mlx5\_destroy\_unmap\_eq}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00529}00529 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00530}\mbox{\hyperlink{driver_8h_a4245d71531b25d015429460cd4fbdc7a}{00530}} \textcolor{keywordtype}{int} \mbox{\hyperlink{mlx5__eq_8c_a4245d71531b25d015429460cd4fbdc7a}{mlx5\_eq\_init}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *dev)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00531}00531 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00532}00532         \textcolor{keywordtype}{int} err;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00533}00533 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00534}00534         spin\_lock\_init(\&dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a2642b287846069d077eec2d44e137703}{priv}}.\mbox{\hyperlink{structmlx5__priv_a964673598512783a751c61e61e82f365}{eq\_table}}.\mbox{\hyperlink{structmlx5__eq__table_a5ddc9e08254e2a169194b2cb4403c537}{lock}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00535}00535 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00536}00536         err = 0;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00537}00537 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00538}00538         \textcolor{keywordflow}{return} err;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00539}00539 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00540}00540 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00541}00541 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00542}\mbox{\hyperlink{driver_8h_ac9670bf1e7c75527e4e7fda64d6f4412}{00542}} \textcolor{keywordtype}{void} \mbox{\hyperlink{mlx5__eq_8c_ac9670bf1e7c75527e4e7fda64d6f4412}{mlx5\_eq\_cleanup}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *dev)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00543}00543 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00544}00544 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00545}00545 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00546}\mbox{\hyperlink{driver_8h_a963cc7741407ea94f1fc020ca28d0452}{00546}} \textcolor{keywordtype}{int} \mbox{\hyperlink{mlx5__eq_8c_a963cc7741407ea94f1fc020ca28d0452}{mlx5\_start\_eqs}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *dev)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00547}00547 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00548}00548         \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__eq__table}{mlx5\_eq\_table}} *table = \&\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}-\/>priv.eq\_table;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00549}00549         u64 async\_event\_mask = \mbox{\hyperlink{mlx5__eq_8c_a07de28769aa29b9843ed42e1d6ee98c3}{MLX5\_ASYNC\_EVENT\_MASK}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00550}00550         \textcolor{keywordtype}{int} err;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00551}00551 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00552}00552         \textcolor{keywordflow}{if} (\mbox{\hyperlink{device_8h_ab4698570d3992612e8c6ccf9fde798c3}{MLX5\_CAP\_GEN}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, port\_module\_event))}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00553}00553                 async\_event\_mask |= (1ull <<}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00554}00554                                      \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a9eaee915a513242fa026d4a264544bbd}{MLX5\_EVENT\_TYPE\_CODING\_PORT\_MODULE\_EVENT}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00555}00555 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00556}00556         \textcolor{keywordflow}{if} (\mbox{\hyperlink{device_8h_ab4698570d3992612e8c6ccf9fde798c3}{MLX5\_CAP\_GEN}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, nic\_vport\_change\_event))}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00557}00557                 async\_event\_mask |= (1ull <<}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00558}00558                                      \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a8b0d4544929b4c4dde81c2b3fdafddde}{MLX5\_EVENT\_TYPE\_NIC\_VPORT\_CHANGE}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00559}00559 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00560}00560         \textcolor{keywordflow}{if} (\mbox{\hyperlink{device_8h_ab4698570d3992612e8c6ccf9fde798c3}{MLX5\_CAP\_GEN}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, dcbx))}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00561}00561                 async\_event\_mask |= (1ull <<}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00562}00562                                      \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a10bc52fe740469b211fb6c0b015d5df6}{MLX5\_EVENT\_TYPE\_CODING\_DCBX\_CHANGE\_EVENT}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00563}00563 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00564}00564         \textcolor{keywordflow}{if} (\mbox{\hyperlink{device_8h_ab4698570d3992612e8c6ccf9fde798c3}{MLX5\_CAP\_GEN}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, fpga))}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00565}00565                 async\_event\_mask |= (1ull << \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063ab909e4ecc70b8282ae12f46882c1d1d0}{MLX5\_EVENT\_TYPE\_FPGA\_ERROR}}) |}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00566}00566                                     (1ull << \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a6e534ea39493f369081d17d6512b5f00}{MLX5\_EVENT\_TYPE\_FPGA\_QP\_ERROR}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00567}00567 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00568}00568         \textcolor{keywordflow}{if} (\mbox{\hyperlink{device_8h_ab4698570d3992612e8c6ccf9fde798c3}{MLX5\_CAP\_GEN}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, temp\_warn\_event))}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00569}00569                 async\_event\_mask |= (1ull << \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a84b24870a2384ffb4c425072f6173eb5}{MLX5\_EVENT\_TYPE\_TEMP\_WARN\_EVENT}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00570}00570 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00571}00571         \textcolor{keywordflow}{if} (\mbox{\hyperlink{device_8h_ab4698570d3992612e8c6ccf9fde798c3}{MLX5\_CAP\_GEN}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, general\_notification\_event)) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00572}00572                 async\_event\_mask |= (1ull <<}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00573}00573                     \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063a7f10a8bac45d42f448a865e4df6637c5}{MLX5\_EVENT\_TYPE\_CODING\_GENERAL\_NOTIFICATION\_EVENT}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00574}00574         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00575}00575 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00576}00576         err = \mbox{\hyperlink{mlx5__eq_8c_a06bf088b080c7e9f412bb4e3c0a5437a}{mlx5\_create\_map\_eq}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, \&table-\/>\mbox{\hyperlink{structmlx5__eq__table_adfd81b44e03474c43f34a24a6b5bfa48}{cmd\_eq}}, \mbox{\hyperlink{driver_8h_a1b70d876770ccff427513794d6b0b2a7ab4d7fd9751e66c0f7b7ac96d39a0bcc4}{MLX5\_EQ\_VEC\_CMD}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00577}00577                                  \mbox{\hyperlink{mlx5__eq_8c_a2f1398dba5e4a5616b83437528bdb28ea605def43f5204d8c00b5dcaf10ccbaee}{MLX5\_NUM\_CMD\_EQE}}, 1ull << \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063aba844396e0f961e23e9d87612290a0e4}{MLX5\_EVENT\_TYPE\_CMD}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00578}00578         \textcolor{keywordflow}{if} (err) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00579}00579                 \mbox{\hyperlink{mlx5__core_8h_ac024f7b881a7d4965ecc662bc4be81ca}{mlx5\_core\_warn}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, \textcolor{stringliteral}{"{}failed to create cmd EQ \%d\(\backslash\)n"{}}, err);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00580}00580                 \textcolor{keywordflow}{return} err;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00581}00581         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00582}00582 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00583}00583         \mbox{\hyperlink{driver_8h_a63eb78372399091391209a41536f51ad}{mlx5\_cmd\_use\_events}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00584}00584 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00585}00585         err = \mbox{\hyperlink{mlx5__eq_8c_a06bf088b080c7e9f412bb4e3c0a5437a}{mlx5\_create\_map\_eq}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, \&table-\/>\mbox{\hyperlink{structmlx5__eq__table_a934c3fa959d227b9b9e33ba51adf204b}{async\_eq}}, \mbox{\hyperlink{driver_8h_a1b70d876770ccff427513794d6b0b2a7a659698518ea7509e6e5832897aff21ca}{MLX5\_EQ\_VEC\_ASYNC}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00586}00586                                  \mbox{\hyperlink{mlx5__eq_8c_a2f1398dba5e4a5616b83437528bdb28eab813bdf8e7cb01f4c924b2f07716b7c8}{MLX5\_NUM\_ASYNC\_EQE}}, async\_event\_mask);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00587}00587         \textcolor{keywordflow}{if} (err) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00588}00588                 \mbox{\hyperlink{mlx5__core_8h_ac024f7b881a7d4965ecc662bc4be81ca}{mlx5\_core\_warn}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, \textcolor{stringliteral}{"{}failed to create async EQ \%d\(\backslash\)n"{}}, err);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00589}00589                 \textcolor{keywordflow}{goto} err1;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00590}00590         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00591}00591 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00592}00592         err = \mbox{\hyperlink{mlx5__eq_8c_a06bf088b080c7e9f412bb4e3c0a5437a}{mlx5\_create\_map\_eq}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, \&table-\/>\mbox{\hyperlink{structmlx5__eq__table_a3eadeb4cab623eff3496edaa9f783238}{pages\_eq}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00593}00593                                  \mbox{\hyperlink{driver_8h_a1b70d876770ccff427513794d6b0b2a7a5132dfb8a6e64941b79a6e35bec79292}{MLX5\_EQ\_VEC\_PAGES}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00594}00594                                  \textcolor{comment}{/* TODO: sriov max\_vf + */} 1,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00595}00595                                  1 << \mbox{\hyperlink{mlx5__ifc_8h_aeb8d583a31cccbb8cf9b452a8e298063ad28471d56eff54d0e5e6b3d09dd74237}{MLX5\_EVENT\_TYPE\_PAGE\_REQUEST}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00596}00596         \textcolor{keywordflow}{if} (err) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00597}00597                 \mbox{\hyperlink{mlx5__core_8h_ac024f7b881a7d4965ecc662bc4be81ca}{mlx5\_core\_warn}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, \textcolor{stringliteral}{"{}failed to create pages EQ \%d\(\backslash\)n"{}}, err);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00598}00598                 \textcolor{keywordflow}{goto} err2;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00599}00599         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00600}00600 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00601}00601         \textcolor{keywordflow}{return} err;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00602}00602 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00603}00603 err2:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00604}00604         \mbox{\hyperlink{mlx5__eq_8c_a317bd1a217dccf36056c07c42bf058b8}{mlx5\_destroy\_unmap\_eq}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, \&table-\/>\mbox{\hyperlink{structmlx5__eq__table_a934c3fa959d227b9b9e33ba51adf204b}{async\_eq}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00605}00605 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00606}00606 err1:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00607}00607         \mbox{\hyperlink{driver_8h_a9dac63c7cbfa641e32f575e08f1ccf9d}{mlx5\_cmd\_use\_polling}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00608}00608         \mbox{\hyperlink{mlx5__eq_8c_a317bd1a217dccf36056c07c42bf058b8}{mlx5\_destroy\_unmap\_eq}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, \&table-\/>\mbox{\hyperlink{structmlx5__eq__table_adfd81b44e03474c43f34a24a6b5bfa48}{cmd\_eq}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00609}00609         \textcolor{keywordflow}{return} err;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00610}00610 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00611}00611 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00612}\mbox{\hyperlink{driver_8h_a23be3542e436e08e6e4f3238f6d44efb}{00612}} \textcolor{keywordtype}{int} \mbox{\hyperlink{mlx5__eq_8c_a23be3542e436e08e6e4f3238f6d44efb}{mlx5\_stop\_eqs}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}})}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00613}00613 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00614}00614         \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__eq__table}{mlx5\_eq\_table}} *table = \&\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}-\/>priv.eq\_table;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00615}00615         \textcolor{keywordtype}{int} err;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00616}00616 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00617}00617         err = \mbox{\hyperlink{mlx5__eq_8c_a317bd1a217dccf36056c07c42bf058b8}{mlx5\_destroy\_unmap\_eq}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, \&table-\/>\mbox{\hyperlink{structmlx5__eq__table_a3eadeb4cab623eff3496edaa9f783238}{pages\_eq}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00618}00618         \textcolor{keywordflow}{if} (err)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00619}00619                 \textcolor{keywordflow}{return} err;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00620}00620 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00621}00621         \mbox{\hyperlink{mlx5__eq_8c_a317bd1a217dccf36056c07c42bf058b8}{mlx5\_destroy\_unmap\_eq}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, \&table-\/>\mbox{\hyperlink{structmlx5__eq__table_a934c3fa959d227b9b9e33ba51adf204b}{async\_eq}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00622}00622         \mbox{\hyperlink{driver_8h_a9dac63c7cbfa641e32f575e08f1ccf9d}{mlx5\_cmd\_use\_polling}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00623}00623 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00624}00624         err = \mbox{\hyperlink{mlx5__eq_8c_a317bd1a217dccf36056c07c42bf058b8}{mlx5\_destroy\_unmap\_eq}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, \&table-\/>\mbox{\hyperlink{structmlx5__eq__table_adfd81b44e03474c43f34a24a6b5bfa48}{cmd\_eq}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00625}00625         \textcolor{keywordflow}{if} (err)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00626}00626                 \mbox{\hyperlink{driver_8h_a63eb78372399091391209a41536f51ad}{mlx5\_cmd\_use\_events}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00627}00627 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00628}00628         \textcolor{keywordflow}{return} err;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00629}00629 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00630}00630 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00631}\mbox{\hyperlink{driver_8h_ab341c64bbf2ce090ef385e31c8be958a}{00631}} \textcolor{keywordtype}{int} \mbox{\hyperlink{mlx5__eq_8c_ab341c64bbf2ce090ef385e31c8be958a}{mlx5\_core\_eq\_query}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__eq}{mlx5\_eq}} *eq,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00632}00632                        u32 *out, \textcolor{keywordtype}{int} outlen)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00633}00633 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00634}00634         u32 in[\mbox{\hyperlink{device_8h_a2bdfa104f3d7c0635b984382d1562741}{MLX5\_ST\_SZ\_DW}}(query\_eq\_in)] = \{0\};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00635}00635 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00636}00636         memset(out, 0, outlen);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00637}00637         \mbox{\hyperlink{device_8h_a78623a3e69c7911bd715d06c32daa626}{MLX5\_SET}}(query\_eq\_in, in, opcode, \mbox{\hyperlink{mlx5__ifc_8h_a871a83db4e53fc6c6872b5ac7cc94f39a882c9a9f594546de44fa53474cd6f3f3}{MLX5\_CMD\_OP\_QUERY\_EQ}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00638}00638         \mbox{\hyperlink{device_8h_a78623a3e69c7911bd715d06c32daa626}{MLX5\_SET}}(query\_eq\_in, in, eq\_number, eq-\/>\mbox{\hyperlink{structmlx5__eq_ae40b65c29bbadc2c52b43a40afc37790}{eqn}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00639}00639 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00640}00640         \textcolor{keywordflow}{return} \mbox{\hyperlink{driver_8h_ad7393e74938540251a0c894eb1eae135}{mlx5\_cmd\_exec}}(\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, in, \textcolor{keyword}{sizeof}(in), out, outlen);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00641}00641 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00642}\mbox{\hyperlink{mlx5__eq_8c_ad9e482cdbc6bfba785216149ee7aa5bf}{00642}} \mbox{\hyperlink{mlx5__eq_8c_a3bcf44e3d8dd587121956935537ab4f2}{EXPORT\_SYMBOL\_GPL}}(\mbox{\hyperlink{mlx5__eq_8c_ab341c64bbf2ce090ef385e31c8be958a}{mlx5\_core\_eq\_query}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00643}00643 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00644}\mbox{\hyperlink{mlx5__eq_8c_a6507634c98ffcc844e93a63d7f17539c}{00644}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\mbox{\hyperlink{mlx5__eq_8c_a6507634c98ffcc844e93a63d7f17539c}{mlx5\_port\_module\_event\_error\_type\_to\_string}}(u8 error\_type)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00645}00645 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00646}00646         \textcolor{keywordflow}{switch} (error\_type) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00647}00647         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_afa231099d07583c3ed0981e0bb665f55a711ecd7c755e10f0716936e2b7035cfe}{MLX5\_MODULE\_EVENT\_ERROR\_POWER\_BUDGET\_EXCEEDED}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00648}00648                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Power budget exceeded"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00649}00649         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_afa231099d07583c3ed0981e0bb665f55a9753a554b7f41661ee47ad81c45e4de0}{MLX5\_MODULE\_EVENT\_ERROR\_LONG\_RANGE\_FOR\_NON\_MLNX\_CABLE\_MODULE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00650}00650                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Long Range for non MLNX cable"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00651}00651         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_afa231099d07583c3ed0981e0bb665f55a1631cc8456c5d37d2f72f57cbf67cf28}{MLX5\_MODULE\_EVENT\_ERROR\_BUS\_STUCK}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00652}00652                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Bus stuck(I2C or data shorted)"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00653}00653         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_afa231099d07583c3ed0981e0bb665f55acd0e091670b8c55a468e904e6ed229e7}{MLX5\_MODULE\_EVENT\_ERROR\_NO\_EEPROM\_RETRY\_TIMEOUT}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00654}00654                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}No EEPROM/retry timeout"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00655}00655         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_afa231099d07583c3ed0981e0bb665f55abd10544881d0e13ce46aa2ad5a6481d2}{MLX5\_MODULE\_EVENT\_ERROR\_ENFORCE\_PART\_NUMBER\_LIST}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00656}00656                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Enforce part number list"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00657}00657         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_afa231099d07583c3ed0981e0bb665f55ad48c4c7702872e7195595c83c671e5c7}{MLX5\_MODULE\_EVENT\_ERROR\_UNSUPPORTED\_CABLE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00658}00658                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Unknown identifier"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00659}00659         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_afa231099d07583c3ed0981e0bb665f55ab04eff54be4de706564acf9e88bef1c4}{MLX5\_MODULE\_EVENT\_ERROR\_HIGH\_TEMPERATURE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00660}00660                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}High Temperature"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00661}00661         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_afa231099d07583c3ed0981e0bb665f55abd083313574321da40828ef204b95d8a}{MLX5\_MODULE\_EVENT\_ERROR\_CABLE\_IS\_SHORTED}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00662}00662                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Bad or shorted cable/module"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00663}00663         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_afa231099d07583c3ed0981e0bb665f55a87cca413bdde5d86b1b5d0e3b77199ae}{MLX5\_MODULE\_EVENT\_ERROR\_PMD\_TYPE\_NOT\_ENABLED}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00664}00664                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}PMD type is not enabled"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00665}00665         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_afa231099d07583c3ed0981e0bb665f55afe8a0e59b676fe17548f2344a316d587}{MLX5\_MODULE\_EVENT\_ERROR\_LASTER\_TEC\_FAILURE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00666}00666                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Laster\_TEC\_failure"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00667}00667         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_afa231099d07583c3ed0981e0bb665f55a3e3c0d47969f498ea5daaca5a695cabd}{MLX5\_MODULE\_EVENT\_ERROR\_HIGH\_CURRENT}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00668}00668                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}High\_current"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00669}00669         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_afa231099d07583c3ed0981e0bb665f55a79778d5a283383e9e251d7858df15c6f}{MLX5\_MODULE\_EVENT\_ERROR\_HIGH\_VOLTAGE}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00670}00670                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}High\_voltage"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00671}00671         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_afa231099d07583c3ed0981e0bb665f55a2a5e97203ce06990d3717abf04be5c33}{MLX5\_MODULE\_EVENT\_ERROR\_PCIE\_SYS\_POWER\_SLOT\_EXCEEDED}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00672}00672                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}pcie\_system\_power\_slot\_Exceeded"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00673}00673         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_afa231099d07583c3ed0981e0bb665f55ae4aaf0d584d946f7fe729f7424555331}{MLX5\_MODULE\_EVENT\_ERROR\_HIGH\_POWER}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00674}00674                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}High\_power"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00675}00675         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_afa231099d07583c3ed0981e0bb665f55ad5a038181ad5a4e001d77a6a4796db52}{MLX5\_MODULE\_EVENT\_ERROR\_MODULE\_STATE\_MACHINE\_FAULT}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00676}00676                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Module\_state\_machine\_fault"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00677}00677         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00678}00678                 \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Unknown error type"{}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00679}00679         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00680}00680 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00681}00681 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00682}\mbox{\hyperlink{mlx5__eq_8c_acf9ebb41ea75374e81c7d9ca14501267}{00682}} \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \mbox{\hyperlink{mlx5__eq_8c_acf9ebb41ea75374e81c7d9ca14501267}{mlx5\_query\_module\_status}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}, \textcolor{keywordtype}{int} module\_num)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00683}00683 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00684}00684         \textcolor{keywordflow}{if} (module\_num < 0 || module\_num >= \mbox{\hyperlink{driver_8h_abe974f22edeef8189603ba75fd90ff3ca1a8bad40bbc6d56e2ad083cc7ad4b693}{MLX5\_MAX\_PORTS}})}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00685}00685                 \textcolor{keywordflow}{return} 0;               \textcolor{comment}{/* undefined */}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00686}00686         \textcolor{keywordflow}{return} \mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}}-\/>module\_status[module\_num];}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00687}00687 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00688}00688 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00689}\mbox{\hyperlink{mlx5__eq_8c_a370192090ff6f36fb616d0b3ce36d736}{00689}} \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{mlx5__eq_8c_a370192090ff6f36fb616d0b3ce36d736}{mlx5\_port\_module\_event}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *\mbox{\hyperlink{structmlx5__eq__table_a3116b021e1afe2604c95b2933b161113}{dev}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00690}00690                                    \textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__eqe}{mlx5\_eqe}} *eqe)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00691}00691 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00692}00692         \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} module\_num;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00693}00693         \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} module\_status;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00694}00694         \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} error\_type;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00695}00695         \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__eqe__port__module__event}{mlx5\_eqe\_port\_module\_event}} *module\_event\_eqe;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00696}00696 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00697}00697         module\_event\_eqe = \&eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a23d790d7732ba01f68202e2f410f9248}{data}}.\mbox{\hyperlink{unionev__data_a6a7422b02fe9191c90fd9da636549a9e}{port\_module\_event}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00698}00698 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00699}00699         module\_num = (\textcolor{keywordtype}{unsigned} int)module\_event\_eqe-\/>\mbox{\hyperlink{structmlx5__eqe__port__module__event_acb27972feffe2c94d9a0a1cb2644847f}{module}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00700}00700         \mbox{\hyperlink{structmlx5__eqe__port__module__event_a4cb274181882178542e0341a80c6ef7d}{module\_status}} = (\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int})module\_event\_eqe-\/>\mbox{\hyperlink{structmlx5__eqe__port__module__event_a4cb274181882178542e0341a80c6ef7d}{module\_status}} \&}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00701}00701             \mbox{\hyperlink{device_8h_a207ab9cb36321fb8d5fb64b504e9bd7a}{PORT\_MODULE\_EVENT\_MODULE\_STATUS\_MASK}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00702}00702         \mbox{\hyperlink{structmlx5__eqe__port__module__event_a87a67f20a9e042c9c522441542aa2895}{error\_type}} = (\textcolor{keywordtype}{unsigned} int)module\_event\_eqe-\/>\mbox{\hyperlink{structmlx5__eqe__port__module__event_a87a67f20a9e042c9c522441542aa2895}{error\_type}} \&}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00703}00703             \mbox{\hyperlink{device_8h_a9d5618aed94d9c2f18fbcd69d71e1b17}{PORT\_MODULE\_EVENT\_ERROR\_TYPE\_MASK}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00704}00704 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00705}00705         if (\mbox{\hyperlink{structmlx5__eqe__port__module__event_a4cb274181882178542e0341a80c6ef7d}{module\_status}} < \mbox{\hyperlink{device_8h_a2970898e8a43ce21e1cc510d49f1b89daadfa10309acaf348bc61d2b53f3ba366}{MLX5\_MODULE\_STATUS\_NUM}})}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00706}00706                 dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a2642b287846069d077eec2d44e137703}{priv}}.\mbox{\hyperlink{structmlx5__priv_a6de6eb11adf24eb4aacfb9c9144cb1ad}{pme\_stats}}.\mbox{\hyperlink{structmlx5__pme__stats_a5252a71af396dd7f1f72a07819b7b6ee}{status\_counters}}[\mbox{\hyperlink{structmlx5__eqe__port__module__event_a4cb274181882178542e0341a80c6ef7d}{module\_status}}]++;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00707}00707         \textcolor{keywordflow}{switch} (\mbox{\hyperlink{structmlx5__eqe__port__module__event_a4cb274181882178542e0341a80c6ef7d}{module\_status}}) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00708}00708         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a2970898e8a43ce21e1cc510d49f1b89da722fe0b1ed73a075a3b88ff79de37468}{MLX5\_MODULE\_STATUS\_PLUGGED\_ENABLED}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00709}00709                 \mbox{\hyperlink{mlx5__core_8h_a8ff010c7cb26035189d21f3424fbda89}{mlx5\_core\_info}}(dev,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00710}00710                     \textcolor{stringliteral}{"{}Module \%u, status: plugged and enabled\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00711}00711                     module\_num);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00712}00712                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00713}00713 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00714}00714         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a2970898e8a43ce21e1cc510d49f1b89da923e79785a1aeab00578ce6bb042dd69}{MLX5\_MODULE\_STATUS\_UNPLUGGED}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00715}00715                 \mbox{\hyperlink{mlx5__core_8h_a8ff010c7cb26035189d21f3424fbda89}{mlx5\_core\_info}}(dev,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00716}00716                     \textcolor{stringliteral}{"{}Module \%u, status: unplugged\(\backslash\)n"{}}, module\_num);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00717}00717                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00718}00718 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00719}00719         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a2970898e8a43ce21e1cc510d49f1b89dacfe7a37b0b5053ad8ee110d7e43579a6}{MLX5\_MODULE\_STATUS\_ERROR}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00720}00720                 \mbox{\hyperlink{mlx5__core_8h_aeead4611cdbd6dbc272371c77201a6a5}{mlx5\_core\_err}}(dev,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00721}00721                     \textcolor{stringliteral}{"{}Module \%u, status: error, \%s (\%d)\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00722}00722                     module\_num,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00723}00723                     \mbox{\hyperlink{mlx5__eq_8c_a6507634c98ffcc844e93a63d7f17539c}{mlx5\_port\_module\_event\_error\_type\_to\_string}}(\mbox{\hyperlink{structmlx5__eqe__port__module__event_a87a67f20a9e042c9c522441542aa2895}{error\_type}}),}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00724}00724                     \mbox{\hyperlink{structmlx5__eqe__port__module__event_a87a67f20a9e042c9c522441542aa2895}{error\_type}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00725}00725                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{structmlx5__eqe__port__module__event_a87a67f20a9e042c9c522441542aa2895}{error\_type}} < \mbox{\hyperlink{device_8h_afa231099d07583c3ed0981e0bb665f55a3bd2edb609f534791eaa878350abbb19}{MLX5\_MODULE\_EVENT\_ERROR\_NUM}})}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00726}00726                         dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a2642b287846069d077eec2d44e137703}{priv}}.\mbox{\hyperlink{structmlx5__priv_a6de6eb11adf24eb4aacfb9c9144cb1ad}{pme\_stats}}.\mbox{\hyperlink{structmlx5__pme__stats_a89607ba9596c0d661ee861fb29d75a64}{error\_counters}}[\mbox{\hyperlink{structmlx5__eqe__port__module__event_a87a67f20a9e042c9c522441542aa2895}{error\_type}}]++;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00727}00727                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00728}00728 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00729}00729         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00730}00730                 \mbox{\hyperlink{mlx5__core_8h_a8ff010c7cb26035189d21f3424fbda89}{mlx5\_core\_info}}(dev,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00731}00731                     \textcolor{stringliteral}{"{}Module \%u, unknown status \%d\(\backslash\)n"{}}, module\_num, \mbox{\hyperlink{structmlx5__eqe__port__module__event_a4cb274181882178542e0341a80c6ef7d}{module\_status}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00732}00732         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00733}00733         \textcolor{comment}{/* store module status */}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00734}00734         \textcolor{keywordflow}{if} (module\_num < \mbox{\hyperlink{driver_8h_abe974f22edeef8189603ba75fd90ff3ca1a8bad40bbc6d56e2ad083cc7ad4b693}{MLX5\_MAX\_PORTS}})}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00735}00735                 dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a7469d989db419aa11f11fefbcd8a5b68}{module\_status}}[module\_num] = \mbox{\hyperlink{structmlx5__eqe__port__module__event_a4cb274181882178542e0341a80c6ef7d}{module\_status}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00736}00736 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00737}00737 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00738}\mbox{\hyperlink{mlx5__eq_8c_a136efde93b0d2eb47db4e65aeecda423}{00738}} \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{mlx5__eq_8c_a136efde93b0d2eb47db4e65aeecda423}{mlx5\_port\_general\_notification\_event}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *dev,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00739}00739                                                  \textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__eqe}{mlx5\_eqe}} *eqe)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00740}00740 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00741}00741         u8 port = (eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a23d790d7732ba01f68202e2f410f9248}{data}}.\mbox{\hyperlink{unionev__data_a7f8cc159a2074ef3dd4cb2338b86adee}{port}}.\mbox{\hyperlink{structmlx5__eqe__port__state_acee3b02fd72d59528dc204b5ab2eb7c7}{port}} >> 4) \& 0xf;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00742}00742         u32 \mbox{\hyperlink{en_8h_a06f12ebe5a6429743fb9bca6767de088}{rqn}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00743}00743         \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__eqe__general__notification__event}{mlx5\_eqe\_general\_notification\_event}} *general\_event;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00744}00744 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00745}00745         \textcolor{keywordflow}{switch} (eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a4bf685133d9c54f03eab7e75cd074d0d}{sub\_type}}) \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00746}00746         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a9e93d8eae633734dfeb29e24a1f3a7c0abd65a5dc597515ccf89c2cd6943161b9}{MLX5\_GEN\_EVENT\_SUBTYPE\_DELAY\_DROP\_TIMEOUT}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00747}00747                 general\_event = \&eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a23d790d7732ba01f68202e2f410f9248}{data}}.\mbox{\hyperlink{unionev__data_a98e4ddc74c50c2bf297baa99e49eeded}{general\_notifications}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00748}00748                 \mbox{\hyperlink{en_8h_a06f12ebe5a6429743fb9bca6767de088}{rqn}} = be32\_to\_cpu(general\_event-\/>\mbox{\hyperlink{structmlx5__eqe__general__notification__event_a380a8f3d98ab89158926bcfb3071c1ed}{rq\_user\_index\_delay\_drop}}) \&}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00749}00749                           0xffffff;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00750}00750                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00751}00751         \textcolor{keywordflow}{case} \mbox{\hyperlink{device_8h_a9e93d8eae633734dfeb29e24a1f3a7c0a2c67fc4a284b01477a47f4b19db2da50}{MLX5\_GEN\_EVENT\_SUBTYPE\_PCI\_POWER\_CHANGE\_EVENT}}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00752}00752                 \mbox{\hyperlink{driver_8h_ad48f759d3c4d48f8420ad7fe49979f17}{mlx5\_trigger\_health\_watchdog}}(dev);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00753}00753                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00754}00754         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00755}00755                 \mbox{\hyperlink{mlx5__core_8h_ac024f7b881a7d4965ecc662bc4be81ca}{mlx5\_core\_warn}}(dev,}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00756}00756                                \textcolor{stringliteral}{"{}general event with unrecognized subtype: port \%d, sub\_type \%d\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00757}00757                                port, eqe-\/>\mbox{\hyperlink{structmlx5__eqe_a4bf685133d9c54f03eab7e75cd074d0d}{sub\_type}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00758}00758                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00759}00759         \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00760}00760 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00761}00761 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00762}00762 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00763}\mbox{\hyperlink{driver_8h_a36810310bffa1d26151e8ca3947457b2}{00763}} \mbox{\hyperlink{mlx5__eq_8c_a75c57061005d9eee888d650f4bb0caed}{mlx5\_disable\_interrupts}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *dev)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00764}00764 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00765}00765         \textcolor{keywordtype}{int} nvec = dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a2642b287846069d077eec2d44e137703}{priv}}.\mbox{\hyperlink{structmlx5__priv_a964673598512783a751c61e61e82f365}{eq\_table}}.\mbox{\hyperlink{structmlx5__eq__table_a830abb074ed5cb9dc35589a88a9a7b8f}{num\_comp\_vectors}} + \mbox{\hyperlink{driver_8h_a1b70d876770ccff427513794d6b0b2a7a097a3a0769380c7eb5dc37607e2464a2}{MLX5\_EQ\_VEC\_COMP\_BASE}};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00766}00766         \textcolor{keywordtype}{int} x;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00767}00767 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00768}00768         \textcolor{keywordflow}{for} (x = 0; x != nvec; x++)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00769}00769                 disable\_irq(dev-\/>\mbox{\hyperlink{structmlx5__core__dev_a2642b287846069d077eec2d44e137703}{priv}}.\mbox{\hyperlink{structmlx5__priv_a8be22ab92b25f4d7ce05c1a21cba2643}{msix\_arr}}[x].vector);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00770}00770 \}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00771}00771 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00772}00772 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00773}\mbox{\hyperlink{driver_8h_af8afd0fdbd42b18a1a9f6f200b615567}{00773}} \mbox{\hyperlink{mlx5__eq_8c_a26c9364ae8f4255c71cdd48a506c01b5}{mlx5\_poll\_interrupts}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmlx5__core__dev}{mlx5\_core\_dev}} *dev)}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00774}00774 \{}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00775}00775         \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__eq}{mlx5\_eq}} *eq;}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00776}00776 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00777}00777         \textcolor{keywordflow}{if} (unlikely(\mbox{\hyperlink{structmlx5__eq_a48de0b90831721e799bca729dfb7ac69}{dev}}-\/>\mbox{\hyperlink{structmlx5__core__dev_a2642b287846069d077eec2d44e137703}{priv}}.\mbox{\hyperlink{structmlx5__priv_a4af23ce56d9c69785674c4db7cea5011}{disable\_irqs}} != 0))}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00778}00778                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00779}00779 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00780}00780         \mbox{\hyperlink{mlx5__eq_8c_a35b86f21a527bb67fcad1602ca8d3328}{mlx5\_eq\_int}}(\mbox{\hyperlink{structmlx5__eq_a48de0b90831721e799bca729dfb7ac69}{dev}}, \&\mbox{\hyperlink{structmlx5__eq_a48de0b90831721e799bca729dfb7ac69}{dev}}-\/>\mbox{\hyperlink{structmlx5__core__dev_a2642b287846069d077eec2d44e137703}{priv}}.\mbox{\hyperlink{structmlx5__priv_a964673598512783a751c61e61e82f365}{eq\_table}}.\mbox{\hyperlink{structmlx5__eq__table_adfd81b44e03474c43f34a24a6b5bfa48}{cmd\_eq}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00781}00781         \mbox{\hyperlink{mlx5__eq_8c_a35b86f21a527bb67fcad1602ca8d3328}{mlx5\_eq\_int}}(\mbox{\hyperlink{structmlx5__eq_a48de0b90831721e799bca729dfb7ac69}{dev}}, \&\mbox{\hyperlink{structmlx5__eq_a48de0b90831721e799bca729dfb7ac69}{dev}}-\/>\mbox{\hyperlink{structmlx5__core__dev_a2642b287846069d077eec2d44e137703}{priv}}.\mbox{\hyperlink{structmlx5__priv_a964673598512783a751c61e61e82f365}{eq\_table}}.\mbox{\hyperlink{structmlx5__eq__table_a934c3fa959d227b9b9e33ba51adf204b}{async\_eq}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00782}00782         \mbox{\hyperlink{mlx5__eq_8c_a35b86f21a527bb67fcad1602ca8d3328}{mlx5\_eq\_int}}(\mbox{\hyperlink{structmlx5__eq_a48de0b90831721e799bca729dfb7ac69}{dev}}, \&\mbox{\hyperlink{structmlx5__eq_a48de0b90831721e799bca729dfb7ac69}{dev}}-\/>\mbox{\hyperlink{structmlx5__core__dev_a2642b287846069d077eec2d44e137703}{priv}}.\mbox{\hyperlink{structmlx5__priv_a964673598512783a751c61e61e82f365}{eq\_table}}.\mbox{\hyperlink{structmlx5__eq__table_a3eadeb4cab623eff3496edaa9f783238}{pages\_eq}});}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00783}00783 }
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00784}00784         list\_for\_each\_entry(eq, \&\mbox{\hyperlink{structmlx5__eq_a48de0b90831721e799bca729dfb7ac69}{dev}}-\/>\mbox{\hyperlink{structmlx5__core__dev_a2642b287846069d077eec2d44e137703}{priv}}.\mbox{\hyperlink{structmlx5__priv_a964673598512783a751c61e61e82f365}{eq\_table}}.\mbox{\hyperlink{structmlx5__eq__table_a9c302a9168752cdc41d52cb39c70fac8}{comp\_eqs\_list}}, \mbox{\hyperlink{structmlx5__eq_a50850bc632adc28ac9846a65af57235f}{list}})}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00785}00785                 \mbox{\hyperlink{mlx5__eq_8c_a35b86f21a527bb67fcad1602ca8d3328}{mlx5\_eq\_int}}(\mbox{\hyperlink{structmlx5__eq_a48de0b90831721e799bca729dfb7ac69}{dev}}, eq);}
\DoxyCodeLine{\Hypertarget{mlx5__eq_8c_source_l00786}00786 \}}

\end{DoxyCode}
