\hypertarget{rtwn__pci__tx_8c}{}\doxysection{dev/rtwn/pci/rtwn\+\_\+pci\+\_\+tx.c File Reference}
\label{rtwn__pci__tx_8c}\index{dev/rtwn/pci/rtwn\_pci\_tx.c@{dev/rtwn/pci/rtwn\_pci\_tx.c}}
{\ttfamily \#include $<$sys/cdefs.\+h$>$}\newline
{\ttfamily \#include \char`\"{}opt\+\_\+wlan.\+h\char`\"{}}\newline
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/lock.\+h$>$}\newline
{\ttfamily \#include $<$sys/mutex.\+h$>$}\newline
{\ttfamily \#include $<$sys/mbuf.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/socket.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/queue.\+h$>$}\newline
{\ttfamily \#include $<$sys/taskqueue.\+h$>$}\newline
{\ttfamily \#include $<$sys/bus.\+h$>$}\newline
{\ttfamily \#include $<$sys/endian.\+h$>$}\newline
{\ttfamily \#include $<$machine/bus.\+h$>$}\newline
{\ttfamily \#include $<$machine/resource.\+h$>$}\newline
{\ttfamily \#include $<$sys/rman.\+h$>$}\newline
{\ttfamily \#include $<$net/if.\+h$>$}\newline
{\ttfamily \#include $<$net/if\+\_\+var.\+h$>$}\newline
{\ttfamily \#include $<$net/ethernet.\+h$>$}\newline
{\ttfamily \#include $<$net/if\+\_\+media.\+h$>$}\newline
{\ttfamily \#include $<$net80211/ieee80211\+\_\+var.\+h$>$}\newline
{\ttfamily \#include $<$net80211/ieee80211\+\_\+radiotap.\+h$>$}\newline
{\ttfamily \#include $<$dev/rtwn/if\+\_\+rtwnreg.\+h$>$}\newline
{\ttfamily \#include $<$dev/rtwn/if\+\_\+rtwnvar.\+h$>$}\newline
{\ttfamily \#include $<$dev/rtwn/if\+\_\+rtwn\+\_\+debug.\+h$>$}\newline
{\ttfamily \#include $<$dev/rtwn/pci/rtwn\+\_\+pci\+\_\+var.\+h$>$}\newline
{\ttfamily \#include $<$dev/rtwn/pci/rtwn\+\_\+pci\+\_\+tx.\+h$>$}\newline
{\ttfamily \#include $<$dev/rtwn/rtl8192c/pci/r92ce\+\_\+reg.\+h$>$}\newline
Include dependency graph for rtwn\+\_\+pci\+\_\+tx.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d2/d95/rtwn__pci__tx_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{rtwn__pci__tx_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\+\_\+\+\_\+\+FBSDID}} (\char`\"{}\$Free\+BSD\$\char`\"{})
\item 
static struct mbuf $\ast$ \mbox{\hyperlink{rtwn__pci__tx_8c_a61c2d28d3b2177fc5d316798e8ac54d6}{rtwn\+\_\+mbuf\+\_\+defrag}} (struct mbuf $\ast$m0, int how)
\item 
static int \mbox{\hyperlink{rtwn__pci__tx_8c_a025abacf724e32efac2f864610fa562b}{rtwn\+\_\+pci\+\_\+tx\+\_\+start\+\_\+frame}} (struct \mbox{\hyperlink{structrtwn__softc}{rtwn\+\_\+softc}} $\ast$sc, struct ieee80211\+\_\+node $\ast$ni, struct mbuf $\ast$m, uint8\+\_\+t $\ast$tx\+\_\+desc, uint8\+\_\+t type)
\item 
static int \mbox{\hyperlink{rtwn__pci__tx_8c_a86597e4bd001ba31d30c93b411db4977}{rtwn\+\_\+pci\+\_\+tx\+\_\+start\+\_\+beacon}} (struct \mbox{\hyperlink{structrtwn__softc}{rtwn\+\_\+softc}} $\ast$sc, struct mbuf $\ast$m, uint8\+\_\+t $\ast$tx\+\_\+desc, int \mbox{\hyperlink{r92c__fw__cmd_8h_a1e6927fa1486224044e568f9c370519b}{id}})
\item 
int \mbox{\hyperlink{rtwn__pci__tx_8c_a991c7e42b3babc407b82e25ede9b1b8b}{rtwn\+\_\+pci\+\_\+tx\+\_\+start}} (struct \mbox{\hyperlink{structrtwn__softc}{rtwn\+\_\+softc}} $\ast$sc, struct ieee80211\+\_\+node $\ast$ni, struct mbuf $\ast$m, uint8\+\_\+t $\ast$tx\+\_\+desc, uint8\+\_\+t type, int \mbox{\hyperlink{r92c__fw__cmd_8h_a1e6927fa1486224044e568f9c370519b}{id}})
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{rtwn__pci__tx_8c_a8c3ef283470a68cd30afe9b8a72cb60f}\label{rtwn__pci__tx_8c_a8c3ef283470a68cd30afe9b8a72cb60f}} 
\index{rtwn\_pci\_tx.c@{rtwn\_pci\_tx.c}!\_\_FBSDID@{\_\_FBSDID}}
\index{\_\_FBSDID@{\_\_FBSDID}!rtwn\_pci\_tx.c@{rtwn\_pci\_tx.c}}
\doxysubsubsection{\texorpdfstring{\_\_FBSDID()}{\_\_FBSDID()}}
{\footnotesize\ttfamily \+\_\+\+\_\+\+FBSDID (\begin{DoxyParamCaption}\item[{\char`\"{}\$Free\+BSD\$\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{rtwn__pci__tx_8c_a61c2d28d3b2177fc5d316798e8ac54d6}\label{rtwn__pci__tx_8c_a61c2d28d3b2177fc5d316798e8ac54d6}} 
\index{rtwn\_pci\_tx.c@{rtwn\_pci\_tx.c}!rtwn\_mbuf\_defrag@{rtwn\_mbuf\_defrag}}
\index{rtwn\_mbuf\_defrag@{rtwn\_mbuf\_defrag}!rtwn\_pci\_tx.c@{rtwn\_pci\_tx.c}}
\doxysubsubsection{\texorpdfstring{rtwn\_mbuf\_defrag()}{rtwn\_mbuf\_defrag()}}
{\footnotesize\ttfamily static struct mbuf $\ast$ rtwn\+\_\+mbuf\+\_\+defrag (\begin{DoxyParamCaption}\item[{struct mbuf $\ast$}]{m0,  }\item[{int}]{how }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rtwn__pci__tx_8c_source_l00061}{61}} of file \mbox{\hyperlink{rtwn__pci__tx_8c_source}{rtwn\+\_\+pci\+\_\+tx.\+c}}.



Referenced by \mbox{\hyperlink{rtwn__pci__tx_8c_source_l00092}{rtwn\+\_\+pci\+\_\+tx\+\_\+start\+\_\+frame()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d5c/rtwn__pci__tx_8c_a61c2d28d3b2177fc5d316798e8ac54d6_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{rtwn__pci__tx_8c_a991c7e42b3babc407b82e25ede9b1b8b}\label{rtwn__pci__tx_8c_a991c7e42b3babc407b82e25ede9b1b8b}} 
\index{rtwn\_pci\_tx.c@{rtwn\_pci\_tx.c}!rtwn\_pci\_tx\_start@{rtwn\_pci\_tx\_start}}
\index{rtwn\_pci\_tx\_start@{rtwn\_pci\_tx\_start}!rtwn\_pci\_tx.c@{rtwn\_pci\_tx.c}}
\doxysubsubsection{\texorpdfstring{rtwn\_pci\_tx\_start()}{rtwn\_pci\_tx\_start()}}
{\footnotesize\ttfamily int rtwn\+\_\+pci\+\_\+tx\+\_\+start (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structrtwn__softc}{rtwn\+\_\+softc}} $\ast$}]{sc,  }\item[{struct ieee80211\+\_\+node $\ast$}]{ni,  }\item[{struct mbuf $\ast$}]{m,  }\item[{uint8\+\_\+t $\ast$}]{tx\+\_\+desc,  }\item[{uint8\+\_\+t}]{type,  }\item[{int}]{id }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{rtwn__pci__tx_8c_source_l00258}{258}} of file \mbox{\hyperlink{rtwn__pci__tx_8c_source}{rtwn\+\_\+pci\+\_\+tx.\+c}}.



References \mbox{\hyperlink{if__rtwnvar_8h_source_l00409}{RTWN\+\_\+\+ASSERT\+\_\+\+LOCKED}}, \mbox{\hyperlink{rtwn__pci__tx_8c_source_l00199}{rtwn\+\_\+pci\+\_\+tx\+\_\+start\+\_\+beacon()}}, and \mbox{\hyperlink{rtwn__pci__tx_8c_source_l00092}{rtwn\+\_\+pci\+\_\+tx\+\_\+start\+\_\+frame()}}.



Referenced by \mbox{\hyperlink{rtwn__pci__attach_8c_source_l00577}{rtwn\+\_\+pci\+\_\+attach\+\_\+methods()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d5c/rtwn__pci__tx_8c_a991c7e42b3babc407b82e25ede9b1b8b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d5c/rtwn__pci__tx_8c_a991c7e42b3babc407b82e25ede9b1b8b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{rtwn__pci__tx_8c_a86597e4bd001ba31d30c93b411db4977}\label{rtwn__pci__tx_8c_a86597e4bd001ba31d30c93b411db4977}} 
\index{rtwn\_pci\_tx.c@{rtwn\_pci\_tx.c}!rtwn\_pci\_tx\_start\_beacon@{rtwn\_pci\_tx\_start\_beacon}}
\index{rtwn\_pci\_tx\_start\_beacon@{rtwn\_pci\_tx\_start\_beacon}!rtwn\_pci\_tx.c@{rtwn\_pci\_tx.c}}
\doxysubsubsection{\texorpdfstring{rtwn\_pci\_tx\_start\_beacon()}{rtwn\_pci\_tx\_start\_beacon()}}
{\footnotesize\ttfamily static int rtwn\+\_\+pci\+\_\+tx\+\_\+start\+\_\+beacon (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structrtwn__softc}{rtwn\+\_\+softc}} $\ast$}]{sc,  }\item[{struct mbuf $\ast$}]{m,  }\item[{uint8\+\_\+t $\ast$}]{tx\+\_\+desc,  }\item[{int}]{id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rtwn__pci__tx_8c_source_l00199}{199}} of file \mbox{\hyperlink{rtwn__pci__tx_8c_source}{rtwn\+\_\+pci\+\_\+tx.\+c}}.



References \mbox{\hyperlink{rtwn__pci__var_8h_source_l00059}{rtwn\+\_\+tx\+\_\+ring\+::data\+\_\+dmat}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00061}{rtwn\+\_\+tx\+\_\+ring\+::desc}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00057}{rtwn\+\_\+tx\+\_\+ring\+::desc\+\_\+dmat}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00058}{rtwn\+\_\+tx\+\_\+ring\+::desc\+\_\+map}}, \mbox{\hyperlink{r88e__fw__cmd_8h_source_l00000}{id}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00050}{rtwn\+\_\+tx\+\_\+data\+::map}}, \mbox{\hyperlink{if__rtwnvar_8h_source_l00409}{RTWN\+\_\+\+ASSERT\+\_\+\+LOCKED}}, \mbox{\hyperlink{if__rtwnvar_8h_source_l00533}{rtwn\+\_\+dump\+\_\+tx\+\_\+desc}}, \mbox{\hyperlink{if__rtwnreg_8h_source_l00003}{RTWN\+\_\+\+FLAGS0\+\_\+\+OWN}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00076}{RTWN\+\_\+\+PCI\+\_\+\+BEACON\+\_\+\+QUEUE}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00137}{rtwn\+\_\+pci\+\_\+copy\+\_\+tx\+\_\+desc}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00131}{RTWN\+\_\+\+PCI\+\_\+\+SOFTC}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00135}{rtwn\+\_\+pci\+\_\+tx\+\_\+postsetup}}, \mbox{\hyperlink{if__rtwnvar_8h_source_l00173}{rtwn\+\_\+softc\+::sc\+\_\+dev}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00062}{rtwn\+\_\+tx\+\_\+ring\+::tx\+\_\+data}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00116}{rtwn\+\_\+pci\+\_\+softc\+::tx\+\_\+ring}}, \mbox{\hyperlink{if__rtwnvar_8h_source_l00000}{txd}}, and \mbox{\hyperlink{if__rtwnvar_8h_source_l00391}{rtwn\+\_\+softc\+::txdesc\+\_\+len}}.



Referenced by \mbox{\hyperlink{rtwn__pci__tx_8c_source_l00258}{rtwn\+\_\+pci\+\_\+tx\+\_\+start()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d5c/rtwn__pci__tx_8c_a86597e4bd001ba31d30c93b411db4977_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{rtwn__pci__tx_8c_a025abacf724e32efac2f864610fa562b}\label{rtwn__pci__tx_8c_a025abacf724e32efac2f864610fa562b}} 
\index{rtwn\_pci\_tx.c@{rtwn\_pci\_tx.c}!rtwn\_pci\_tx\_start\_frame@{rtwn\_pci\_tx\_start\_frame}}
\index{rtwn\_pci\_tx\_start\_frame@{rtwn\_pci\_tx\_start\_frame}!rtwn\_pci\_tx.c@{rtwn\_pci\_tx.c}}
\doxysubsubsection{\texorpdfstring{rtwn\_pci\_tx\_start\_frame()}{rtwn\_pci\_tx\_start\_frame()}}
{\footnotesize\ttfamily static int rtwn\+\_\+pci\+\_\+tx\+\_\+start\+\_\+frame (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structrtwn__softc}{rtwn\+\_\+softc}} $\ast$}]{sc,  }\item[{struct ieee80211\+\_\+node $\ast$}]{ni,  }\item[{struct mbuf $\ast$}]{m,  }\item[{uint8\+\_\+t $\ast$}]{tx\+\_\+desc,  }\item[{uint8\+\_\+t}]{type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{rtwn__pci__tx_8c_source_l00092}{92}} of file \mbox{\hyperlink{rtwn__pci__tx_8c_source}{rtwn\+\_\+pci\+\_\+tx.\+c}}.



References \mbox{\hyperlink{rtwn__pci__var_8h_source_l00064}{rtwn\+\_\+tx\+\_\+ring\+::cur}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00059}{rtwn\+\_\+tx\+\_\+ring\+::data\+\_\+dmat}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00061}{rtwn\+\_\+tx\+\_\+ring\+::desc}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00057}{rtwn\+\_\+tx\+\_\+ring\+::desc\+\_\+dmat}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00058}{rtwn\+\_\+tx\+\_\+ring\+::desc\+\_\+map}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00051}{rtwn\+\_\+tx\+\_\+data\+::m}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00050}{rtwn\+\_\+tx\+\_\+data\+::map}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00052}{rtwn\+\_\+tx\+\_\+data\+::ni}}, \mbox{\hyperlink{if__rtwnvar_8h_source_l00249}{rtwn\+\_\+softc\+::qfullmsk}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00063}{rtwn\+\_\+tx\+\_\+ring\+::queued}}, \mbox{\hyperlink{r92ce__reg_8h_source_l00035}{R92\+C\+\_\+\+PCIE\+\_\+\+CTRL\+\_\+\+REG}}, \mbox{\hyperlink{if__rtwnvar_8h_source_l00409}{RTWN\+\_\+\+ASSERT\+\_\+\+LOCKED}}, \mbox{\hyperlink{if__rtwn__debug_8h_source_l00057}{RTWN\+\_\+\+DPRINTF}}, \mbox{\hyperlink{if__rtwnvar_8h_source_l00533}{rtwn\+\_\+dump\+\_\+tx\+\_\+desc}}, \mbox{\hyperlink{if__rtwnreg_8h_source_l00003}{RTWN\+\_\+\+FLAGS0\+\_\+\+OWN}}, \mbox{\hyperlink{rtwn__pci__tx_8c_source_l00061}{rtwn\+\_\+mbuf\+\_\+defrag()}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00137}{rtwn\+\_\+pci\+\_\+copy\+\_\+tx\+\_\+desc}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00078}{RTWN\+\_\+\+PCI\+\_\+\+MGNT\+\_\+\+QUEUE}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00131}{RTWN\+\_\+\+PCI\+\_\+\+SOFTC}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00027}{RTWN\+\_\+\+PCI\+\_\+\+TX\+\_\+\+LIST\+\_\+\+COUNT}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00135}{rtwn\+\_\+pci\+\_\+tx\+\_\+postsetup}}, \mbox{\hyperlink{if__rtwnvar_8h_source_l00435}{rtwn\+\_\+write\+\_\+2}}, \mbox{\hyperlink{if__rtwnvar_8h_source_l00173}{rtwn\+\_\+softc\+::sc\+\_\+dev}}, \mbox{\hyperlink{if__rtwnvar_8h_source_l00226}{rtwn\+\_\+softc\+::sc\+\_\+tx\+\_\+timer}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00062}{rtwn\+\_\+tx\+\_\+ring\+::tx\+\_\+data}}, \mbox{\hyperlink{rtwn__pci__var_8h_source_l00116}{rtwn\+\_\+pci\+\_\+softc\+::tx\+\_\+ring}}, \mbox{\hyperlink{if__rtwnvar_8h_source_l00000}{txd}}, and \mbox{\hyperlink{if__rtwnvar_8h_source_l00391}{rtwn\+\_\+softc\+::txdesc\+\_\+len}}.



Referenced by \mbox{\hyperlink{rtwn__pci__tx_8c_source_l00258}{rtwn\+\_\+pci\+\_\+tx\+\_\+start()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d5c/rtwn__pci__tx_8c_a025abacf724e32efac2f864610fa562b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d5c/rtwn__pci__tx_8c_a025abacf724e32efac2f864610fa562b_icgraph}
\end{center}
\end{figure}
