\hypertarget{mlx5io_8h_source}{}\doxysection{mlx5io.\+h}
\label{mlx5io_8h_source}\index{dev/mlx5/mlx5io.h@{dev/mlx5/mlx5io.h}}
\mbox{\hyperlink{mlx5io_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00001}00001 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00002}00002 \textcolor{comment}{ * Copyright (c) 2018, Mellanox Technologies, Ltd.  All rights reserved.}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00003}00003 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00004}00004 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00005}00005 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00006}00006 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00007}00007 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00008}00008 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00009}00009 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00010}00010 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00011}00011 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00012}00012 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00013}00013 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS `AS IS' AND}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00014}00014 \textcolor{comment}{ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00015}00015 \textcolor{comment}{ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00016}00016 \textcolor{comment}{ * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00017}00017 \textcolor{comment}{ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00018}00018 \textcolor{comment}{ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00019}00019 \textcolor{comment}{ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00020}00020 \textcolor{comment}{ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00021}00021 \textcolor{comment}{ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00022}00022 \textcolor{comment}{ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00023}00023 \textcolor{comment}{ * SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00024}00024 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00025}00025 \textcolor{comment}{ * \$FreeBSD\$}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00026}00026 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00027}00027 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00028}00028 \textcolor{preprocessor}{\#ifndef \_DEV\_MLX5\_MLX5IO\_H\_}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00029}00029 \textcolor{preprocessor}{\#define \_DEV\_MLX5\_MLX5IO\_H\_}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00030}00030 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00031}00031 \textcolor{preprocessor}{\#include <sys/ioccom.h>}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00032}00032 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00033}\mbox{\hyperlink{structmlx5__fwdump__reg}{00033}} \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__fwdump__reg}{mlx5\_fwdump\_reg}} \{}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00034}\mbox{\hyperlink{structmlx5__fwdump__reg_a1a9c9d6e6420e7913d111100176fb6b2}{00034}}         uint32\_t \mbox{\hyperlink{structmlx5__fwdump__reg_a1a9c9d6e6420e7913d111100176fb6b2}{addr}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00035}\mbox{\hyperlink{structmlx5__fwdump__reg_a2a929fb5176d8bbc45272d7293f69d80}{00035}}         uint32\_t \mbox{\hyperlink{structmlx5__fwdump__reg_a2a929fb5176d8bbc45272d7293f69d80}{val}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00036}00036 \};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00037}00037 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00038}\mbox{\hyperlink{structmlx5__tool__addr}{00038}} \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__tool__addr}{mlx5\_tool\_addr}} \{}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00039}\mbox{\hyperlink{structmlx5__tool__addr_ad202eed1399d271c365b44bc32312d4f}{00039}}         uint32\_t \mbox{\hyperlink{structmlx5__tool__addr_ad202eed1399d271c365b44bc32312d4f}{domain}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00040}\mbox{\hyperlink{structmlx5__tool__addr_ac7059b3613984fdc7fa0f59a16deaa39}{00040}}         uint8\_t \mbox{\hyperlink{structmlx5__tool__addr_ac7059b3613984fdc7fa0f59a16deaa39}{bus}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00041}\mbox{\hyperlink{structmlx5__tool__addr_afd8d61bc5a13a206722c6578a4f28831}{00041}}         uint8\_t \mbox{\hyperlink{structmlx5__tool__addr_afd8d61bc5a13a206722c6578a4f28831}{slot}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00042}\mbox{\hyperlink{structmlx5__tool__addr_a4878ba32389880999a16191f617702fb}{00042}}         uint8\_t \mbox{\hyperlink{structmlx5__tool__addr_a4878ba32389880999a16191f617702fb}{func}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00043}00043 \};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00044}00044 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00045}\mbox{\hyperlink{structmlx5__fwdump__get}{00045}} \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__fwdump__get}{mlx5\_fwdump\_get}} \{}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00046}\mbox{\hyperlink{structmlx5__fwdump__get_a27e85747563822eee3c8862203e58e46}{00046}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__tool__addr}{mlx5\_tool\_addr}} \mbox{\hyperlink{structmlx5__fwdump__get_a27e85747563822eee3c8862203e58e46}{devaddr}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00047}\mbox{\hyperlink{structmlx5__fwdump__get_a9d82e888213fcd18719189b2378d4fe4}{00047}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__fwdump__reg}{mlx5\_fwdump\_reg}} *\mbox{\hyperlink{structmlx5__fwdump__get_a9d82e888213fcd18719189b2378d4fe4}{buf}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00048}\mbox{\hyperlink{structmlx5__fwdump__get_a9cd7a24f0695e8d28b8a94d4bda30a0c}{00048}}         \textcolor{keywordtype}{size\_t} \mbox{\hyperlink{structmlx5__fwdump__get_a9cd7a24f0695e8d28b8a94d4bda30a0c}{reg\_cnt}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00049}\mbox{\hyperlink{structmlx5__fwdump__get_a23907f19994ef56e2b97da3944a700e0}{00049}}         \textcolor{keywordtype}{size\_t} \mbox{\hyperlink{structmlx5__fwdump__get_a23907f19994ef56e2b97da3944a700e0}{reg\_filled}}; \textcolor{comment}{/* out */}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00050}00050 \};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00051}00051 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00052}\mbox{\hyperlink{structmlx5__fw__update}{00052}} \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__fw__update}{mlx5\_fw\_update}} \{}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00053}\mbox{\hyperlink{structmlx5__fw__update_a56cfa08f96ab4b0ab21fe491011de75e}{00053}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__tool__addr}{mlx5\_tool\_addr}} \mbox{\hyperlink{structmlx5__fw__update_a56cfa08f96ab4b0ab21fe491011de75e}{devaddr}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00054}\mbox{\hyperlink{structmlx5__fw__update_a0afd5c45b3dab0ae42db2a1e36249620}{00054}}         \textcolor{keywordtype}{void} *\mbox{\hyperlink{structmlx5__fw__update_a0afd5c45b3dab0ae42db2a1e36249620}{img\_fw\_data}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00055}\mbox{\hyperlink{structmlx5__fw__update_ae4128947ab1fa4d674afd4cc0bcd308d}{00055}}         \textcolor{keywordtype}{size\_t} \mbox{\hyperlink{structmlx5__fw__update_ae4128947ab1fa4d674afd4cc0bcd308d}{img\_fw\_data\_len}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00056}00056 \};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00057}00057 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00058}\mbox{\hyperlink{structmlx5__eeprom__get}{00058}} \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__eeprom__get}{mlx5\_eeprom\_get}} \{}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00059}\mbox{\hyperlink{structmlx5__eeprom__get_a6ef19e00a73bf1912852385ca0dc5929}{00059}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__tool__addr}{mlx5\_tool\_addr}} \mbox{\hyperlink{structmlx5__eeprom__get_a6ef19e00a73bf1912852385ca0dc5929}{devaddr}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00060}\mbox{\hyperlink{structmlx5__eeprom__get_a08ed9364e44d8f5c6dd44d9034be3828}{00060}}         uint32\_t *\mbox{\hyperlink{structmlx5__eeprom__get_a08ed9364e44d8f5c6dd44d9034be3828}{eeprom\_info\_buf}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00061}\mbox{\hyperlink{structmlx5__eeprom__get_a344c6b8eda86b16a27420c11caab63cf}{00061}}         uint8\_t \mbox{\hyperlink{structmlx5__eeprom__get_a344c6b8eda86b16a27420c11caab63cf}{eeprom\_info\_page\_valid}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00062}\mbox{\hyperlink{structmlx5__eeprom__get_a05917265f8ea90f360f36fd0d1cc4bec}{00062}}         \textcolor{keywordtype}{size\_t} \mbox{\hyperlink{structmlx5__eeprom__get_a05917265f8ea90f360f36fd0d1cc4bec}{eeprom\_info\_out\_len}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00063}00063 \};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00064}00064 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00065}\mbox{\hyperlink{mlx5io_8h_ae7979e6fb39624762871e455cc89c6ca}{00065}} \textcolor{preprocessor}{\#define MLX5\_FWDUMP\_GET         \_IOWR('m', 1, struct mlx5\_fwdump\_get)}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00066}\mbox{\hyperlink{mlx5io_8h_a124898102e789e80f011f38742004c62}{00066}} \textcolor{preprocessor}{\#define MLX5\_FWDUMP\_RESET       \_IOW('m', 2, struct mlx5\_tool\_addr)}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00067}\mbox{\hyperlink{mlx5io_8h_a258e15696b53d7001acb45a3a1030a31}{00067}} \textcolor{preprocessor}{\#define MLX5\_FWDUMP\_FORCE       \_IOW('m', 3, struct mlx5\_tool\_addr)}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00068}\mbox{\hyperlink{mlx5io_8h_af106927d97330f0e8ba454b3c22c2056}{00068}} \textcolor{preprocessor}{\#define MLX5\_FW\_UPDATE          \_IOW('m', 4, struct mlx5\_fw\_update)}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00069}\mbox{\hyperlink{mlx5io_8h_a19a88a371e35e3dd3ba06a5cff09b1e1}{00069}} \textcolor{preprocessor}{\#define MLX5\_FW\_RESET           \_IOW('m', 5, struct mlx5\_tool\_addr)}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00070}\mbox{\hyperlink{mlx5io_8h_acf38d9ae4010a977e4fd7f165295814f}{00070}} \textcolor{preprocessor}{\#define MLX5\_EEPROM\_GET         \_IOWR('m', 6, struct mlx5\_eeprom\_get)}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00071}00071 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00072}00072 \textcolor{preprocessor}{\#ifndef \_KERNEL}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00073}00073 \textcolor{preprocessor}{\#define MLX5\_DEV\_PATH   \_PATH\_DEV"{}mlx5ctl"{}}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00074}00074 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00075}00075 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00076}\mbox{\hyperlink{mlx5io_8h_ab7b7125f7ca40d4bb405502f2a0ac77b}{00076}} \textcolor{keyword}{enum} \mbox{\hyperlink{mlx5io_8h_ab7b7125f7ca40d4bb405502f2a0ac77b}{mlx5\_fpga\_id}} \{}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00077}\mbox{\hyperlink{mlx5io_8h_ab7b7125f7ca40d4bb405502f2a0ac77ba42100fffe7823343c272c481a162ff18}{00077}}         \mbox{\hyperlink{mlx5io_8h_ab7b7125f7ca40d4bb405502f2a0ac77ba42100fffe7823343c272c481a162ff18}{MLX5\_FPGA\_NEWTON}} = 0,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00078}\mbox{\hyperlink{mlx5io_8h_ab7b7125f7ca40d4bb405502f2a0ac77ba41eb4efc3a09a2cb7f8273d663f0fe0b}{00078}}         \mbox{\hyperlink{mlx5io_8h_ab7b7125f7ca40d4bb405502f2a0ac77ba41eb4efc3a09a2cb7f8273d663f0fe0b}{MLX5\_FPGA\_EDISON}} = 1,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00079}\mbox{\hyperlink{mlx5io_8h_ab7b7125f7ca40d4bb405502f2a0ac77ba17a673c00c03138ad756687a72561b6a}{00079}}         \mbox{\hyperlink{mlx5io_8h_ab7b7125f7ca40d4bb405502f2a0ac77ba17a673c00c03138ad756687a72561b6a}{MLX5\_FPGA\_MORSE}} = 2,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00080}\mbox{\hyperlink{mlx5io_8h_ab7b7125f7ca40d4bb405502f2a0ac77ba5473f711b463fb1a796162dee80fb47a}{00080}}         \mbox{\hyperlink{mlx5io_8h_ab7b7125f7ca40d4bb405502f2a0ac77ba5473f711b463fb1a796162dee80fb47a}{MLX5\_FPGA\_MORSEQ}} = 3,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00081}00081 \};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00082}00082 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00083}\mbox{\hyperlink{mlx5io_8h_abd09d1f785591c0ccc8fe9e49fd49303}{00083}} \textcolor{keyword}{enum} \mbox{\hyperlink{mlx5io_8h_abd09d1f785591c0ccc8fe9e49fd49303}{mlx5\_fpga\_image}} \{}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00084}\mbox{\hyperlink{mlx5io_8h_abd09d1f785591c0ccc8fe9e49fd49303a252b496c89a9e3e05c0ce1a23e906e2f}{00084}}         \mbox{\hyperlink{mlx5io_8h_abd09d1f785591c0ccc8fe9e49fd49303a252b496c89a9e3e05c0ce1a23e906e2f}{MLX5\_FPGA\_IMAGE\_USER}} = 0,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00085}\mbox{\hyperlink{mlx5io_8h_abd09d1f785591c0ccc8fe9e49fd49303ad9b44985c2d3522dd22e3635e7cc5ad8}{00085}}         \mbox{\hyperlink{mlx5io_8h_abd09d1f785591c0ccc8fe9e49fd49303ad9b44985c2d3522dd22e3635e7cc5ad8}{MLX5\_FPGA\_IMAGE\_FACTORY}} = 1,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00086}\mbox{\hyperlink{mlx5io_8h_abd09d1f785591c0ccc8fe9e49fd49303ab562ea833cece978b4915f0b0c1ac940}{00086}}         \mbox{\hyperlink{mlx5io_8h_abd09d1f785591c0ccc8fe9e49fd49303ab562ea833cece978b4915f0b0c1ac940}{MLX5\_FPGA\_IMAGE\_FACTORY\_FAILOVER}} = 2,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00087}\mbox{\hyperlink{mlx5io_8h_abd09d1f785591c0ccc8fe9e49fd49303a0296a8cbe4b0668f22c2a2f1fb763cc8}{00087}}         \mbox{\hyperlink{mlx5io_8h_abd09d1f785591c0ccc8fe9e49fd49303a0296a8cbe4b0668f22c2a2f1fb763cc8}{MLX5\_FPGA\_IMAGE\_RESET}} = 17,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00088}\mbox{\hyperlink{mlx5io_8h_abd09d1f785591c0ccc8fe9e49fd49303a9309f20dbda27637d7a88ea23495e967}{00088}}         \mbox{\hyperlink{mlx5io_8h_abd09d1f785591c0ccc8fe9e49fd49303a9309f20dbda27637d7a88ea23495e967}{MLX5\_FPGA\_IMAGE\_RELOAD}} = 18,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00089}00089 \};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00090}00090 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00091}\mbox{\hyperlink{mlx5io_8h_aa339313b4a975c2fc0d01900550b5d9e}{00091}} \textcolor{keyword}{enum} \mbox{\hyperlink{mlx5io_8h_aa339313b4a975c2fc0d01900550b5d9e}{mlx5\_fpga\_status}} \{}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00092}\mbox{\hyperlink{mlx5io_8h_aa339313b4a975c2fc0d01900550b5d9ea0a3939935c0e7f3226152584ebfc1074}{00092}}         \mbox{\hyperlink{mlx5io_8h_aa339313b4a975c2fc0d01900550b5d9ea0a3939935c0e7f3226152584ebfc1074}{MLX5\_FPGA\_STATUS\_SUCCESS}} = 0,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00093}\mbox{\hyperlink{mlx5io_8h_aa339313b4a975c2fc0d01900550b5d9ea76cd99fcf30404a095f80f077b33955e}{00093}}         \mbox{\hyperlink{mlx5io_8h_aa339313b4a975c2fc0d01900550b5d9ea76cd99fcf30404a095f80f077b33955e}{MLX5\_FPGA\_STATUS\_FAILURE}} = 1,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00094}\mbox{\hyperlink{mlx5io_8h_aa339313b4a975c2fc0d01900550b5d9ea953cd299aaf5b4595ff837fc986ad21d}{00094}}         \mbox{\hyperlink{mlx5io_8h_aa339313b4a975c2fc0d01900550b5d9ea953cd299aaf5b4595ff837fc986ad21d}{MLX5\_FPGA\_STATUS\_IN\_PROGRESS}} = 2,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00095}\mbox{\hyperlink{mlx5io_8h_aa339313b4a975c2fc0d01900550b5d9eaf7f3d133ca46007b9587cf80bcf50579}{00095}}         \mbox{\hyperlink{mlx5io_8h_aa339313b4a975c2fc0d01900550b5d9eaf7f3d133ca46007b9587cf80bcf50579}{MLX5\_FPGA\_STATUS\_DISCONNECTED}} = 3,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00096}00096 \};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00097}00097 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00098}\mbox{\hyperlink{structmlx5__fpga__query}{00098}} \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__fpga__query}{mlx5\_fpga\_query}} \{}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00099}\mbox{\hyperlink{structmlx5__fpga__query_ac6327f4dd462c5dd4f5b0340c227915d}{00099}}         \textcolor{keyword}{enum} \mbox{\hyperlink{mlx5io_8h_abd09d1f785591c0ccc8fe9e49fd49303}{mlx5\_fpga\_image}} \mbox{\hyperlink{structmlx5__fpga__query_ac6327f4dd462c5dd4f5b0340c227915d}{admin\_image}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00100}\mbox{\hyperlink{structmlx5__fpga__query_addffa2639a51806bf734071b073fccdd}{00100}}         \textcolor{keyword}{enum} \mbox{\hyperlink{mlx5io_8h_abd09d1f785591c0ccc8fe9e49fd49303}{mlx5\_fpga\_image}} \mbox{\hyperlink{structmlx5__fpga__query_addffa2639a51806bf734071b073fccdd}{oper\_image}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00101}\mbox{\hyperlink{structmlx5__fpga__query_a8cc9eab8a89e85d6fc30d4b1e8810a60}{00101}}         \textcolor{keyword}{enum} \mbox{\hyperlink{mlx5io_8h_aa339313b4a975c2fc0d01900550b5d9e}{mlx5\_fpga\_status}} \mbox{\hyperlink{structmlx5__fpga__query_a8cc9eab8a89e85d6fc30d4b1e8810a60}{image\_status}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00102}00102 \};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00103}00103 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00104}\mbox{\hyperlink{mlx5io_8h_a739cd041447d60e523dad80bbc596b13}{00104}} \textcolor{keyword}{enum} \mbox{\hyperlink{mlx5io_8h_a739cd041447d60e523dad80bbc596b13}{mlx5\_fpga\_tee}} \{}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00105}\mbox{\hyperlink{mlx5io_8h_a739cd041447d60e523dad80bbc596b13aac54e6cd772d6f886843d8e2b9e05cc9}{00105}}         \mbox{\hyperlink{mlx5io_8h_a739cd041447d60e523dad80bbc596b13aac54e6cd772d6f886843d8e2b9e05cc9}{MLX5\_FPGA\_TEE\_DISABLE}} = 0,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00106}\mbox{\hyperlink{mlx5io_8h_a739cd041447d60e523dad80bbc596b13a4a3028918b639950b85d2676f4eb6346}{00106}}         \mbox{\hyperlink{mlx5io_8h_a739cd041447d60e523dad80bbc596b13a4a3028918b639950b85d2676f4eb6346}{MLX5\_FPGA\_TEE\_GENERATE\_EVENT}} = 1,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00107}\mbox{\hyperlink{mlx5io_8h_a739cd041447d60e523dad80bbc596b13a2a40ee8120cf83b733222e89692573de}{00107}}         \mbox{\hyperlink{mlx5io_8h_a739cd041447d60e523dad80bbc596b13a2a40ee8120cf83b733222e89692573de}{MLX5\_FPGA\_TEE\_GENERATE\_SINGLE\_EVENT}} = 2,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00108}00108 \};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00109}00109 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00110}\mbox{\hyperlink{mlx5io_8h_ac573a5194065f34c0973d752102e6dd4}{00110}} \textcolor{keyword}{enum} \mbox{\hyperlink{mlx5io_8h_ac573a5194065f34c0973d752102e6dd4}{mlx5\_fpga\_connect}} \{}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00111}\mbox{\hyperlink{mlx5io_8h_ac573a5194065f34c0973d752102e6dd4a8702c60fdc90287b1955eb98b92b5784}{00111}}         \mbox{\hyperlink{mlx5io_8h_ac573a5194065f34c0973d752102e6dd4a8702c60fdc90287b1955eb98b92b5784}{MLX5\_FPGA\_CONNECT\_QUERY}} = 0,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00112}\mbox{\hyperlink{mlx5io_8h_ac573a5194065f34c0973d752102e6dd4a83361ce5e629a79d6aac3d59997dbb3a}{00112}}         \mbox{\hyperlink{mlx5io_8h_ac573a5194065f34c0973d752102e6dd4a83361ce5e629a79d6aac3d59997dbb3a}{MLX5\_FPGA\_CONNECT\_DISCONNECT}} = 0x9,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00113}\mbox{\hyperlink{mlx5io_8h_ac573a5194065f34c0973d752102e6dd4a390c111156eeeecd32dd9d8e87208e32}{00113}}         \mbox{\hyperlink{mlx5io_8h_ac573a5194065f34c0973d752102e6dd4a390c111156eeeecd32dd9d8e87208e32}{MLX5\_FPGA\_CONNECT\_CONNECT}} = 0xA,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00114}00114 \};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00115}00115 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00120}\mbox{\hyperlink{mlx5io_8h_a3dfefb3a6f72bdc66a27282031d1350b}{00120}} \textcolor{keyword}{enum} \mbox{\hyperlink{mlx5io_8h_a3dfefb3a6f72bdc66a27282031d1350b}{mlx5\_fpga\_access\_type}} \{}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00122}\mbox{\hyperlink{mlx5io_8h_a3dfefb3a6f72bdc66a27282031d1350ba01696d6c0ffc220341f5a7aaaa0bc2de}{00122}}         \mbox{\hyperlink{mlx5io_8h_a3dfefb3a6f72bdc66a27282031d1350ba01696d6c0ffc220341f5a7aaaa0bc2de}{MLX5\_FPGA\_ACCESS\_TYPE\_I2C}} = 0x0,}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00124}\mbox{\hyperlink{mlx5io_8h_a3dfefb3a6f72bdc66a27282031d1350ba7e3df6c99d377a21f2925f4ac17fa5dc}{00124}}         \mbox{\hyperlink{mlx5io_8h_a3dfefb3a6f72bdc66a27282031d1350ba7e3df6c99d377a21f2925f4ac17fa5dc}{MLX5\_FPGA\_ACCESS\_TYPE\_RDMA}},}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00126}\mbox{\hyperlink{mlx5io_8h_a3dfefb3a6f72bdc66a27282031d1350ba61675a1252d96c29834cee811c8517d1}{00126}}         \mbox{\hyperlink{mlx5io_8h_a3dfefb3a6f72bdc66a27282031d1350ba61675a1252d96c29834cee811c8517d1}{MLX5\_FPGA\_ACCESS\_TYPE\_DONTCARE}},}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00127}\mbox{\hyperlink{mlx5io_8h_a3dfefb3a6f72bdc66a27282031d1350bae7ba3ff42a463c314ffe8b2f0d37f2a7}{00127}}         \mbox{\hyperlink{mlx5io_8h_a3dfefb3a6f72bdc66a27282031d1350bae7ba3ff42a463c314ffe8b2f0d37f2a7}{MLX5\_FPGA\_ACCESS\_TYPE\_MAX}} = \mbox{\hyperlink{mlx5io_8h_a3dfefb3a6f72bdc66a27282031d1350ba61675a1252d96c29834cee811c8517d1}{MLX5\_FPGA\_ACCESS\_TYPE\_DONTCARE}},}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00128}00128 \};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00129}00129 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00130}\mbox{\hyperlink{mlx5io_8h_a9dab7452d445834b7855b9b228badf47}{00130}} \textcolor{preprocessor}{\#define MLX5\_FPGA\_INTERNAL\_SENSORS\_LOW 63}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00131}\mbox{\hyperlink{mlx5io_8h_a48a75936a769361254a210208178def3}{00131}} \textcolor{preprocessor}{\#define MLX5\_FPGA\_INTERNAL\_SENSORS\_HIGH 63}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00132}00132 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00133}\mbox{\hyperlink{structmlx5__fpga__temperature}{00133}} \textcolor{keyword}{struct }\mbox{\hyperlink{structmlx5__fpga__temperature}{mlx5\_fpga\_temperature}} \{}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00134}\mbox{\hyperlink{structmlx5__fpga__temperature_ae269b96397899a1eb7331314462d3005}{00134}}         uint32\_t \mbox{\hyperlink{structmlx5__fpga__temperature_ae269b96397899a1eb7331314462d3005}{temperature}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00135}\mbox{\hyperlink{structmlx5__fpga__temperature_aac19a31d1e5d1065274cd45943cad7e0}{00135}}         uint32\_t \mbox{\hyperlink{structmlx5__fpga__temperature_aac19a31d1e5d1065274cd45943cad7e0}{index}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00136}\mbox{\hyperlink{structmlx5__fpga__temperature_abbb2099ed8c29d92a4fc879af7693a29}{00136}}         uint32\_t \mbox{\hyperlink{structmlx5__fpga__temperature_abbb2099ed8c29d92a4fc879af7693a29}{tee}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00137}\mbox{\hyperlink{structmlx5__fpga__temperature_a409e86c0cd70567687ade3307fde96cd}{00137}}         uint32\_t \mbox{\hyperlink{structmlx5__fpga__temperature_a409e86c0cd70567687ade3307fde96cd}{max\_temperature}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00138}\mbox{\hyperlink{structmlx5__fpga__temperature_a29fa49af7b863fe9036f0d8924a5988f}{00138}}         uint32\_t \mbox{\hyperlink{structmlx5__fpga__temperature_a29fa49af7b863fe9036f0d8924a5988f}{temperature\_threshold\_hi}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00139}\mbox{\hyperlink{structmlx5__fpga__temperature_a415b78cd11a26a2d8a4fb7e19d157fd3}{00139}}         uint32\_t \mbox{\hyperlink{structmlx5__fpga__temperature_a415b78cd11a26a2d8a4fb7e19d157fd3}{temperature\_threshold\_lo}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00140}\mbox{\hyperlink{structmlx5__fpga__temperature_a1166f15e0433773c31520cea84d815d1}{00140}}         uint32\_t \mbox{\hyperlink{structmlx5__fpga__temperature_a1166f15e0433773c31520cea84d815d1}{mte}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00141}\mbox{\hyperlink{structmlx5__fpga__temperature_a525982d86073b478ba1a5b3f75bff8f5}{00141}}         uint32\_t \mbox{\hyperlink{structmlx5__fpga__temperature_a525982d86073b478ba1a5b3f75bff8f5}{mtr}};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00142}\mbox{\hyperlink{structmlx5__fpga__temperature_acfab3d20faec205a65234067a91ba288}{00142}}         \textcolor{keywordtype}{char} \mbox{\hyperlink{structmlx5__fpga__temperature_acfab3d20faec205a65234067a91ba288}{sensor\_name}}[16];}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00143}00143 \};}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00144}00144 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00145}\mbox{\hyperlink{mlx5io_8h_a93efc072ca718fe70be5c4074f893b3d}{00145}} \textcolor{preprocessor}{\#define MLX5\_FPGA\_CAP\_ARR\_SZ 0x40}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00146}00146 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00147}\mbox{\hyperlink{mlx5io_8h_a6086ed777f8aaab5c886becc8ebfb935}{00147}} \textcolor{preprocessor}{\#define MLX5\_FPGA\_ACCESS\_TYPE   \_IOWINT('m', 0x80)}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00148}\mbox{\hyperlink{mlx5io_8h_ab9f3bc632bf7f9343c4d251d25599793}{00148}} \textcolor{preprocessor}{\#define MLX5\_FPGA\_LOAD          \_IOWINT('m', 0x81)}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00149}\mbox{\hyperlink{mlx5io_8h_a5c0e83bc8d678bb5673fb62f4a63b795}{00149}} \textcolor{preprocessor}{\#define MLX5\_FPGA\_RESET         \_IO('m', 0x82)}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00150}\mbox{\hyperlink{mlx5io_8h_ae07914032d0b365f5f1c20aaf90fc647}{00150}} \textcolor{preprocessor}{\#define MLX5\_FPGA\_IMAGE\_SEL     \_IOWINT('m', 0x83)}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00151}\mbox{\hyperlink{mlx5io_8h_addfac1cb858c7f4b729176bc6a78ca28}{00151}} \textcolor{preprocessor}{\#define MLX5\_FPGA\_QUERY         \_IOR('m', 0x84, struct mlx5\_fpga\_query)}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00152}\mbox{\hyperlink{mlx5io_8h_a5702b9ff4e61807117c84acf6c48fe64}{00152}} \textcolor{preprocessor}{\#define MLX5\_FPGA\_CAP           \_IOR('m', 0x85, uint32\_t[MLX5\_FPGA\_CAP\_ARR\_SZ])}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00153}\mbox{\hyperlink{mlx5io_8h_a68081017a5919d021a8b4f14165e615d}{00153}} \textcolor{preprocessor}{\#define MLX5\_FPGA\_TEMPERATURE   \_IOWR('m', 0x86, struct mlx5\_fpga\_temperature)}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00154}\mbox{\hyperlink{mlx5io_8h_add979f66c27048495ea28167838a4713}{00154}} \textcolor{preprocessor}{\#define MLX5\_FPGA\_CONNECT       \_IOWR('m', 0x87, enum mlx5\_fpga\_connect)}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00155}\mbox{\hyperlink{mlx5io_8h_a3ffa877f2613e5b6cc356d8da599ca16}{00155}} \textcolor{preprocessor}{\#define MLX5\_FPGA\_RELOAD        \_IO('m', 0x88)}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00156}00156 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00157}\mbox{\hyperlink{mlx5io_8h_a7fff35b506c70a52e3916b9abaa7048c}{00157}} \textcolor{preprocessor}{\#define MLX5\_FPGA\_TOOLS\_NAME\_SUFFIX     "{}\_mlx5\_fpga\_tools"{}}}
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00158}00158 }
\DoxyCodeLine{\Hypertarget{mlx5io_8h_source_l00159}00159 \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
