\hypertarget{if__rtwnreg_8h_source}{}\doxysection{if\+\_\+rtwnreg.\+h}
\label{if__rtwnreg_8h_source}\index{dev/rtwn/if\_rtwnreg.h@{dev/rtwn/if\_rtwnreg.h}}
\mbox{\hyperlink{if__rtwnreg_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00001}\mbox{\hyperlink{if__rtwnreg_8h_a4c2c14e8302fed80b98be1b244eed710}{00001}} \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00002}\mbox{\hyperlink{if__rtwnreg_8h_a198c8d5b6ad83eada06a2b2d88ae6376}{00002}} \textcolor{comment}{ * Copyright (c) 2010 Damien Bergamini <damien.bergamini@free.fr>}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00003}\mbox{\hyperlink{if__rtwnreg_8h_a1145cf295b358219b542ca3b38cca57e}{00003}} \textcolor{comment}{ * Copyright (c) 2016 Andriy Voskoboinyk <avos@FreeBSD.org>}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00004}\mbox{\hyperlink{if__rtwnreg_8h_a38834bf4bf43c7e9e52e528627ef8485}{00004}} \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00005}\mbox{\hyperlink{if__rtwnreg_8h_a4678ad194db8efe5bee85ee473e27142}{00005}} \textcolor{comment}{ * Permission to use, copy, modify, and distribute this software for any}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00006}\mbox{\hyperlink{if__rtwnreg_8h_a2c07ce3cae7404c98451d40f1d70eb2d}{00006}} \textcolor{comment}{ * purpose with or without fee is hereby granted, provided that the above}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00007}\mbox{\hyperlink{if__rtwnreg_8h_a743a97ecc76a5e52b17619e0683afdf5}{00007}} \textcolor{comment}{ * copyright notice and this permission notice appear in all copies.}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00008}\mbox{\hyperlink{if__rtwnreg_8h_a2216f1bfaa2030698b9dc77e98cf54d6}{00008}} \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00009}\mbox{\hyperlink{if__rtwnreg_8h_abe35fb96af3cc340a26a0d1e499d6263}{00009}} \textcolor{comment}{ * THE SOFTWARE IS PROVIDED "{}AS IS"{} AND THE AUTHOR DISCLAIMS ALL WARRANTIES}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00010}\mbox{\hyperlink{if__rtwnreg_8h_a6f58f7a92318b1aedcdd30e54045761f}{00010}} \textcolor{comment}{ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00011}\mbox{\hyperlink{if__rtwnreg_8h_ad92f638353a91282df06c0830353825f}{00011}} \textcolor{comment}{ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00012}\mbox{\hyperlink{if__rtwnreg_8h_a6ea394f34feaf5d82f89b8886940a57c}{00012}} \textcolor{comment}{ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00013}\mbox{\hyperlink{if__rtwnreg_8h_ac7657c6dc7c630c657a1b01269522137}{00013}} \textcolor{comment}{ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00014}\mbox{\hyperlink{if__rtwnreg_8h_a580530edeb2c6a08ca9f43e25b9e2ec5}{00014}} \textcolor{comment}{ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00015}\mbox{\hyperlink{if__rtwnreg_8h_a463161c4c764f4fa2d46d63c47115937}{00015}} \textcolor{comment}{ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00016}\mbox{\hyperlink{if__rtwnreg_8h_a250bba962a6d32dccc3a72453d3ff4e8}{00016}} \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00017}\mbox{\hyperlink{uniontxdw7__shared_ac113a1c34be04123fe4fc40d5ef7bd5f}{00017}} \textcolor{comment}{ * \$OpenBSD: if\_urtwnreg.h,v 1.3 2010/11/16 18:02:59 damien Exp \$}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00018}\mbox{\hyperlink{uniontxdw7__shared_a191d4692a59a95b9fc2fe20209c5df97}{00018}} \textcolor{comment}{ * \$FreeBSD\$}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00019}\mbox{\hyperlink{if__rtwnreg_8h_a3b39b5fd6ba388a5267b62e131d055fd}{00019}} \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00020}\mbox{\hyperlink{if__rtwnreg_8h_a8a6085a85c4367ebe482506732e04a67}{00020}} }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00021}\mbox{\hyperlink{if__rtwnreg_8h_ad36f73890c706e59705f0c6e0979111a}{00021}} \textcolor{preprocessor}{\#ifndef IF\_RTWNREG\_H}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00022}\mbox{\hyperlink{if__rtwnreg_8h_a84ed974b6b063c77a4bd0001724a7753}{00022}} \textcolor{preprocessor}{\#define IF\_RTWNREG\_H}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00023}00023 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00024}\mbox{\hyperlink{if__rtwnreg_8h_a39910a3908dce8d44d7890a48bdf6beb}{00024}} \textcolor{preprocessor}{\#define R92C\_MIN\_TX\_PWR         0x00}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00025}\mbox{\hyperlink{if__rtwnreg_8h_ad9792cf62235c8df676b3f1f6059904e}{00025}} \textcolor{preprocessor}{\#define R92C\_MAX\_TX\_PWR         0x3f}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00026}\mbox{\hyperlink{if__rtwnreg_8h_ab0115482e88f1edad16f8ede2711c739}{00026}} }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00027}\mbox{\hyperlink{if__rtwnreg_8h_ac7ef18688bd2600b512c0896932ae798}{00027}} \textcolor{preprocessor}{\#define R92C\_H2C\_NBOX           4}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00028}\mbox{\hyperlink{if__rtwnreg_8h_aa76cb651fa258611cb5ad45b02d78a81}{00028}} }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00029}00029 \textcolor{comment}{/* Common part of Tx descriptor (named only!). */}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00030}\mbox{\hyperlink{if__rtwnreg_8h_af0686c676dda89dce8dedba59460a703}{00030}} \textcolor{keyword}{struct }\mbox{\hyperlink{structrtwn__tx__desc__common}{rtwn\_tx\_desc\_common}} \{}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00031}\mbox{\hyperlink{structrtwn__tx__desc__common_aaead29a0c94ccdcd0fac33f7883f426f}{00031}}         uint16\_t        \mbox{\hyperlink{structrtwn__tx__desc__common_aaead29a0c94ccdcd0fac33f7883f426f}{pktlen}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00032}\mbox{\hyperlink{structrtwn__tx__desc__common_afebd7c2cc357ecac598d3f3774174830}{00032}}         uint8\_t         \mbox{\hyperlink{structrtwn__tx__desc__common_afebd7c2cc357ecac598d3f3774174830}{offset}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00033}\mbox{\hyperlink{structrtwn__tx__desc__common_aa368a1441de2e37856300ef97f5f6b44}{00033}}         uint8\_t         \mbox{\hyperlink{structrtwn__tx__desc__common_aa368a1441de2e37856300ef97f5f6b44}{flags0}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00034}00034 \textcolor{preprocessor}{\#define RTWN\_FLAGS0\_OWN 0x80}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00035}00035 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00036}\mbox{\hyperlink{structrtwn__tx__desc__common_a27a61707c780925414b2bdf1964b3163}{00036}}         uint32\_t        \mbox{\hyperlink{structrtwn__tx__desc__common_a27a61707c780925414b2bdf1964b3163}{txdw1}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00037}00037 \textcolor{comment}{/* NB: qsel is shared too; however, it looks better at the lower level */}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00038}00038 \textcolor{preprocessor}{\#define RTWN\_TXDW1\_CIPHER\_M     0x00c00000}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00039}00039 \textcolor{preprocessor}{\#define RTWN\_TXDW1\_CIPHER\_S     22}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00040}00040 \textcolor{preprocessor}{\#define RTWN\_TXDW1\_CIPHER\_NONE  0}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00041}00041 \textcolor{preprocessor}{\#define RTWN\_TXDW1\_CIPHER\_RC4   1}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00042}00042 \textcolor{preprocessor}{\#define RTWN\_TXDW1\_CIPHER\_SM4   2}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00043}00043 \textcolor{preprocessor}{\#define RTWN\_TXDW1\_CIPHER\_AES   3}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00044}00044 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00045}\mbox{\hyperlink{structrtwn__tx__desc__common_aa21ab8a789c6446d2822330ba6e407e5}{00045}}         uint32\_t        \mbox{\hyperlink{structrtwn__tx__desc__common_aa21ab8a789c6446d2822330ba6e407e5}{reserved}}[5];}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00046}00046 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00047}\mbox{\hyperlink{unionrtwn__tx__desc__common_1_1txdw7__shared}{00047}}         \textcolor{keyword}{union }\mbox{\hyperlink{unionrtwn__tx__desc__common_1_1txdw7__shared}{txdw7\_shared}} \{}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00048}\mbox{\hyperlink{unionrtwn__tx__desc__common_1_1txdw7__shared_aba61c4d0b374c256ecc8f79cc0b8abc1}{00048}}                 uint16\_t        \mbox{\hyperlink{unionrtwn__tx__desc__common_1_1txdw7__shared_aba61c4d0b374c256ecc8f79cc0b8abc1}{usb\_checksum}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00049}\mbox{\hyperlink{unionrtwn__tx__desc__common_1_1txdw7__shared_a660cc31f5648d3d8b2d9b09957c64a28}{00049}}                 uint16\_t        \mbox{\hyperlink{unionrtwn__tx__desc__common_1_1txdw7__shared_a660cc31f5648d3d8b2d9b09957c64a28}{pci\_txbufsize}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00050}\mbox{\hyperlink{structrtwn__tx__desc__common_a667e734e5b9a8af09b0ee2570c68fcd8}{00050}}         \} \mbox{\hyperlink{structrtwn__tx__desc__common_a667e734e5b9a8af09b0ee2570c68fcd8}{txdw7}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00051}00051 \} \mbox{\hyperlink{if__rtwn__fw_8h_ac91cde0f365c950fd77e3ecc842173f9}{\_\_packed}} \mbox{\hyperlink{if__rtwnreg_8h_a058933b44a4d3b1d99cd406f429d0e09}{\_\_attribute\_\_}}((aligned(4)));}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00052}00052 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00053}00053 \textcolor{comment}{/* Common part of Rx descriptor. */}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00054}\mbox{\hyperlink{structrtwn__rx__stat__common}{00054}} \textcolor{keyword}{struct }\mbox{\hyperlink{structrtwn__rx__stat__common}{rtwn\_rx\_stat\_common}} \{}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00055}\mbox{\hyperlink{structrtwn__rx__stat__common_a25e63bfc2d1895b8f789b6c9c4a9638d}{00055}}         uint32\_t        \mbox{\hyperlink{structrtwn__rx__stat__common_a25e63bfc2d1895b8f789b6c9c4a9638d}{rxdw0}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00056}00056 \textcolor{preprocessor}{\#define RTWN\_RXDW0\_PKTLEN\_M     0x00003fff}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00057}00057 \textcolor{preprocessor}{\#define RTWN\_RXDW0\_PKTLEN\_S     0}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00058}00058 \textcolor{preprocessor}{\#define RTWN\_RXDW0\_CRCERR       0x00004000}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00059}00059 \textcolor{preprocessor}{\#define RTWN\_RXDW0\_ICVERR       0x00008000}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00060}00060 \textcolor{preprocessor}{\#define RTWN\_RXDW0\_INFOSZ\_M     0x000f0000}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00061}00061 \textcolor{preprocessor}{\#define RTWN\_RXDW0\_INFOSZ\_S     16}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00062}00062 \textcolor{preprocessor}{\#define RTWN\_RXDW0\_CIPHER\_M     0x00700000}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00063}00063 \textcolor{preprocessor}{\#define RTWN\_RXDW0\_CIPHER\_S     20}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00064}00064 \textcolor{preprocessor}{\#define RTWN\_RXDW0\_QOS          0x00800000}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00065}00065 \textcolor{preprocessor}{\#define RTWN\_RXDW0\_SHIFT\_M      0x03000000}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00066}00066 \textcolor{preprocessor}{\#define RTWN\_RXDW0\_SHIFT\_S      24}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00067}00067 \textcolor{preprocessor}{\#define RTWN\_RXDW0\_PHYST        0x04000000}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00068}00068 \textcolor{preprocessor}{\#define RTWN\_RXDW0\_SWDEC        0x08000000}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00069}00069 \textcolor{preprocessor}{\#define RTWN\_RXDW0\_LS           0x10000000}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00070}00070 \textcolor{preprocessor}{\#define RTWN\_RXDW0\_FS           0x20000000}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00071}00071 \textcolor{preprocessor}{\#define RTWN\_RXDW0\_EOR          0x40000000}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00072}00072 \textcolor{preprocessor}{\#define RTWN\_RXDW0\_OWN          0x80000000}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00073}00073 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00074}\mbox{\hyperlink{structrtwn__rx__stat__common_a3df036eb383c2b1fe14c16e3cd8ee4fd}{00074}}         uint32\_t        \mbox{\hyperlink{structrtwn__rx__stat__common_a3df036eb383c2b1fe14c16e3cd8ee4fd}{rxdw1}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00075}00075 \textcolor{preprocessor}{\#define RTWN\_RXDW1\_AMSDU        0x00002000}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00076}00076 \textcolor{preprocessor}{\#define RTWN\_RXDW1\_MC           0x40000000}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00077}00077 \textcolor{preprocessor}{\#define RTWN\_RXDW1\_BC           0x80000000}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00078}00078 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00079}\mbox{\hyperlink{structrtwn__rx__stat__common_a009a7670adcb5a523dbee0da0e21a2ab}{00079}}         uint32\_t        \mbox{\hyperlink{structrtwn__rx__stat__common_a009a7670adcb5a523dbee0da0e21a2ab}{rxdw2}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00080}\mbox{\hyperlink{structrtwn__rx__stat__common_ad7c3591b15fad460a38027dea6a6e05b}{00080}}         uint32\_t        \mbox{\hyperlink{structrtwn__rx__stat__common_ad7c3591b15fad460a38027dea6a6e05b}{rxdw3}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00081}00081 \textcolor{preprocessor}{\#define RTWN\_RXDW3\_HTC          0x00000400}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00082}00082 \textcolor{preprocessor}{\#define RTWN\_RXDW3\_BSSID01\_FIT\_M 0x00003000}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00083}00083 \textcolor{preprocessor}{\#define RTWN\_RXDW3\_BSSID01\_FIT\_S 12}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00084}00084 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00085}\mbox{\hyperlink{structrtwn__rx__stat__common_acfeec9cf0210c35d92039e82dcaf7bfe}{00085}}         uint32\_t        \mbox{\hyperlink{structrtwn__rx__stat__common_acfeec9cf0210c35d92039e82dcaf7bfe}{rxdw4}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00086}\mbox{\hyperlink{structrtwn__rx__stat__common_abdcd80875fcab178f8a2bbc7615f381a}{00086}}         uint32\_t        \mbox{\hyperlink{structrtwn__rx__stat__common_abdcd80875fcab178f8a2bbc7615f381a}{tsf\_low}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00087}00087 \} \mbox{\hyperlink{if__rtwn__fw_8h_ac91cde0f365c950fd77e3ecc842173f9}{\_\_packed}} \mbox{\hyperlink{if__rtwnreg_8h_a058933b44a4d3b1d99cd406f429d0e09}{\_\_attribute\_\_}}((aligned(4)));}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00088}00088 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00089}00089 \textcolor{comment}{/* Rx descriptor for PCIe devices. */}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00090}\mbox{\hyperlink{structrtwn__rx__stat__pci}{00090}} \textcolor{keyword}{struct }\mbox{\hyperlink{structrtwn__rx__stat__pci}{rtwn\_rx\_stat\_pci}} \{}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00091}\mbox{\hyperlink{structrtwn__rx__stat__pci_a21c66649ec17dcba12030a38e27cd7d8}{00091}}         uint32\_t        \mbox{\hyperlink{structrtwn__rx__stat__pci_a21c66649ec17dcba12030a38e27cd7d8}{rxdw0}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00092}\mbox{\hyperlink{structrtwn__rx__stat__pci_a29f5216dff96d5a3bf365dc608f09830}{00092}}         uint32\_t        \mbox{\hyperlink{structrtwn__rx__stat__pci_a29f5216dff96d5a3bf365dc608f09830}{rxdw1}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00093}\mbox{\hyperlink{structrtwn__rx__stat__pci_afdddec4b0da18690e7afe95634719c02}{00093}}         uint32\_t        \mbox{\hyperlink{structrtwn__rx__stat__pci_afdddec4b0da18690e7afe95634719c02}{rxdw2}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00094}\mbox{\hyperlink{structrtwn__rx__stat__pci_a11d3048f43bd0e23a7af73d04117d54b}{00094}}         uint32\_t        \mbox{\hyperlink{structrtwn__rx__stat__pci_a11d3048f43bd0e23a7af73d04117d54b}{rxdw3}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00095}\mbox{\hyperlink{structrtwn__rx__stat__pci_a8b684a403e063037cdac830d9e6529d3}{00095}}         uint32\_t        \mbox{\hyperlink{structrtwn__rx__stat__pci_a8b684a403e063037cdac830d9e6529d3}{rxdw4}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00096}\mbox{\hyperlink{structrtwn__rx__stat__pci_a8e587d3bae93b8c33087321b7f049edf}{00096}}         uint32\_t        \mbox{\hyperlink{structrtwn__rx__stat__pci_a8e587d3bae93b8c33087321b7f049edf}{tsf\_low}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00097}00097 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00098}\mbox{\hyperlink{structrtwn__rx__stat__pci_a9d7ec891c5a0102c1813b4fc65ba588e}{00098}}         uint32\_t        \mbox{\hyperlink{structrtwn__rx__stat__pci_a9d7ec891c5a0102c1813b4fc65ba588e}{rxbufaddr}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00099}\mbox{\hyperlink{structrtwn__rx__stat__pci_af72ea5c114f8220b874a3900e6c63322}{00099}}         uint32\_t        \mbox{\hyperlink{structrtwn__rx__stat__pci_af72ea5c114f8220b874a3900e6c63322}{rxbufaddr64}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00100}00100 \} \mbox{\hyperlink{if__rtwn__fw_8h_ac91cde0f365c950fd77e3ecc842173f9}{\_\_packed}} \mbox{\hyperlink{if__rtwnreg_8h_a058933b44a4d3b1d99cd406f429d0e09}{\_\_attribute\_\_}}((aligned(4)));}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00101}00101 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00102}00102 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00103}00103 \textcolor{comment}{ * Macros to access subfields in registers.}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00104}00104 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00105}00105 \textcolor{comment}{/* Mask and Shift (getter). */}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00106}\mbox{\hyperlink{if__rtwnreg_8h_aa1f710025311c0169fbc5b1296d914b6}{00106}} \textcolor{preprocessor}{\#define MS(val, field)                                                  \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00107}00107 \textcolor{preprocessor}{        (((val) \& field\#\#\_M) >> field\#\#\_S)}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00108}00108 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00109}00109 \textcolor{comment}{/* Shift and Mask (setter). */}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00110}\mbox{\hyperlink{if__rtwnreg_8h_a14155179e01608510206b9cdf4790068}{00110}} \textcolor{preprocessor}{\#define SM(field, val)                                                  \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00111}00111 \textcolor{preprocessor}{        (((val) << field\#\#\_S) \& field\#\#\_M)}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00112}00112 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00113}00113 \textcolor{comment}{/* Rewrite. */}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00114}\mbox{\hyperlink{if__rtwnreg_8h_a7d2f5f047243331054cff9dae1a1af31}{00114}} \textcolor{preprocessor}{\#define RW(var, field, val)                                             \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00115}00115 \textcolor{preprocessor}{        (((var) \& \string~field\#\#\_M) | SM(field, val))}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00116}00116 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00117}\mbox{\hyperlink{if__rtwnreg_8h_a6a5da0f444077c3437d294730dd71237}{00117}} \textcolor{preprocessor}{\#define RTWN\_MAX\_CONDITIONS     3}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00118}00118 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00119}00119 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00120}00120 \textcolor{comment}{ * Structure for MAC initialization values.}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00121}00121 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00122}\mbox{\hyperlink{structrtwn__mac__prog}{00122}} \textcolor{keyword}{struct }\mbox{\hyperlink{structrtwn__mac__prog}{rtwn\_mac\_prog}} \{}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00123}\mbox{\hyperlink{structrtwn__mac__prog_a9efb1c5aad963c64cd5bc2df1b8040b4}{00123}}         uint16\_t        \mbox{\hyperlink{structrtwn__mac__prog_a9efb1c5aad963c64cd5bc2df1b8040b4}{reg}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00124}\mbox{\hyperlink{structrtwn__mac__prog_ad352af18d9b30feefb2b439773e9e9f8}{00124}}         uint8\_t         \mbox{\hyperlink{structrtwn__mac__prog_ad352af18d9b30feefb2b439773e9e9f8}{val}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00125}\mbox{\hyperlink{if__rtwnreg_8h_a058933b44a4d3b1d99cd406f429d0e09}{00125}} \};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00126}00126 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00127}00127 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00128}00128 \textcolor{comment}{ * Structure for baseband initialization values.}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00129}00129 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00130}\mbox{\hyperlink{structrtwn__bb__prog}{00130}} \textcolor{keyword}{struct }\mbox{\hyperlink{structrtwn__bb__prog}{rtwn\_bb\_prog}} \{}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00131}\mbox{\hyperlink{structrtwn__bb__prog_a6565dd441723450eb4cb47add2f65098}{00131}}         \textcolor{keywordtype}{int}             \mbox{\hyperlink{structrtwn__bb__prog_a6565dd441723450eb4cb47add2f65098}{count}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00132}\mbox{\hyperlink{structrtwn__bb__prog_a4616d98715bcb495f4e6f79fc0272fbf}{00132}}         \textcolor{keyword}{const} uint16\_t  *\mbox{\hyperlink{structrtwn__bb__prog_a4616d98715bcb495f4e6f79fc0272fbf}{reg}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00133}\mbox{\hyperlink{structrtwn__bb__prog_a966910da5281eea8041a612cd55f692c}{00133}}         \textcolor{keyword}{const} uint32\_t  *\mbox{\hyperlink{structrtwn__bb__prog_a966910da5281eea8041a612cd55f692c}{val}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00134}\mbox{\hyperlink{structrtwn__bb__prog_a1063b96a9c5ed0974f082880a60966a1}{00134}}         \textcolor{keyword}{const} uint8\_t   \mbox{\hyperlink{structrtwn__bb__prog_a1063b96a9c5ed0974f082880a60966a1}{cond}}[\mbox{\hyperlink{if__rtwnreg_8h_a6a5da0f444077c3437d294730dd71237}{RTWN\_MAX\_CONDITIONS}}];}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00135}\mbox{\hyperlink{structrtwn__bb__prog_a08b5eac7f0b442b83647a0f24dfa7d62}{00135}}         \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structrtwn__bb__prog}{rtwn\_bb\_prog}} *\mbox{\hyperlink{structrtwn__bb__prog_a08b5eac7f0b442b83647a0f24dfa7d62}{next}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00136}00136 \};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00137}00137 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00138}\mbox{\hyperlink{structrtwn__agc__prog}{00138}} \textcolor{keyword}{struct }\mbox{\hyperlink{structrtwn__agc__prog}{rtwn\_agc\_prog}} \{}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00139}\mbox{\hyperlink{structrtwn__agc__prog_ac5f12483778a0e556f83c623486b7a8f}{00139}}         \textcolor{keywordtype}{int}             \mbox{\hyperlink{structrtwn__agc__prog_ac5f12483778a0e556f83c623486b7a8f}{count}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00140}\mbox{\hyperlink{structrtwn__agc__prog_a7c8ea248f3c9db047130d461f9523201}{00140}}         \textcolor{keyword}{const} uint32\_t  *\mbox{\hyperlink{structrtwn__agc__prog_a7c8ea248f3c9db047130d461f9523201}{val}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00141}\mbox{\hyperlink{structrtwn__agc__prog_a4f285efee02d6d7f6c6733d97c5f91be}{00141}}         \textcolor{keyword}{const} uint8\_t   \mbox{\hyperlink{structrtwn__agc__prog_a4f285efee02d6d7f6c6733d97c5f91be}{cond}}[\mbox{\hyperlink{if__rtwnreg_8h_a6a5da0f444077c3437d294730dd71237}{RTWN\_MAX\_CONDITIONS}}];}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00142}\mbox{\hyperlink{structrtwn__agc__prog_ad2eb44e76e04aa5e3d4bad253ce7ad5a}{00142}}         \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structrtwn__agc__prog}{rtwn\_agc\_prog}} *\mbox{\hyperlink{structrtwn__agc__prog_ad2eb44e76e04aa5e3d4bad253ce7ad5a}{next}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00143}00143 \};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00144}00144 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00145}00145 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00146}00146 \textcolor{comment}{ * Structure for RF initialization values.}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00147}00147 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00148}\mbox{\hyperlink{structrtwn__rf__prog}{00148}} \textcolor{keyword}{struct }\mbox{\hyperlink{structrtwn__rf__prog}{rtwn\_rf\_prog}} \{}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00149}\mbox{\hyperlink{structrtwn__rf__prog_a528aa5ec3d2b4d3919d3261895668905}{00149}}         \textcolor{keywordtype}{int}             \mbox{\hyperlink{structrtwn__rf__prog_a528aa5ec3d2b4d3919d3261895668905}{count}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00150}\mbox{\hyperlink{structrtwn__rf__prog_ab97b5fbebf613179bc19700d8436cbf4}{00150}}         \textcolor{keyword}{const} uint8\_t   *\mbox{\hyperlink{structrtwn__rf__prog_ab97b5fbebf613179bc19700d8436cbf4}{reg}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00151}\mbox{\hyperlink{structrtwn__rf__prog_a2a4d3319360207973bd78e4242bcd969}{00151}}         \textcolor{keyword}{const} uint32\_t  *\mbox{\hyperlink{structrtwn__rf__prog_a2a4d3319360207973bd78e4242bcd969}{val}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00152}\mbox{\hyperlink{structrtwn__rf__prog_a170b800c0b0e4d65549fcae930b1b4c8}{00152}}         \textcolor{keyword}{const} uint8\_t   \mbox{\hyperlink{structrtwn__rf__prog_a170b800c0b0e4d65549fcae930b1b4c8}{cond}}[\mbox{\hyperlink{if__rtwnreg_8h_a6a5da0f444077c3437d294730dd71237}{RTWN\_MAX\_CONDITIONS}}];}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00153}\mbox{\hyperlink{structrtwn__rf__prog_abee8f2b5a79acf77c94fc5038347c4bf}{00153}}         \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structrtwn__rf__prog}{rtwn\_rf\_prog}} *\mbox{\hyperlink{structrtwn__rf__prog_abee8f2b5a79acf77c94fc5038347c4bf}{next}};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00154}00154 \};}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00155}00155 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00156}00156 \textcolor{comment}{/* XXX move to net80211. */}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00157}00157 \textcolor{keyword}{static} \_\_inline \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00158}\mbox{\hyperlink{if__rtwnreg_8h_a36e2886f34cd16c391e4a77a481d7e61}{00158}} \mbox{\hyperlink{if__rtwnreg_8h_a36e2886f34cd16c391e4a77a481d7e61}{rtwn\_chan2centieee}}(\textcolor{keyword}{const} \textcolor{keyword}{struct} ieee80211\_channel *c)}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00159}00159 \{}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00160}00160         \textcolor{keywordtype}{int} chan;}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00161}00161 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00162}00162         chan = c-\/>ic\_ieee;}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00163}00163         \textcolor{keywordflow}{if} (c-\/>ic\_extieee != 0)}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00164}00164                 chan = (chan + c-\/>ic\_extieee) / 2;}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00165}00165 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00166}00166         \textcolor{keywordflow}{return} (chan);}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00167}00167 \}}
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00168}00168 }
\DoxyCodeLine{\Hypertarget{if__rtwnreg_8h_source_l00169}00169 \textcolor{preprocessor}{\#endif  }\textcolor{comment}{/* IF\_RTWNREG\_H */}\textcolor{preprocessor}{}}

\end{DoxyCode}
