\hypertarget{e1000__mac_8c_source}{}\doxysection{e1000\+\_\+mac.\+c}
\label{e1000__mac_8c_source}\index{dev/e1000/e1000\_mac.c@{dev/e1000/e1000\_mac.c}}
\mbox{\hyperlink{e1000__mac_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00001}00001 \textcolor{comment}{/******************************************************************************}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00002}00002 \textcolor{comment}{  SPDX-\/License-\/Identifier: BSD-\/3-\/Clause}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00003}00003 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00004}00004 \textcolor{comment}{  Copyright (c) 2001-\/2020, Intel Corporation}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00005}00005 \textcolor{comment}{  All rights reserved.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00006}00006 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00007}00007 \textcolor{comment}{  Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00008}00008 \textcolor{comment}{  modification, are permitted provided that the following conditions are met:}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00009}00009 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00010}00010 \textcolor{comment}{   1. Redistributions of source code must retain the above copyright notice,}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00011}00011 \textcolor{comment}{      this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00012}00012 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00013}00013 \textcolor{comment}{   2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00014}00014 \textcolor{comment}{      notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00015}00015 \textcolor{comment}{      documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00016}00016 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00017}00017 \textcolor{comment}{   3. Neither the name of the Intel Corporation nor the names of its}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00018}00018 \textcolor{comment}{      contributors may be used to endorse or promote products derived from}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00019}00019 \textcolor{comment}{      this software without specific prior written permission.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00020}00020 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00021}00021 \textcolor{comment}{  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "{}AS IS"{}}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00022}00022 \textcolor{comment}{  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00023}00023 \textcolor{comment}{  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00024}00024 \textcolor{comment}{  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00025}00025 \textcolor{comment}{  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00026}00026 \textcolor{comment}{  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00027}00027 \textcolor{comment}{  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00028}00028 \textcolor{comment}{  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00029}00029 \textcolor{comment}{  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00030}00030 \textcolor{comment}{  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00031}00031 \textcolor{comment}{  POSSIBILITY OF SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00032}00032 \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00033}00033 \textcolor{comment}{******************************************************************************/}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00034}00034 \textcolor{comment}{/*\$FreeBSD\$*/}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00035}00035 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00036}00036 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{e1000__api_8h}{e1000\_api.h}}"{}}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00037}00037 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00038}00038 \textcolor{keyword}{static} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a70db6e2d9e2715260de7245af2225667}{e1000\_validate\_mdi\_setting\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00039}00039 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_a06414884945b7cb6b7794a63fa2f6bca}{e1000\_set\_lan\_id\_multi\_port\_pcie}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00040}00040 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_a3393da2048a54ecc99204dc15e26bcdf}{e1000\_config\_collision\_dist\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00041}00041 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00048}\mbox{\hyperlink{e1000__mac_8c_a27745b176671e53290915c899833692a}{00048}} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_a27745b176671e53290915c899833692a}{e1000\_init\_mac\_ops\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00049}00049 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00050}00050         \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__mac__info}{e1000\_mac\_info}} *mac = \&hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00051}00051         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_init\_mac\_ops\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00052}00052 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00053}00053         \textcolor{comment}{/* General Setup */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00054}00054         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_aef4969c0596b3ac799a491f633402d6c}{init\_params}} = \mbox{\hyperlink{e1000__mac_8c_aeaae47f3913d63cb38f43a97867e4bfd}{e1000\_null\_ops\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00055}00055         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a99fa3045badb3ab4831077bf6c976cc6}{init\_hw}} = \mbox{\hyperlink{e1000__mac_8c_aeaae47f3913d63cb38f43a97867e4bfd}{e1000\_null\_ops\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00056}00056         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a74715aab502987c6b09ca97983acdb1f}{reset\_hw}} = \mbox{\hyperlink{e1000__mac_8c_aeaae47f3913d63cb38f43a97867e4bfd}{e1000\_null\_ops\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00057}00057         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a227f5c242ef37275c6807544f7fc34c5}{setup\_physical\_interface}} = \mbox{\hyperlink{e1000__mac_8c_aeaae47f3913d63cb38f43a97867e4bfd}{e1000\_null\_ops\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00058}00058         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_ae7e1ceb0d970e0daecf676a84ddd75e2}{get\_bus\_info}} = \mbox{\hyperlink{e1000__mac_8c_aeaae47f3913d63cb38f43a97867e4bfd}{e1000\_null\_ops\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00059}00059         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_ac48383251db159e47d6aeafc22d70d16}{set\_lan\_id}} = \mbox{\hyperlink{e1000__mac_8c_a06414884945b7cb6b7794a63fa2f6bca}{e1000\_set\_lan\_id\_multi\_port\_pcie}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00060}00060         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a8301c3061c24283dca95ae998ba075d2}{read\_mac\_addr}} = \mbox{\hyperlink{e1000__nvm_8c_a50f297c99052ff736781b8c2b35b8827}{e1000\_read\_mac\_addr\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00061}00061         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a3966bf08f3cf579301366976753765f4}{config\_collision\_dist}} = \mbox{\hyperlink{e1000__mac_8c_a3393da2048a54ecc99204dc15e26bcdf}{e1000\_config\_collision\_dist\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00062}00062         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_abfbe9b56a042bacd6300a01b4662adf9}{clear\_hw\_cntrs}} = \mbox{\hyperlink{e1000__mac_8c_a8495594cc47387303962e95d9b30c36d}{e1000\_null\_mac\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00063}00063         \textcolor{comment}{/* LED */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00064}00064         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_aaa66f8030fb6772ec212eab0b1ab432f}{cleanup\_led}} = \mbox{\hyperlink{e1000__mac_8c_aeaae47f3913d63cb38f43a97867e4bfd}{e1000\_null\_ops\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00065}00065         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a02a2b31c34890b1dd749d732f5b8cb61}{setup\_led}} = \mbox{\hyperlink{e1000__mac_8c_aeaae47f3913d63cb38f43a97867e4bfd}{e1000\_null\_ops\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00066}00066         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a6cdb6611e1586880b90d90f157993d54}{blink\_led}} = \mbox{\hyperlink{e1000__mac_8c_aeaae47f3913d63cb38f43a97867e4bfd}{e1000\_null\_ops\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00067}00067         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a7cc3593330184b499bd1bf2d78e976de}{led\_on}} = \mbox{\hyperlink{e1000__mac_8c_aeaae47f3913d63cb38f43a97867e4bfd}{e1000\_null\_ops\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00068}00068         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_ae168c8b9a3f410720846bfd55749f8a4}{led\_off}} = \mbox{\hyperlink{e1000__mac_8c_aeaae47f3913d63cb38f43a97867e4bfd}{e1000\_null\_ops\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00069}00069         \textcolor{comment}{/* LINK */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00070}00070         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_aa21cc0eac51a6475a947d5887febcd18}{setup\_link}} = \mbox{\hyperlink{e1000__mac_8c_aeaae47f3913d63cb38f43a97867e4bfd}{e1000\_null\_ops\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00071}00071         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a1b4f20f8162f202b0bbe52225b8323a0}{get\_link\_up\_info}} = \mbox{\hyperlink{e1000__mac_8c_a10ee7fe30e5d9eade9035fae35ff70fb}{e1000\_null\_link\_info}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00072}00072         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a333d0d20f9d7f8b6ee6f2a7f4e78f8a3}{check\_for\_link}} = \mbox{\hyperlink{e1000__mac_8c_aeaae47f3913d63cb38f43a97867e4bfd}{e1000\_null\_ops\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00073}00073         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a765ce0e8052a64ab25dd69bada00cf22}{set\_obff\_timer}} = \mbox{\hyperlink{e1000__mac_8c_a06f42a97aadd3a669a4e086eea86adc2}{e1000\_null\_set\_obff\_timer}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00074}00074         \textcolor{comment}{/* Management */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00075}00075         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_ae4e7f947492b6ee9a36948d808e0705e}{check\_mng\_mode}} = \mbox{\hyperlink{e1000__mac_8c_a4afd71029062052e60e188aebd719671}{e1000\_null\_mng\_mode}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00076}00076         \textcolor{comment}{/* VLAN, MC, etc. */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00077}00077         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_ae16008d470719dd8701b7a283d53c4c9}{update\_mc\_addr\_list}} = \mbox{\hyperlink{e1000__mac_8c_aef04f0e1d9d851c877ec8119f3dd3fac}{e1000\_null\_update\_mc}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00078}00078         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a4c933d8f17c0d408c3ecb7ad5150d82d}{clear\_vfta}} = \mbox{\hyperlink{e1000__mac_8c_a8495594cc47387303962e95d9b30c36d}{e1000\_null\_mac\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00079}00079         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a8f42a4a4be533cfde11163b891c3235d}{write\_vfta}} = \mbox{\hyperlink{e1000__mac_8c_ae669fc98b0a5ea631b62da8894b32145}{e1000\_null\_write\_vfta}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00080}00080         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a983539dd0cfc893fd95b40089476f531}{rar\_set}} = \mbox{\hyperlink{e1000__mac_8c_a98a546b2d3416495136f00ee30491df1}{e1000\_rar\_set\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00081}00081         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a2c3277b40d764b98b70510201d6a21bf}{validate\_mdi\_setting}} = \mbox{\hyperlink{e1000__mac_8c_a70db6e2d9e2715260de7245af2225667}{e1000\_validate\_mdi\_setting\_generic}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00082}00082 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00083}00083 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00088}\mbox{\hyperlink{e1000__mac_8c_aeaae47f3913d63cb38f43a97867e4bfd}{00088}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_aeaae47f3913d63cb38f43a97867e4bfd}{e1000\_null\_ops\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00089}00089 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00090}00090         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_null\_ops\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00091}00091         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00092}00092 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00093}00093 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00098}\mbox{\hyperlink{e1000__mac_8c_a8495594cc47387303962e95d9b30c36d}{00098}} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_a8495594cc47387303962e95d9b30c36d}{e1000\_null\_mac\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00099}00099 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00100}00100         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_null\_mac\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00101}00101         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00102}00102 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00103}00103 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00110}\mbox{\hyperlink{e1000__mac_8c_a10ee7fe30e5d9eade9035fae35ff70fb}{00110}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a10ee7fe30e5d9eade9035fae35ff70fb}{e1000\_null\_link\_info}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} *hw,}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00111}00111                          \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} *s, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} *d)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00112}00112 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00113}00113         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_null\_link\_info"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00114}00114         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00115}00115 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00116}00116 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00121}\mbox{\hyperlink{e1000__mac_8c_a4afd71029062052e60e188aebd719671}{00121}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{e1000__mac_8c_a4afd71029062052e60e188aebd719671}{e1000\_null\_mng\_mode}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00122}00122 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00123}00123         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_null\_mng\_mode"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00124}00124         \textcolor{keywordflow}{return} \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00125}00125 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00126}00126 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00133}\mbox{\hyperlink{e1000__mac_8c_aef04f0e1d9d851c877ec8119f3dd3fac}{00133}} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_aef04f0e1d9d851c877ec8119f3dd3fac}{e1000\_null\_update\_mc}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} *hw,}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00134}00134                           \mbox{\hyperlink{e1000__osdep_8h_a92c50087ca0e64fa93fc59402c55f8ca}{u8}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} *h, \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} a)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00135}00135 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00136}00136         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_null\_update\_mc"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00137}00137         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00138}00138 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00139}00139 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00146}\mbox{\hyperlink{e1000__mac_8c_ae669fc98b0a5ea631b62da8894b32145}{00146}} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_ae669fc98b0a5ea631b62da8894b32145}{e1000\_null\_write\_vfta}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} *hw,}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00147}00147                            \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} a, \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} b)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00148}00148 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00149}00149         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_null\_write\_vfta"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00150}00150         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00151}00151 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00152}00152 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00159}\mbox{\hyperlink{e1000__mac_8c_ad233730c326506187d5bc86cec5ff54f}{00159}} \textcolor{keywordtype}{int} \mbox{\hyperlink{e1000__mac_8c_ad233730c326506187d5bc86cec5ff54f}{e1000\_null\_rar\_set}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} *hw,}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00160}00160                         \mbox{\hyperlink{e1000__osdep_8h_a92c50087ca0e64fa93fc59402c55f8ca}{u8}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} *h, \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} a)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00161}00161 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00162}00162         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_null\_rar\_set"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00163}00163         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00164}00164 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00165}00165 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00170}\mbox{\hyperlink{e1000__mac_8c_a06f42a97aadd3a669a4e086eea86adc2}{00170}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a06f42a97aadd3a669a4e086eea86adc2}{e1000\_null\_set\_obff\_timer}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} *hw,}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00171}00171                               \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} a)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00172}00172 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00173}00173         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_null\_set\_obff\_timer"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00174}00174         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00175}00175 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00176}00176 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00185}\mbox{\hyperlink{e1000__mac_8c_a4cf1b891b2acc909e454480f22cb05e6}{00185}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a4cf1b891b2acc909e454480f22cb05e6}{e1000\_get\_bus\_info\_pci\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00186}00186 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00187}00187         \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__mac__info}{e1000\_mac\_info}} *mac = \&hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00188}00188         \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__bus__info}{e1000\_bus\_info}} *bus = \&hw-\/>\mbox{\hyperlink{structe1000__hw_a54dfe65b05ea7457cd47b9c2a011d779}{bus}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00189}00189         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} status = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a7fad15ed91c7801a1b9c5f80843bab79}{E1000\_STATUS}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00190}00190         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} ret\_val = \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00191}00191 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00192}00192         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_get\_bus\_info\_pci\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00193}00193 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00194}00194         \textcolor{comment}{/* PCI or PCI-\/X? */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00195}00195         bus-\/>\mbox{\hyperlink{structe1000__bus__info_a729d4e45985e9118da83097adef0eb30}{type}} = (status \& \mbox{\hyperlink{e1000__defines_8h_a358d4aaade1ad3353ce06a17d4ce66d5}{E1000\_STATUS\_PCIX\_MODE}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00196}00196                         ? \mbox{\hyperlink{e1000__hw_8h_a4e6322e180969c21be0c72654ef07423a829b7bda27d057406efda0fb1b72c8c7}{e1000\_bus\_type\_pcix}}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00197}00197                         : \mbox{\hyperlink{e1000__hw_8h_a4e6322e180969c21be0c72654ef07423a2e349cb57aad5e9b9a86f2f00a4b6d4d}{e1000\_bus\_type\_pci}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00198}00198 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00199}00199         \textcolor{comment}{/* Bus speed */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00200}00200         \textcolor{keywordflow}{if} (bus-\/>\mbox{\hyperlink{structe1000__bus__info_a729d4e45985e9118da83097adef0eb30}{type}} == \mbox{\hyperlink{e1000__hw_8h_a4e6322e180969c21be0c72654ef07423a2e349cb57aad5e9b9a86f2f00a4b6d4d}{e1000\_bus\_type\_pci}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00201}00201                 bus-\/>\mbox{\hyperlink{structe1000__bus__info_a2f2a4e3414f897528020273da92ba417}{speed}} = (status \& \mbox{\hyperlink{e1000__defines_8h_a87e0d0b30faafed10deb44d9d1a81ad9}{E1000\_STATUS\_PCI66}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00202}00202                              ? \mbox{\hyperlink{e1000__hw_8h_a7724e6e38084d6f3d5ad19138462aaa4a859290abc111b8057ee833c982efd9fc}{e1000\_bus\_speed\_66}}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00203}00203                              : \mbox{\hyperlink{e1000__hw_8h_a7724e6e38084d6f3d5ad19138462aaa4ad082bc09c0074ef87a88f8fd1c37b16a}{e1000\_bus\_speed\_33}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00204}00204         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00205}00205                 \textcolor{keywordflow}{switch} (status \& \mbox{\hyperlink{e1000__defines_8h_ad94a24031724e7e4151e7132b3bd2242}{E1000\_STATUS\_PCIX\_SPEED}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00206}00206                 \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__defines_8h_a914363a182916ceadf1ca89a68d9e2af}{E1000\_STATUS\_PCIX\_SPEED\_66}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00207}00207                         bus-\/>\mbox{\hyperlink{structe1000__bus__info_a2f2a4e3414f897528020273da92ba417}{speed}} = \mbox{\hyperlink{e1000__hw_8h_a7724e6e38084d6f3d5ad19138462aaa4a859290abc111b8057ee833c982efd9fc}{e1000\_bus\_speed\_66}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00208}00208                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00209}00209                 \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__defines_8h_a55c3cb37240a14d51543a7d26246edd2}{E1000\_STATUS\_PCIX\_SPEED\_100}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00210}00210                         bus-\/>\mbox{\hyperlink{structe1000__bus__info_a2f2a4e3414f897528020273da92ba417}{speed}} = \mbox{\hyperlink{e1000__hw_8h_a7724e6e38084d6f3d5ad19138462aaa4a6c8b1e32bfd848d4828c89d1b6f609ea}{e1000\_bus\_speed\_100}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00211}00211                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00212}00212                 \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__defines_8h_a090761290f374f85e6838ae520f85298}{E1000\_STATUS\_PCIX\_SPEED\_133}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00213}00213                         bus-\/>\mbox{\hyperlink{structe1000__bus__info_a2f2a4e3414f897528020273da92ba417}{speed}} = \mbox{\hyperlink{e1000__hw_8h_a7724e6e38084d6f3d5ad19138462aaa4ac8b4a3a43a3aa6968c2f7a3b968e83f9}{e1000\_bus\_speed\_133}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00214}00214                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00215}00215                 \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00216}00216                         bus-\/>\mbox{\hyperlink{structe1000__bus__info_a2f2a4e3414f897528020273da92ba417}{speed}} = \mbox{\hyperlink{e1000__hw_8h_a7724e6e38084d6f3d5ad19138462aaa4a534a2bd764d28ec379d694c3fd62325d}{e1000\_bus\_speed\_reserved}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00217}00217                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00218}00218                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00219}00219         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00220}00220 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00221}00221         \textcolor{comment}{/* Bus width */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00222}00222         bus-\/>\mbox{\hyperlink{structe1000__bus__info_a8ab39042cadebe0c5fd8e3294ceefeb4}{width}} = (status \& \mbox{\hyperlink{e1000__defines_8h_af2f3d5dfe6502b01ea8b1431e10bda75}{E1000\_STATUS\_BUS64}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00223}00223                      ? \mbox{\hyperlink{e1000__hw_8h_a29097584be713aeabbdb98b320e9bfe6a192d334678eb3233f9094b4b266c9d90}{e1000\_bus\_width\_64}}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00224}00224                      : \mbox{\hyperlink{e1000__hw_8h_a29097584be713aeabbdb98b320e9bfe6a47b4a98e70b824de93d6b1792fe4bd9d}{e1000\_bus\_width\_32}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00225}00225 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00226}00226         \textcolor{comment}{/* Which PCI(-\/X) function? */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00227}00227         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_ac48383251db159e47d6aeafc22d70d16}{set\_lan\_id}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00228}00228 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00229}00229         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00230}00230 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00231}00231 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00240}\mbox{\hyperlink{e1000__mac_8c_a03b7d5cf7b14ba0a485ca1db8b188c80}{00240}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a03b7d5cf7b14ba0a485ca1db8b188c80}{e1000\_get\_bus\_info\_pcie\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00241}00241 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00242}00242         \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__mac__info}{e1000\_mac\_info}} *mac = \&hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00243}00243         \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__bus__info}{e1000\_bus\_info}} *bus = \&hw-\/>\mbox{\hyperlink{structe1000__hw_a54dfe65b05ea7457cd47b9c2a011d779}{bus}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00244}00244         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00245}00245         \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} pcie\_link\_status;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00246}00246 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00247}00247         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_get\_bus\_info\_pcie\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00248}00248 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00249}00249         bus-\/>\mbox{\hyperlink{structe1000__bus__info_a729d4e45985e9118da83097adef0eb30}{type}} = \mbox{\hyperlink{e1000__hw_8h_a4e6322e180969c21be0c72654ef07423acb725f986e788ee5671a7fae29c8f58a}{e1000\_bus\_type\_pci\_express}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00250}00250 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00251}00251         ret\_val = \mbox{\hyperlink{e1000__hw_8h_a8b729caf83504e15bd66120a27ba4916}{e1000\_read\_pcie\_cap\_reg}}(hw, \mbox{\hyperlink{e1000__defines_8h_a985110878411dcc07002730221e39974}{PCIE\_LINK\_STATUS}},}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00252}00252                                           \&pcie\_link\_status);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00253}00253         \textcolor{keywordflow}{if} (ret\_val) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00254}00254                 bus-\/>\mbox{\hyperlink{structe1000__bus__info_a8ab39042cadebe0c5fd8e3294ceefeb4}{width}} = \mbox{\hyperlink{e1000__hw_8h_a29097584be713aeabbdb98b320e9bfe6a6c73aff252186ca0458b54a97a2764be}{e1000\_bus\_width\_unknown}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00255}00255                 bus-\/>\mbox{\hyperlink{structe1000__bus__info_a2f2a4e3414f897528020273da92ba417}{speed}} = \mbox{\hyperlink{e1000__hw_8h_a7724e6e38084d6f3d5ad19138462aaa4ac86a18584fab85022137e12f0d3fc3df}{e1000\_bus\_speed\_unknown}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00256}00256         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00257}00257                 \textcolor{keywordflow}{switch} (pcie\_link\_status \& \mbox{\hyperlink{e1000__defines_8h_a5bab70477aa5cfec0820d3026adae238}{PCIE\_LINK\_SPEED\_MASK}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00258}00258                 \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__defines_8h_a4cad86f5da79f076171f1a8c70c0644c}{PCIE\_LINK\_SPEED\_2500}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00259}00259                         bus-\/>\mbox{\hyperlink{structe1000__bus__info_a2f2a4e3414f897528020273da92ba417}{speed}} = \mbox{\hyperlink{e1000__hw_8h_a7724e6e38084d6f3d5ad19138462aaa4acf550fa5cc271662070b4fc75194e06e}{e1000\_bus\_speed\_2500}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00260}00260                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00261}00261                 \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__defines_8h_a2912404410d56bd1c6d6b956df346308}{PCIE\_LINK\_SPEED\_5000}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00262}00262                         bus-\/>\mbox{\hyperlink{structe1000__bus__info_a2f2a4e3414f897528020273da92ba417}{speed}} = \mbox{\hyperlink{e1000__hw_8h_a7724e6e38084d6f3d5ad19138462aaa4a29f75b3a1de24d3f0424ba5e992cc184}{e1000\_bus\_speed\_5000}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00263}00263                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00264}00264                 \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00265}00265                         bus-\/>\mbox{\hyperlink{structe1000__bus__info_a2f2a4e3414f897528020273da92ba417}{speed}} = \mbox{\hyperlink{e1000__hw_8h_a7724e6e38084d6f3d5ad19138462aaa4ac86a18584fab85022137e12f0d3fc3df}{e1000\_bus\_speed\_unknown}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00266}00266                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00267}00267                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00268}00268 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00269}00269                 bus-\/>\mbox{\hyperlink{structe1000__bus__info_a8ab39042cadebe0c5fd8e3294ceefeb4}{width}} = (\textcolor{keyword}{enum} \mbox{\hyperlink{e1000__hw_8h_a29097584be713aeabbdb98b320e9bfe6}{e1000\_bus\_width}})((pcie\_link\_status \&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00270}00270                               \mbox{\hyperlink{e1000__defines_8h_a539049ec80b3e396c09475b9bd106897}{PCIE\_LINK\_WIDTH\_MASK}}) >> \mbox{\hyperlink{e1000__defines_8h_addf87700d991c34ab617f7a2cad1a068}{PCIE\_LINK\_WIDTH\_SHIFT}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00271}00271         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00272}00272 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00273}00273         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_ac48383251db159e47d6aeafc22d70d16}{set\_lan\_id}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00274}00274 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00275}00275         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00276}00276 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00277}00277 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00286}\mbox{\hyperlink{e1000__mac_8c_a06414884945b7cb6b7794a63fa2f6bca}{00286}} \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_a06414884945b7cb6b7794a63fa2f6bca}{e1000\_set\_lan\_id\_multi\_port\_pcie}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00287}00287 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00288}00288         \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__bus__info}{e1000\_bus\_info}} *bus = \&hw-\/>\mbox{\hyperlink{structe1000__hw_a54dfe65b05ea7457cd47b9c2a011d779}{bus}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00289}00289         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} reg;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00290}00290 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00291}00291         \textcolor{comment}{/* The status register reports the correct function number}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00292}00292 \textcolor{comment}{         * for the device regardless of function swap state.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00293}00293 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00294}00294         reg = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a7fad15ed91c7801a1b9c5f80843bab79}{E1000\_STATUS}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00295}00295         bus-\/>\mbox{\hyperlink{structe1000__bus__info_ac7dfcdcfb9d9c5a7272764c1c8cd5716}{func}} = (reg \& \mbox{\hyperlink{e1000__defines_8h_add6d6b77b39b23629f2a3b7e5c15b495}{E1000\_STATUS\_FUNC\_MASK}}) >> \mbox{\hyperlink{e1000__defines_8h_a4591ab04ee2e98ffb357910c6658bedf}{E1000\_STATUS\_FUNC\_SHIFT}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00296}00296 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00297}00297 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00304}\mbox{\hyperlink{e1000__mac_8c_a3604a6d35cc0566e2c0faddef07cab83}{00304}} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_a3604a6d35cc0566e2c0faddef07cab83}{e1000\_set\_lan\_id\_multi\_port\_pci}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00305}00305 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00306}00306         \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__bus__info}{e1000\_bus\_info}} *bus = \&hw-\/>\mbox{\hyperlink{structe1000__hw_a54dfe65b05ea7457cd47b9c2a011d779}{bus}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00307}00307         \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} pci\_header\_type;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00308}00308         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} status;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00309}00309 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00310}00310         \mbox{\hyperlink{e1000__hw_8h_af05b63fded54f2adb80b1a0d3d796f25}{e1000\_read\_pci\_cfg}}(hw, \mbox{\hyperlink{e1000__defines_8h_aaad41847411b6a5ceeac6f33a3f08981}{PCI\_HEADER\_TYPE\_REGISTER}}, \&pci\_header\_type);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00311}00311         \textcolor{keywordflow}{if} (pci\_header\_type \& \mbox{\hyperlink{e1000__defines_8h_a6d5420d7ec65785897e951c8655bf62c}{PCI\_HEADER\_TYPE\_MULTIFUNC}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00312}00312                 status = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a7fad15ed91c7801a1b9c5f80843bab79}{E1000\_STATUS}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00313}00313                 bus-\/>\mbox{\hyperlink{structe1000__bus__info_ac7dfcdcfb9d9c5a7272764c1c8cd5716}{func}} = (status \& \mbox{\hyperlink{e1000__defines_8h_add6d6b77b39b23629f2a3b7e5c15b495}{E1000\_STATUS\_FUNC\_MASK}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00314}00314                             >> \mbox{\hyperlink{e1000__defines_8h_a4591ab04ee2e98ffb357910c6658bedf}{E1000\_STATUS\_FUNC\_SHIFT}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00315}00315         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00316}00316                 bus-\/>\mbox{\hyperlink{structe1000__bus__info_ac7dfcdcfb9d9c5a7272764c1c8cd5716}{func}} = 0;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00317}00317         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00318}00318 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00319}00319 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00326}\mbox{\hyperlink{e1000__mac_8c_af2b56cce82c9471189a69d90f0c416ca}{00326}} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_af2b56cce82c9471189a69d90f0c416ca}{e1000\_set\_lan\_id\_single\_port}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00327}00327 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00328}00328         \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__bus__info}{e1000\_bus\_info}} *bus = \&hw-\/>\mbox{\hyperlink{structe1000__hw_a54dfe65b05ea7457cd47b9c2a011d779}{bus}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00329}00329 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00330}00330         bus-\/>\mbox{\hyperlink{structe1000__bus__info_ac7dfcdcfb9d9c5a7272764c1c8cd5716}{func}} = 0;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00331}00331 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00332}00332 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00340}\mbox{\hyperlink{e1000__mac_8c_ab5de77674ea6154edb0b9c7f5ac232b8}{00340}} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_ab5de77674ea6154edb0b9c7f5ac232b8}{e1000\_clear\_vfta\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00341}00341 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00342}00342         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} offset;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00343}00343 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00344}00344         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_clear\_vfta\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00345}00345 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00346}00346         \textcolor{keywordflow}{for} (offset = 0; offset < \mbox{\hyperlink{e1000__defines_8h_a6f423ec0b5aaac995692b95081fd0e09}{E1000\_VLAN\_FILTER\_TBL\_SIZE}}; offset++) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00347}00347                 \mbox{\hyperlink{e1000__osdep_8h_a51d00d7b9d0972918fda9e17dc2fc9ce}{E1000\_WRITE\_REG\_ARRAY}}(hw, \mbox{\hyperlink{e1000__regs_8h_a323631ee91c6aac2506d2f1755cbd4a8}{E1000\_VFTA}}, offset, 0);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00348}00348                 \mbox{\hyperlink{e1000__osdep_8h_abd4ee915cc9a2dadc190fa88437f8792}{E1000\_WRITE\_FLUSH}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00349}00349         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00350}00350 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00351}00351 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00361}\mbox{\hyperlink{e1000__mac_8c_acf08a42ff947c708a64a5a3c34e43995}{00361}} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_acf08a42ff947c708a64a5a3c34e43995}{e1000\_write\_vfta\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw, \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} offset, \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} value)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00362}00362 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00363}00363         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_write\_vfta\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00364}00364 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00365}00365         \mbox{\hyperlink{e1000__osdep_8h_a51d00d7b9d0972918fda9e17dc2fc9ce}{E1000\_WRITE\_REG\_ARRAY}}(hw, \mbox{\hyperlink{e1000__regs_8h_a323631ee91c6aac2506d2f1755cbd4a8}{E1000\_VFTA}}, offset, value);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00366}00366         \mbox{\hyperlink{e1000__osdep_8h_abd4ee915cc9a2dadc190fa88437f8792}{E1000\_WRITE\_FLUSH}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00367}00367 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00368}00368 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00378}\mbox{\hyperlink{e1000__mac_8c_ac66011043796f80bdbdcb9fce94edd1a}{00378}} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_ac66011043796f80bdbdcb9fce94edd1a}{e1000\_init\_rx\_addrs\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} rar\_count)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00379}00379 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00380}00380         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} i;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00381}00381         \mbox{\hyperlink{e1000__osdep_8h_a92c50087ca0e64fa93fc59402c55f8ca}{u8}} mac\_addr[ETHER\_ADDR\_LEN] = \{0\};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00382}00382 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00383}00383         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_init\_rx\_addrs\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00384}00384 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00385}00385         \textcolor{comment}{/* Setup the receive address */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00386}00386         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Programming MAC Address into RAR[0]\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00387}00387 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00388}00388         hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a983539dd0cfc893fd95b40089476f531}{rar\_set}}(hw, hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_a57dbe115e19a7a87e45dc8940b9ffdf9}{addr}}, 0);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00389}00389 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00390}00390         \textcolor{comment}{/* Zero out the other (rar\_entry\_count -\/ 1) receive addresses */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00391}00391         \mbox{\hyperlink{e1000__osdep_8h_a05001c9eb96d2f4a2ad39e927fc81cfa}{DEBUGOUT1}}(\textcolor{stringliteral}{"{}Clearing RAR[1-\/\%u]\(\backslash\)n"{}}, rar\_count-\/1);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00392}00392         \textcolor{keywordflow}{for} (i = 1; i < rar\_count; i++)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00393}00393                 hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a983539dd0cfc893fd95b40089476f531}{rar\_set}}(hw, mac\_addr, i);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00394}00394 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00395}00395 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00408}\mbox{\hyperlink{e1000__mac_8c_a6c22230cbf31261f894a27c03b767a17}{00408}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a6c22230cbf31261f894a27c03b767a17}{e1000\_check\_alt\_mac\_addr\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00409}00409 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00410}00410         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} i;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00411}00411         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00412}00412         \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} offset, nvm\_alt\_mac\_addr\_offset, nvm\_data;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00413}00413         \mbox{\hyperlink{e1000__osdep_8h_a92c50087ca0e64fa93fc59402c55f8ca}{u8}} alt\_mac\_addr[ETHER\_ADDR\_LEN];}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00414}00414 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00415}00415         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_check\_alt\_mac\_addr\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00416}00416 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00417}00417         ret\_val = hw-\/>\mbox{\hyperlink{structe1000__hw_a7da8a8328803abd295ca8691e964c202}{nvm}}.\mbox{\hyperlink{structe1000__nvm__info_a039acf6f4fa4fe5e22111f6a03253b4a}{ops}}.\mbox{\hyperlink{structe1000__nvm__operations_add376eae079ba142c4f41bb8ac8f739a}{read}}(hw, \mbox{\hyperlink{e1000__defines_8h_ac630cf4ba9fdac1d516b73de5ddbdf97}{NVM\_COMPAT}}, 1, \&nvm\_data);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00418}00418         \textcolor{keywordflow}{if} (ret\_val)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00419}00419                 \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00420}00420 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00421}00421         \textcolor{comment}{/* not supported on older hardware or 82573 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00422}00422         \textcolor{keywordflow}{if} ((hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_a47575986a62f26180c725bb6fd19e434}{type}} < \mbox{\hyperlink{e1000__hw_8h_a7f5871256d483a73ddb176218998f3a7a92ee752e1e875f0b708f22b83306f455}{e1000\_82571}}) || (hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_a47575986a62f26180c725bb6fd19e434}{type}} == \mbox{\hyperlink{e1000__hw_8h_a7f5871256d483a73ddb176218998f3a7a369fb120402daa82185e81322926641c}{e1000\_82573}}))}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00423}00423                 \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00424}00424 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00425}00425         \textcolor{comment}{/* Alternate MAC address is handled by the option ROM for 82580}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00426}00426 \textcolor{comment}{         * and newer. SW support not required.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00427}00427 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00428}00428         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_a47575986a62f26180c725bb6fd19e434}{type}} >= \mbox{\hyperlink{e1000__hw_8h_a7f5871256d483a73ddb176218998f3a7a01c25b7740b67b3962269dcd75aedacd}{e1000\_82580}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00429}00429                 \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00430}00430 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00431}00431         ret\_val = hw-\/>\mbox{\hyperlink{structe1000__hw_a7da8a8328803abd295ca8691e964c202}{nvm}}.\mbox{\hyperlink{structe1000__nvm__info_a039acf6f4fa4fe5e22111f6a03253b4a}{ops}}.\mbox{\hyperlink{structe1000__nvm__operations_add376eae079ba142c4f41bb8ac8f739a}{read}}(hw, \mbox{\hyperlink{e1000__defines_8h_a1a8dd2c8d05481967840818339fa4462}{NVM\_ALT\_MAC\_ADDR\_PTR}}, 1,}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00432}00432                                    \&nvm\_alt\_mac\_addr\_offset);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00433}00433         \textcolor{keywordflow}{if} (ret\_val) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00434}00434                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}NVM Read Error\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00435}00435                 \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00436}00436         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00437}00437 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00438}00438         \textcolor{keywordflow}{if} ((nvm\_alt\_mac\_addr\_offset == 0xFFFF) ||}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00439}00439             (nvm\_alt\_mac\_addr\_offset == 0x0000))}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00440}00440                 \textcolor{comment}{/* There is no Alternate MAC Address */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00441}00441                 \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00442}00442 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00443}00443         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_a54dfe65b05ea7457cd47b9c2a011d779}{bus}}.\mbox{\hyperlink{structe1000__bus__info_ac7dfcdcfb9d9c5a7272764c1c8cd5716}{func}} == \mbox{\hyperlink{e1000__hw_8h_a12995a92e6042a7d1f4aa51dd90c1c78}{E1000\_FUNC\_1}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00444}00444                 nvm\_alt\_mac\_addr\_offset += \mbox{\hyperlink{e1000__hw_8h_aa6bc0e660b1554cf9e23642ba0f280ce}{E1000\_ALT\_MAC\_ADDRESS\_OFFSET\_LAN1}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00445}00445         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_a54dfe65b05ea7457cd47b9c2a011d779}{bus}}.\mbox{\hyperlink{structe1000__bus__info_ac7dfcdcfb9d9c5a7272764c1c8cd5716}{func}} == \mbox{\hyperlink{e1000__hw_8h_aebe262318579b1a662a9d7f8566d3095}{E1000\_FUNC\_2}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00446}00446                 nvm\_alt\_mac\_addr\_offset += \mbox{\hyperlink{e1000__hw_8h_a01aa02a8e9bbfcb9b6f46cca2024fb10}{E1000\_ALT\_MAC\_ADDRESS\_OFFSET\_LAN2}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00447}00447 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00448}00448         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_a54dfe65b05ea7457cd47b9c2a011d779}{bus}}.\mbox{\hyperlink{structe1000__bus__info_ac7dfcdcfb9d9c5a7272764c1c8cd5716}{func}} == \mbox{\hyperlink{e1000__hw_8h_a275467ee091473418a52903414c109c2}{E1000\_FUNC\_3}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00449}00449                 nvm\_alt\_mac\_addr\_offset += \mbox{\hyperlink{e1000__hw_8h_a2b93d02d58da457730f26586ec305fb1}{E1000\_ALT\_MAC\_ADDRESS\_OFFSET\_LAN3}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00450}00450         \textcolor{keywordflow}{for} (i = 0; i < ETHER\_ADDR\_LEN; i += 2) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00451}00451                 offset = nvm\_alt\_mac\_addr\_offset + (i >> 1);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00452}00452                 ret\_val = hw-\/>\mbox{\hyperlink{structe1000__hw_a7da8a8328803abd295ca8691e964c202}{nvm}}.\mbox{\hyperlink{structe1000__nvm__info_a039acf6f4fa4fe5e22111f6a03253b4a}{ops}}.\mbox{\hyperlink{structe1000__nvm__operations_add376eae079ba142c4f41bb8ac8f739a}{read}}(hw, offset, 1, \&nvm\_data);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00453}00453                 \textcolor{keywordflow}{if} (ret\_val) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00454}00454                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}NVM Read Error\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00455}00455                         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00456}00456                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00457}00457 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00458}00458                 alt\_mac\_addr[i] = (\mbox{\hyperlink{e1000__osdep_8h_a92c50087ca0e64fa93fc59402c55f8ca}{u8}})(nvm\_data \& 0xFF);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00459}00459                 alt\_mac\_addr[i + 1] = (\mbox{\hyperlink{e1000__osdep_8h_a92c50087ca0e64fa93fc59402c55f8ca}{u8}})(nvm\_data >> 8);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00460}00460         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00461}00461 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00462}00462         \textcolor{comment}{/* if multicast bit is set, the alternate address will not be used */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00463}00463         \textcolor{keywordflow}{if} (alt\_mac\_addr[0] \& 0x01) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00464}00464                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Ignoring Alternate Mac Address with MC bit set\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00465}00465                 \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00466}00466         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00467}00467 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00468}00468         \textcolor{comment}{/* We have a valid alternate MAC address, and we want to treat it the}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00469}00469 \textcolor{comment}{         * same as the normal permanent MAC address stored by the HW into the}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00470}00470 \textcolor{comment}{         * RAR. Do this by mapping this address into RAR0.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00471}00471 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00472}00472         hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a983539dd0cfc893fd95b40089476f531}{rar\_set}}(hw, alt\_mac\_addr, 0);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00473}00473 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00474}00474         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00475}00475 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00476}00476 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00486}\mbox{\hyperlink{e1000__mac_8c_a98a546b2d3416495136f00ee30491df1}{00486}} \textcolor{keywordtype}{int} \mbox{\hyperlink{e1000__mac_8c_a98a546b2d3416495136f00ee30491df1}{e1000\_rar\_set\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw, \mbox{\hyperlink{e1000__osdep_8h_a92c50087ca0e64fa93fc59402c55f8ca}{u8}} *addr, \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} index)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00487}00487 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00488}00488         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} rar\_low, rar\_high;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00489}00489 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00490}00490         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_rar\_set\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00491}00491 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00492}00492         \textcolor{comment}{/* HW expects these in little endian so we reverse the byte order}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00493}00493 \textcolor{comment}{         * from network order (big endian) to little endian}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00494}00494 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00495}00495         rar\_low = ((\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}}) addr[0] | ((\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}}) addr[1] << 8) |}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00496}00496                    ((\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}}) addr[2] << 16) | ((\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}}) addr[3] << 24));}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00497}00497 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00498}00498         rar\_high = ((\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}}) addr[4] | ((\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}}) addr[5] << 8));}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00499}00499 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00500}00500         \textcolor{comment}{/* If MAC address zero, no need to set the AV bit */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00501}00501         \textcolor{keywordflow}{if} (rar\_low || rar\_high)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00502}00502                 rar\_high |= \mbox{\hyperlink{e1000__defines_8h_adea91902dedcc47d0bd9a45589344be9}{E1000\_RAH\_AV}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00503}00503 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00504}00504         \textcolor{comment}{/* Some bridges will combine consecutive 32-\/bit writes into}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00505}00505 \textcolor{comment}{         * a single burst write, which will malfunction on some parts.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00506}00506 \textcolor{comment}{         * The flushes avoid this.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00507}00507 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00508}00508         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aef2f9cf55ba75ef025ea8e83d2019494}{E1000\_RAL}}(index), rar\_low);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00509}00509         \mbox{\hyperlink{e1000__osdep_8h_abd4ee915cc9a2dadc190fa88437f8792}{E1000\_WRITE\_FLUSH}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00510}00510         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a505199655b6c76ef205e6325561c69ea}{E1000\_RAH}}(index), rar\_high);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00511}00511         \mbox{\hyperlink{e1000__osdep_8h_abd4ee915cc9a2dadc190fa88437f8792}{E1000\_WRITE\_FLUSH}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00512}00512 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00513}00513         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00514}00514 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00515}00515 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00524}\mbox{\hyperlink{e1000__mac_8c_a0238d041ee807fd35b8e9fc9f8664171}{00524}} \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} \mbox{\hyperlink{e1000__mac_8c_a0238d041ee807fd35b8e9fc9f8664171}{e1000\_hash\_mc\_addr\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw, \mbox{\hyperlink{e1000__osdep_8h_a92c50087ca0e64fa93fc59402c55f8ca}{u8}} *mc\_addr)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00525}00525 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00526}00526         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} hash\_value, hash\_mask;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00527}00527         \mbox{\hyperlink{e1000__osdep_8h_a92c50087ca0e64fa93fc59402c55f8ca}{u8}} bit\_shift = 0;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00528}00528 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00529}00529         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_hash\_mc\_addr\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00530}00530 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00531}00531         \textcolor{comment}{/* Register count multiplied by bits per register */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00532}00532         hash\_mask = (hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_aaeb73d6a1af630e29c2e3b6382e8568a}{mta\_reg\_count}} * 32) -\/ 1;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00533}00533 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00534}00534         \textcolor{comment}{/* For a mc\_filter\_type of 0, bit\_shift is the number of left-\/shifts}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00535}00535 \textcolor{comment}{         * where 0xFF would still fall within the hash mask.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00536}00536 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00537}00537         \textcolor{keywordflow}{while} (hash\_mask >> bit\_shift != 0xFF)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00538}00538                 bit\_shift++;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00539}00539 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00540}00540         \textcolor{comment}{/* The portion of the address that is used for the hash table}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00541}00541 \textcolor{comment}{         * is determined by the mc\_filter\_type setting.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00542}00542 \textcolor{comment}{         * The algorithm is such that there is a total of 8 bits of shifting.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00543}00543 \textcolor{comment}{         * The bit\_shift for a mc\_filter\_type of 0 represents the number of}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00544}00544 \textcolor{comment}{         * left-\/shifts where the MSB of mc\_addr[5] would still fall within}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00545}00545 \textcolor{comment}{         * the hash\_mask.  Case 0 does this exactly.  Since there are a total}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00546}00546 \textcolor{comment}{         * of 8 bits of shifting, then mc\_addr[4] will shift right the}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00547}00547 \textcolor{comment}{         * remaining number of bits. Thus 8 -\/ bit\_shift.  The rest of the}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00548}00548 \textcolor{comment}{         * cases are a variation of this algorithm...essentially raising the}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00549}00549 \textcolor{comment}{         * number of bits to shift mc\_addr[5] left, while still keeping the}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00550}00550 \textcolor{comment}{         * 8-\/bit shifting total.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00551}00551 \textcolor{comment}{         *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00552}00552 \textcolor{comment}{         * For example, given the following Destination MAC Address and an}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00553}00553 \textcolor{comment}{         * mta register count of 128 (thus a 4096-\/bit vector and 0xFFF mask),}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00554}00554 \textcolor{comment}{         * we can see that the bit\_shift for case 0 is 4.  These are the hash}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00555}00555 \textcolor{comment}{         * values resulting from each mc\_filter\_type...}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00556}00556 \textcolor{comment}{         * [0] [1] [2] [3] [4] [5]}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00557}00557 \textcolor{comment}{         * 01  AA  00  12  34  56}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00558}00558 \textcolor{comment}{         * LSB           MSB}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00559}00559 \textcolor{comment}{         *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00560}00560 \textcolor{comment}{         * case 0: hash\_value = ((0x34 >> 4) | (0x56 << 4)) \& 0xFFF = 0x563}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00561}00561 \textcolor{comment}{         * case 1: hash\_value = ((0x34 >> 3) | (0x56 << 5)) \& 0xFFF = 0xAC6}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00562}00562 \textcolor{comment}{         * case 2: hash\_value = ((0x34 >> 2) | (0x56 << 6)) \& 0xFFF = 0x163}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00563}00563 \textcolor{comment}{         * case 3: hash\_value = ((0x34 >> 0) | (0x56 << 8)) \& 0xFFF = 0x634}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00564}00564 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00565}00565         \textcolor{keywordflow}{switch} (hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_aa5eb8e3d908ce8666939e29f7c73982a}{mc\_filter\_type}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00566}00566         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00567}00567         \textcolor{keywordflow}{case} 0:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00568}00568                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00569}00569         \textcolor{keywordflow}{case} 1:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00570}00570                 bit\_shift += 1;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00571}00571                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00572}00572         \textcolor{keywordflow}{case} 2:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00573}00573                 bit\_shift += 2;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00574}00574                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00575}00575         \textcolor{keywordflow}{case} 3:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00576}00576                 bit\_shift += 4;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00577}00577                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00578}00578         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00579}00579 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00580}00580         hash\_value = hash\_mask \& (((mc\_addr[4] >> (8 -\/ bit\_shift)) |}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00581}00581                                   (((\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}}) mc\_addr[5]) << bit\_shift)));}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00582}00582 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00583}00583         \textcolor{keywordflow}{return} hash\_value;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00584}00584 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00585}00585 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00595}\mbox{\hyperlink{e1000__mac_8c_a9effba4a7c35d841842dce3755b35bdb}{00595}} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_a9effba4a7c35d841842dce3755b35bdb}{e1000\_update\_mc\_addr\_list\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw,}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00596}00596                                        \mbox{\hyperlink{e1000__osdep_8h_a92c50087ca0e64fa93fc59402c55f8ca}{u8}} *mc\_addr\_list, \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} mc\_addr\_count)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00597}00597 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00598}00598         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} hash\_value, hash\_bit, hash\_reg;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00599}00599         \textcolor{keywordtype}{int} i;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00600}00600 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00601}00601         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_update\_mc\_addr\_list\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00602}00602 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00603}00603         \textcolor{comment}{/* clear mta\_shadow */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00604}00604         memset(\&hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_aec8cdeff4f26abc77c8b392860c8c6c8}{mta\_shadow}}, 0, \textcolor{keyword}{sizeof}(hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_aec8cdeff4f26abc77c8b392860c8c6c8}{mta\_shadow}}));}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00605}00605 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00606}00606         \textcolor{comment}{/* update mta\_shadow from mc\_addr\_list */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00607}00607         \textcolor{keywordflow}{for} (i = 0; (\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}}) i < mc\_addr\_count; i++) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00608}00608                 hash\_value = \mbox{\hyperlink{e1000__mac_8c_a0238d041ee807fd35b8e9fc9f8664171}{e1000\_hash\_mc\_addr\_generic}}(hw, mc\_addr\_list);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00609}00609 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00610}00610                 hash\_reg = (hash\_value >> 5) \& (hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_aaeb73d6a1af630e29c2e3b6382e8568a}{mta\_reg\_count}} -\/ 1);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00611}00611                 hash\_bit = hash\_value \& 0x1F;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00612}00612 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00613}00613                 hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_aec8cdeff4f26abc77c8b392860c8c6c8}{mta\_shadow}}[hash\_reg] |= (1 << hash\_bit);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00614}00614                 mc\_addr\_list += (ETHER\_ADDR\_LEN);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00615}00615         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00616}00616 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00617}00617         \textcolor{comment}{/* replace the entire MTA table */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00618}00618         \textcolor{keywordflow}{for} (i = hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_aaeb73d6a1af630e29c2e3b6382e8568a}{mta\_reg\_count}} -\/ 1; i >= 0; i-\/-\/)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00619}00619                 \mbox{\hyperlink{e1000__osdep_8h_a51d00d7b9d0972918fda9e17dc2fc9ce}{E1000\_WRITE\_REG\_ARRAY}}(hw, \mbox{\hyperlink{e1000__regs_8h_ae141b163a88a0184b8c5cfaf88205c4c}{E1000\_MTA}}, i, hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_aec8cdeff4f26abc77c8b392860c8c6c8}{mta\_shadow}}[i]);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00620}00620         \mbox{\hyperlink{e1000__osdep_8h_abd4ee915cc9a2dadc190fa88437f8792}{E1000\_WRITE\_FLUSH}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00621}00621 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00622}00622 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00632}\mbox{\hyperlink{e1000__mac_8c_a01d53150b28cb585a60475cdce477fee}{00632}} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_a01d53150b28cb585a60475cdce477fee}{e1000\_pcix\_mmrbc\_workaround\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00633}00633 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00634}00634         \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} cmd\_mmrbc;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00635}00635         \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} pcix\_cmd;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00636}00636         \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} pcix\_stat\_hi\_word;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00637}00637         \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} stat\_mmrbc;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00638}00638 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00639}00639         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_pcix\_mmrbc\_workaround\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00640}00640 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00641}00641         \textcolor{comment}{/* Workaround for PCI-\/X issue when BIOS sets MMRBC incorrectly */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00642}00642         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_a54dfe65b05ea7457cd47b9c2a011d779}{bus}}.\mbox{\hyperlink{structe1000__bus__info_a729d4e45985e9118da83097adef0eb30}{type}} != \mbox{\hyperlink{e1000__hw_8h_a4e6322e180969c21be0c72654ef07423a829b7bda27d057406efda0fb1b72c8c7}{e1000\_bus\_type\_pcix}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00643}00643                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00644}00644 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00645}00645         \mbox{\hyperlink{e1000__hw_8h_af05b63fded54f2adb80b1a0d3d796f25}{e1000\_read\_pci\_cfg}}(hw, \mbox{\hyperlink{e1000__defines_8h_a4ce603f6c1f8b2d228779e12639e2dd0}{PCIX\_COMMAND\_REGISTER}}, \&pcix\_cmd);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00646}00646         \mbox{\hyperlink{e1000__hw_8h_af05b63fded54f2adb80b1a0d3d796f25}{e1000\_read\_pci\_cfg}}(hw, \mbox{\hyperlink{e1000__defines_8h_aa17042334d725b1ff240f81082c1d476}{PCIX\_STATUS\_REGISTER\_HI}}, \&pcix\_stat\_hi\_word);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00647}00647         cmd\_mmrbc = (pcix\_cmd \& \mbox{\hyperlink{e1000__defines_8h_a94543a9793f19c2419388e30d01cc1c5}{PCIX\_COMMAND\_MMRBC\_MASK}}) >>}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00648}00648                      \mbox{\hyperlink{e1000__defines_8h_aa1c0f4eba9673862d9d0b1ba1004c2f3}{PCIX\_COMMAND\_MMRBC\_SHIFT}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00649}00649         stat\_mmrbc = (pcix\_stat\_hi\_word \& \mbox{\hyperlink{e1000__defines_8h_ac59e83473e89a038c4843093c34d14d3}{PCIX\_STATUS\_HI\_MMRBC\_MASK}}) >>}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00650}00650                       \mbox{\hyperlink{e1000__defines_8h_a66cc9ebfdc04d8e8a2ab91e3d46f9602}{PCIX\_STATUS\_HI\_MMRBC\_SHIFT}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00651}00651         \textcolor{keywordflow}{if} (stat\_mmrbc == \mbox{\hyperlink{e1000__defines_8h_a817589adfd737dc4f7e7d744dd0c91cc}{PCIX\_STATUS\_HI\_MMRBC\_4K}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00652}00652                 stat\_mmrbc = \mbox{\hyperlink{e1000__defines_8h_a63d3c78df9cc4a303237042656c4891f}{PCIX\_STATUS\_HI\_MMRBC\_2K}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00653}00653         \textcolor{keywordflow}{if} (cmd\_mmrbc > stat\_mmrbc) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00654}00654                 pcix\_cmd \&= \string~PCIX\_COMMAND\_MMRBC\_MASK;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00655}00655                 pcix\_cmd |= stat\_mmrbc << \mbox{\hyperlink{e1000__defines_8h_aa1c0f4eba9673862d9d0b1ba1004c2f3}{PCIX\_COMMAND\_MMRBC\_SHIFT}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00656}00656                 \mbox{\hyperlink{e1000__hw_8h_a76502146f6108fc5272618b87b4d1142}{e1000\_write\_pci\_cfg}}(hw, \mbox{\hyperlink{e1000__defines_8h_a4ce603f6c1f8b2d228779e12639e2dd0}{PCIX\_COMMAND\_REGISTER}}, \&pcix\_cmd);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00657}00657         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00658}00658 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00659}00659 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00666}\mbox{\hyperlink{e1000__mac_8c_a87c274dd49cf4dde219aa23dbbc42b2e}{00666}} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_a87c274dd49cf4dde219aa23dbbc42b2e}{e1000\_clear\_hw\_cntrs\_base\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00667}00667 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00668}00668         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_clear\_hw\_cntrs\_base\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00669}00669 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00670}00670         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aaf8b553302950ee2bfa80566fb71d90a}{E1000\_CRCERRS}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00671}00671         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa467713f50c1097277a8333be46751a6}{E1000\_SYMERRS}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00672}00672         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_acc249eca8b4015cb4aaa56731de6ddff}{E1000\_MPC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00673}00673         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a39c25626a9af76e7e98e0b568ff1e2ae}{E1000\_SCC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00674}00674         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a1740c7a04c328f3105bde17898782008}{E1000\_ECOL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00675}00675         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a9c0ab792ad99e8d99651ae8527767bee}{E1000\_MCC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00676}00676         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a7f51f1e6d7b5d8b40821961cbac2457c}{E1000\_LATECOL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00677}00677         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a5aa819328aa527e8a6418ca4e510cc52}{E1000\_COLC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00678}00678         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a8fc540514ca8e34a03335887eb03d9d9}{E1000\_DC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00679}00679         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a9070d265549b57612c2cd2f5fa698286}{E1000\_SEC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00680}00680         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_ab88d9be5df354d614df485987bd5c123}{E1000\_RLEC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00681}00681         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a42214cb409a3a06ae503648c18cec061}{E1000\_XONRXC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00682}00682         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a581dc2b5d533df946500f649699bdab5}{E1000\_XONTXC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00683}00683         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_afab2c9745a9c05152d940176b42ce8ed}{E1000\_XOFFRXC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00684}00684         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a95389d81b176809c3ccb035ee4ae5de6}{E1000\_XOFFTXC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00685}00685         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aeb21aa1d42cc9c62b4ae99fdd25f4ecc}{E1000\_FCRUC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00686}00686         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a64d78f86e39d5f23c0daae64ac4c2f2d}{E1000\_GPRC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00687}00687         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_acf22a752f3508c4f285a6ebb8a6d45d7}{E1000\_BPRC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00688}00688         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aec1a82556f262f9036df9e5b3d6b1391}{E1000\_MPRC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00689}00689         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a9556929d730cc391484558b1adafc6d1}{E1000\_GPTC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00690}00690         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a28277d6a025bc1bb21146ece3b83af4b}{E1000\_GORCL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00691}00691         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a060ef863b3bcc278b7ecaf3daef3e6fb}{E1000\_GORCH}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00692}00692         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aed4ec1f5f3bbcb83dcb9675e2aff66fd}{E1000\_GOTCL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00693}00693         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a6380b26c9ceb73cec04b5c116e85ad08}{E1000\_GOTCH}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00694}00694         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a618534386d791f82c0ad904de33349a9}{E1000\_RNBC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00695}00695         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa91f828832eb907599af78fc7f71f586}{E1000\_RUC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00696}00696         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a032f908452e85a5f5af2f26e17eb3e52}{E1000\_RFC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00697}00697         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_add928b77e5aed31a7ca5f49c316952ef}{E1000\_ROC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00698}00698         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a54a823b6747d3ca249316bccc00eeb01}{E1000\_RJC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00699}00699         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a1f6d7767fcd3333b93d573089238a137}{E1000\_TORL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00700}00700         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a05b37595f3de34a77088a149d6f51373}{E1000\_TORH}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00701}00701         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a89b7085438b48b74e9bf3f37e49acdab}{E1000\_TOTL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00702}00702         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a0c1cef2f3038fb408257756cbf3f4a73}{E1000\_TOTH}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00703}00703         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a459f46eec4479db0d94bfb69f650da13}{E1000\_TPR}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00704}00704         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a38f0446fb562c83d085cc07c314d1178}{E1000\_TPT}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00705}00705         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a99e30082fd4c94884ddd007731054c8a}{E1000\_MPTC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00706}00706         \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a6fe013a863dee93ba5d760c0629b3a5e}{E1000\_BPTC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00707}00707 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00708}00708 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00717}\mbox{\hyperlink{e1000__mac_8c_a1fcbc4f0e04c1db63525e4eaff6a0ffa}{00717}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a1fcbc4f0e04c1db63525e4eaff6a0ffa}{e1000\_check\_for\_copper\_link\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00718}00718 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00719}00719         \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__mac__info}{e1000\_mac\_info}} *mac = \&hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00720}00720         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00721}00721         \textcolor{keywordtype}{bool} link;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00722}00722 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00723}00723         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_check\_for\_copper\_link"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00724}00724 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00725}00725         \textcolor{comment}{/* We only want to go out to the PHY registers to see if Auto-\/Neg}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00726}00726 \textcolor{comment}{         * has completed and/or if our link status has changed.  The}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00727}00727 \textcolor{comment}{         * get\_link\_status flag is set upon receiving a Link Status}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00728}00728 \textcolor{comment}{         * Change or Rx Sequence Error interrupt.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00729}00729 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00730}00730         \textcolor{keywordflow}{if} (!mac-\/>\mbox{\hyperlink{structe1000__mac__info_a83591a9757870d53646dc1411834da17}{get\_link\_status}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00731}00731                 \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00732}00732 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00733}00733         \textcolor{comment}{/* First we want to see if the MII Status Register reports}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00734}00734 \textcolor{comment}{         * link.  If so, then we want to get the current speed/duplex}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00735}00735 \textcolor{comment}{         * of the PHY.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00736}00736 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00737}00737         ret\_val = \mbox{\hyperlink{e1000__phy_8c_a287d3ef47eb2f469c3a2ee061742cf40}{e1000\_phy\_has\_link\_generic}}(hw, 1, 0, \&link);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00738}00738         \textcolor{keywordflow}{if} (ret\_val)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00739}00739                 \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00740}00740 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00741}00741         \textcolor{keywordflow}{if} (!link)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00742}00742                 \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}}; \textcolor{comment}{/* No link detected */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00743}00743 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00744}00744         mac-\/>\mbox{\hyperlink{structe1000__mac__info_a83591a9757870d53646dc1411834da17}{get\_link\_status}} = \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00745}00745 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00746}00746         \textcolor{comment}{/* Check if there was DownShift, must be checked}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00747}00747 \textcolor{comment}{         * immediately after link-\/up}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00748}00748 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00749}00749         \mbox{\hyperlink{e1000__phy_8c_ac919ba039756e57525fa38408acbec09}{e1000\_check\_downshift\_generic}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00750}00750 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00751}00751         \textcolor{comment}{/* If we are forcing speed/duplex, then we simply return since}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00752}00752 \textcolor{comment}{         * we have already determined whether we have link or not.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00753}00753 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00754}00754         \textcolor{keywordflow}{if} (!mac-\/>\mbox{\hyperlink{structe1000__mac__info_a29db1be99c81f08dc7f27be96a82cd3e}{autoneg}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00755}00755                 \textcolor{keywordflow}{return} -\/\mbox{\hyperlink{e1000__defines_8h_ad776e411c87eeae0b82895b3acf144ac}{E1000\_ERR\_CONFIG}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00756}00756 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00757}00757         \textcolor{comment}{/* Auto-\/Neg is enabled.  Auto Speed Detection takes care}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00758}00758 \textcolor{comment}{         * of MAC speed/duplex configuration.  So we only need to}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00759}00759 \textcolor{comment}{         * configure Collision Distance in the MAC.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00760}00760 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00761}00761         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a3966bf08f3cf579301366976753765f4}{config\_collision\_dist}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00762}00762 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00763}00763         \textcolor{comment}{/* Configure Flow Control now that Auto-\/Neg has completed.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00764}00764 \textcolor{comment}{         * First, we need to restore the desired flow control}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00765}00765 \textcolor{comment}{         * settings because we may have had to re-\/autoneg with a}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00766}00766 \textcolor{comment}{         * different link partner.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00767}00767 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00768}00768         ret\_val = \mbox{\hyperlink{e1000__mac_8c_af0de0c44e69b6a773e8016e58b64d33f}{e1000\_config\_fc\_after\_link\_up\_generic}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00769}00769         \textcolor{keywordflow}{if} (ret\_val)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00770}00770                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Error configuring flow control\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00771}00771 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00772}00772         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00773}00773 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00774}00774 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00782}\mbox{\hyperlink{e1000__mac_8c_abe45508c2f9e026363fedc44adb9cd8e}{00782}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_abe45508c2f9e026363fedc44adb9cd8e}{e1000\_check\_for\_fiber\_link\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00783}00783 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00784}00784         \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__mac__info}{e1000\_mac\_info}} *mac = \&hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00785}00785         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} rxcw;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00786}00786         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} ctrl;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00787}00787         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} status;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00788}00788         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00789}00789 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00790}00790         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_check\_for\_fiber\_link\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00791}00791 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00792}00792         ctrl = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00793}00793         status = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a7fad15ed91c7801a1b9c5f80843bab79}{E1000\_STATUS}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00794}00794         rxcw = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a673191a90ab81acb05962339c25af620}{E1000\_RXCW}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00795}00795 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00796}00796         \textcolor{comment}{/* If we don't have link (auto-\/negotiation failed or link partner}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00797}00797 \textcolor{comment}{         * cannot auto-\/negotiate), the cable is plugged in (we have signal),}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00798}00798 \textcolor{comment}{         * and our link partner is not trying to auto-\/negotiate with us (we}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00799}00799 \textcolor{comment}{         * are receiving idles or data), we need to force link up. We also}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00800}00800 \textcolor{comment}{         * need to give auto-\/negotiation time to complete, in case the cable}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00801}00801 \textcolor{comment}{         * was just plugged in. The autoneg\_failed flag does this.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00802}00802 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00803}00803         \textcolor{comment}{/* (ctrl \& E1000\_CTRL\_SWDPIN1) == 1 == have signal */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00804}00804         \textcolor{keywordflow}{if} ((ctrl \& \mbox{\hyperlink{e1000__defines_8h_aa6b465d4c8460dddd6e228d1929aa1bf}{E1000\_CTRL\_SWDPIN1}}) \&\& !(status \& \mbox{\hyperlink{e1000__defines_8h_a9530e2cd8a8240e291f873238a270c0f}{E1000\_STATUS\_LU}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00805}00805             !(rxcw \& \mbox{\hyperlink{e1000__defines_8h_a85434f237b3542185bfa3916f4b51e98}{E1000\_RXCW\_C}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00806}00806                 \textcolor{keywordflow}{if} (!mac-\/>\mbox{\hyperlink{structe1000__mac__info_af9afda3f2e786cd46f64c520b84016fd}{autoneg\_failed}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00807}00807                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_af9afda3f2e786cd46f64c520b84016fd}{autoneg\_failed}} = \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00808}00808                         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00809}00809                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00810}00810                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}NOT Rx'ing /C/, disable AutoNeg and force link.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00811}00811 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00812}00812                 \textcolor{comment}{/* Disable auto-\/negotiation in the TXCW register */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00813}00813                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a3f06ad9ba77eaaff76a43d523a554350}{E1000\_TXCW}}, (mac-\/>\mbox{\hyperlink{structe1000__mac__info_adcd17c1c325d4f4db02181ec423c9945}{txcw}} \& \string~\mbox{\hyperlink{e1000__defines_8h_a893ca028bb98cb9fa3661a65e290d96b}{E1000\_TXCW\_ANE}}));}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00814}00814 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00815}00815                 \textcolor{comment}{/* Force link-\/up and also force full-\/duplex. */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00816}00816                 ctrl = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00817}00817                 ctrl |= (\mbox{\hyperlink{e1000__defines_8h_a5f06340a38020afffe1155a5b70b1f15}{E1000\_CTRL\_SLU}} | \mbox{\hyperlink{e1000__defines_8h_a4b6c0bec940a326fd5c30b340bbd6a69}{E1000\_CTRL\_FD}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00818}00818                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}}, ctrl);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00819}00819 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00820}00820                 \textcolor{comment}{/* Configure Flow Control after forcing link up. */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00821}00821                 ret\_val = \mbox{\hyperlink{e1000__mac_8c_af0de0c44e69b6a773e8016e58b64d33f}{e1000\_config\_fc\_after\_link\_up\_generic}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00822}00822                 \textcolor{keywordflow}{if} (ret\_val) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00823}00823                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Error configuring flow control\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00824}00824                         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00825}00825                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00826}00826         \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} ((ctrl \& \mbox{\hyperlink{e1000__defines_8h_a5f06340a38020afffe1155a5b70b1f15}{E1000\_CTRL\_SLU}}) \&\& (rxcw \& \mbox{\hyperlink{e1000__defines_8h_a85434f237b3542185bfa3916f4b51e98}{E1000\_RXCW\_C}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00827}00827                 \textcolor{comment}{/* If we are forcing link and we are receiving /C/ ordered}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00828}00828 \textcolor{comment}{                 * sets, re-\/enable auto-\/negotiation in the TXCW register}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00829}00829 \textcolor{comment}{                 * and disable forced link in the Device Control register}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00830}00830 \textcolor{comment}{                 * in an attempt to auto-\/negotiate with our link partner.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00831}00831 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00832}00832                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Rx'ing /C/, enable AutoNeg and stop forcing link.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00833}00833                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a3f06ad9ba77eaaff76a43d523a554350}{E1000\_TXCW}}, mac-\/>\mbox{\hyperlink{structe1000__mac__info_adcd17c1c325d4f4db02181ec423c9945}{txcw}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00834}00834                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}}, (ctrl \& \string~\mbox{\hyperlink{e1000__defines_8h_a5f06340a38020afffe1155a5b70b1f15}{E1000\_CTRL\_SLU}}));}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00835}00835 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00836}00836                 mac-\/>\mbox{\hyperlink{structe1000__mac__info_aaec49ef86ff2eb98fa7bdfe34324967e}{serdes\_has\_link}} = \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00837}00837         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00838}00838 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00839}00839         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00840}00840 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00841}00841 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00849}\mbox{\hyperlink{e1000__mac_8c_adcf87982fe2bbc0a78ed21059050eecd}{00849}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_adcf87982fe2bbc0a78ed21059050eecd}{e1000\_check\_for\_serdes\_link\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00850}00850 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00851}00851         \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__mac__info}{e1000\_mac\_info}} *mac = \&hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00852}00852         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} rxcw;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00853}00853         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} ctrl;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00854}00854         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} status;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00855}00855         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00856}00856 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00857}00857         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_check\_for\_serdes\_link\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00858}00858 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00859}00859         ctrl = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00860}00860         status = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a7fad15ed91c7801a1b9c5f80843bab79}{E1000\_STATUS}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00861}00861         rxcw = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a673191a90ab81acb05962339c25af620}{E1000\_RXCW}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00862}00862 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00863}00863         \textcolor{comment}{/* If we don't have link (auto-\/negotiation failed or link partner}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00864}00864 \textcolor{comment}{         * cannot auto-\/negotiate), and our link partner is not trying to}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00865}00865 \textcolor{comment}{         * auto-\/negotiate with us (we are receiving idles or data),}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00866}00866 \textcolor{comment}{         * we need to force link up. We also need to give auto-\/negotiation}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00867}00867 \textcolor{comment}{         * time to complete.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00868}00868 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00869}00869         \textcolor{comment}{/* (ctrl \& E1000\_CTRL\_SWDPIN1) == 1 == have signal */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00870}00870         \textcolor{keywordflow}{if} (!(status \& \mbox{\hyperlink{e1000__defines_8h_a9530e2cd8a8240e291f873238a270c0f}{E1000\_STATUS\_LU}}) \&\& !(rxcw \& \mbox{\hyperlink{e1000__defines_8h_a85434f237b3542185bfa3916f4b51e98}{E1000\_RXCW\_C}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00871}00871                 \textcolor{keywordflow}{if} (!mac-\/>\mbox{\hyperlink{structe1000__mac__info_af9afda3f2e786cd46f64c520b84016fd}{autoneg\_failed}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00872}00872                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_af9afda3f2e786cd46f64c520b84016fd}{autoneg\_failed}} = \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00873}00873                         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00874}00874                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00875}00875                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}NOT Rx'ing /C/, disable AutoNeg and force link.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00876}00876 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00877}00877                 \textcolor{comment}{/* Disable auto-\/negotiation in the TXCW register */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00878}00878                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a3f06ad9ba77eaaff76a43d523a554350}{E1000\_TXCW}}, (mac-\/>\mbox{\hyperlink{structe1000__mac__info_adcd17c1c325d4f4db02181ec423c9945}{txcw}} \& \string~\mbox{\hyperlink{e1000__defines_8h_a893ca028bb98cb9fa3661a65e290d96b}{E1000\_TXCW\_ANE}}));}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00879}00879 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00880}00880                 \textcolor{comment}{/* Force link-\/up and also force full-\/duplex. */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00881}00881                 ctrl = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00882}00882                 ctrl |= (\mbox{\hyperlink{e1000__defines_8h_a5f06340a38020afffe1155a5b70b1f15}{E1000\_CTRL\_SLU}} | \mbox{\hyperlink{e1000__defines_8h_a4b6c0bec940a326fd5c30b340bbd6a69}{E1000\_CTRL\_FD}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00883}00883                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}}, ctrl);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00884}00884 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00885}00885                 \textcolor{comment}{/* Configure Flow Control after forcing link up. */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00886}00886                 ret\_val = \mbox{\hyperlink{e1000__mac_8c_af0de0c44e69b6a773e8016e58b64d33f}{e1000\_config\_fc\_after\_link\_up\_generic}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00887}00887                 \textcolor{keywordflow}{if} (ret\_val) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00888}00888                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Error configuring flow control\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00889}00889                         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00890}00890                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00891}00891         \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} ((ctrl \& \mbox{\hyperlink{e1000__defines_8h_a5f06340a38020afffe1155a5b70b1f15}{E1000\_CTRL\_SLU}}) \&\& (rxcw \& \mbox{\hyperlink{e1000__defines_8h_a85434f237b3542185bfa3916f4b51e98}{E1000\_RXCW\_C}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00892}00892                 \textcolor{comment}{/* If we are forcing link and we are receiving /C/ ordered}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00893}00893 \textcolor{comment}{                 * sets, re-\/enable auto-\/negotiation in the TXCW register}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00894}00894 \textcolor{comment}{                 * and disable forced link in the Device Control register}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00895}00895 \textcolor{comment}{                 * in an attempt to auto-\/negotiate with our link partner.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00896}00896 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00897}00897                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Rx'ing /C/, enable AutoNeg and stop forcing link.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00898}00898                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a3f06ad9ba77eaaff76a43d523a554350}{E1000\_TXCW}}, mac-\/>\mbox{\hyperlink{structe1000__mac__info_adcd17c1c325d4f4db02181ec423c9945}{txcw}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00899}00899                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}}, (ctrl \& \string~\mbox{\hyperlink{e1000__defines_8h_a5f06340a38020afffe1155a5b70b1f15}{E1000\_CTRL\_SLU}}));}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00900}00900 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00901}00901                 mac-\/>\mbox{\hyperlink{structe1000__mac__info_aaec49ef86ff2eb98fa7bdfe34324967e}{serdes\_has\_link}} = \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00902}00902         \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!(\mbox{\hyperlink{e1000__defines_8h_a893ca028bb98cb9fa3661a65e290d96b}{E1000\_TXCW\_ANE}} \& \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a3f06ad9ba77eaaff76a43d523a554350}{E1000\_TXCW}}))) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00903}00903                 \textcolor{comment}{/* If we force link for non-\/auto-\/negotiation switch, check}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00904}00904 \textcolor{comment}{                 * link status based on MAC synchronization for internal}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00905}00905 \textcolor{comment}{                 * serdes media type.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00906}00906 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00907}00907                 \textcolor{comment}{/* SYNCH bit and IV bit are sticky. */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00908}00908                 \mbox{\hyperlink{e1000__osdep_8h_a43e7beeb12e2b50153ba0f215b68bb85}{usec\_delay}}(10);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00909}00909                 rxcw = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a673191a90ab81acb05962339c25af620}{E1000\_RXCW}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00910}00910                 \textcolor{keywordflow}{if} (rxcw \& \mbox{\hyperlink{e1000__defines_8h_a99767888b9e3d4808f5ec89625e99046}{E1000\_RXCW\_SYNCH}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00911}00911                         \textcolor{keywordflow}{if} (!(rxcw \& \mbox{\hyperlink{e1000__defines_8h_a3f7fd74c0834f1ea8e15bf84ba0d736c}{E1000\_RXCW\_IV}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00912}00912                                 mac-\/>\mbox{\hyperlink{structe1000__mac__info_aaec49ef86ff2eb98fa7bdfe34324967e}{serdes\_has\_link}} = \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00913}00913                                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}SERDES: Link up -\/ forced.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00914}00914                         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00915}00915                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00916}00916                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_aaec49ef86ff2eb98fa7bdfe34324967e}{serdes\_has\_link}} = \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00917}00917                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}SERDES: Link down -\/ force failed.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00918}00918                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00919}00919         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00920}00920 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00921}00921         \textcolor{keywordflow}{if} (\mbox{\hyperlink{e1000__defines_8h_a893ca028bb98cb9fa3661a65e290d96b}{E1000\_TXCW\_ANE}} \& \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a3f06ad9ba77eaaff76a43d523a554350}{E1000\_TXCW}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00922}00922                 status = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a7fad15ed91c7801a1b9c5f80843bab79}{E1000\_STATUS}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00923}00923                 \textcolor{keywordflow}{if} (status \& \mbox{\hyperlink{e1000__defines_8h_a9530e2cd8a8240e291f873238a270c0f}{E1000\_STATUS\_LU}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00924}00924                         \textcolor{comment}{/* SYNCH bit and IV bit are sticky, so reread rxcw. */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00925}00925                         \mbox{\hyperlink{e1000__osdep_8h_a43e7beeb12e2b50153ba0f215b68bb85}{usec\_delay}}(10);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00926}00926                         rxcw = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a673191a90ab81acb05962339c25af620}{E1000\_RXCW}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00927}00927                         \textcolor{keywordflow}{if} (rxcw \& \mbox{\hyperlink{e1000__defines_8h_a99767888b9e3d4808f5ec89625e99046}{E1000\_RXCW\_SYNCH}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00928}00928                                 \textcolor{keywordflow}{if} (!(rxcw \& \mbox{\hyperlink{e1000__defines_8h_a3f7fd74c0834f1ea8e15bf84ba0d736c}{E1000\_RXCW\_IV}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00929}00929                                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_aaec49ef86ff2eb98fa7bdfe34324967e}{serdes\_has\_link}} = \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00930}00930                                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}SERDES: Link up -\/ autoneg completed successfully.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00931}00931                                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00932}00932                                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_aaec49ef86ff2eb98fa7bdfe34324967e}{serdes\_has\_link}} = \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00933}00933                                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}SERDES: Link down -\/ invalid codewords detected in autoneg.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00934}00934                                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00935}00935                         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00936}00936                                 mac-\/>\mbox{\hyperlink{structe1000__mac__info_aaec49ef86ff2eb98fa7bdfe34324967e}{serdes\_has\_link}} = \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00937}00937                                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}SERDES: Link down -\/ no sync.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00938}00938                         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00939}00939                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00940}00940                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_aaec49ef86ff2eb98fa7bdfe34324967e}{serdes\_has\_link}} = \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00941}00941                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}SERDES: Link down -\/ autoneg failed\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00942}00942                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00943}00943         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00944}00944 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00945}00945         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00946}00946 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00947}00947 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00955}\mbox{\hyperlink{e1000__mac_8c_ad86e533cc761b7ba24220f9b7f737106}{00955}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_ad86e533cc761b7ba24220f9b7f737106}{e1000\_set\_default\_fc\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00956}00956 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00957}00957         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00958}00958         \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} nvm\_data;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00959}00959         \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} nvm\_offset = 0;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00960}00960 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00961}00961         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_set\_default\_fc\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00962}00962 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00963}00963         \textcolor{comment}{/* Read and store word 0x0F of the EEPROM. This word contains bits}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00964}00964 \textcolor{comment}{         * that determine the hardware's default PAUSE (flow control) mode,}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00965}00965 \textcolor{comment}{         * a bit that determines whether the HW defaults to enabling or}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00966}00966 \textcolor{comment}{         * disabling auto-\/negotiation, and the direction of the}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00967}00967 \textcolor{comment}{         * SW defined pins. If there is no SW over-\/ride of the flow}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00968}00968 \textcolor{comment}{         * control setting, then the variable hw-\/>fc will}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00969}00969 \textcolor{comment}{         * be initialized based on a value in the EEPROM.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00970}00970 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00971}00971         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_a47575986a62f26180c725bb6fd19e434}{type}} == \mbox{\hyperlink{e1000__hw_8h_a7f5871256d483a73ddb176218998f3a7a138a607af846034ccbc25c1552afcd75}{e1000\_i350}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00972}00972                 nvm\_offset = \mbox{\hyperlink{e1000__defines_8h_a8f0e8c171818aa2a7b898838274e19db}{NVM\_82580\_LAN\_FUNC\_OFFSET}}(hw-\/>\mbox{\hyperlink{structe1000__hw_a54dfe65b05ea7457cd47b9c2a011d779}{bus}}.\mbox{\hyperlink{structe1000__bus__info_ac7dfcdcfb9d9c5a7272764c1c8cd5716}{func}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00973}00973                 ret\_val = hw-\/>\mbox{\hyperlink{structe1000__hw_a7da8a8328803abd295ca8691e964c202}{nvm}}.\mbox{\hyperlink{structe1000__nvm__info_a039acf6f4fa4fe5e22111f6a03253b4a}{ops}}.\mbox{\hyperlink{structe1000__nvm__operations_add376eae079ba142c4f41bb8ac8f739a}{read}}(hw,}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00974}00974                                            \mbox{\hyperlink{e1000__defines_8h_a2d276bf5aa58cd91a7b499e9874d897e}{NVM\_INIT\_CONTROL2\_REG}} +}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00975}00975                                            nvm\_offset,}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00976}00976                                            1, \&nvm\_data);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00977}00977         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00978}00978                 ret\_val = hw-\/>\mbox{\hyperlink{structe1000__hw_a7da8a8328803abd295ca8691e964c202}{nvm}}.\mbox{\hyperlink{structe1000__nvm__info_a039acf6f4fa4fe5e22111f6a03253b4a}{ops}}.\mbox{\hyperlink{structe1000__nvm__operations_add376eae079ba142c4f41bb8ac8f739a}{read}}(hw,}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00979}00979                                            \mbox{\hyperlink{e1000__defines_8h_a2d276bf5aa58cd91a7b499e9874d897e}{NVM\_INIT\_CONTROL2\_REG}},}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00980}00980                                            1, \&nvm\_data);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00981}00981         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00982}00982 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00983}00983 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00984}00984         \textcolor{keywordflow}{if} (ret\_val) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00985}00985                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}NVM Read Error\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00986}00986                 \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00987}00987         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00988}00988 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00989}00989         \textcolor{keywordflow}{if} (!(nvm\_data \& \mbox{\hyperlink{e1000__defines_8h_a1acff27b0a67d712d43e0e1ea484bd91}{NVM\_WORD0F\_PAUSE\_MASK}}))}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00990}00990                 hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_aa635b23ea4246008fbd10258f12d9b0f}{requested\_mode}} = \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefa499bb84fecf88e0a547dd2d4b8593643}{e1000\_fc\_none}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00991}00991         \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} ((nvm\_data \& \mbox{\hyperlink{e1000__defines_8h_a1acff27b0a67d712d43e0e1ea484bd91}{NVM\_WORD0F\_PAUSE\_MASK}}) ==}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00992}00992                  \mbox{\hyperlink{e1000__defines_8h_aabfe680b743a336b2b67493f0510353b}{NVM\_WORD0F\_ASM\_DIR}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00993}00993                 hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_aa635b23ea4246008fbd10258f12d9b0f}{requested\_mode}} = \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefad503a1f2d088ac1204edce0bdb8b8186}{e1000\_fc\_tx\_pause}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00994}00994         \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00995}00995                 hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_aa635b23ea4246008fbd10258f12d9b0f}{requested\_mode}} = \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefaa30be89e4a21845b53d35c7dc7795523}{e1000\_fc\_full}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00996}00996 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00997}00997         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00998}00998 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l00999}00999 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01010}\mbox{\hyperlink{e1000__mac_8c_a788807b8928d220014e2cdc4b5b4fbd9}{01010}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a788807b8928d220014e2cdc4b5b4fbd9}{e1000\_setup\_link\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01011}01011 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01012}01012         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01013}01013 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01014}01014         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_setup\_link\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01015}01015 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01016}01016         \textcolor{comment}{/* In the case of the phy reset being blocked, we already have a link.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01017}01017 \textcolor{comment}{         * We do not need to set it up again.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01018}01018 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01019}01019         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_a9f72e5ea9a53134dca331d957d8d65a9}{ops}}.\mbox{\hyperlink{structe1000__phy__operations_a70c59fd9d029dd43ea2a10ba9e64c738}{check\_reset\_block}} \&\& hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_a9f72e5ea9a53134dca331d957d8d65a9}{ops}}.\mbox{\hyperlink{structe1000__phy__operations_a70c59fd9d029dd43ea2a10ba9e64c738}{check\_reset\_block}}(hw))}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01020}01020                 \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01021}01021 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01022}01022         \textcolor{comment}{/* If requested flow control is set to default, set flow control}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01023}01023 \textcolor{comment}{         * based on the EEPROM flow control settings.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01024}01024 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01025}01025         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_aa635b23ea4246008fbd10258f12d9b0f}{requested\_mode}} == \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefa55539144abc1aecc9f501c0f2d40bda6}{e1000\_fc\_default}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01026}01026                 ret\_val = \mbox{\hyperlink{e1000__mac_8c_ad86e533cc761b7ba24220f9b7f737106}{e1000\_set\_default\_fc\_generic}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01027}01027                 \textcolor{keywordflow}{if} (ret\_val)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01028}01028                         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01029}01029         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01030}01030 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01031}01031         \textcolor{comment}{/* Save off the requested flow control mode for use later.  Depending}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01032}01032 \textcolor{comment}{         * on the link partner's capabilities, we may or may not use this mode.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01033}01033 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01034}01034         hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a3b6c94ace03fbe0bc6ffb3817b6f3e09}{current\_mode}} = hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_aa635b23ea4246008fbd10258f12d9b0f}{requested\_mode}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01035}01035 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01036}01036         \mbox{\hyperlink{e1000__osdep_8h_a05001c9eb96d2f4a2ad39e927fc81cfa}{DEBUGOUT1}}(\textcolor{stringliteral}{"{}After fix-\/ups FlowControl is now = \%x\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01037}01037                 hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a3b6c94ace03fbe0bc6ffb3817b6f3e09}{current\_mode}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01038}01038 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01039}01039         \textcolor{comment}{/* Call the necessary media\_type subroutine to configure the link. */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01040}01040         ret\_val = hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a227f5c242ef37275c6807544f7fc34c5}{setup\_physical\_interface}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01041}01041         \textcolor{keywordflow}{if} (ret\_val)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01042}01042                 \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01043}01043 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01044}01044         \textcolor{comment}{/* Initialize the flow control address, type, and PAUSE timer}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01045}01045 \textcolor{comment}{         * registers to their default values.  This is done even if flow}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01046}01046 \textcolor{comment}{         * control is disabled, because it does not hurt anything to}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01047}01047 \textcolor{comment}{         * initialize these registers.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01048}01048 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01049}01049         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Initializing the Flow Control address, type and timer regs\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01050}01050         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a99cba7e087c2d00256c2fb9fb241ea19}{E1000\_FCT}}, \mbox{\hyperlink{e1000__defines_8h_a7080f5a686cfd45d3d6d477e32aadf82}{FLOW\_CONTROL\_TYPE}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01051}01051         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_adb3a0fad25e027ad121235e42dd853db}{E1000\_FCAH}}, \mbox{\hyperlink{e1000__defines_8h_a324b6e46138cb7c9f7a58f636014db88}{FLOW\_CONTROL\_ADDRESS\_HIGH}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01052}01052         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a334d79bd1264cbaeb8064000c4798c39}{E1000\_FCAL}}, \mbox{\hyperlink{e1000__defines_8h_a219327a6c259a29b8eaabf60e1c56b99}{FLOW\_CONTROL\_ADDRESS\_LOW}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01053}01053 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01054}01054         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a10d23837bc4b99e52b14d3ac2ff73805}{E1000\_FCTTV}}, hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a7e9b4a330bfb246d472e6e3ccb4a9800}{pause\_time}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01055}01055 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01056}01056         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__mac_8c_a3559a08e82664f81bbb23433dd2a4cfa}{e1000\_set\_fc\_watermarks\_generic}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01057}01057 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01058}01058 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01066}\mbox{\hyperlink{e1000__mac_8c_abe42e9b04796810bfbcc249b439002b7}{01066}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_abe42e9b04796810bfbcc249b439002b7}{e1000\_commit\_fc\_settings\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01067}01067 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01068}01068         \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__mac__info}{e1000\_mac\_info}} *mac = \&hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01069}01069         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} \mbox{\hyperlink{structe1000__mac__info_adcd17c1c325d4f4db02181ec423c9945}{txcw}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01070}01070 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01071}01071         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_commit\_fc\_settings\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01072}01072 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01073}01073         \textcolor{comment}{/* Check for a software override of the flow control settings, and}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01074}01074 \textcolor{comment}{         * setup the device accordingly.  If auto-\/negotiation is enabled, then}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01075}01075 \textcolor{comment}{         * software will have to set the "{}PAUSE"{} bits to the correct value in}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01076}01076 \textcolor{comment}{         * the Transmit Config Word Register (TXCW) and re-\/start auto-\/}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01077}01077 \textcolor{comment}{         * negotiation.  However, if auto-\/negotiation is disabled, then}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01078}01078 \textcolor{comment}{         * software will have to manually configure the two flow control enable}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01079}01079 \textcolor{comment}{         * bits in the CTRL register.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01080}01080 \textcolor{comment}{         *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01081}01081 \textcolor{comment}{         * The possible values of the "{}fc"{} parameter are:}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01082}01082 \textcolor{comment}{         *      0:  Flow control is completely disabled}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01083}01083 \textcolor{comment}{         *      1:  Rx flow control is enabled (we can receive pause frames,}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01084}01084 \textcolor{comment}{         *          but not send pause frames).}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01085}01085 \textcolor{comment}{         *      2:  Tx flow control is enabled (we can send pause frames but we}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01086}01086 \textcolor{comment}{         *          do not support receiving pause frames).}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01087}01087 \textcolor{comment}{         *      3:  Both Rx and Tx flow control (symmetric) are enabled.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01088}01088 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01089}01089         \textcolor{keywordflow}{switch} (hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a3b6c94ace03fbe0bc6ffb3817b6f3e09}{current\_mode}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01090}01090         \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefa499bb84fecf88e0a547dd2d4b8593643}{e1000\_fc\_none}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01091}01091                 \textcolor{comment}{/* Flow control completely disabled by a software over-\/ride. */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01092}01092                 \mbox{\hyperlink{structe1000__mac__info_adcd17c1c325d4f4db02181ec423c9945}{txcw}} = (\mbox{\hyperlink{e1000__defines_8h_a893ca028bb98cb9fa3661a65e290d96b}{E1000\_TXCW\_ANE}} | \mbox{\hyperlink{e1000__defines_8h_a33bafbc2926ac5e05a3a91ba81614d91}{E1000\_TXCW\_FD}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01093}01093                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01094}01094         \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefaf2a0619360e6280a2bab9d4d2c622b0c}{e1000\_fc\_rx\_pause}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01095}01095                 \textcolor{comment}{/* Rx Flow control is enabled and Tx Flow control is disabled}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01096}01096 \textcolor{comment}{                 * by a software over-\/ride. Since there really isn't a way to}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01097}01097 \textcolor{comment}{                 * advertise that we are capable of Rx Pause ONLY, we will}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01098}01098 \textcolor{comment}{                 * advertise that we support both symmetric and asymmetric Rx}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01099}01099 \textcolor{comment}{                 * PAUSE.  Later, we will disable the adapter's ability to send}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01100}01100 \textcolor{comment}{                 * PAUSE frames.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01101}01101 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01102}01102                 \mbox{\hyperlink{structe1000__mac__info_adcd17c1c325d4f4db02181ec423c9945}{txcw}} = (\mbox{\hyperlink{e1000__defines_8h_a893ca028bb98cb9fa3661a65e290d96b}{E1000\_TXCW\_ANE}} | \mbox{\hyperlink{e1000__defines_8h_a33bafbc2926ac5e05a3a91ba81614d91}{E1000\_TXCW\_FD}} | \mbox{\hyperlink{e1000__defines_8h_a4fd8f4c2282e5a4f46e429b269db02b7}{E1000\_TXCW\_PAUSE\_MASK}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01103}01103                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01104}01104         \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefad503a1f2d088ac1204edce0bdb8b8186}{e1000\_fc\_tx\_pause}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01105}01105                 \textcolor{comment}{/* Tx Flow control is enabled, and Rx Flow control is disabled,}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01106}01106 \textcolor{comment}{                 * by a software over-\/ride.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01107}01107 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01108}01108                 \mbox{\hyperlink{structe1000__mac__info_adcd17c1c325d4f4db02181ec423c9945}{txcw}} = (\mbox{\hyperlink{e1000__defines_8h_a893ca028bb98cb9fa3661a65e290d96b}{E1000\_TXCW\_ANE}} | \mbox{\hyperlink{e1000__defines_8h_a33bafbc2926ac5e05a3a91ba81614d91}{E1000\_TXCW\_FD}} | \mbox{\hyperlink{e1000__defines_8h_a01802aabe3cc9089843b41ada1e28108}{E1000\_TXCW\_ASM\_DIR}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01109}01109                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01110}01110         \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefaa30be89e4a21845b53d35c7dc7795523}{e1000\_fc\_full}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01111}01111                 \textcolor{comment}{/* Flow control (both Rx and Tx) is enabled by a software}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01112}01112 \textcolor{comment}{                 * over-\/ride.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01113}01113 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01114}01114                 \mbox{\hyperlink{structe1000__mac__info_adcd17c1c325d4f4db02181ec423c9945}{txcw}} = (\mbox{\hyperlink{e1000__defines_8h_a893ca028bb98cb9fa3661a65e290d96b}{E1000\_TXCW\_ANE}} | \mbox{\hyperlink{e1000__defines_8h_a33bafbc2926ac5e05a3a91ba81614d91}{E1000\_TXCW\_FD}} | \mbox{\hyperlink{e1000__defines_8h_a4fd8f4c2282e5a4f46e429b269db02b7}{E1000\_TXCW\_PAUSE\_MASK}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01115}01115                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01116}01116         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01117}01117                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Flow control param set incorrectly\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01118}01118                 \textcolor{keywordflow}{return} -\/\mbox{\hyperlink{e1000__defines_8h_ad776e411c87eeae0b82895b3acf144ac}{E1000\_ERR\_CONFIG}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01119}01119                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01120}01120         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01121}01121 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01122}01122         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a3f06ad9ba77eaaff76a43d523a554350}{E1000\_TXCW}}, \mbox{\hyperlink{structe1000__mac__info_adcd17c1c325d4f4db02181ec423c9945}{txcw}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01123}01123         mac-\/>\mbox{\hyperlink{structe1000__mac__info_adcd17c1c325d4f4db02181ec423c9945}{txcw}} = \mbox{\hyperlink{structe1000__mac__info_adcd17c1c325d4f4db02181ec423c9945}{txcw}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01124}01124 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01125}01125         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01126}01126 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01127}01127 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01135}\mbox{\hyperlink{e1000__mac_8c_abdac7a422c58bbf82a5b612e7a142806}{01135}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_abdac7a422c58bbf82a5b612e7a142806}{e1000\_poll\_fiber\_serdes\_link\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01136}01136 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01137}01137         \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__mac__info}{e1000\_mac\_info}} *mac = \&hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01138}01138         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} i, status;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01139}01139         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01140}01140 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01141}01141         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_poll\_fiber\_serdes\_link\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01142}01142 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01143}01143         \textcolor{comment}{/* If we have a signal (the cable is plugged in, or assumed true for}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01144}01144 \textcolor{comment}{         * serdes media) then poll for a "{}Link-\/Up"{} indication in the Device}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01145}01145 \textcolor{comment}{         * Status Register.  Time-\/out if a link isn't seen in 500 milliseconds}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01146}01146 \textcolor{comment}{         * seconds (Auto-\/negotiation should complete in less than 500}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01147}01147 \textcolor{comment}{         * milliseconds even if the other end is doing it in SW).}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01148}01148 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01149}01149         \textcolor{keywordflow}{for} (i = 0; i < \mbox{\hyperlink{e1000__defines_8h_ae34087dcaf16e4945a8814e9aed49836}{FIBER\_LINK\_UP\_LIMIT}}; i++) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01150}01150                 \mbox{\hyperlink{e1000__osdep_8h_a112d66cf3347afa4dcb69db64604682f}{msec\_delay}}(10);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01151}01151                 status = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a7fad15ed91c7801a1b9c5f80843bab79}{E1000\_STATUS}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01152}01152                 \textcolor{keywordflow}{if} (status \& \mbox{\hyperlink{e1000__defines_8h_a9530e2cd8a8240e291f873238a270c0f}{E1000\_STATUS\_LU}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01153}01153                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01154}01154         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01155}01155         \textcolor{keywordflow}{if} (i == \mbox{\hyperlink{e1000__defines_8h_ae34087dcaf16e4945a8814e9aed49836}{FIBER\_LINK\_UP\_LIMIT}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01156}01156                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Never got a valid link from auto-\/neg!!!\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01157}01157                 mac-\/>\mbox{\hyperlink{structe1000__mac__info_af9afda3f2e786cd46f64c520b84016fd}{autoneg\_failed}} = \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01158}01158                 \textcolor{comment}{/* AutoNeg failed to achieve a link, so we'll call}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01159}01159 \textcolor{comment}{                 * mac-\/>check\_for\_link. This routine will force the}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01160}01160 \textcolor{comment}{                 * link up if we detect a signal. This will allow us to}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01161}01161 \textcolor{comment}{                 * communicate with non-\/autonegotiating link partners.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01162}01162 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01163}01163                 ret\_val = mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a333d0d20f9d7f8b6ee6f2a7f4e78f8a3}{check\_for\_link}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01164}01164                 \textcolor{keywordflow}{if} (ret\_val) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01165}01165                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Error while checking for link\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01166}01166                         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01167}01167                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01168}01168                 mac-\/>\mbox{\hyperlink{structe1000__mac__info_af9afda3f2e786cd46f64c520b84016fd}{autoneg\_failed}} = \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01169}01169         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01170}01170                 mac-\/>\mbox{\hyperlink{structe1000__mac__info_af9afda3f2e786cd46f64c520b84016fd}{autoneg\_failed}} = \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01171}01171                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Valid Link Found\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01172}01172         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01173}01173 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01174}01174         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01175}01175 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01176}01176 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01184}\mbox{\hyperlink{e1000__mac_8c_ab1deea1bc283feb0e74f94e3495e4a33}{01184}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_ab1deea1bc283feb0e74f94e3495e4a33}{e1000\_setup\_fiber\_serdes\_link\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01185}01185 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01186}01186         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} ctrl;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01187}01187         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01188}01188 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01189}01189         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_setup\_fiber\_serdes\_link\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01190}01190 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01191}01191         ctrl = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01192}01192 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01193}01193         \textcolor{comment}{/* Take the link out of reset */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01194}01194         ctrl \&= \string~E1000\_CTRL\_LRST;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01195}01195 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01196}01196         hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a3966bf08f3cf579301366976753765f4}{config\_collision\_dist}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01197}01197 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01198}01198         ret\_val = \mbox{\hyperlink{e1000__mac_8c_abe42e9b04796810bfbcc249b439002b7}{e1000\_commit\_fc\_settings\_generic}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01199}01199         \textcolor{keywordflow}{if} (ret\_val)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01200}01200                 \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01201}01201 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01202}01202         \textcolor{comment}{/* Since auto-\/negotiation is enabled, take the link out of reset (the}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01203}01203 \textcolor{comment}{         * link will be in reset, because we previously reset the chip). This}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01204}01204 \textcolor{comment}{         * will restart auto-\/negotiation.  If auto-\/negotiation is successful}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01205}01205 \textcolor{comment}{         * then the link-\/up status bit will be set and the flow control enable}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01206}01206 \textcolor{comment}{         * bits (RFCE and TFCE) will be set according to their negotiated value.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01207}01207 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01208}01208         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Auto-\/negotiation enabled\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01209}01209 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01210}01210         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}}, ctrl);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01211}01211         \mbox{\hyperlink{e1000__osdep_8h_abd4ee915cc9a2dadc190fa88437f8792}{E1000\_WRITE\_FLUSH}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01212}01212         \mbox{\hyperlink{e1000__osdep_8h_a112d66cf3347afa4dcb69db64604682f}{msec\_delay}}(1);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01213}01213 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01214}01214         \textcolor{comment}{/* For these adapters, the SW definable pin 1 is set when the optics}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01215}01215 \textcolor{comment}{         * detect a signal.  If we have a signal, then poll for a "{}Link-\/Up"{}}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01216}01216 \textcolor{comment}{         * indication.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01217}01217 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01218}01218         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_a6c7bf5b5de1d6beba7307c2e4b42a4a2}{media\_type}} == \mbox{\hyperlink{e1000__hw_8h_aa95ace41ad77553b3ac625bdc1aa4981a445c1bf4bb72fed4afbd4555ba3b01a9}{e1000\_media\_type\_internal\_serdes}} ||}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01219}01219             (\mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}}) \& \mbox{\hyperlink{e1000__defines_8h_aa6b465d4c8460dddd6e228d1929aa1bf}{E1000\_CTRL\_SWDPIN1}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01220}01220                 ret\_val = \mbox{\hyperlink{e1000__mac_8c_abdac7a422c58bbf82a5b612e7a142806}{e1000\_poll\_fiber\_serdes\_link\_generic}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01221}01221         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01222}01222                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}No signal detected\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01223}01223         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01224}01224 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01225}01225         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01226}01226 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01227}01227 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01235}\mbox{\hyperlink{e1000__mac_8c_a3393da2048a54ecc99204dc15e26bcdf}{01235}} \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_a3393da2048a54ecc99204dc15e26bcdf}{e1000\_config\_collision\_dist\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01236}01236 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01237}01237         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} tctl;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01238}01238 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01239}01239         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_config\_collision\_dist\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01240}01240 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01241}01241         tctl = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a770f7e4f66d3516462df76bb289d73a6}{E1000\_TCTL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01242}01242 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01243}01243         tctl \&= \string~E1000\_TCTL\_COLD;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01244}01244         tctl |= \mbox{\hyperlink{e1000__defines_8h_ad578a46fae09ff4df20c72db143c5918}{E1000\_COLLISION\_DISTANCE}} << \mbox{\hyperlink{e1000__defines_8h_a9e6cea980fdbc86f0ace2d823497e63e}{E1000\_COLD\_SHIFT}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01245}01245 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01246}01246         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a770f7e4f66d3516462df76bb289d73a6}{E1000\_TCTL}}, tctl);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01247}01247         \mbox{\hyperlink{e1000__osdep_8h_abd4ee915cc9a2dadc190fa88437f8792}{E1000\_WRITE\_FLUSH}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01248}01248 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01249}01249 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01258}\mbox{\hyperlink{e1000__mac_8c_a3559a08e82664f81bbb23433dd2a4cfa}{01258}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a3559a08e82664f81bbb23433dd2a4cfa}{e1000\_set\_fc\_watermarks\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01259}01259 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01260}01260         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} fcrtl = 0, fcrth = 0;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01261}01261 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01262}01262         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_set\_fc\_watermarks\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01263}01263 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01264}01264         \textcolor{comment}{/* Set the flow control receive threshold registers.  Normally,}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01265}01265 \textcolor{comment}{         * these registers will be set to a default threshold that may be}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01266}01266 \textcolor{comment}{         * adjusted later by the driver's runtime code.  However, if the}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01267}01267 \textcolor{comment}{         * ability to transmit pause frames is not enabled, then these}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01268}01268 \textcolor{comment}{         * registers will be set to 0.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01269}01269 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01270}01270         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a3b6c94ace03fbe0bc6ffb3817b6f3e09}{current\_mode}} \& \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefad503a1f2d088ac1204edce0bdb8b8186}{e1000\_fc\_tx\_pause}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01271}01271                 \textcolor{comment}{/* We need to set up the Receive Threshold high and low water}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01272}01272 \textcolor{comment}{                 * marks as well as (optionally) enabling the transmission of}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01273}01273 \textcolor{comment}{                 * XON frames.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01274}01274 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01275}01275                 fcrtl = hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a5e3471b53ec15bab723b2bbec60df384}{low\_water}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01276}01276                 \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_acc5aec6640f7bda17f4bc7fd1ed63d51}{send\_xon}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01277}01277                         fcrtl |= \mbox{\hyperlink{e1000__defines_8h_a554038b180b0fd961ae09d8a04b87a22}{E1000\_FCRTL\_XONE}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01278}01278 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01279}01279                 fcrth = hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a82ca3d804abfe41250efd8bc34cbde5b}{high\_water}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01280}01280         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01281}01281         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a3763c8bdbd6d9dfe0d1a48ba53f3513d}{E1000\_FCRTL}}, fcrtl);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01282}01282         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aedbfec9c73806193d45a43ce11e1fdcb}{E1000\_FCRTH}}, fcrth);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01283}01283 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01284}01284         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01285}01285 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01286}01286 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01297}\mbox{\hyperlink{e1000__mac_8c_a56a813905c9f1ee816655df5761a7eb8}{01297}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a56a813905c9f1ee816655df5761a7eb8}{e1000\_force\_mac\_fc\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01298}01298 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01299}01299         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} ctrl;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01300}01300 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01301}01301         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_force\_mac\_fc\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01302}01302 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01303}01303         ctrl = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01304}01304 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01305}01305         \textcolor{comment}{/* Because we didn't get link via the internal auto-\/negotiation}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01306}01306 \textcolor{comment}{         * mechanism (we either forced link or we got link via PHY}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01307}01307 \textcolor{comment}{         * auto-\/neg), we have to manually enable/disable transmit an}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01308}01308 \textcolor{comment}{         * receive flow control.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01309}01309 \textcolor{comment}{         *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01310}01310 \textcolor{comment}{         * The "{}Case"{} statement below enables/disable flow control}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01311}01311 \textcolor{comment}{         * according to the "{}hw-\/>fc.current\_mode"{} parameter.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01312}01312 \textcolor{comment}{         *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01313}01313 \textcolor{comment}{         * The possible values of the "{}fc"{} parameter are:}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01314}01314 \textcolor{comment}{         *      0:  Flow control is completely disabled}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01315}01315 \textcolor{comment}{         *      1:  Rx flow control is enabled (we can receive pause}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01316}01316 \textcolor{comment}{         *          frames but not send pause frames).}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01317}01317 \textcolor{comment}{         *      2:  Tx flow control is enabled (we can send pause frames}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01318}01318 \textcolor{comment}{         *          frames but we do not receive pause frames).}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01319}01319 \textcolor{comment}{         *      3:  Both Rx and Tx flow control (symmetric) is enabled.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01320}01320 \textcolor{comment}{         *  other:  No other values should be possible at this point.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01321}01321 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01322}01322         \mbox{\hyperlink{e1000__osdep_8h_a05001c9eb96d2f4a2ad39e927fc81cfa}{DEBUGOUT1}}(\textcolor{stringliteral}{"{}hw-\/>fc.current\_mode = \%u\(\backslash\)n"{}}, hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a3b6c94ace03fbe0bc6ffb3817b6f3e09}{current\_mode}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01323}01323 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01324}01324         \textcolor{keywordflow}{switch} (hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a3b6c94ace03fbe0bc6ffb3817b6f3e09}{current\_mode}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01325}01325         \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefa499bb84fecf88e0a547dd2d4b8593643}{e1000\_fc\_none}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01326}01326                 ctrl \&= (\string~(\mbox{\hyperlink{e1000__defines_8h_a6683aa75eb61caf9b6838ba947de8c13}{E1000\_CTRL\_TFCE}} | \mbox{\hyperlink{e1000__defines_8h_acb0e5e4ce7d94087e1b773e4d18b6ded}{E1000\_CTRL\_RFCE}}));}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01327}01327                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01328}01328         \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefaf2a0619360e6280a2bab9d4d2c622b0c}{e1000\_fc\_rx\_pause}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01329}01329                 ctrl \&= (\string~E1000\_CTRL\_TFCE);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01330}01330                 ctrl |= \mbox{\hyperlink{e1000__defines_8h_acb0e5e4ce7d94087e1b773e4d18b6ded}{E1000\_CTRL\_RFCE}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01331}01331                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01332}01332         \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefad503a1f2d088ac1204edce0bdb8b8186}{e1000\_fc\_tx\_pause}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01333}01333                 ctrl \&= (\string~E1000\_CTRL\_RFCE);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01334}01334                 ctrl |= \mbox{\hyperlink{e1000__defines_8h_a6683aa75eb61caf9b6838ba947de8c13}{E1000\_CTRL\_TFCE}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01335}01335                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01336}01336         \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefaa30be89e4a21845b53d35c7dc7795523}{e1000\_fc\_full}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01337}01337                 ctrl |= (\mbox{\hyperlink{e1000__defines_8h_a6683aa75eb61caf9b6838ba947de8c13}{E1000\_CTRL\_TFCE}} | \mbox{\hyperlink{e1000__defines_8h_acb0e5e4ce7d94087e1b773e4d18b6ded}{E1000\_CTRL\_RFCE}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01338}01338                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01339}01339         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01340}01340                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Flow control param set incorrectly\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01341}01341                 \textcolor{keywordflow}{return} -\/\mbox{\hyperlink{e1000__defines_8h_ad776e411c87eeae0b82895b3acf144ac}{E1000\_ERR\_CONFIG}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01342}01342         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01343}01343 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01344}01344         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}}, ctrl);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01345}01345 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01346}01346         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01347}01347 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01348}01348 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01359}\mbox{\hyperlink{e1000__mac_8c_af0de0c44e69b6a773e8016e58b64d33f}{01359}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_af0de0c44e69b6a773e8016e58b64d33f}{e1000\_config\_fc\_after\_link\_up\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01360}01360 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01361}01361         \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__mac__info}{e1000\_mac\_info}} *mac = \&hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01362}01362         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} ret\_val = \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01363}01363         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} pcs\_status\_reg, pcs\_adv\_reg, pcs\_lp\_ability\_reg, pcs\_ctrl\_reg;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01364}01364         \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} mii\_status\_reg, mii\_nway\_adv\_reg, mii\_nway\_lp\_ability\_reg;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01365}01365         \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} speed, duplex;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01366}01366 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01367}01367         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_config\_fc\_after\_link\_up\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01368}01368 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01369}01369         \textcolor{comment}{/* Check for the case where we have fiber media and auto-\/neg failed}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01370}01370 \textcolor{comment}{         * so we had to force link.  In this case, we need to force the}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01371}01371 \textcolor{comment}{         * configuration of the MAC to match the "{}fc"{} parameter.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01372}01372 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01373}01373         \textcolor{keywordflow}{if} (mac-\/>\mbox{\hyperlink{structe1000__mac__info_af9afda3f2e786cd46f64c520b84016fd}{autoneg\_failed}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01374}01374                 \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_a6c7bf5b5de1d6beba7307c2e4b42a4a2}{media\_type}} == \mbox{\hyperlink{e1000__hw_8h_aa95ace41ad77553b3ac625bdc1aa4981a041826ca4e120d8d904a878c09e965e6}{e1000\_media\_type\_fiber}} ||}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01375}01375                     hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_a6c7bf5b5de1d6beba7307c2e4b42a4a2}{media\_type}} == \mbox{\hyperlink{e1000__hw_8h_aa95ace41ad77553b3ac625bdc1aa4981a445c1bf4bb72fed4afbd4555ba3b01a9}{e1000\_media\_type\_internal\_serdes}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01376}01376                         ret\_val = \mbox{\hyperlink{e1000__mac_8c_a56a813905c9f1ee816655df5761a7eb8}{e1000\_force\_mac\_fc\_generic}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01377}01377         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01378}01378                 \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_a6c7bf5b5de1d6beba7307c2e4b42a4a2}{media\_type}} == \mbox{\hyperlink{e1000__hw_8h_aa95ace41ad77553b3ac625bdc1aa4981af5a87a1c9fec89ed7e9de1053b57cdb8}{e1000\_media\_type\_copper}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01379}01379                         ret\_val = \mbox{\hyperlink{e1000__mac_8c_a56a813905c9f1ee816655df5761a7eb8}{e1000\_force\_mac\_fc\_generic}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01380}01380         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01381}01381 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01382}01382         \textcolor{keywordflow}{if} (ret\_val) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01383}01383                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Error forcing flow control settings\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01384}01384                 \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01385}01385         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01386}01386 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01387}01387         \textcolor{comment}{/* Check for the case where we have copper media and auto-\/neg is}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01388}01388 \textcolor{comment}{         * enabled.  In this case, we need to check and see if Auto-\/Neg}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01389}01389 \textcolor{comment}{         * has completed, and if so, how the PHY and link partner has}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01390}01390 \textcolor{comment}{         * flow control configured.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01391}01391 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01392}01392         \textcolor{keywordflow}{if} ((hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_a6c7bf5b5de1d6beba7307c2e4b42a4a2}{media\_type}} == \mbox{\hyperlink{e1000__hw_8h_aa95ace41ad77553b3ac625bdc1aa4981af5a87a1c9fec89ed7e9de1053b57cdb8}{e1000\_media\_type\_copper}}) \&\& mac-\/>\mbox{\hyperlink{structe1000__mac__info_a29db1be99c81f08dc7f27be96a82cd3e}{autoneg}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01393}01393                 \textcolor{comment}{/* Read the MII Status Register and check to see if AutoNeg}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01394}01394 \textcolor{comment}{                 * has completed.  We read this twice because this reg has}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01395}01395 \textcolor{comment}{                 * some "{}sticky"{} (latched) bits.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01396}01396 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01397}01397                 ret\_val = hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_a9f72e5ea9a53134dca331d957d8d65a9}{ops}}.\mbox{\hyperlink{structe1000__phy__operations_a472bba2b1fc26159f92172e4b245ded9}{read\_reg}}(hw, \mbox{\hyperlink{e1000__defines_8h_a46895cef4d18a6156deb928adf09638d}{PHY\_STATUS}}, \&mii\_status\_reg);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01398}01398                 \textcolor{keywordflow}{if} (ret\_val)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01399}01399                         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01400}01400                 ret\_val = hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_a9f72e5ea9a53134dca331d957d8d65a9}{ops}}.\mbox{\hyperlink{structe1000__phy__operations_a472bba2b1fc26159f92172e4b245ded9}{read\_reg}}(hw, \mbox{\hyperlink{e1000__defines_8h_a46895cef4d18a6156deb928adf09638d}{PHY\_STATUS}}, \&mii\_status\_reg);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01401}01401                 \textcolor{keywordflow}{if} (ret\_val)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01402}01402                         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01403}01403 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01404}01404                 \textcolor{keywordflow}{if} (!(mii\_status\_reg \& \mbox{\hyperlink{e1000__defines_8h_a07fa7e418d06187cfc00bfa78256463e}{MII\_SR\_AUTONEG\_COMPLETE}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01405}01405                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Copper PHY and Auto Neg has not completed.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01406}01406                         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01407}01407                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01408}01408 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01409}01409                 \textcolor{comment}{/* The AutoNeg process has completed, so we now need to}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01410}01410 \textcolor{comment}{                 * read both the Auto Negotiation Advertisement}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01411}01411 \textcolor{comment}{                 * Register (Address 4) and the Auto\_Negotiation Base}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01412}01412 \textcolor{comment}{                 * Page Ability Register (Address 5) to determine how}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01413}01413 \textcolor{comment}{                 * flow control was negotiated.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01414}01414 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01415}01415                 ret\_val = hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_a9f72e5ea9a53134dca331d957d8d65a9}{ops}}.\mbox{\hyperlink{structe1000__phy__operations_a472bba2b1fc26159f92172e4b245ded9}{read\_reg}}(hw, \mbox{\hyperlink{e1000__defines_8h_ae5b900c258c83eb77214edd563bfa19e}{PHY\_AUTONEG\_ADV}},}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01416}01416                                                \&mii\_nway\_adv\_reg);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01417}01417                 \textcolor{keywordflow}{if} (ret\_val)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01418}01418                         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01419}01419                 ret\_val = hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_a9f72e5ea9a53134dca331d957d8d65a9}{ops}}.\mbox{\hyperlink{structe1000__phy__operations_a472bba2b1fc26159f92172e4b245ded9}{read\_reg}}(hw, \mbox{\hyperlink{e1000__defines_8h_aa24c0fe565ed045d2620ba5e21768c8e}{PHY\_LP\_ABILITY}},}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01420}01420                                                \&mii\_nway\_lp\_ability\_reg);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01421}01421                 \textcolor{keywordflow}{if} (ret\_val)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01422}01422                         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01423}01423 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01424}01424                 \textcolor{comment}{/* Two bits in the Auto Negotiation Advertisement Register}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01425}01425 \textcolor{comment}{                 * (Address 4) and two bits in the Auto Negotiation Base}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01426}01426 \textcolor{comment}{                 * Page Ability Register (Address 5) determine flow control}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01427}01427 \textcolor{comment}{                 * for both the PHY and the link partner.  The following}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01428}01428 \textcolor{comment}{                 * table, taken out of the IEEE 802.3ab/D6.0 dated March 25,}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01429}01429 \textcolor{comment}{                 * 1999, describes these PAUSE resolution bits and how flow}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01430}01430 \textcolor{comment}{                 * control is determined based upon these settings.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01431}01431 \textcolor{comment}{                 * NOTE:  DC = Don't Care}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01432}01432 \textcolor{comment}{                 *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01433}01433 \textcolor{comment}{                 *   LOCAL DEVICE  |   LINK PARTNER}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01434}01434 \textcolor{comment}{                 * PAUSE | ASM\_DIR | PAUSE | ASM\_DIR | NIC Resolution}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01435}01435 \textcolor{comment}{                 *-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01436}01436 \textcolor{comment}{                 *   0   |    0    |  DC   |   DC    | e1000\_fc\_none}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01437}01437 \textcolor{comment}{                 *   0   |    1    |   0   |   DC    | e1000\_fc\_none}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01438}01438 \textcolor{comment}{                 *   0   |    1    |   1   |    0    | e1000\_fc\_none}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01439}01439 \textcolor{comment}{                 *   0   |    1    |   1   |    1    | e1000\_fc\_tx\_pause}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01440}01440 \textcolor{comment}{                 *   1   |    0    |   0   |   DC    | e1000\_fc\_none}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01441}01441 \textcolor{comment}{                 *   1   |   DC    |   1   |   DC    | e1000\_fc\_full}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01442}01442 \textcolor{comment}{                 *   1   |    1    |   0   |    0    | e1000\_fc\_none}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01443}01443 \textcolor{comment}{                 *   1   |    1    |   0   |    1    | e1000\_fc\_rx\_pause}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01444}01444 \textcolor{comment}{                 *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01445}01445 \textcolor{comment}{                 * Are both PAUSE bits set to 1?  If so, this implies}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01446}01446 \textcolor{comment}{                 * Symmetric Flow Control is enabled at both ends.  The}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01447}01447 \textcolor{comment}{                 * ASM\_DIR bits are irrelevant per the spec.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01448}01448 \textcolor{comment}{                 *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01449}01449 \textcolor{comment}{                 * For Symmetric Flow Control:}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01450}01450 \textcolor{comment}{                 *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01451}01451 \textcolor{comment}{                 *   LOCAL DEVICE  |   LINK PARTNER}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01452}01452 \textcolor{comment}{                 * PAUSE | ASM\_DIR | PAUSE | ASM\_DIR | Result}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01453}01453 \textcolor{comment}{                 *-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01454}01454 \textcolor{comment}{                 *   1   |   DC    |   1   |   DC    | E1000\_fc\_full}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01455}01455 \textcolor{comment}{                 *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01456}01456 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01457}01457                 \textcolor{keywordflow}{if} ((mii\_nway\_adv\_reg \& \mbox{\hyperlink{e1000__defines_8h_ad97534262e8095c06d1cef2eac2e325c}{NWAY\_AR\_PAUSE}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01458}01458                     (mii\_nway\_lp\_ability\_reg \& \mbox{\hyperlink{e1000__defines_8h_a096991507d79bedccef7daccd3e1e579}{NWAY\_LPAR\_PAUSE}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01459}01459                         \textcolor{comment}{/* Now we need to check if the user selected Rx ONLY}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01460}01460 \textcolor{comment}{                         * of pause frames.  In this case, we had to advertise}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01461}01461 \textcolor{comment}{                         * FULL flow control because we could not advertise Rx}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01462}01462 \textcolor{comment}{                         * ONLY. Hence, we must now check to see if we need to}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01463}01463 \textcolor{comment}{                         * turn OFF the TRANSMISSION of PAUSE frames.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01464}01464 \textcolor{comment}{                         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01465}01465                         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_aa635b23ea4246008fbd10258f12d9b0f}{requested\_mode}} == \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefaa30be89e4a21845b53d35c7dc7795523}{e1000\_fc\_full}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01466}01466                                 hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a3b6c94ace03fbe0bc6ffb3817b6f3e09}{current\_mode}} = \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefaa30be89e4a21845b53d35c7dc7795523}{e1000\_fc\_full}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01467}01467                                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Flow Control = FULL.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01468}01468                         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01469}01469                                 hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a3b6c94ace03fbe0bc6ffb3817b6f3e09}{current\_mode}} = \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefaf2a0619360e6280a2bab9d4d2c622b0c}{e1000\_fc\_rx\_pause}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01470}01470                                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Flow Control = Rx PAUSE frames only.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01471}01471                         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01472}01472                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01473}01473                 \textcolor{comment}{/* For receiving PAUSE frames ONLY.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01474}01474 \textcolor{comment}{                 *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01475}01475 \textcolor{comment}{                 *   LOCAL DEVICE  |   LINK PARTNER}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01476}01476 \textcolor{comment}{                 * PAUSE | ASM\_DIR | PAUSE | ASM\_DIR | Result}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01477}01477 \textcolor{comment}{                 *-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01478}01478 \textcolor{comment}{                 *   0   |    1    |   1   |    1    | e1000\_fc\_tx\_pause}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01479}01479 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01480}01480                 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!(mii\_nway\_adv\_reg \& \mbox{\hyperlink{e1000__defines_8h_ad97534262e8095c06d1cef2eac2e325c}{NWAY\_AR\_PAUSE}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01481}01481                           (mii\_nway\_adv\_reg \& \mbox{\hyperlink{e1000__defines_8h_a23f53a3fed01a469fc84a3f1d31bb673}{NWAY\_AR\_ASM\_DIR}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01482}01482                           (mii\_nway\_lp\_ability\_reg \& \mbox{\hyperlink{e1000__defines_8h_a096991507d79bedccef7daccd3e1e579}{NWAY\_LPAR\_PAUSE}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01483}01483                           (mii\_nway\_lp\_ability\_reg \& \mbox{\hyperlink{e1000__defines_8h_a08d6de825d5ee23f806ba7a570931f4e}{NWAY\_LPAR\_ASM\_DIR}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01484}01484                         hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a3b6c94ace03fbe0bc6ffb3817b6f3e09}{current\_mode}} = \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefad503a1f2d088ac1204edce0bdb8b8186}{e1000\_fc\_tx\_pause}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01485}01485                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Flow Control = Tx PAUSE frames only.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01486}01486                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01487}01487                 \textcolor{comment}{/* For transmitting PAUSE frames ONLY.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01488}01488 \textcolor{comment}{                 *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01489}01489 \textcolor{comment}{                 *   LOCAL DEVICE  |   LINK PARTNER}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01490}01490 \textcolor{comment}{                 * PAUSE | ASM\_DIR | PAUSE | ASM\_DIR | Result}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01491}01491 \textcolor{comment}{                 *-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01492}01492 \textcolor{comment}{                 *   1   |    1    |   0   |    1    | e1000\_fc\_rx\_pause}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01493}01493 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01494}01494                 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} ((mii\_nway\_adv\_reg \& \mbox{\hyperlink{e1000__defines_8h_ad97534262e8095c06d1cef2eac2e325c}{NWAY\_AR\_PAUSE}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01495}01495                          (mii\_nway\_adv\_reg \& \mbox{\hyperlink{e1000__defines_8h_a23f53a3fed01a469fc84a3f1d31bb673}{NWAY\_AR\_ASM\_DIR}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01496}01496                          !(mii\_nway\_lp\_ability\_reg \& \mbox{\hyperlink{e1000__defines_8h_a096991507d79bedccef7daccd3e1e579}{NWAY\_LPAR\_PAUSE}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01497}01497                          (mii\_nway\_lp\_ability\_reg \& \mbox{\hyperlink{e1000__defines_8h_a08d6de825d5ee23f806ba7a570931f4e}{NWAY\_LPAR\_ASM\_DIR}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01498}01498                         hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a3b6c94ace03fbe0bc6ffb3817b6f3e09}{current\_mode}} = \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefaf2a0619360e6280a2bab9d4d2c622b0c}{e1000\_fc\_rx\_pause}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01499}01499                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Flow Control = Rx PAUSE frames only.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01500}01500                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01501}01501                         \textcolor{comment}{/* Per the IEEE spec, at this point flow control}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01502}01502 \textcolor{comment}{                         * should be disabled.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01503}01503 \textcolor{comment}{                         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01504}01504                         hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a3b6c94ace03fbe0bc6ffb3817b6f3e09}{current\_mode}} = \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefa499bb84fecf88e0a547dd2d4b8593643}{e1000\_fc\_none}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01505}01505                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Flow Control = NONE.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01506}01506                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01507}01507 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01508}01508                 \textcolor{comment}{/* Now we need to do one last check...  If we auto-\/}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01509}01509 \textcolor{comment}{                 * negotiated to HALF DUPLEX, flow control should not be}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01510}01510 \textcolor{comment}{                 * enabled per IEEE 802.3 spec.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01511}01511 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01512}01512                 ret\_val = mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a1b4f20f8162f202b0bbe52225b8323a0}{get\_link\_up\_info}}(hw, \&speed, \&duplex);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01513}01513                 \textcolor{keywordflow}{if} (ret\_val) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01514}01514                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Error getting link speed and duplex\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01515}01515                         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01516}01516                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01517}01517 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01518}01518                 \textcolor{keywordflow}{if} (duplex == \mbox{\hyperlink{e1000__defines_8h_a5de835b50b4229fe5869cc019ce6953f}{HALF\_DUPLEX}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01519}01519                         hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a3b6c94ace03fbe0bc6ffb3817b6f3e09}{current\_mode}} = \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefa499bb84fecf88e0a547dd2d4b8593643}{e1000\_fc\_none}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01520}01520 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01521}01521                 \textcolor{comment}{/* Now we call a subroutine to actually force the MAC}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01522}01522 \textcolor{comment}{                 * controller to use the correct flow control settings.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01523}01523 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01524}01524                 ret\_val = \mbox{\hyperlink{e1000__mac_8c_a56a813905c9f1ee816655df5761a7eb8}{e1000\_force\_mac\_fc\_generic}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01525}01525                 \textcolor{keywordflow}{if} (ret\_val) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01526}01526                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Error forcing flow control settings\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01527}01527                         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01528}01528                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01529}01529         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01530}01530 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01531}01531         \textcolor{comment}{/* Check for the case where we have SerDes media and auto-\/neg is}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01532}01532 \textcolor{comment}{         * enabled.  In this case, we need to check and see if Auto-\/Neg}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01533}01533 \textcolor{comment}{         * has completed, and if so, how the PHY and link partner has}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01534}01534 \textcolor{comment}{         * flow control configured.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01535}01535 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01536}01536         \textcolor{keywordflow}{if} ((hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_a6c7bf5b5de1d6beba7307c2e4b42a4a2}{media\_type}} == \mbox{\hyperlink{e1000__hw_8h_aa95ace41ad77553b3ac625bdc1aa4981a445c1bf4bb72fed4afbd4555ba3b01a9}{e1000\_media\_type\_internal\_serdes}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01537}01537             mac-\/>\mbox{\hyperlink{structe1000__mac__info_a29db1be99c81f08dc7f27be96a82cd3e}{autoneg}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01538}01538                 \textcolor{comment}{/* Read the PCS\_LSTS and check to see if AutoNeg}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01539}01539 \textcolor{comment}{                 * has completed.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01540}01540 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01541}01541                 pcs\_status\_reg = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_ac56ac67a68673316009d7be03e4c7169}{E1000\_PCS\_LSTAT}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01542}01542 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01543}01543                 \textcolor{keywordflow}{if} (!(pcs\_status\_reg \& \mbox{\hyperlink{e1000__defines_8h_a28c3dbcb9d76386831c4e935f68ed979}{E1000\_PCS\_LSTS\_AN\_COMPLETE}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01544}01544                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}PCS Auto Neg has not completed.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01545}01545                         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01546}01546                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01547}01547 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01548}01548                 \textcolor{comment}{/* The AutoNeg process has completed, so we now need to}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01549}01549 \textcolor{comment}{                 * read both the Auto Negotiation Advertisement}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01550}01550 \textcolor{comment}{                 * Register (PCS\_ANADV) and the Auto\_Negotiation Base}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01551}01551 \textcolor{comment}{                 * Page Ability Register (PCS\_LPAB) to determine how}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01552}01552 \textcolor{comment}{                 * flow control was negotiated.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01553}01553 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01554}01554                 pcs\_adv\_reg = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a4aadcce4a1def6dc37fe42b74d5b1d61}{E1000\_PCS\_ANADV}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01555}01555                 pcs\_lp\_ability\_reg = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a19f46f14057d3ceca4dbe822f3a7e4c5}{E1000\_PCS\_LPAB}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01556}01556 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01557}01557                 \textcolor{comment}{/* Two bits in the Auto Negotiation Advertisement Register}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01558}01558 \textcolor{comment}{                 * (PCS\_ANADV) and two bits in the Auto Negotiation Base}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01559}01559 \textcolor{comment}{                 * Page Ability Register (PCS\_LPAB) determine flow control}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01560}01560 \textcolor{comment}{                 * for both the PHY and the link partner.  The following}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01561}01561 \textcolor{comment}{                 * table, taken out of the IEEE 802.3ab/D6.0 dated March 25,}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01562}01562 \textcolor{comment}{                 * 1999, describes these PAUSE resolution bits and how flow}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01563}01563 \textcolor{comment}{                 * control is determined based upon these settings.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01564}01564 \textcolor{comment}{                 * NOTE:  DC = Don't Care}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01565}01565 \textcolor{comment}{                 *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01566}01566 \textcolor{comment}{                 *   LOCAL DEVICE  |   LINK PARTNER}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01567}01567 \textcolor{comment}{                 * PAUSE | ASM\_DIR | PAUSE | ASM\_DIR | NIC Resolution}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01568}01568 \textcolor{comment}{                 *-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01569}01569 \textcolor{comment}{                 *   0   |    0    |  DC   |   DC    | e1000\_fc\_none}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01570}01570 \textcolor{comment}{                 *   0   |    1    |   0   |   DC    | e1000\_fc\_none}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01571}01571 \textcolor{comment}{                 *   0   |    1    |   1   |    0    | e1000\_fc\_none}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01572}01572 \textcolor{comment}{                 *   0   |    1    |   1   |    1    | e1000\_fc\_tx\_pause}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01573}01573 \textcolor{comment}{                 *   1   |    0    |   0   |   DC    | e1000\_fc\_none}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01574}01574 \textcolor{comment}{                 *   1   |   DC    |   1   |   DC    | e1000\_fc\_full}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01575}01575 \textcolor{comment}{                 *   1   |    1    |   0   |    0    | e1000\_fc\_none}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01576}01576 \textcolor{comment}{                 *   1   |    1    |   0   |    1    | e1000\_fc\_rx\_pause}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01577}01577 \textcolor{comment}{                 *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01578}01578 \textcolor{comment}{                 * Are both PAUSE bits set to 1?  If so, this implies}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01579}01579 \textcolor{comment}{                 * Symmetric Flow Control is enabled at both ends.  The}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01580}01580 \textcolor{comment}{                 * ASM\_DIR bits are irrelevant per the spec.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01581}01581 \textcolor{comment}{                 *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01582}01582 \textcolor{comment}{                 * For Symmetric Flow Control:}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01583}01583 \textcolor{comment}{                 *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01584}01584 \textcolor{comment}{                 *   LOCAL DEVICE  |   LINK PARTNER}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01585}01585 \textcolor{comment}{                 * PAUSE | ASM\_DIR | PAUSE | ASM\_DIR | Result}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01586}01586 \textcolor{comment}{                 *-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01587}01587 \textcolor{comment}{                 *   1   |   DC    |   1   |   DC    | e1000\_fc\_full}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01588}01588 \textcolor{comment}{                 *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01589}01589 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01590}01590                 \textcolor{keywordflow}{if} ((pcs\_adv\_reg \& \mbox{\hyperlink{e1000__defines_8h_aaeb3c08eca82ff133d19ee53aceb6241}{E1000\_TXCW\_PAUSE}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01591}01591                     (pcs\_lp\_ability\_reg \& \mbox{\hyperlink{e1000__defines_8h_aaeb3c08eca82ff133d19ee53aceb6241}{E1000\_TXCW\_PAUSE}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01592}01592                         \textcolor{comment}{/* Now we need to check if the user selected Rx ONLY}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01593}01593 \textcolor{comment}{                         * of pause frames.  In this case, we had to advertise}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01594}01594 \textcolor{comment}{                         * FULL flow control because we could not advertise Rx}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01595}01595 \textcolor{comment}{                         * ONLY. Hence, we must now check to see if we need to}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01596}01596 \textcolor{comment}{                         * turn OFF the TRANSMISSION of PAUSE frames.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01597}01597 \textcolor{comment}{                         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01598}01598                         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_aa635b23ea4246008fbd10258f12d9b0f}{requested\_mode}} == \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefaa30be89e4a21845b53d35c7dc7795523}{e1000\_fc\_full}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01599}01599                                 hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a3b6c94ace03fbe0bc6ffb3817b6f3e09}{current\_mode}} = \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefaa30be89e4a21845b53d35c7dc7795523}{e1000\_fc\_full}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01600}01600                                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Flow Control = FULL.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01601}01601                         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01602}01602                                 hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a3b6c94ace03fbe0bc6ffb3817b6f3e09}{current\_mode}} = \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefaf2a0619360e6280a2bab9d4d2c622b0c}{e1000\_fc\_rx\_pause}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01603}01603                                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Flow Control = Rx PAUSE frames only.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01604}01604                         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01605}01605                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01606}01606                 \textcolor{comment}{/* For receiving PAUSE frames ONLY.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01607}01607 \textcolor{comment}{                 *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01608}01608 \textcolor{comment}{                 *   LOCAL DEVICE  |   LINK PARTNER}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01609}01609 \textcolor{comment}{                 * PAUSE | ASM\_DIR | PAUSE | ASM\_DIR | Result}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01610}01610 \textcolor{comment}{                 *-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01611}01611 \textcolor{comment}{                 *   0   |    1    |   1   |    1    | e1000\_fc\_tx\_pause}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01612}01612 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01613}01613                 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!(pcs\_adv\_reg \& \mbox{\hyperlink{e1000__defines_8h_aaeb3c08eca82ff133d19ee53aceb6241}{E1000\_TXCW\_PAUSE}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01614}01614                           (pcs\_adv\_reg \& \mbox{\hyperlink{e1000__defines_8h_a01802aabe3cc9089843b41ada1e28108}{E1000\_TXCW\_ASM\_DIR}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01615}01615                           (pcs\_lp\_ability\_reg \& \mbox{\hyperlink{e1000__defines_8h_aaeb3c08eca82ff133d19ee53aceb6241}{E1000\_TXCW\_PAUSE}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01616}01616                           (pcs\_lp\_ability\_reg \& \mbox{\hyperlink{e1000__defines_8h_a01802aabe3cc9089843b41ada1e28108}{E1000\_TXCW\_ASM\_DIR}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01617}01617                         hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a3b6c94ace03fbe0bc6ffb3817b6f3e09}{current\_mode}} = \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefad503a1f2d088ac1204edce0bdb8b8186}{e1000\_fc\_tx\_pause}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01618}01618                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Flow Control = Tx PAUSE frames only.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01619}01619                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01620}01620                 \textcolor{comment}{/* For transmitting PAUSE frames ONLY.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01621}01621 \textcolor{comment}{                 *}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01622}01622 \textcolor{comment}{                 *   LOCAL DEVICE  |   LINK PARTNER}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01623}01623 \textcolor{comment}{                 * PAUSE | ASM\_DIR | PAUSE | ASM\_DIR | Result}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01624}01624 \textcolor{comment}{                 *-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/|-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01625}01625 \textcolor{comment}{                 *   1   |    1    |   0   |    1    | e1000\_fc\_rx\_pause}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01626}01626 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01627}01627                 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} ((pcs\_adv\_reg \& \mbox{\hyperlink{e1000__defines_8h_aaeb3c08eca82ff133d19ee53aceb6241}{E1000\_TXCW\_PAUSE}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01628}01628                          (pcs\_adv\_reg \& \mbox{\hyperlink{e1000__defines_8h_a01802aabe3cc9089843b41ada1e28108}{E1000\_TXCW\_ASM\_DIR}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01629}01629                          !(pcs\_lp\_ability\_reg \& \mbox{\hyperlink{e1000__defines_8h_aaeb3c08eca82ff133d19ee53aceb6241}{E1000\_TXCW\_PAUSE}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01630}01630                          (pcs\_lp\_ability\_reg \& \mbox{\hyperlink{e1000__defines_8h_a01802aabe3cc9089843b41ada1e28108}{E1000\_TXCW\_ASM\_DIR}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01631}01631                         hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a3b6c94ace03fbe0bc6ffb3817b6f3e09}{current\_mode}} = \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefaf2a0619360e6280a2bab9d4d2c622b0c}{e1000\_fc\_rx\_pause}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01632}01632                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Flow Control = Rx PAUSE frames only.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01633}01633                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01634}01634                         \textcolor{comment}{/* Per the IEEE spec, at this point flow control}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01635}01635 \textcolor{comment}{                         * should be disabled.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01636}01636 \textcolor{comment}{                         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01637}01637                         hw-\/>\mbox{\hyperlink{structe1000__hw_ac89d5776dfeaa4962c6a4017958d0d4c}{fc}}.\mbox{\hyperlink{structe1000__fc__info_a3b6c94ace03fbe0bc6ffb3817b6f3e09}{current\_mode}} = \mbox{\hyperlink{e1000__hw_8h_a945f7c82643f147dea2193863639dfefa499bb84fecf88e0a547dd2d4b8593643}{e1000\_fc\_none}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01638}01638                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Flow Control = NONE.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01639}01639                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01640}01640 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01641}01641                 \textcolor{comment}{/* Now we call a subroutine to actually force the MAC}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01642}01642 \textcolor{comment}{                 * controller to use the correct flow control settings.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01643}01643 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01644}01644                 pcs\_ctrl\_reg = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a5b452253c193b7712f6ea85fa56a5330}{E1000\_PCS\_LCTL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01645}01645                 pcs\_ctrl\_reg |= \mbox{\hyperlink{e1000__defines_8h_ac967774172579008cfc26dcf991a05fa}{E1000\_PCS\_LCTL\_FORCE\_FCTRL}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01646}01646                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a5b452253c193b7712f6ea85fa56a5330}{E1000\_PCS\_LCTL}}, pcs\_ctrl\_reg);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01647}01647 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01648}01648                 ret\_val = \mbox{\hyperlink{e1000__mac_8c_a56a813905c9f1ee816655df5761a7eb8}{e1000\_force\_mac\_fc\_generic}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01649}01649                 \textcolor{keywordflow}{if} (ret\_val) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01650}01650                         \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Error forcing flow control settings\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01651}01651                         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01652}01652                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01653}01653         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01654}01654 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01655}01655         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01656}01656 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01657}01657 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01667}\mbox{\hyperlink{e1000__mac_8c_abe647c4de6ad51ce2ef783ff9e62e502}{01667}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_abe647c4de6ad51ce2ef783ff9e62e502}{e1000\_get\_speed\_and\_duplex\_copper\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} *speed,}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01668}01668                                               \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} *duplex)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01669}01669 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01670}01670         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} status;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01671}01671 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01672}01672         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_get\_speed\_and\_duplex\_copper\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01673}01673 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01674}01674         status = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a7fad15ed91c7801a1b9c5f80843bab79}{E1000\_STATUS}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01675}01675         \textcolor{keywordflow}{if} (status \& \mbox{\hyperlink{e1000__defines_8h_a4728bcf72667558dd26a2697c8fb31bd}{E1000\_STATUS\_SPEED\_1000}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01676}01676                 *speed = \mbox{\hyperlink{e1000__defines_8h_a4a779d35380578e71d9b3015e3441ab1}{SPEED\_1000}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01677}01677                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}1000 Mbs, "{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01678}01678         \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (status \& \mbox{\hyperlink{e1000__defines_8h_a659a1927a8506e392097730558919020}{E1000\_STATUS\_SPEED\_100}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01679}01679                 *speed = \mbox{\hyperlink{e1000__defines_8h_a336e90e6c7a7d8bc7925752a13faf849}{SPEED\_100}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01680}01680                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}100 Mbs, "{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01681}01681         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01682}01682                 *speed = \mbox{\hyperlink{e1000__defines_8h_ab830e8b55930052c8706c5aeae2497d0}{SPEED\_10}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01683}01683                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}10 Mbs, "{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01684}01684         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01685}01685 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01686}01686         \textcolor{keywordflow}{if} (status \& \mbox{\hyperlink{e1000__defines_8h_a8646529561d6e8ff59c22615af2a3816}{E1000\_STATUS\_FD}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01687}01687                 *duplex = \mbox{\hyperlink{e1000__defines_8h_af504250cb09e83fc0ccf68c2552f67c5}{FULL\_DUPLEX}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01688}01688                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Full Duplex\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01689}01689         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01690}01690                 *duplex = \mbox{\hyperlink{e1000__defines_8h_a5de835b50b4229fe5869cc019ce6953f}{HALF\_DUPLEX}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01691}01691                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Half Duplex\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01692}01692         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01693}01693 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01694}01694         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01695}01695 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01696}01696 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01706}\mbox{\hyperlink{e1000__mac_8c_ad5123da16f82d046606336afaa54f76d}{01706}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_ad5123da16f82d046606336afaa54f76d}{e1000\_get\_speed\_and\_duplex\_fiber\_serdes\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} *hw,}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01707}01707                                                     \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} *speed, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} *duplex)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01708}01708 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01709}01709         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_get\_speed\_and\_duplex\_fiber\_serdes\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01710}01710 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01711}01711         *speed = \mbox{\hyperlink{e1000__defines_8h_a4a779d35380578e71d9b3015e3441ab1}{SPEED\_1000}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01712}01712         *duplex = \mbox{\hyperlink{e1000__defines_8h_af504250cb09e83fc0ccf68c2552f67c5}{FULL\_DUPLEX}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01713}01713 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01714}01714         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01715}01715 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01716}01716 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01723}\mbox{\hyperlink{e1000__mac_8c_affc49c3cc92fa1b90594942a234d35db}{01723}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_affc49c3cc92fa1b90594942a234d35db}{e1000\_get\_auto\_rd\_done\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01724}01724 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01725}01725         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} i = 0;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01726}01726 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01727}01727         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_get\_auto\_rd\_done\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01728}01728 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01729}01729         \textcolor{keywordflow}{while} (i < \mbox{\hyperlink{e1000__defines_8h_a91bde2d35067b207df29b8f33550c290}{AUTO\_READ\_DONE\_TIMEOUT}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01730}01730                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aecafc628fdb535d6ee60009e3460ada9}{E1000\_EECD}}) \& \mbox{\hyperlink{e1000__defines_8h_ae6b4140391dfa1685fd9a4501bc17772}{E1000\_EECD\_AUTO\_RD}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01731}01731                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01732}01732                 \mbox{\hyperlink{e1000__osdep_8h_a112d66cf3347afa4dcb69db64604682f}{msec\_delay}}(1);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01733}01733                 i++;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01734}01734         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01735}01735 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01736}01736         \textcolor{keywordflow}{if} (i == \mbox{\hyperlink{e1000__defines_8h_a91bde2d35067b207df29b8f33550c290}{AUTO\_READ\_DONE\_TIMEOUT}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01737}01737                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Auto read by HW from NVM has not completed.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01738}01738                 \textcolor{keywordflow}{return} -\/\mbox{\hyperlink{e1000__defines_8h_a51d414828dc5b134f7cc58de9ab649ac}{E1000\_ERR\_RESET}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01739}01739         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01740}01740 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01741}01741         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01742}01742 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01743}01743 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01752}\mbox{\hyperlink{e1000__mac_8c_a193c9ffbe8893ab55d91a8e1affc62f0}{01752}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a193c9ffbe8893ab55d91a8e1affc62f0}{e1000\_valid\_led\_default\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} *data)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01753}01753 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01754}01754         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01755}01755 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01756}01756         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_valid\_led\_default\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01757}01757 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01758}01758         ret\_val = hw-\/>\mbox{\hyperlink{structe1000__hw_a7da8a8328803abd295ca8691e964c202}{nvm}}.\mbox{\hyperlink{structe1000__nvm__info_a039acf6f4fa4fe5e22111f6a03253b4a}{ops}}.\mbox{\hyperlink{structe1000__nvm__operations_add376eae079ba142c4f41bb8ac8f739a}{read}}(hw, \mbox{\hyperlink{e1000__defines_8h_afa39ae61d95e57eb90d1df67b7d49296}{NVM\_ID\_LED\_SETTINGS}}, 1, data);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01759}01759         \textcolor{keywordflow}{if} (ret\_val) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01760}01760                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}NVM Read Error\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01761}01761                 \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01762}01762         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01763}01763 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01764}01764         \textcolor{keywordflow}{if} (*data == \mbox{\hyperlink{e1000__defines_8h_a0080d294d479bc94f3a8c96699b66a20}{ID\_LED\_RESERVED\_0000}} || *data == \mbox{\hyperlink{e1000__defines_8h_a79d2eff65fd80a339e15543885e7193b}{ID\_LED\_RESERVED\_FFFF}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01765}01765                 *data = \mbox{\hyperlink{e1000__defines_8h_a2bd379f381a2984037aa3f1d1ab4540e}{ID\_LED\_DEFAULT}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01766}01766 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01767}01767         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01768}01768 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01769}01769 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01775}\mbox{\hyperlink{e1000__mac_8c_a4579c97ae640b8a0ea3fcb17de5c6324}{01775}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a4579c97ae640b8a0ea3fcb17de5c6324}{e1000\_id\_led\_init\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01776}01776 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01777}01777         \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__mac__info}{e1000\_mac\_info}} *mac = \&hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01778}01778         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01779}01779         \textcolor{keyword}{const} \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} ledctl\_mask = 0x000000FF;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01780}01780         \textcolor{keyword}{const} \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} ledctl\_on = \mbox{\hyperlink{e1000__defines_8h_af1765d09b4b7dbf1494d12fadaa822b6}{E1000\_LEDCTL\_MODE\_LED\_ON}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01781}01781         \textcolor{keyword}{const} \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} ledctl\_off = \mbox{\hyperlink{e1000__defines_8h_a4a1ef190a6bcdc58e62677a90878c8f3}{E1000\_LEDCTL\_MODE\_LED\_OFF}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01782}01782         \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} data, i, temp;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01783}01783         \textcolor{keyword}{const} \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} led\_mask = 0x0F;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01784}01784 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01785}01785         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_id\_led\_init\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01786}01786 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01787}01787         ret\_val = hw-\/>\mbox{\hyperlink{structe1000__hw_a7da8a8328803abd295ca8691e964c202}{nvm}}.\mbox{\hyperlink{structe1000__nvm__info_a039acf6f4fa4fe5e22111f6a03253b4a}{ops}}.\mbox{\hyperlink{structe1000__nvm__operations_af4ba4eab5a840989e75d6b5cc56f4340}{valid\_led\_default}}(hw, \&data);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01788}01788         \textcolor{keywordflow}{if} (ret\_val)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01789}01789                 \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01790}01790 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01791}01791         mac-\/>\mbox{\hyperlink{structe1000__mac__info_a60f295e7feb51440bcef989cb12e70bc}{ledctl\_default}} = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_ad13cfc596fb0ad2d525d3aae4ad5c4b2}{E1000\_LEDCTL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01792}01792         mac-\/>\mbox{\hyperlink{structe1000__mac__info_a876f73c7a9eef76091068de72a8e676f}{ledctl\_mode1}} = mac-\/>\mbox{\hyperlink{structe1000__mac__info_a60f295e7feb51440bcef989cb12e70bc}{ledctl\_default}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01793}01793         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ab39e2630f39aa2059428fe24ef8c8fe6}{ledctl\_mode2}} = mac-\/>\mbox{\hyperlink{structe1000__mac__info_a60f295e7feb51440bcef989cb12e70bc}{ledctl\_default}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01794}01794 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01795}01795         \textcolor{keywordflow}{for} (i = 0; i < 4; i++) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01796}01796                 temp = (data >> (i << 2)) \& led\_mask;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01797}01797                 \textcolor{keywordflow}{switch} (temp) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01798}01798                 \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__defines_8h_a4274b380200fdc2eac7b375b50904388}{ID\_LED\_ON1\_DEF2}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01799}01799                 \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__defines_8h_a7fdbe6b86d5d83ae8a21804dc0c97ca6}{ID\_LED\_ON1\_ON2}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01800}01800                 \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__defines_8h_aa8cd00487205286c34aaaad9883d5f13}{ID\_LED\_ON1\_OFF2}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01801}01801                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_a876f73c7a9eef76091068de72a8e676f}{ledctl\_mode1}} \&= \string~(ledctl\_mask << (i << 3));}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01802}01802                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_a876f73c7a9eef76091068de72a8e676f}{ledctl\_mode1}} |= ledctl\_on << (i << 3);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01803}01803                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01804}01804                 \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__defines_8h_ab4b27bbfe9d935c0b239fd06cb08505e}{ID\_LED\_OFF1\_DEF2}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01805}01805                 \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__defines_8h_a77fb13d0a97c94f96868394283a435c5}{ID\_LED\_OFF1\_ON2}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01806}01806                 \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__defines_8h_a042e560460ffafa8f876dcd586e4ed21}{ID\_LED\_OFF1\_OFF2}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01807}01807                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_a876f73c7a9eef76091068de72a8e676f}{ledctl\_mode1}} \&= \string~(ledctl\_mask << (i << 3));}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01808}01808                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_a876f73c7a9eef76091068de72a8e676f}{ledctl\_mode1}} |= ledctl\_off << (i << 3);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01809}01809                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01810}01810                 \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01811}01811                         \textcolor{comment}{/* Do nothing */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01812}01812                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01813}01813                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01814}01814                 \textcolor{keywordflow}{switch} (temp) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01815}01815                 \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__defines_8h_a5f5ee40313abcef9eedb3adca2e6e5ad}{ID\_LED\_DEF1\_ON2}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01816}01816                 \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__defines_8h_a7fdbe6b86d5d83ae8a21804dc0c97ca6}{ID\_LED\_ON1\_ON2}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01817}01817                 \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__defines_8h_a77fb13d0a97c94f96868394283a435c5}{ID\_LED\_OFF1\_ON2}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01818}01818                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ab39e2630f39aa2059428fe24ef8c8fe6}{ledctl\_mode2}} \&= \string~(ledctl\_mask << (i << 3));}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01819}01819                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ab39e2630f39aa2059428fe24ef8c8fe6}{ledctl\_mode2}} |= ledctl\_on << (i << 3);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01820}01820                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01821}01821                 \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__defines_8h_a563871d991fba6cfa7a3230f0b566692}{ID\_LED\_DEF1\_OFF2}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01822}01822                 \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__defines_8h_aa8cd00487205286c34aaaad9883d5f13}{ID\_LED\_ON1\_OFF2}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01823}01823                 \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__defines_8h_a042e560460ffafa8f876dcd586e4ed21}{ID\_LED\_OFF1\_OFF2}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01824}01824                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ab39e2630f39aa2059428fe24ef8c8fe6}{ledctl\_mode2}} \&= \string~(ledctl\_mask << (i << 3));}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01825}01825                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ab39e2630f39aa2059428fe24ef8c8fe6}{ledctl\_mode2}} |= ledctl\_off << (i << 3);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01826}01826                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01827}01827                 \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01828}01828                         \textcolor{comment}{/* Do nothing */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01829}01829                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01830}01830                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01831}01831         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01832}01832 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01833}01833         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01834}01834 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01835}01835 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01843}\mbox{\hyperlink{e1000__mac_8c_ae6d44da65a2ffe142244889d5fa34825}{01843}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_ae6d44da65a2ffe142244889d5fa34825}{e1000\_setup\_led\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01844}01844 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01845}01845         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} ledctl;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01846}01846 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01847}01847         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_setup\_led\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01848}01848 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01849}01849         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_ad4dc5e9b487b5986db47069021017e37}{ops}}.\mbox{\hyperlink{structe1000__mac__operations_a02a2b31c34890b1dd749d732f5b8cb61}{setup\_led}} != \mbox{\hyperlink{e1000__mac_8c_ae6d44da65a2ffe142244889d5fa34825}{e1000\_setup\_led\_generic}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01850}01850                 \textcolor{keywordflow}{return} -\/\mbox{\hyperlink{e1000__defines_8h_ad776e411c87eeae0b82895b3acf144ac}{E1000\_ERR\_CONFIG}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01851}01851 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01852}01852         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_a6c7bf5b5de1d6beba7307c2e4b42a4a2}{media\_type}} == \mbox{\hyperlink{e1000__hw_8h_aa95ace41ad77553b3ac625bdc1aa4981a041826ca4e120d8d904a878c09e965e6}{e1000\_media\_type\_fiber}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01853}01853                 ledctl = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_ad13cfc596fb0ad2d525d3aae4ad5c4b2}{E1000\_LEDCTL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01854}01854                 hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_a60f295e7feb51440bcef989cb12e70bc}{ledctl\_default}} = ledctl;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01855}01855                 \textcolor{comment}{/* Turn off LED0 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01856}01856                 ledctl \&= \string~(\mbox{\hyperlink{e1000__defines_8h_a9ae2a95c8e15e5b9d42c5a4d82ef818e}{E1000\_LEDCTL\_LED0\_IVRT}} | \mbox{\hyperlink{e1000__defines_8h_ab0f6cd02581b6a08192dff246c368129}{E1000\_LEDCTL\_LED0\_BLINK}} |}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01857}01857                             \mbox{\hyperlink{e1000__defines_8h_ad84099d87c9abade6de1682eda3d84b4}{E1000\_LEDCTL\_LED0\_MODE\_MASK}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01858}01858                 ledctl |= (\mbox{\hyperlink{e1000__defines_8h_a4a1ef190a6bcdc58e62677a90878c8f3}{E1000\_LEDCTL\_MODE\_LED\_OFF}} <<}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01859}01859                            \mbox{\hyperlink{e1000__defines_8h_a76e5dd8b4890787ec0f8bc4defb46ff8}{E1000\_LEDCTL\_LED0\_MODE\_SHIFT}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01860}01860                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_ad13cfc596fb0ad2d525d3aae4ad5c4b2}{E1000\_LEDCTL}}, ledctl);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01861}01861         \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_a6c7bf5b5de1d6beba7307c2e4b42a4a2}{media\_type}} == \mbox{\hyperlink{e1000__hw_8h_aa95ace41ad77553b3ac625bdc1aa4981af5a87a1c9fec89ed7e9de1053b57cdb8}{e1000\_media\_type\_copper}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01862}01862                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_ad13cfc596fb0ad2d525d3aae4ad5c4b2}{E1000\_LEDCTL}}, hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_a876f73c7a9eef76091068de72a8e676f}{ledctl\_mode1}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01863}01863         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01864}01864 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01865}01865         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01866}01866 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01867}01867 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01875}\mbox{\hyperlink{e1000__mac_8c_a97d2226bec29939b018e4096d792c685}{01875}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a97d2226bec29939b018e4096d792c685}{e1000\_cleanup\_led\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01876}01876 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01877}01877         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_cleanup\_led\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01878}01878 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01879}01879         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_ad13cfc596fb0ad2d525d3aae4ad5c4b2}{E1000\_LEDCTL}}, hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_a60f295e7feb51440bcef989cb12e70bc}{ledctl\_default}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01880}01880         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01881}01881 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01882}01882 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01889}\mbox{\hyperlink{e1000__mac_8c_aa76501ed3e371c2afd6796fe8c287e25}{01889}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_aa76501ed3e371c2afd6796fe8c287e25}{e1000\_blink\_led\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01890}01890 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01891}01891         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} ledctl\_blink = 0;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01892}01892         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} i;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01893}01893 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01894}01894         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_blink\_led\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01895}01895 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01896}01896         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_a6c7bf5b5de1d6beba7307c2e4b42a4a2}{media\_type}} == \mbox{\hyperlink{e1000__hw_8h_aa95ace41ad77553b3ac625bdc1aa4981a041826ca4e120d8d904a878c09e965e6}{e1000\_media\_type\_fiber}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01897}01897                 \textcolor{comment}{/* always blink LED0 for PCI-\/E fiber */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01898}01898                 ledctl\_blink = \mbox{\hyperlink{e1000__defines_8h_ab0f6cd02581b6a08192dff246c368129}{E1000\_LEDCTL\_LED0\_BLINK}} |}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01899}01899                      (\mbox{\hyperlink{e1000__defines_8h_af1765d09b4b7dbf1494d12fadaa822b6}{E1000\_LEDCTL\_MODE\_LED\_ON}} << \mbox{\hyperlink{e1000__defines_8h_a76e5dd8b4890787ec0f8bc4defb46ff8}{E1000\_LEDCTL\_LED0\_MODE\_SHIFT}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01900}01900         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01901}01901                 \textcolor{comment}{/* Set the blink bit for each LED that's "{}on"{} (0x0E)}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01902}01902 \textcolor{comment}{                 * (or "{}off"{} if inverted) in ledctl\_mode2.  The blink}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01903}01903 \textcolor{comment}{                 * logic in hardware only works when mode is set to "{}on"{}}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01904}01904 \textcolor{comment}{                 * so it must be changed accordingly when the mode is}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01905}01905 \textcolor{comment}{                 * "{}off"{} and inverted.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01906}01906 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01907}01907                 ledctl\_blink = hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_ab39e2630f39aa2059428fe24ef8c8fe6}{ledctl\_mode2}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01908}01908                 \textcolor{keywordflow}{for} (i = 0; i < 32; i += 8) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01909}01909                         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} mode = (hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_ab39e2630f39aa2059428fe24ef8c8fe6}{ledctl\_mode2}} >> i) \&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01910}01910                             \mbox{\hyperlink{e1000__defines_8h_ad84099d87c9abade6de1682eda3d84b4}{E1000\_LEDCTL\_LED0\_MODE\_MASK}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01911}01911                         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} led\_default = hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_a60f295e7feb51440bcef989cb12e70bc}{ledctl\_default}} >> i;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01912}01912 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01913}01913                         \textcolor{keywordflow}{if} ((!(led\_default \& \mbox{\hyperlink{e1000__defines_8h_a9ae2a95c8e15e5b9d42c5a4d82ef818e}{E1000\_LEDCTL\_LED0\_IVRT}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01914}01914                              (mode == \mbox{\hyperlink{e1000__defines_8h_af1765d09b4b7dbf1494d12fadaa822b6}{E1000\_LEDCTL\_MODE\_LED\_ON}})) ||}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01915}01915                             ((led\_default \& \mbox{\hyperlink{e1000__defines_8h_a9ae2a95c8e15e5b9d42c5a4d82ef818e}{E1000\_LEDCTL\_LED0\_IVRT}}) \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01916}01916                              (mode == \mbox{\hyperlink{e1000__defines_8h_a4a1ef190a6bcdc58e62677a90878c8f3}{E1000\_LEDCTL\_MODE\_LED\_OFF}}))) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01917}01917                                 ledctl\_blink \&=}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01918}01918                                     \string~(\mbox{\hyperlink{e1000__defines_8h_ad84099d87c9abade6de1682eda3d84b4}{E1000\_LEDCTL\_LED0\_MODE\_MASK}} << i);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01919}01919                                 ledctl\_blink |= (\mbox{\hyperlink{e1000__defines_8h_ab0f6cd02581b6a08192dff246c368129}{E1000\_LEDCTL\_LED0\_BLINK}} |}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01920}01920                                                  \mbox{\hyperlink{e1000__defines_8h_af1765d09b4b7dbf1494d12fadaa822b6}{E1000\_LEDCTL\_MODE\_LED\_ON}}) << i;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01921}01921                         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01922}01922                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01923}01923         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01924}01924 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01925}01925         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_ad13cfc596fb0ad2d525d3aae4ad5c4b2}{E1000\_LEDCTL}}, ledctl\_blink);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01926}01926 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01927}01927         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01928}01928 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01929}01929 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01936}\mbox{\hyperlink{e1000__mac_8c_a5d192260e1a28db11f7b8203d0e22fcd}{01936}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a5d192260e1a28db11f7b8203d0e22fcd}{e1000\_led\_on\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01937}01937 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01938}01938         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} ctrl;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01939}01939 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01940}01940         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_led\_on\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01941}01941 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01942}01942         \textcolor{keywordflow}{switch} (hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_a6c7bf5b5de1d6beba7307c2e4b42a4a2}{media\_type}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01943}01943         \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__hw_8h_aa95ace41ad77553b3ac625bdc1aa4981a041826ca4e120d8d904a878c09e965e6}{e1000\_media\_type\_fiber}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01944}01944                 ctrl = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01945}01945                 ctrl \&= \string~E1000\_CTRL\_SWDPIN0;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01946}01946                 ctrl |= \mbox{\hyperlink{e1000__defines_8h_aa9c7c898d126dc6de4dadfe8e6928603}{E1000\_CTRL\_SWDPIO0}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01947}01947                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}}, ctrl);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01948}01948                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01949}01949         \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__hw_8h_aa95ace41ad77553b3ac625bdc1aa4981af5a87a1c9fec89ed7e9de1053b57cdb8}{e1000\_media\_type\_copper}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01950}01950                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_ad13cfc596fb0ad2d525d3aae4ad5c4b2}{E1000\_LEDCTL}}, hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_ab39e2630f39aa2059428fe24ef8c8fe6}{ledctl\_mode2}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01951}01951                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01952}01952         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01953}01953                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01954}01954         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01955}01955 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01956}01956         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01957}01957 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01958}01958 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01965}\mbox{\hyperlink{e1000__mac_8c_a9920ed8b96c0fdcbde057a414ec92e04}{01965}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a9920ed8b96c0fdcbde057a414ec92e04}{e1000\_led\_off\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01966}01966 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01967}01967         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} ctrl;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01968}01968 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01969}01969         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_led\_off\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01970}01970 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01971}01971         \textcolor{keywordflow}{switch} (hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_a6c7bf5b5de1d6beba7307c2e4b42a4a2}{media\_type}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01972}01972         \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__hw_8h_aa95ace41ad77553b3ac625bdc1aa4981a041826ca4e120d8d904a878c09e965e6}{e1000\_media\_type\_fiber}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01973}01973                 ctrl = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01974}01974                 ctrl |= \mbox{\hyperlink{e1000__defines_8h_aca04b5746deb18c080deaf7a784e09aa}{E1000\_CTRL\_SWDPIN0}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01975}01975                 ctrl |= \mbox{\hyperlink{e1000__defines_8h_aa9c7c898d126dc6de4dadfe8e6928603}{E1000\_CTRL\_SWDPIO0}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01976}01976                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}}, ctrl);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01977}01977                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01978}01978         \textcolor{keywordflow}{case} \mbox{\hyperlink{e1000__hw_8h_aa95ace41ad77553b3ac625bdc1aa4981af5a87a1c9fec89ed7e9de1053b57cdb8}{e1000\_media\_type\_copper}}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01979}01979                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_ad13cfc596fb0ad2d525d3aae4ad5c4b2}{E1000\_LEDCTL}}, hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_a876f73c7a9eef76091068de72a8e676f}{ledctl\_mode1}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01980}01980                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01981}01981         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01982}01982                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01983}01983         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01984}01984 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01985}01985         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01986}01986 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01987}01987 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01995}\mbox{\hyperlink{e1000__mac_8c_ae40a461d76867f6b40df815707b0cc0a}{01995}} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_ae40a461d76867f6b40df815707b0cc0a}{e1000\_set\_pcie\_no\_snoop\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw, \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} no\_snoop)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01996}01996 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01997}01997         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} gcr;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01998}01998 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l01999}01999         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_set\_pcie\_no\_snoop\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02000}02000 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02001}02001         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_a54dfe65b05ea7457cd47b9c2a011d779}{bus}}.\mbox{\hyperlink{structe1000__bus__info_a729d4e45985e9118da83097adef0eb30}{type}} != \mbox{\hyperlink{e1000__hw_8h_a4e6322e180969c21be0c72654ef07423acb725f986e788ee5671a7fae29c8f58a}{e1000\_bus\_type\_pci\_express}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02002}02002                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02003}02003 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02004}02004         \textcolor{keywordflow}{if} (no\_snoop) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02005}02005                 gcr = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a0bf6c1da204cb5e0b9c487774cf94592}{E1000\_GCR}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02006}02006                 gcr \&= \string~(\mbox{\hyperlink{e1000__defines_8h_a9e5bf011c4d04e2be335e5f4d229cab1}{PCIE\_NO\_SNOOP\_ALL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02007}02007                 gcr |= no\_snoop;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02008}02008                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a0bf6c1da204cb5e0b9c487774cf94592}{E1000\_GCR}}, gcr);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02009}02009         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02010}02010 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02011}02011 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02023}\mbox{\hyperlink{e1000__mac_8c_a5e25abf4189b7ed7ab278dbe588fef10}{02023}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a5e25abf4189b7ed7ab278dbe588fef10}{e1000\_disable\_pcie\_master\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02024}02024 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02025}02025         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} ctrl;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02026}02026         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} timeout = \mbox{\hyperlink{e1000__defines_8h_a59ca7d7bb3a74cb405003f376f0e64a4}{MASTER\_DISABLE\_TIMEOUT}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02027}02027 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02028}02028         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_disable\_pcie\_master\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02029}02029 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02030}02030         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_a54dfe65b05ea7457cd47b9c2a011d779}{bus}}.\mbox{\hyperlink{structe1000__bus__info_a729d4e45985e9118da83097adef0eb30}{type}} != \mbox{\hyperlink{e1000__hw_8h_a4e6322e180969c21be0c72654ef07423acb725f986e788ee5671a7fae29c8f58a}{e1000\_bus\_type\_pci\_express}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02031}02031                 \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02032}02032 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02033}02033         ctrl = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02034}02034         ctrl |= \mbox{\hyperlink{e1000__defines_8h_a417f49933bd8c7215bf7b0d886fb49f1}{E1000\_CTRL\_GIO\_MASTER\_DISABLE}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02035}02035         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aa2a002308931f109d3f659112ae9fdc8}{E1000\_CTRL}}, ctrl);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02036}02036 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02037}02037         \textcolor{keywordflow}{while} (timeout) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02038}02038                 \textcolor{keywordflow}{if} (!(\mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a7fad15ed91c7801a1b9c5f80843bab79}{E1000\_STATUS}}) \&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02039}02039                       \mbox{\hyperlink{e1000__defines_8h_ae421e4bf0e0b83edda730a191ff6e49d}{E1000\_STATUS\_GIO\_MASTER\_ENABLE}}) ||}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02040}02040                                 \mbox{\hyperlink{e1000__mac_8h_af587b12345a855c82bfe665ba391c340}{E1000\_REMOVED}}(hw-\/>\mbox{\hyperlink{structe1000__hw_a8cb53cae99fe8c0e70ae807c6cebe281}{hw\_addr}}))}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02041}02041                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02042}02042                 \mbox{\hyperlink{e1000__osdep_8h_a43e7beeb12e2b50153ba0f215b68bb85}{usec\_delay}}(100);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02043}02043                 timeout-\/-\/;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02044}02044         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02045}02045 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02046}02046         \textcolor{keywordflow}{if} (!timeout) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02047}02047                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Master requests are pending.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02048}02048                 \textcolor{keywordflow}{return} -\/\mbox{\hyperlink{e1000__defines_8h_a72707bb53ea8c121bd7f3c941b58960b}{E1000\_ERR\_MASTER\_REQUESTS\_PENDING}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02049}02049         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02050}02050 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02051}02051         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02052}02052 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02053}02053 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02060}\mbox{\hyperlink{e1000__mac_8c_a03100960014bd030957fd1ba93db22fc}{02060}} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_a03100960014bd030957fd1ba93db22fc}{e1000\_reset\_adaptive\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02061}02061 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02062}02062         \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__mac__info}{e1000\_mac\_info}} *mac = \&hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02063}02063 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02064}02064         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_reset\_adaptive\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02065}02065 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02066}02066         \textcolor{keywordflow}{if} (!mac-\/>\mbox{\hyperlink{structe1000__mac__info_a6d661e50004022dc2d85593307669fbc}{adaptive\_ifs}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02067}02067                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Not in Adaptive IFS mode!\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02068}02068                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02069}02069         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02070}02070 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02071}02071         mac-\/>\mbox{\hyperlink{structe1000__mac__info_aff409600a0d010e8a8e3f918a6538d6e}{current\_ifs\_val}} = 0;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02072}02072         mac-\/>\mbox{\hyperlink{structe1000__mac__info_a0b4e5050ee3e257f41aad2f53f3b3622}{ifs\_min\_val}} = \mbox{\hyperlink{e1000__defines_8h_a82b93707b9c890803ff64fb9df8e4173}{IFS\_MIN}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02073}02073         mac-\/>\mbox{\hyperlink{structe1000__mac__info_a9bf78951b6904ec3cf56a2958665ae74}{ifs\_max\_val}} = \mbox{\hyperlink{e1000__defines_8h_a927086311ad8a4a50cfc4ddb55a7dff6}{IFS\_MAX}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02074}02074         mac-\/>\mbox{\hyperlink{structe1000__mac__info_a72318a33c0eb787ac45548fdb469b833}{ifs\_step\_size}} = \mbox{\hyperlink{e1000__defines_8h_a2d7420189d326763bb32d38433aee033}{IFS\_STEP}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02075}02075         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad3cec434d29597c9307520776c6ba5d7}{ifs\_ratio}} = \mbox{\hyperlink{e1000__defines_8h_aadff51680792369672d939f814ce7199}{IFS\_RATIO}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02076}02076 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02077}02077         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ab40ad8b6ab2fb96d4b078b2596fa1289}{in\_ifs\_mode}} = \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02078}02078         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aebb048a1c48809105adb7b6d9ffe3414}{E1000\_AIT}}, 0);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02079}02079 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02080}02080 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02088}\mbox{\hyperlink{e1000__mac_8c_a27d73fe376e4ea8891c350caeaa2a3ae}{02088}} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_a27d73fe376e4ea8891c350caeaa2a3ae}{e1000\_update\_adaptive\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02089}02089 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02090}02090         \textcolor{keyword}{struct }\mbox{\hyperlink{structe1000__mac__info}{e1000\_mac\_info}} *mac = \&hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02091}02091 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02092}02092         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_update\_adaptive\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02093}02093 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02094}02094         \textcolor{keywordflow}{if} (!mac-\/>\mbox{\hyperlink{structe1000__mac__info_a6d661e50004022dc2d85593307669fbc}{adaptive\_ifs}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02095}02095                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Not in Adaptive IFS mode!\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02096}02096                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02097}02097         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02098}02098 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02099}02099         \textcolor{keywordflow}{if} ((mac-\/>\mbox{\hyperlink{structe1000__mac__info_a27fbaae84653058cab377cdd51c2c5d2}{collision\_delta}} * mac-\/>\mbox{\hyperlink{structe1000__mac__info_ad3cec434d29597c9307520776c6ba5d7}{ifs\_ratio}}) > mac-\/>\mbox{\hyperlink{structe1000__mac__info_a4f00bd0be4c79792c75bc8fe92f3a125}{tx\_packet\_delta}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02100}02100                 \textcolor{keywordflow}{if} (mac-\/>\mbox{\hyperlink{structe1000__mac__info_a4f00bd0be4c79792c75bc8fe92f3a125}{tx\_packet\_delta}} > \mbox{\hyperlink{e1000__defines_8h_adabb7d35bf6c9a44662a8531801d7e79}{MIN\_NUM\_XMITS}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02101}02101                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ab40ad8b6ab2fb96d4b078b2596fa1289}{in\_ifs\_mode}} = \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02102}02102                         \textcolor{keywordflow}{if} (mac-\/>\mbox{\hyperlink{structe1000__mac__info_aff409600a0d010e8a8e3f918a6538d6e}{current\_ifs\_val}} < mac-\/>\mbox{\hyperlink{structe1000__mac__info_a9bf78951b6904ec3cf56a2958665ae74}{ifs\_max\_val}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02103}02103                                 \textcolor{keywordflow}{if} (!mac-\/>\mbox{\hyperlink{structe1000__mac__info_aff409600a0d010e8a8e3f918a6538d6e}{current\_ifs\_val}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02104}02104                                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_aff409600a0d010e8a8e3f918a6538d6e}{current\_ifs\_val}} = mac-\/>\mbox{\hyperlink{structe1000__mac__info_a0b4e5050ee3e257f41aad2f53f3b3622}{ifs\_min\_val}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02105}02105                                 \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02106}02106                                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_aff409600a0d010e8a8e3f918a6538d6e}{current\_ifs\_val}} +=}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02107}02107                                                 mac-\/>\mbox{\hyperlink{structe1000__mac__info_a72318a33c0eb787ac45548fdb469b833}{ifs\_step\_size}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02108}02108                                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aebb048a1c48809105adb7b6d9ffe3414}{E1000\_AIT}},}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02109}02109                                                 mac-\/>\mbox{\hyperlink{structe1000__mac__info_aff409600a0d010e8a8e3f918a6538d6e}{current\_ifs\_val}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02110}02110                         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02111}02111                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02112}02112         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02113}02113                 \textcolor{keywordflow}{if} (mac-\/>\mbox{\hyperlink{structe1000__mac__info_ab40ad8b6ab2fb96d4b078b2596fa1289}{in\_ifs\_mode}} \&\&}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02114}02114                     (mac-\/>\mbox{\hyperlink{structe1000__mac__info_a4f00bd0be4c79792c75bc8fe92f3a125}{tx\_packet\_delta}} <= \mbox{\hyperlink{e1000__defines_8h_adabb7d35bf6c9a44662a8531801d7e79}{MIN\_NUM\_XMITS}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02115}02115                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_aff409600a0d010e8a8e3f918a6538d6e}{current\_ifs\_val}} = 0;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02116}02116                         mac-\/>\mbox{\hyperlink{structe1000__mac__info_ab40ad8b6ab2fb96d4b078b2596fa1289}{in\_ifs\_mode}} = \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02117}02117                         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_aebb048a1c48809105adb7b6d9ffe3414}{E1000\_AIT}}, 0);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02118}02118                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02119}02119         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02120}02120 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02121}02121 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02129}\mbox{\hyperlink{e1000__mac_8c_a70db6e2d9e2715260de7245af2225667}{02129}} \textcolor{keyword}{static} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a70db6e2d9e2715260de7245af2225667}{e1000\_validate\_mdi\_setting\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02130}02130 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02131}02131         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_validate\_mdi\_setting\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02132}02132 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02133}02133         \textcolor{keywordflow}{if} (!hw-\/>\mbox{\hyperlink{structe1000__hw_a6a1fb05566cea375c7ae3abdee093ad6}{mac}}.\mbox{\hyperlink{structe1000__mac__info_a29db1be99c81f08dc7f27be96a82cd3e}{autoneg}} \&\& (hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_afbc996873e6a845e53d0c1d41effa0d3}{mdix}} == 0 || hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_afbc996873e6a845e53d0c1d41effa0d3}{mdix}} == 3)) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02134}02134                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Invalid MDI setting detected\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02135}02135                 hw-\/>\mbox{\hyperlink{structe1000__hw_aea1c0d5f50dd587c46f0828fb1fe1055}{phy}}.\mbox{\hyperlink{structe1000__phy__info_afbc996873e6a845e53d0c1d41effa0d3}{mdix}} = 1;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02136}02136                 \textcolor{keywordflow}{return} -\/\mbox{\hyperlink{e1000__defines_8h_ad776e411c87eeae0b82895b3acf144ac}{E1000\_ERR\_CONFIG}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02137}02137         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02138}02138 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02139}02139         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02140}02140 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02141}02141 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02149}\mbox{\hyperlink{e1000__mac_8c_a2cba3eadb916c5df6b2a7540dcc0cd4b}{02149}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a2cba3eadb916c5df6b2a7540dcc0cd4b}{e1000\_validate\_mdi\_setting\_crossover\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\_UNUSEDARG}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02150}02150 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02151}02151         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_validate\_mdi\_setting\_crossover\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02152}02152 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02153}02153         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02154}02154 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02155}02155 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02167}\mbox{\hyperlink{e1000__mac_8c_afe5714ea7570925c711ed732cc082b92}{02167}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_afe5714ea7570925c711ed732cc082b92}{e1000\_write\_8bit\_ctrl\_reg\_generic}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw, \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} reg,}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02168}02168                                       \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} offset, \mbox{\hyperlink{e1000__osdep_8h_a92c50087ca0e64fa93fc59402c55f8ca}{u8}} data)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02169}02169 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02170}02170         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} i, regvalue = 0;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02171}02171 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02172}02172         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_write\_8bit\_ctrl\_reg\_generic"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02173}02173 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02174}02174         \textcolor{comment}{/* Set up the address and data */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02175}02175         regvalue = ((\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}})data) | (offset << \mbox{\hyperlink{e1000__defines_8h_a23f722fb3804bdd74fb1e3da52757f00}{E1000\_GEN\_CTL\_ADDRESS\_SHIFT}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02176}02176         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, reg, regvalue);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02177}02177 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02178}02178         \textcolor{comment}{/* Poll the ready bit to see if the MDI read completed */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02179}02179         \textcolor{keywordflow}{for} (i = 0; i < \mbox{\hyperlink{e1000__defines_8h_ae1e8a9604ee4a8c480300594d7196e25}{E1000\_GEN\_POLL\_TIMEOUT}}; i++) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02180}02180                 \mbox{\hyperlink{e1000__osdep_8h_a43e7beeb12e2b50153ba0f215b68bb85}{usec\_delay}}(5);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02181}02181                 regvalue = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, reg);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02182}02182                 \textcolor{keywordflow}{if} (regvalue \& \mbox{\hyperlink{e1000__defines_8h_a16e48cde63065640c4bcf0c06095f4d1}{E1000\_GEN\_CTL\_READY}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02183}02183                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02184}02184         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02185}02185         \textcolor{keywordflow}{if} (!(regvalue \& \mbox{\hyperlink{e1000__defines_8h_a16e48cde63065640c4bcf0c06095f4d1}{E1000\_GEN\_CTL\_READY}})) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02186}02186                 \mbox{\hyperlink{e1000__osdep_8h_a05001c9eb96d2f4a2ad39e927fc81cfa}{DEBUGOUT1}}(\textcolor{stringliteral}{"{}Reg \%08x did not indicate ready\(\backslash\)n"{}}, reg);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02187}02187                 \textcolor{keywordflow}{return} -\/\mbox{\hyperlink{e1000__defines_8h_a07c74865349e0dc0f182ff9f2d6a7a5c}{E1000\_ERR\_PHY}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02188}02188         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02189}02189 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02190}02190         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02191}02191 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02192}02192 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02199}\mbox{\hyperlink{e1000__mac_8c_a0c49d349a4dc3aff38bee60c7057240a}{02199}} \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__mac_8c_a0c49d349a4dc3aff38bee60c7057240a}{e1000\_get\_hw\_semaphore}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02200}02200 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02201}02201         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} swsm;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02202}02202         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} fw\_timeout = hw-\/>\mbox{\hyperlink{structe1000__hw_a7da8a8328803abd295ca8691e964c202}{nvm}}.\mbox{\hyperlink{structe1000__nvm__info_afaf26405015b9a7d05c646a1f6567f87}{word\_size}} + 1;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02203}02203         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} sw\_timeout = hw-\/>\mbox{\hyperlink{structe1000__hw_a7da8a8328803abd295ca8691e964c202}{nvm}}.\mbox{\hyperlink{structe1000__nvm__info_afaf26405015b9a7d05c646a1f6567f87}{word\_size}} + 1;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02204}02204         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} i = 0;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02205}02205         }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02206}02206         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_get\_hw\_semaphore"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02207}02207 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02208}02208         \textcolor{comment}{/* \_82571 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02209}02209         \textcolor{comment}{/* If we have timedout 3 times on trying to acquire}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02210}02210 \textcolor{comment}{         * the inter-\/port SMBI semaphore, there is old code}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02211}02211 \textcolor{comment}{         * operating on the other port, and it is not}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02212}02212 \textcolor{comment}{         * releasing SMBI. Modify the number of times that}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02213}02213 \textcolor{comment}{         * we try for the semaphore to interwork with this}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02214}02214 \textcolor{comment}{         * older code.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02215}02215 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02216}02216         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_a166f8f6e4f6988f96cc484820dacc8f7}{dev\_spec}}.\mbox{\hyperlink{structe1000__hw_a6e1965f70cf8e07385829c9f55e015da}{\_82571}}.\mbox{\hyperlink{structe1000__dev__spec__82571_ac027eadf49008cc3f01505fb50c1881b}{smb\_counter}} > 2)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02217}02217                 sw\_timeout = 1;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02218}02218 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02219}02219 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02220}02220         \textcolor{comment}{/* Get the SW semaphore */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02221}02221         \textcolor{keywordflow}{while} (i < sw\_timeout) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02222}02222                 swsm = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a72651245b64b1b4babb060962540f616}{E1000\_SWSM}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02223}02223                 \textcolor{keywordflow}{if} (!(swsm \& \mbox{\hyperlink{e1000__defines_8h_ab835a29fa9b288656c4f11f96d854d45}{E1000\_SWSM\_SMBI}}))}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02224}02224                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02225}02225 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02226}02226                 \mbox{\hyperlink{e1000__osdep_8h_a43e7beeb12e2b50153ba0f215b68bb85}{usec\_delay}}(50);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02227}02227                 i++;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02228}02228         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02229}02229 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02230}02230         \textcolor{keywordflow}{if} (i == sw\_timeout) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02231}02231                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Driver can't access device -\/ SMBI bit is set.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02232}02232                 hw-\/>\mbox{\hyperlink{structe1000__hw_a166f8f6e4f6988f96cc484820dacc8f7}{dev\_spec}}.\mbox{\hyperlink{structe1000__hw_a6e1965f70cf8e07385829c9f55e015da}{\_82571}}.\mbox{\hyperlink{structe1000__dev__spec__82571_ac027eadf49008cc3f01505fb50c1881b}{smb\_counter}}++;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02233}02233         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02234}02234 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02235}02235         \textcolor{comment}{/* In rare circumstances, the SW semaphore may already be held}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02236}02236 \textcolor{comment}{         * unintentionally. Clear the semaphore once before giving up.}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02237}02237 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02238}02238         \textcolor{keywordflow}{if} (hw-\/>\mbox{\hyperlink{structe1000__hw_a166f8f6e4f6988f96cc484820dacc8f7}{dev\_spec}}.\mbox{\hyperlink{structe1000__hw_a7af532d4c4547e17913ca42780808a16}{\_82575}}.\mbox{\hyperlink{structe1000__dev__spec__82575_a1c44289b35117596434d4c77cb030000}{clear\_semaphore\_once}}) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02239}02239                 hw-\/>\mbox{\hyperlink{structe1000__hw_a166f8f6e4f6988f96cc484820dacc8f7}{dev\_spec}}.\mbox{\hyperlink{structe1000__hw_a7af532d4c4547e17913ca42780808a16}{\_82575}}.\mbox{\hyperlink{structe1000__dev__spec__82575_a1c44289b35117596434d4c77cb030000}{clear\_semaphore\_once}} = \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02240}02240                 \mbox{\hyperlink{e1000__mac_8c_a5a144ee3eefd44419ef08bfa9cf47145}{e1000\_put\_hw\_semaphore}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02241}02241                 \textcolor{keywordflow}{for} (i = 0; i < fw\_timeout; i++) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02242}02242                         swsm = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a72651245b64b1b4babb060962540f616}{E1000\_SWSM}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02243}02243                         \textcolor{keywordflow}{if} (!(swsm \& \mbox{\hyperlink{e1000__defines_8h_ab835a29fa9b288656c4f11f96d854d45}{E1000\_SWSM\_SMBI}}))}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02244}02244                                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02245}02245 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02246}02246                         \mbox{\hyperlink{e1000__osdep_8h_a43e7beeb12e2b50153ba0f215b68bb85}{usec\_delay}}(50);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02247}02247                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02248}02248          \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02249}02249 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02250}02250         \textcolor{comment}{/* Get the FW semaphore. */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02251}02251         \textcolor{keywordflow}{for} (i = 0; i < fw\_timeout; i++) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02252}02252                 swsm = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a72651245b64b1b4babb060962540f616}{E1000\_SWSM}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02253}02253                 \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a72651245b64b1b4babb060962540f616}{E1000\_SWSM}}, swsm | \mbox{\hyperlink{e1000__defines_8h_ad881b81f8191aa597adc21b3cfbbcd48}{E1000\_SWSM\_SWESMBI}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02254}02254 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02255}02255                 \textcolor{comment}{/* Semaphore acquired if bit latched */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02256}02256                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a72651245b64b1b4babb060962540f616}{E1000\_SWSM}}) \& \mbox{\hyperlink{e1000__defines_8h_ad881b81f8191aa597adc21b3cfbbcd48}{E1000\_SWSM\_SWESMBI}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02257}02257                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02258}02258 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02259}02259                 \mbox{\hyperlink{e1000__osdep_8h_a43e7beeb12e2b50153ba0f215b68bb85}{usec\_delay}}(50);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02260}02260         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02261}02261 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02262}02262         \textcolor{keywordflow}{if} (i == fw\_timeout) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02263}02263                 \textcolor{comment}{/* Release semaphores */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02264}02264                 \mbox{\hyperlink{e1000__mac_8c_a5a144ee3eefd44419ef08bfa9cf47145}{e1000\_put\_hw\_semaphore}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02265}02265                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Driver can't access the NVM\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02266}02266                 \textcolor{keywordflow}{return} -\/\mbox{\hyperlink{e1000__defines_8h_af3a521f3b56094a2f9019e0aa48ada4a}{E1000\_ERR\_NVM}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02267}02267         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02268}02268 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02269}02269         \textcolor{keywordflow}{return} \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02270}02270 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02271}02271 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02278}\mbox{\hyperlink{e1000__mac_8c_a5a144ee3eefd44419ef08bfa9cf47145}{02278}} \textcolor{keywordtype}{void} \mbox{\hyperlink{e1000__mac_8c_a5a144ee3eefd44419ef08bfa9cf47145}{e1000\_put\_hw\_semaphore}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02279}02279 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02280}02280         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} swsm;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02281}02281 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02282}02282         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_put\_hw\_semaphore"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02283}02283 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02284}02284         swsm = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a72651245b64b1b4babb060962540f616}{E1000\_SWSM}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02285}02285 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02286}02286         swsm \&= \string~(\mbox{\hyperlink{e1000__defines_8h_ab835a29fa9b288656c4f11f96d854d45}{E1000\_SWSM\_SMBI}} | \mbox{\hyperlink{e1000__defines_8h_ad881b81f8191aa597adc21b3cfbbcd48}{E1000\_SWSM\_SWESMBI}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02287}02287 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02288}02288         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_a72651245b64b1b4babb060962540f616}{E1000\_SWSM}}, swsm);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02289}02289 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02290}02290 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02291}02291 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02300}02300 \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02301}\mbox{\hyperlink{e1000__mac_8c_a551b6d4df1d075d51d72c1696c7ba32f}{02301}} \mbox{\hyperlink{e1000__mac_8c_a551b6d4df1d075d51d72c1696c7ba32f}{e1000\_acquire\_swfw\_sync}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} mask)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02302}02302 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02303}02303         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} swfw\_sync;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02304}02304         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} swmask = mask;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02305}02305         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} fwmask = mask << 16;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02306}02306         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} ret\_val = \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02307}02307         \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} i = 0, timeout = 200;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02308}02308 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02309}02309         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_acquire\_swfw\_sync"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02310}02310         \mbox{\hyperlink{e1000__osdep_8h_ab9f3e268d3f25535afa0d714b78eb36e}{ASSERT\_NO\_LOCKS}}();}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02311}02311         \textcolor{keywordflow}{while} (i < timeout) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02312}02312                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{e1000__mac_8c_a0c49d349a4dc3aff38bee60c7057240a}{e1000\_get\_hw\_semaphore}}(hw)) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02313}02313                         ret\_val = -\/\mbox{\hyperlink{e1000__defines_8h_aa83850ca0ab5049e33137d3b203ea7e0}{E1000\_ERR\_SWFW\_SYNC}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02314}02314                         \textcolor{keywordflow}{goto} out;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02315}02315                 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02316}02316 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02317}02317                 swfw\_sync = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_afa085574c314009e65d20174e94c6d6b}{E1000\_SW\_FW\_SYNC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02318}02318                 \textcolor{keywordflow}{if} (!(swfw\_sync \& (fwmask | swmask)))}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02319}02319                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02320}02320 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02321}02321                 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02322}02322 \textcolor{comment}{                 * Firmware currently using resource (fwmask)}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02323}02323 \textcolor{comment}{                 * or other software thread using resource (swmask)}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02324}02324 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02325}02325                 \mbox{\hyperlink{e1000__mac_8c_a5a144ee3eefd44419ef08bfa9cf47145}{e1000\_put\_hw\_semaphore}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02326}02326                 \mbox{\hyperlink{e1000__osdep_8h_ad5dd14fbe9f78d277f9b81265a60fb9a}{msec\_delay\_irq}}(5);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02327}02327                 i++;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02328}02328         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02329}02329 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02330}02330         \textcolor{keywordflow}{if} (i == timeout) \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02331}02331                 \mbox{\hyperlink{e1000__osdep_8h_acf358ee75cab3e9eb271e46bf983aaff}{DEBUGOUT}}(\textcolor{stringliteral}{"{}Driver can't access resource, SW\_FW\_SYNC timeout.\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02332}02332                 ret\_val = -\/\mbox{\hyperlink{e1000__defines_8h_aa83850ca0ab5049e33137d3b203ea7e0}{E1000\_ERR\_SWFW\_SYNC}};}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02333}02333                 \textcolor{keywordflow}{goto} out;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02334}02334         \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02335}02335 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02336}02336         swfw\_sync |= swmask;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02337}02337         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_afa085574c314009e65d20174e94c6d6b}{E1000\_SW\_FW\_SYNC}}, swfw\_sync);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02338}02338 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02339}02339         \mbox{\hyperlink{e1000__mac_8c_a5a144ee3eefd44419ef08bfa9cf47145}{e1000\_put\_hw\_semaphore}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02340}02340 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02341}02341 out:}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02342}02342         \textcolor{keywordflow}{return} ret\_val;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02343}02343 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02344}02344 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02353}02353 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02354}\mbox{\hyperlink{e1000__mac_8c_a951267e88e433effb00c59aa802af4d6}{02354}} \mbox{\hyperlink{e1000__mac_8c_a951267e88e433effb00c59aa802af4d6}{e1000\_release\_swfw\_sync}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structe1000__hw}{e1000\_hw}} *hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} mask)}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02355}02355 \{}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02356}02356         \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} swfw\_sync;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02357}02357 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02358}02358         \mbox{\hyperlink{e1000__osdep_8h_aa7aa4601bde10555b6aa50cd14dba16d}{DEBUGFUNC}}(\textcolor{stringliteral}{"{}e1000\_release\_swfw\_sync"{}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02359}02359 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02360}02360         \textcolor{keywordflow}{while} (\mbox{\hyperlink{e1000__mac_8c_a0c49d349a4dc3aff38bee60c7057240a}{e1000\_get\_hw\_semaphore}}(hw) != \mbox{\hyperlink{e1000__defines_8h_ade686b442ce8b2b1dede6968fec28c10}{E1000\_SUCCESS}})}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02361}02361                 ; \textcolor{comment}{/* Empty */}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02362}02362 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02363}02363         swfw\_sync = \mbox{\hyperlink{e1000__osdep_8h_adf44652e7ae409a70af12a085510c0b0}{E1000\_READ\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_afa085574c314009e65d20174e94c6d6b}{E1000\_SW\_FW\_SYNC}});}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02364}02364         swfw\_sync \&= (\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}})\string~mask;}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02365}02365         \mbox{\hyperlink{e1000__osdep_8h_ac145012091e766065f03f1caf81dda69}{E1000\_WRITE\_REG}}(hw, \mbox{\hyperlink{e1000__regs_8h_afa085574c314009e65d20174e94c6d6b}{E1000\_SW\_FW\_SYNC}}, swfw\_sync);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02366}02366 }
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02367}02367         \mbox{\hyperlink{e1000__mac_8c_a5a144ee3eefd44419ef08bfa9cf47145}{e1000\_put\_hw\_semaphore}}(hw);}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02368}02368 \}}
\DoxyCodeLine{\Hypertarget{e1000__mac_8c_source_l02369}02369 }

\end{DoxyCode}
