\hypertarget{cxgb__osdep_8h_source}{}\doxysection{cxgb\+\_\+osdep.\+h}
\label{cxgb__osdep_8h_source}\index{dev/cxgb/cxgb\_osdep.h@{dev/cxgb/cxgb\_osdep.h}}
\mbox{\hyperlink{cxgb__osdep_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00001}00001 \textcolor{comment}{/**************************************************************************}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00002}00002 \textcolor{comment}{SPDX-\/License-\/Identifier: BSD-\/2-\/Clause-\/FreeBSD}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00003}00003 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00004}00004 \textcolor{comment}{Copyright (c) 2007, Chelsio Inc.}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00005}00005 \textcolor{comment}{All rights reserved.}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00006}00006 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00007}00007 \textcolor{comment}{Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00008}00008 \textcolor{comment}{modification, are permitted provided that the following conditions are met:}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00009}00009 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00010}00010 \textcolor{comment}{ 1. Redistributions of source code must retain the above copyright notice,}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00011}00011 \textcolor{comment}{    this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00012}00012 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00013}00013 \textcolor{comment}{ 2. Neither the name of the Chelsio Corporation nor the names of its}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00014}00014 \textcolor{comment}{    contributors may be used to endorse or promote products derived from}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00015}00015 \textcolor{comment}{    this software without specific prior written permission.}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00016}00016 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00017}00017 \textcolor{comment}{THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "{}AS IS"{}}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00018}00018 \textcolor{comment}{AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00019}00019 \textcolor{comment}{IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00020}00020 \textcolor{comment}{ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00021}00021 \textcolor{comment}{LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00022}00022 \textcolor{comment}{CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00023}00023 \textcolor{comment}{SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00024}00024 \textcolor{comment}{INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00025}00025 \textcolor{comment}{CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00026}00026 \textcolor{comment}{ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00027}00027 \textcolor{comment}{POSSIBILITY OF SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00028}00028 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00029}00029 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00030}00030 \textcolor{comment}{\$FreeBSD\$}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00031}00031 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00032}00032 \textcolor{comment}{***************************************************************************/}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00033}00033 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00034}00034 \textcolor{preprocessor}{\#include <sys/param.h>}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00035}00035 \textcolor{preprocessor}{\#include <sys/systm.h>}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00036}00036 \textcolor{preprocessor}{\#include <sys/ctype.h>}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00037}00037 \textcolor{preprocessor}{\#include <sys/endian.h>}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00038}00038 \textcolor{preprocessor}{\#include <sys/bus.h>}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00039}00039 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00040}00040 \textcolor{preprocessor}{\#include <sys/lock.h>}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00041}00041 \textcolor{preprocessor}{\#include <sys/mutex.h>}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00042}00042 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00043}00043 \textcolor{preprocessor}{\#include <sys/kdb.h>}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00044}00044 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00045}00045 \textcolor{preprocessor}{\#include <dev/mii/mii.h>}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00046}00046 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00047}00047 \textcolor{preprocessor}{\#ifndef \_CXGB\_OSDEP\_H\_}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00048}00048 \textcolor{preprocessor}{\#define \_CXGB\_OSDEP\_H\_}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00049}00049 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00050}\mbox{\hyperlink{cxgb__osdep_8h_a1a825e51759b48de9b2220a5dd0f4208}{00050}} \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{structadapter}{adapter}} \mbox{\hyperlink{structadapter}{adapter\_t}};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00051}\mbox{\hyperlink{cxgb__osdep_8h_ada1e92ee4d4f6790e07740a538245411}{00051}} \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{structport__info}{port\_info}} \mbox{\hyperlink{structport__info}{pinfo\_t}};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00052}00052 \textcolor{keyword}{struct }\mbox{\hyperlink{structsge__rspq}{sge\_rspq}};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00053}00053 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00054}00054 \textcolor{keyword}{enum} \{}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00055}\mbox{\hyperlink{cxgb__osdep_8h_a2f80701c36e79c0640d91c788feee0b3a23aa359915f33f793e475bd0b0b35a63}{00055}}         \mbox{\hyperlink{cxgb__osdep_8h_a2f80701c36e79c0640d91c788feee0b3a23aa359915f33f793e475bd0b0b35a63}{TP\_TMR\_RES}} = 200,     \textcolor{comment}{/* TP timer resolution in usec */}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00056}\mbox{\hyperlink{cxgb__osdep_8h_a2f80701c36e79c0640d91c788feee0b3a509d5873368d8fc96148f7c157736f86}{00056}}         \mbox{\hyperlink{cxgb__osdep_8h_a2f80701c36e79c0640d91c788feee0b3a509d5873368d8fc96148f7c157736f86}{MAX\_NPORTS}} = 4,               \textcolor{comment}{/* max \# of ports */}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00057}\mbox{\hyperlink{cxgb__osdep_8h_a2f80701c36e79c0640d91c788feee0b3a645d54e25990bf02c3d812550c636194}{00057}}         \mbox{\hyperlink{cxgb__osdep_8h_a2f80701c36e79c0640d91c788feee0b3a645d54e25990bf02c3d812550c636194}{TP\_SRAM\_OFFSET}} = 4096,    \textcolor{comment}{/* TP SRAM content offset in eeprom */}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00058}\mbox{\hyperlink{cxgb__osdep_8h_a2f80701c36e79c0640d91c788feee0b3a4e929945e8efdbc001e1ed62083f598b}{00058}}         \mbox{\hyperlink{cxgb__osdep_8h_a2f80701c36e79c0640d91c788feee0b3a4e929945e8efdbc001e1ed62083f598b}{TP\_SRAM\_LEN}} = 2112,  \textcolor{comment}{/* TP SRAM content offset in eeprom */}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00059}00059 \};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00060}00060 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00061}\mbox{\hyperlink{structt3__mbuf__hdr}{00061}} \textcolor{keyword}{struct }\mbox{\hyperlink{structt3__mbuf__hdr}{t3\_mbuf\_hdr}} \{}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00062}\mbox{\hyperlink{structt3__mbuf__hdr_a484826d02b5dfcfff415527fb1511194}{00062}}         \textcolor{keyword}{struct }mbuf *\mbox{\hyperlink{structt3__mbuf__hdr_a484826d02b5dfcfff415527fb1511194}{mh\_head}};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00063}\mbox{\hyperlink{structt3__mbuf__hdr_a6e18c3a0db23a975c64c83d937d1accd}{00063}}         \textcolor{keyword}{struct }mbuf *\mbox{\hyperlink{structt3__mbuf__hdr_a6e18c3a0db23a975c64c83d937d1accd}{mh\_tail}};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00064}00064 \};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00065}00065 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00066}00066 \textcolor{preprocessor}{\#ifndef PANIC\_IF}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00067}\mbox{\hyperlink{cxgb__osdep_8h_a52f7fb4d75599484721888e0e8bce50d}{00067}} \textcolor{preprocessor}{\#define PANIC\_IF(exp) do \{                  \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00068}00068 \textcolor{preprocessor}{        if (exp)                            \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00069}00069 \textcolor{preprocessor}{                panic("{}BUG: \%s"{}}, \#exp);      \(\backslash\)}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00070}00070 \} while (0)}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00071}00071 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00072}00072 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00073}00073 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00074}00074 \textcolor{comment}{ * Workaround for weird Chelsio issue}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00075}00075 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00076}\mbox{\hyperlink{cxgb__osdep_8h_ad5ddd7fdc292dab50df9349d0070509d}{00076}} \textcolor{preprocessor}{\#define PRIV\_SUPPORTED}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00077}00077 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00078}\mbox{\hyperlink{cxgb__osdep_8h_a1520e5b2332b968b26c7bb6112d52866}{00078}} \textcolor{preprocessor}{\#define CXGB\_TX\_CLEANUP\_THRESHOLD        32}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00079}00079 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00080}\mbox{\hyperlink{cxgb__osdep_8h_a3ba89864a645a8f39d83119dfe0114e9}{00080}} \textcolor{preprocessor}{\#define TX\_MAX\_SIZE                (1 << 16)    }\textcolor{comment}{/* 64KB                          */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00081}\mbox{\hyperlink{cxgb__osdep_8h_adbdcfdf6ce3090adea6e77a9817d508b}{00081}} \textcolor{preprocessor}{\#define TX\_MAX\_SEGS                      36     }\textcolor{comment}{/* maximum supported by card     */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00082}00082 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00083}\mbox{\hyperlink{cxgb__osdep_8h_a4b631d7802996e5d15d68c42df5129df}{00083}} \textcolor{preprocessor}{\#define TX\_MAX\_DESC                       4     }\textcolor{comment}{/* max descriptors per packet    */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00084}00084 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00085}00085 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00086}\mbox{\hyperlink{cxgb__osdep_8h_aaf0d0b2d0ce9a8e146c11429abfe6508}{00086}} \textcolor{preprocessor}{\#define TX\_START\_MAX\_DESC (TX\_MAX\_DESC << 2)    }\textcolor{comment}{/* maximum number of descriptors}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00087}00087 \textcolor{comment}{                                                 * call to start used per        */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00088}\mbox{\hyperlink{cxgb__osdep_8h_ac4383b7700500ae098ad9d994daebdfd}{00088}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00089}\mbox{\hyperlink{cxgb__osdep_8h_a7455c3f9bd3a49ddfaf9d4a294799a55}{00089}} \textcolor{preprocessor}{\#define TX\_CLEAN\_MAX\_DESC (TX\_MAX\_DESC << 4)    }\textcolor{comment}{/* maximum tx descriptors}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00090}\mbox{\hyperlink{cxgb__osdep_8h_a70ec6cb72cfa81558db33197f81a3ad4}{00090}} \textcolor{comment}{                                                 * to clean per iteration        */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00091}00091 \textcolor{preprocessor}{\#define TX\_WR\_SIZE\_MAX    11*1024              }\textcolor{comment}{/* the maximum total size of packets aggregated into a single}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00092}\mbox{\hyperlink{cxgb__osdep_8h_a004692feb1f91896c21a6d1644b54f2b}{00092}} \textcolor{comment}{                                                * TX WR}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00093}00093 \textcolor{comment}{                                                */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00094}00094 \textcolor{preprocessor}{\#define TX\_WR\_COUNT\_MAX         7              }\textcolor{comment}{/* the maximum total number of packets that can be}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00095}00095 \textcolor{comment}{                                                * aggregated into a single TX WR}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00096}00096 \textcolor{comment}{                                                */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00097}00097 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00098}00098 \textcolor{preprocessor}{\#define prefetch(x) \_\_builtin\_prefetch(x)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00099}00099 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00100}00100 \textcolor{preprocessor}{\#if defined(\_\_i386\_\_) || defined(\_\_amd64\_\_)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00101}00101 \textcolor{preprocessor}{\#define smp\_mb() mb()}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00102}00102 \textcolor{preprocessor}{\#define WARN\_ON(condition) do \{ \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00103}\mbox{\hyperlink{cxgb__osdep_8h_a27f506b47c1290294cff907d92c96da1}{00103}} \textcolor{preprocessor}{        if (\_\_predict\_false((condition)!=0)) \{  \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00104}00104 \textcolor{preprocessor}{                log(LOG\_WARNING, "{}BUG: warning at \%s:\%d/\%s()\(\backslash\)n"{}}, \_\_FILE\_\_, \_\_LINE\_\_, \_\_FUNCTION\_\_); \(\backslash\)}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00105}00105                 kdb\_backtrace(); \(\backslash\)}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00106}\mbox{\hyperlink{cxgb__osdep_8h_a4085ac592bcc72cb40bc07e4387b48a1}{00106}}         \} \(\backslash\)}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00107}\mbox{\hyperlink{cxgb__osdep_8h_a4da63404ef7b76c50454e11ed7016566}{00107}} \} while (0)}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00108}00108 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00109}00109 \textcolor{preprocessor}{\#define smp\_mb()}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00110}00110 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00111}00111 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00112}00112 \textcolor{preprocessor}{\#define DBG\_RX          (1 << 0)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00113}00113 \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keywordtype}{int} \mbox{\hyperlink{cxgb__osdep_8h_a4da63404ef7b76c50454e11ed7016566}{debug\_flags}} = \mbox{\hyperlink{cxgb__osdep_8h_a4085ac592bcc72cb40bc07e4387b48a1}{DBG\_RX}};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00114}00114 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00115}\mbox{\hyperlink{cxgb__osdep_8h_ae8924623ca601364965e3d88fb7f40fa}{00115}} \textcolor{preprocessor}{\#ifdef DEBUG\_PRINT}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00116}00116 \textcolor{preprocessor}{\#define DBG(flag, msg) do \{     \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00117}00117 \textcolor{preprocessor}{        if ((flag \& debug\_flags))       \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00118}00118 \textcolor{preprocessor}{                printf msg; \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00119}00119 \textcolor{preprocessor}{\} while (0)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00120}\mbox{\hyperlink{cxgb__osdep_8h_aad67e6f2e5502ba686e9d01678581702}{00120}} \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00121}\mbox{\hyperlink{cxgb__osdep_8h_ae4b6a3362c0ad0c3fe15ad94ad29e14c}{00121}} \textcolor{preprocessor}{\#define DBG(...)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00122}00122 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00123}\mbox{\hyperlink{cxgb__osdep_8h_acd2a4ebc2a17949329fc3616ff6ae34c}{00123}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00124}\mbox{\hyperlink{cxgb__osdep_8h_ac8a13461270b96018554fd3645b42d1d}{00124}} \textcolor{preprocessor}{\#include <sys/syslog.h>}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00125}\mbox{\hyperlink{cxgb__osdep_8h_ad78b3ac6b5d60fd648620b9300c91fa0}{00125}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00126}00126 \textcolor{preprocessor}{\#define promisc\_rx\_mode(rm)  ((rm)-\/>port-\/>ifp-\/>if\_flags \& IFF\_PROMISC) }}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00127}\mbox{\hyperlink{cxgb__osdep_8h_af0516387a9cb88767ad6538733e9cf6b}{00127}} \textcolor{preprocessor}{\#define allmulti\_rx\_mode(rm) ((rm)-\/>port-\/>ifp-\/>if\_flags \& IFF\_ALLMULTI) }}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00128}00128 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00129}\mbox{\hyperlink{cxgb__osdep_8h_ac06b6ee7f1cd8596a4ed0125ba3e0735}{00129}} \textcolor{preprocessor}{\#define CH\_ERR(adap, fmt, ...) log(LOG\_ERR, fmt, \#\#\_\_VA\_ARGS\_\_)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00130}00130 \textcolor{preprocessor}{\#define CH\_WARN(adap, fmt, ...) log(LOG\_WARNING, fmt, \#\#\_\_VA\_ARGS\_\_)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00131}\mbox{\hyperlink{cxgb__osdep_8h_a23878f2b28d73487d6bd30bed9ad8869}{00131}} \textcolor{preprocessor}{\#define CH\_ALERT(adap, fmt, ...) log(LOG\_ALERT, fmt, \#\#\_\_VA\_ARGS\_\_)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00132}\mbox{\hyperlink{cxgb__osdep_8h_afd3274bb70aea7cf9be403940e001cc7}{00132}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00133}00133 \textcolor{preprocessor}{\#define t3\_os\_sleep(x) DELAY((x) * 1000)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00134}00134 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00135}\mbox{\hyperlink{cxgb__osdep_8h_ac88fc4d24c8ce1ea42f335a14671cb8c}{00135}} \textcolor{preprocessor}{\#define test\_and\_clear\_bit(bit, p) atomic\_cmpset\_int((p), ((*(p)) | (1<<bit)), ((*(p)) \& \string~(1<<bit)))}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00136}\mbox{\hyperlink{cxgb__osdep_8h_aefaccde106dd7135048922b3b5b20a13}{00136}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00137}\mbox{\hyperlink{cxgb__osdep_8h_abbb374cfa7418178076e49275342bb30}{00137}} \textcolor{preprocessor}{\#define max\_t(type, a, b) (type)max((a), (b))}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00138}\mbox{\hyperlink{cxgb__osdep_8h_a92c4e861a0d1838104f1f8bab26901f1}{00138}} \textcolor{preprocessor}{\#define cpu\_to\_be32(x)          htobe32(x)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00139}\mbox{\hyperlink{cxgb__osdep_8h_a1f472360951f531b07ec2b518103af3d}{00139}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00140}\mbox{\hyperlink{cxgb__osdep_8h_aaf6ee3d37d3a0900c1d4f111d6e46a0d}{00140}} \textcolor{comment}{/* Standard PHY definitions */}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00141}\mbox{\hyperlink{cxgb__osdep_8h_af7c53f29b474b34aa738012d9b867cef}{00141}} \textcolor{preprocessor}{\#define BMCR\_LOOPBACK           BMCR\_LOOP}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00142}\mbox{\hyperlink{cxgb__osdep_8h_af02d15c97090d7661a935578ec441cdb}{00142}} \textcolor{preprocessor}{\#define BMCR\_ISOLATE            BMCR\_ISO}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00143}\mbox{\hyperlink{cxgb__osdep_8h_a905fd7352773b70f0edff5dba2524327}{00143}} \textcolor{preprocessor}{\#define BMCR\_ANENABLE           BMCR\_AUTOEN}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00144}00144 \textcolor{preprocessor}{\#define BMCR\_SPEED1000          BMCR\_SPEED1}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00145}\mbox{\hyperlink{cxgb__osdep_8h_ad9bcb54fe93a4455cb1ed91aa20b8eb5}{00145}} \textcolor{preprocessor}{\#define BMCR\_SPEED100           BMCR\_SPEED0}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00146}\mbox{\hyperlink{cxgb__osdep_8h_a372ddb0a5a4911907c6b16a2eca6a057}{00146}} \textcolor{preprocessor}{\#define BMCR\_ANRESTART          BMCR\_STARTNEG}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00147}\mbox{\hyperlink{cxgb__osdep_8h_a709e65fafea3226265023c6c9a611218}{00147}} \textcolor{preprocessor}{\#define BMCR\_FULLDPLX           BMCR\_FDX}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00148}00148 \textcolor{preprocessor}{\#define BMSR\_LSTATUS            BMSR\_LINK}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00149}\mbox{\hyperlink{cxgb__osdep_8h_af4357bdf1fb39c217c850e9c14c0bba2}{00149}} \textcolor{preprocessor}{\#define BMSR\_ANEGCOMPLETE       BMSR\_ACOMP}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00150}\mbox{\hyperlink{cxgb__osdep_8h_a1f89cefc68f4e2df3abf2496a95ef1a3}{00150}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00151}\mbox{\hyperlink{cxgb__osdep_8h_af176a7a75c0342d562851b684a83081e}{00151}} \textcolor{preprocessor}{\#define MII\_LPA                 MII\_ANLPAR}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00152}\mbox{\hyperlink{cxgb__osdep_8h_a3c4995aae46c709055dbe28d9400fe7d}{00152}} \textcolor{preprocessor}{\#define MII\_ADVERTISE           MII\_ANAR}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00153}\mbox{\hyperlink{cxgb__osdep_8h_a97f84e8c229d6da30641e553e5eaa49d}{00153}} \textcolor{preprocessor}{\#define MII\_CTRL1000            MII\_100T2CR}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00154}\mbox{\hyperlink{cxgb__osdep_8h_ab1a970ef866fd7e4f6c903c5a4112614}{00154}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00155}\mbox{\hyperlink{cxgb__osdep_8h_a4c4bffe063b77c10a09d5f9dbb2df4d9}{00155}} \textcolor{preprocessor}{\#define ADVERTISE\_PAUSE\_CAP     ANAR\_FC}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00156}\mbox{\hyperlink{cxgb__osdep_8h_a5975a54c6b9e81091550081dec5f0a8e}{00156}} \textcolor{preprocessor}{\#define ADVERTISE\_PAUSE\_ASYM    0x800}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00157}\mbox{\hyperlink{cxgb__osdep_8h_ac6672f1b0898b616cb59f6b3bcacebae}{00157}} \textcolor{preprocessor}{\#define ADVERTISE\_PAUSE         ANAR\_FC}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00158}00158 \textcolor{preprocessor}{\#define ADVERTISE\_1000HALF      0x100}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00159}00159 \textcolor{preprocessor}{\#define ADVERTISE\_1000FULL      0x200}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00160}\mbox{\hyperlink{cxgb__osdep_8h_a0125a85465b2ca49d333efeeaf97f327}{00160}} \textcolor{preprocessor}{\#define ADVERTISE\_10FULL        ANAR\_10\_FD}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00161}\mbox{\hyperlink{cxgb__osdep_8h_afd1617d144494e0bf9c445c37c8edeb8}{00161}} \textcolor{preprocessor}{\#define ADVERTISE\_10HALF        ANAR\_10}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00162}\mbox{\hyperlink{cxgb__osdep_8h_a1359165d0b106667da096859b83eca39}{00162}} \textcolor{preprocessor}{\#define ADVERTISE\_100FULL       ANAR\_TX\_FD}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00163}\mbox{\hyperlink{cxgb__osdep_8h_a68911f359f363b2a8b87b1d765ff7164}{00163}} \textcolor{preprocessor}{\#define ADVERTISE\_100HALF       ANAR\_TX}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00164}00164 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00165}\mbox{\hyperlink{cxgb__osdep_8h_ab647449bae73adb5490eb984f9543236}{00165}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00166}\mbox{\hyperlink{cxgb__osdep_8h_a4c78171d836d78d039958f93de1bd745}{00166}} \textcolor{preprocessor}{\#define ADVERTISE\_1000XHALF     ANAR\_X\_HD}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00167}00167 \textcolor{preprocessor}{\#define ADVERTISE\_1000XFULL     ANAR\_X\_FD}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00168}00168 \textcolor{preprocessor}{\#define ADVERTISE\_1000XPSE\_ASYM ANAR\_X\_PAUSE\_ASYM}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00169}00169 \textcolor{preprocessor}{\#define ADVERTISE\_1000XPAUSE    ANAR\_X\_PAUSE\_SYM}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00170}\mbox{\hyperlink{cxgb__osdep_8h_af419a56a517635f4d9f8a5c6f5fd9d08}{00170}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00171}\mbox{\hyperlink{cxgb__osdep_8h_a39a9d4ab2d6572aaedd36a3d796ce64b}{00171}} \textcolor{preprocessor}{\#define ADVERTISE\_CSMA          ANAR\_CSMA}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00172}\mbox{\hyperlink{cxgb__osdep_8h_a408b8700a20b671b43daac2e46b5c21f}{00172}} \textcolor{preprocessor}{\#define ADVERTISE\_NPAGE         ANAR\_NP}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00173}\mbox{\hyperlink{cxgb__osdep_8h_a520bd0f5a39194059540bd62f472df87}{00173}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00174}00174 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00175}\mbox{\hyperlink{cxgb__osdep_8h_a9b0efbb129a8600203135a64377beed0}{00175}} \textcolor{comment}{/* Standard PCI Extended Capabilities definitions */}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00176}\mbox{\hyperlink{cxgb__osdep_8h_a994ab483c3d23039052ffdea47cade19}{00176}} \textcolor{preprocessor}{\#define PCI\_CAP\_ID\_VPD  PCIY\_VPD}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00177}\mbox{\hyperlink{cxgb__osdep_8h_af709701b1e445264cbb38d3e9f9f66a3}{00177}} \textcolor{preprocessor}{\#define PCI\_VPD\_ADDR    PCIR\_VPD\_ADDR}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00178}\mbox{\hyperlink{cxgb__osdep_8h_ac527d5dc47d994a621cf2bf5423a6e0c}{00178}} \textcolor{preprocessor}{\#define PCI\_VPD\_ADDR\_F  0x8000}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00179}\mbox{\hyperlink{cxgb__osdep_8h_a8f83e1069597e94e05c06a1d389a1f43}{00179}} \textcolor{preprocessor}{\#define PCI\_VPD\_DATA    PCIR\_VPD\_DATA}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00180}\mbox{\hyperlink{cxgb__osdep_8h_a9b509cc51ed66eedfa5afacef14bae19}{00180}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00181}00181 \textcolor{preprocessor}{\#define PCI\_CAP\_ID\_EXP          PCIY\_EXPRESS}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00182}00182 \textcolor{preprocessor}{\#define PCI\_EXP\_DEVCTL          PCIER\_DEVICE\_CTL}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00183}00183 \textcolor{preprocessor}{\#define PCI\_EXP\_DEVCTL\_PAYLOAD  PCIEM\_CTL\_MAX\_PAYLOAD}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00184}00184 \textcolor{preprocessor}{\#define PCI\_EXP\_DEVCTL\_READRQ   PCIEM\_CTL\_MAX\_READ\_REQUEST}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00185}00185 \textcolor{preprocessor}{\#define PCI\_EXP\_LNKCTL          PCIER\_LINK\_CTL}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00186}00186 \textcolor{preprocessor}{\#define PCI\_EXP\_LNKSTA          PCIER\_LINK\_STA}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00187}\mbox{\hyperlink{cxgb__osdep_8h_a3d0b3b27924b0a3efac81d9478adf5f0}{00187}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00188}\mbox{\hyperlink{cxgb__osdep_8h_a661a1cbe7900e8a6124aee5e6779ce97}{00188}} \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00189}\mbox{\hyperlink{cxgb__osdep_8h_a6242a25f9d996f0cc4f4cdb911218b75}{00189}} \textcolor{comment}{ * Linux compatibility macros}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00190}\mbox{\hyperlink{cxgb__osdep_8h_a48f527b00bc1d5e46366d720280a1039}{00190}} \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00191}\mbox{\hyperlink{cxgb__osdep_8h_a65e9510f535c1ee2f826d447471289fa}{00191}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00192}\mbox{\hyperlink{cxgb__osdep_8h_a1d5ae0c36d519a1b0a789db69a598f28}{00192}} \textcolor{comment}{/* Some simple translations */}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00193}\mbox{\hyperlink{cxgb__osdep_8h_a5a92bb57c6684a4bd94c9cd73165d9d6}{00193}} \textcolor{preprocessor}{\#define \_\_devinit}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00194}00194 \textcolor{preprocessor}{\#define udelay(x) DELAY(x)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00195}\mbox{\hyperlink{cxgb__osdep_8h_a68e371ad86a591e0936c55528bac6ac0}{00195}} \textcolor{preprocessor}{\#define ARRAY\_SIZE(x) (sizeof(x) / sizeof((x)[0]))}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00196}00196 \textcolor{preprocessor}{\#define le32\_to\_cpu(x) le32toh(x)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00197}00197 \textcolor{preprocessor}{\#define le16\_to\_cpu(x) le16toh(x)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00198}00198 \textcolor{preprocessor}{\#define cpu\_to\_le32(x) htole32(x)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00199}00199 \textcolor{preprocessor}{\#define swab32(x) bswap32(x)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00200}\mbox{\hyperlink{cxgb__osdep_8h_a92c50087ca0e64fa93fc59402c55f8ca}{00200}} \textcolor{preprocessor}{\#ifndef simple\_strtoul}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00201}\mbox{\hyperlink{cxgb__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{00201}} \textcolor{preprocessor}{\#define simple\_strtoul(...) strtoul(\_\_VA\_ARGS\_\_)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00202}\mbox{\hyperlink{cxgb__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{00202}} \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00203}\mbox{\hyperlink{cxgb__osdep_8h_a3f7e2bcbb0b4c338f3c4f6c937cd4234}{00203}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00204}00204 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00205}\mbox{\hyperlink{cxgb__osdep_8h_a77f8102529baef48621b98012524115d}{00205}} \textcolor{preprocessor}{\#ifndef LINUX\_TYPES\_DEFINED}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00206}\mbox{\hyperlink{cxgb__osdep_8h_abc70358187152575fd05fbf6d253151f}{00206}} \textcolor{keyword}{typedef} uint8\_t         \mbox{\hyperlink{cxgb__osdep_8h_a92c50087ca0e64fa93fc59402c55f8ca}{u8}};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00207}\mbox{\hyperlink{cxgb__osdep_8h_a3acae9310e2c2e411e800a8a369171c6}{00207}} \textcolor{keyword}{typedef} uint16\_t        \mbox{\hyperlink{cxgb__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00208}\mbox{\hyperlink{cxgb__osdep_8h_ad5f07d00c3e0138c99e7ac81c4506f82}{00208}} \textcolor{keyword}{typedef} uint32\_t        \mbox{\hyperlink{cxgb__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00209}\mbox{\hyperlink{cxgb__osdep_8h_a96dbe1d4c138ab30ecf80a430fd5b307}{00209}} \textcolor{keyword}{typedef} uint64\_t        \mbox{\hyperlink{cxgb__osdep_8h_a3f7e2bcbb0b4c338f3c4f6c937cd4234}{u64}};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00210}\mbox{\hyperlink{cxgb__osdep_8h_a1fcbe0fe57dc78d034b654a327a171df}{00210}}  }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00211}\mbox{\hyperlink{cxgb__osdep_8h_a575a6be7a3f079739f00e4ac7d75c785}{00211}} \textcolor{keyword}{typedef} uint8\_t         \mbox{\hyperlink{cxgb__osdep_8h_a77f8102529baef48621b98012524115d}{\_\_u8}};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00212}00212 \textcolor{keyword}{typedef} uint16\_t        \mbox{\hyperlink{cxgb__osdep_8h_abc70358187152575fd05fbf6d253151f}{\_\_u16}};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00213}00213 \textcolor{keyword}{typedef} uint32\_t        \mbox{\hyperlink{cxgb__osdep_8h_a3acae9310e2c2e411e800a8a369171c6}{\_\_u32}};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00214}00214 \textcolor{keyword}{typedef} uint8\_t         \mbox{\hyperlink{cxgb__osdep_8h_ad5f07d00c3e0138c99e7ac81c4506f82}{\_\_be8}};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00215}00215 \textcolor{keyword}{typedef} uint16\_t        \mbox{\hyperlink{cxgb__osdep_8h_a96dbe1d4c138ab30ecf80a430fd5b307}{\_\_be16}};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00216}\mbox{\hyperlink{cxgb__osdep_8h_ad4e74e994cbda13578ed165c347a10d8}{00216}} \textcolor{keyword}{typedef} uint32\_t        \mbox{\hyperlink{cxgb__osdep_8h_a1fcbe0fe57dc78d034b654a327a171df}{\_\_be32}};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00217}00217 \textcolor{keyword}{typedef} uint64\_t        \mbox{\hyperlink{cxgb__osdep_8h_a575a6be7a3f079739f00e4ac7d75c785}{\_\_be64}};}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00218}00218 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00219}00219 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00220}00220 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00221}00221 \textcolor{preprocessor}{\#if BYTE\_ORDER == BIG\_ENDIAN}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00222}00222 \textcolor{preprocessor}{\#define \_\_BIG\_ENDIAN\_BITFIELD}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00223}00223 \textcolor{preprocessor}{\#elif BYTE\_ORDER == LITTLE\_ENDIAN}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00224}\mbox{\hyperlink{cxgb__osdep_8h_afe5f2d292158401298eb2743d4ba8216}{00224}} \textcolor{preprocessor}{\#define \_\_LITTLE\_ENDIAN\_BITFIELD}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00225}\mbox{\hyperlink{cxgb__osdep_8h_accae4ecf577bdfc604c2f786d2965584}{00225}} \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00226}\mbox{\hyperlink{cxgb__osdep_8h_a9856250c8c97b6583613255ad2062ce8}{00226}} \textcolor{preprocessor}{\#error "{}Must set BYTE\_ORDER"{}}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00227}\mbox{\hyperlink{cxgb__osdep_8h_aded166b48aa9fa3d35ccd02118efa5e9}{00227}} \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00228}\mbox{\hyperlink{cxgb__osdep_8h_af762f1705daaa4da19e1fe177700c247}{00228}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00229}\mbox{\hyperlink{cxgb__osdep_8h_a9cc19d5d6a0a44830e153ea38782f02c}{00229}} \textcolor{comment}{/* Indicates what features are supported by the interface. */}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00230}\mbox{\hyperlink{cxgb__osdep_8h_a6dfd02d762ece33c871c26362e023fcf}{00230}} \textcolor{preprocessor}{\#define SUPPORTED\_10baseT\_Half          (1 << 0)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00231}\mbox{\hyperlink{cxgb__osdep_8h_a54c754b7a49e5fc6dc069ffc8c00c40b}{00231}} \textcolor{preprocessor}{\#define SUPPORTED\_10baseT\_Full          (1 << 1)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00232}\mbox{\hyperlink{cxgb__osdep_8h_a37d96f68bb55fd6e766647029fa964ec}{00232}} \textcolor{preprocessor}{\#define SUPPORTED\_100baseT\_Half         (1 << 2)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00233}\mbox{\hyperlink{cxgb__osdep_8h_a3c6ec0bf6995380d6fdd7eb41d04f90b}{00233}} \textcolor{preprocessor}{\#define SUPPORTED\_100baseT\_Full         (1 << 3)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00234}\mbox{\hyperlink{cxgb__osdep_8h_a4eb8850f63528913886b955963c1cdd4}{00234}} \textcolor{preprocessor}{\#define SUPPORTED\_1000baseT\_Half        (1 << 4)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00235}\mbox{\hyperlink{cxgb__osdep_8h_abfede19522db9620b9f41a1b3d2f3efc}{00235}} \textcolor{preprocessor}{\#define SUPPORTED\_1000baseT\_Full        (1 << 5)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00236}\mbox{\hyperlink{cxgb__osdep_8h_a693f47efb52e1b03c3053d2d0691c015}{00236}} \textcolor{preprocessor}{\#define SUPPORTED\_Autoneg               (1 << 6)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00237}\mbox{\hyperlink{cxgb__osdep_8h_a1a4c332010265d3c0ab224f961edbb74}{00237}} \textcolor{preprocessor}{\#define SUPPORTED\_TP                    (1 << 7)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00238}\mbox{\hyperlink{cxgb__osdep_8h_ac4ea32439d9765b9d49d028daf19500b}{00238}} \textcolor{preprocessor}{\#define SUPPORTED\_AUI                   (1 << 8)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00239}00239 \textcolor{preprocessor}{\#define SUPPORTED\_MII                   (1 << 9) }}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00240}00240 \textcolor{preprocessor}{\#define SUPPORTED\_FIBRE                 (1 << 10)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00241}\mbox{\hyperlink{cxgb__osdep_8h_ac84f67e4f8e5edd15733479d20eb287d}{00241}} \textcolor{preprocessor}{\#define SUPPORTED\_BNC                   (1 << 11)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00242}\mbox{\hyperlink{cxgb__osdep_8h_a978237ba1c31e64d4a83268ca8dd2175}{00242}} \textcolor{preprocessor}{\#define SUPPORTED\_10000baseT\_Full       (1 << 12)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00243}\mbox{\hyperlink{cxgb__osdep_8h_a6e1bbf7e882217db59719ff32b005956}{00243}} \textcolor{preprocessor}{\#define SUPPORTED\_Pause                 (1 << 13)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00244}\mbox{\hyperlink{cxgb__osdep_8h_a76d7b7691ea4ed4f54af7f09a05e2ed5}{00244}} \textcolor{preprocessor}{\#define SUPPORTED\_Asym\_Pause            (1 << 14)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00245}\mbox{\hyperlink{cxgb__osdep_8h_ac074958eeb647e230121c4cb766b2d3d}{00245}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00246}\mbox{\hyperlink{cxgb__osdep_8h_a0fb7f52668e94490d1d5e785de51d8ea}{00246}} \textcolor{comment}{/* Indicates what features are advertised by the interface. */}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00247}\mbox{\hyperlink{cxgb__osdep_8h_a57e00bdb377f59f6843f3ad68a8f900b}{00247}} \textcolor{preprocessor}{\#define ADVERTISED\_10baseT\_Half         (1 << 0)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00248}\mbox{\hyperlink{cxgb__osdep_8h_ae8443fa0af93dd87f6b4011f76514abc}{00248}} \textcolor{preprocessor}{\#define ADVERTISED\_10baseT\_Full         (1 << 1)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00249}\mbox{\hyperlink{cxgb__osdep_8h_aa9422707a07c6da79acb7d5da1a1399b}{00249}} \textcolor{preprocessor}{\#define ADVERTISED\_100baseT\_Half        (1 << 2)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00250}\mbox{\hyperlink{cxgb__osdep_8h_a0b1764f885957b800ae5a753cdd9e645}{00250}} \textcolor{preprocessor}{\#define ADVERTISED\_100baseT\_Full        (1 << 3)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00251}\mbox{\hyperlink{cxgb__osdep_8h_a521db078bf5906ecf01b7ba3607b2f8b}{00251}} \textcolor{preprocessor}{\#define ADVERTISED\_1000baseT\_Half       (1 << 4)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00252}\mbox{\hyperlink{cxgb__osdep_8h_ae92b1fa7173dd447ebbc90420261c6ee}{00252}} \textcolor{preprocessor}{\#define ADVERTISED\_1000baseT\_Full       (1 << 5)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00253}\mbox{\hyperlink{cxgb__osdep_8h_a1df98b8e1d48bbfb9b5f9cb7901de6e8}{00253}} \textcolor{preprocessor}{\#define ADVERTISED\_Autoneg              (1 << 6)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00254}\mbox{\hyperlink{cxgb__osdep_8h_a19bc1b4974b67635f507eaf0ac755b80}{00254}} \textcolor{preprocessor}{\#define ADVERTISED\_TP                   (1 << 7)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00255}\mbox{\hyperlink{cxgb__osdep_8h_aee2eeffdcc45a932a3acd74540fc7727}{00255}} \textcolor{preprocessor}{\#define ADVERTISED\_AUI                  (1 << 8)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00256}00256 \textcolor{preprocessor}{\#define ADVERTISED\_MII                  (1 << 9)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00257}00257 \textcolor{preprocessor}{\#define ADVERTISED\_FIBRE                (1 << 10) }}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00258}00258 \textcolor{preprocessor}{\#define ADVERTISED\_BNC                  (1 << 11)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00259}00259 \textcolor{preprocessor}{\#define ADVERTISED\_10000baseT\_Full      (1 << 12)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00260}\mbox{\hyperlink{cxgb__osdep_8h_a38309c389333892852dada22a6915e3f}{00260}} \textcolor{preprocessor}{\#define ADVERTISED\_Pause                (1 << 13)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00261}\mbox{\hyperlink{cxgb__osdep_8h_a3a8d88b4deb60e5ee0feb07f156ab2d5}{00261}} \textcolor{preprocessor}{\#define ADVERTISED\_Asym\_Pause           (1 << 14)}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00262}00262 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00263}\mbox{\hyperlink{cxgb__osdep_8h_ab830e8b55930052c8706c5aeae2497d0}{00263}} \textcolor{comment}{/* Enable or disable autonegotiation.  If this is set to enable,}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00264}\mbox{\hyperlink{cxgb__osdep_8h_a336e90e6c7a7d8bc7925752a13faf849}{00264}} \textcolor{comment}{ * the forced link modes above are completely ignored.}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00265}\mbox{\hyperlink{cxgb__osdep_8h_a4a779d35380578e71d9b3015e3441ab1}{00265}} \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00266}\mbox{\hyperlink{cxgb__osdep_8h_a8faae1c4e8d606cc1edf9131252d9fbc}{00266}} \textcolor{preprocessor}{\#define AUTONEG\_DISABLE         0x00}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00267}\mbox{\hyperlink{cxgb__osdep_8h_aa2975313d10f8114370435d1bf11e879}{00267}} \textcolor{preprocessor}{\#define AUTONEG\_ENABLE          0x01}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00268}\mbox{\hyperlink{cxgb__osdep_8h_a6c8f66942aa4680d437e148526b7e65c}{00268}} }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00269}00269 \textcolor{preprocessor}{\#define SPEED\_10                10}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00270}00270 \textcolor{preprocessor}{\#define SPEED\_100               100}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00271}00271 \textcolor{preprocessor}{\#define SPEED\_1000              1000}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00272}00272 \textcolor{preprocessor}{\#define SPEED\_10000             10000}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00273}00273 \textcolor{preprocessor}{\#define DUPLEX\_HALF             0}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00274}00274 \textcolor{preprocessor}{\#define DUPLEX\_FULL             1}}
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00275}00275 }
\DoxyCodeLine{\Hypertarget{cxgb__osdep_8h_source_l00276}00276 \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
