\hypertarget{sfxge__dma_8c}{}\doxysection{dev/sfxge/sfxge\+\_\+dma.c File Reference}
\label{sfxge__dma_8c}\index{dev/sfxge/sfxge\_dma.c@{dev/sfxge/sfxge\_dma.c}}
{\ttfamily \#include $<$sys/cdefs.\+h$>$}\newline
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/bus.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/queue.\+h$>$}\newline
{\ttfamily \#include $<$sys/taskqueue.\+h$>$}\newline
{\ttfamily \#include $<$machine/bus.\+h$>$}\newline
{\ttfamily \#include \char`\"{}common/efx.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}sfxge.\+h\char`\"{}}\newline
Include dependency graph for sfxge\+\_\+dma.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d4/d67/sfxge__dma_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{sfxge__dma_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\+\_\+\+\_\+\+FBSDID}} (\char`\"{}\$Free\+BSD\$\char`\"{})
\item 
static void \mbox{\hyperlink{sfxge__dma_8c_a2672a2833445b975755baee977a3940e}{sfxge\+\_\+dma\+\_\+cb}} (void $\ast$arg, bus\+\_\+dma\+\_\+segment\+\_\+t $\ast$segs, int nseg, int error)
\item 
int \mbox{\hyperlink{sfxge__dma_8c_a2bb2132397627f698a21f958b0618b20}{sfxge\+\_\+dma\+\_\+map\+\_\+sg\+\_\+collapse}} (bus\+\_\+dma\+\_\+tag\+\_\+t tag, bus\+\_\+dmamap\+\_\+t map, struct mbuf $\ast$$\ast$mp, bus\+\_\+dma\+\_\+segment\+\_\+t $\ast$segs, int $\ast$nsegs, int maxsegs)
\item 
void \mbox{\hyperlink{sfxge__dma_8c_a4e64a2c24f7dd935ae77181f74580bc7}{sfxge\+\_\+dma\+\_\+free}} (\mbox{\hyperlink{efsys_8h_acda2ad0a610df48857d7444995074c32}{efsys\+\_\+mem\+\_\+t}} $\ast$esmp)
\item 
int \mbox{\hyperlink{sfxge__dma_8c_a45cfd5bc59ea87755ed5318726906d61}{sfxge\+\_\+dma\+\_\+alloc}} (struct \mbox{\hyperlink{structsfxge__softc}{sfxge\+\_\+softc}} $\ast$\mbox{\hyperlink{sfxge_8h_a0fdd68fb60df8c76625b73b761e9b8d0}{sc}}, bus\+\_\+size\+\_\+t len, \mbox{\hyperlink{efsys_8h_acda2ad0a610df48857d7444995074c32}{efsys\+\_\+mem\+\_\+t}} $\ast$esmp)
\item 
void \mbox{\hyperlink{sfxge__dma_8c_aa6ff480cbcee21b9a3a31209d4b454fb}{sfxge\+\_\+dma\+\_\+fini}} (struct \mbox{\hyperlink{structsfxge__softc}{sfxge\+\_\+softc}} $\ast$\mbox{\hyperlink{sfxge_8h_a0fdd68fb60df8c76625b73b761e9b8d0}{sc}})
\item 
int \mbox{\hyperlink{sfxge__dma_8c_ac658309892596a6154cae7eb2a57189c}{sfxge\+\_\+dma\+\_\+init}} (struct \mbox{\hyperlink{structsfxge__softc}{sfxge\+\_\+softc}} $\ast$\mbox{\hyperlink{sfxge_8h_a0fdd68fb60df8c76625b73b761e9b8d0}{sc}})
\end{DoxyCompactItemize}


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

\mbox{\Hypertarget{sfxge__dma_8c_a45cfd5bc59ea87755ed5318726906d61}\label{sfxge__dma_8c_a45cfd5bc59ea87755ed5318726906d61}} 
\index{sfxge\_dma.c@{sfxge\_dma.c}!sfxge\_dma\_alloc@{sfxge\_dma\_alloc}}
\index{sfxge\_dma\_alloc@{sfxge\_dma\_alloc}!sfxge\_dma.c@{sfxge\_dma.c}}
\doxysubsubsection{\texorpdfstring{sfxge\_dma\_alloc()}{sfxge\_dma\_alloc()}}
{\footnotesize\ttfamily int sfxge\+\_\+dma\+\_\+alloc (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structsfxge__softc}{sfxge\+\_\+softc}} $\ast$}]{sc,  }\item[{bus\+\_\+size\+\_\+t}]{len,  }\item[{\mbox{\hyperlink{efsys_8h_acda2ad0a610df48857d7444995074c32}{efsys\+\_\+mem\+\_\+t}} $\ast$}]{esmp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sfxge__dma_8c_source_l00143}{143}} of file \mbox{\hyperlink{sfxge__dma_8c_source}{sfxge\+\_\+dma.\+c}}.



References \mbox{\hyperlink{sfxge_8h_source_l00269}{sfxge\+\_\+softc\+::dev}}, \mbox{\hyperlink{efsys_8h_source_l00322}{efsys\+\_\+mem\+\_\+s\+::esm\+\_\+addr}}, \mbox{\hyperlink{efsys_8h_source_l00321}{efsys\+\_\+mem\+\_\+s\+::esm\+\_\+base}}, \mbox{\hyperlink{efsys_8h_source_l00320}{efsys\+\_\+mem\+\_\+s\+::esm\+\_\+map}}, \mbox{\hyperlink{efsys_8h_source_l00323}{efsys\+\_\+mem\+\_\+s\+::esm\+\_\+size}}, \mbox{\hyperlink{efsys_8h_source_l00319}{efsys\+\_\+mem\+\_\+s\+::esm\+\_\+tag}}, \mbox{\hyperlink{sfxge_8h_source_l00296}{sfxge\+\_\+softc\+::parent\+\_\+dma\+\_\+tag}}, \mbox{\hyperlink{sfxge_8h_source_l00001}{sc}}, and \mbox{\hyperlink{sfxge__dma_8c_source_l00053}{sfxge\+\_\+dma\+\_\+cb()}}.



Referenced by \mbox{\hyperlink{sfxge__ev_8c_source_l00895}{sfxge\+\_\+ev\+\_\+qinit()}}, \mbox{\hyperlink{sfxge__intr_8c_source_l00535}{sfxge\+\_\+intr\+\_\+init()}}, \mbox{\hyperlink{sfxge__mcdi_8c_source_l00302}{sfxge\+\_\+mcdi\+\_\+init()}}, \mbox{\hyperlink{sfxge__port_8c_source_l00749}{sfxge\+\_\+port\+\_\+init()}}, \mbox{\hyperlink{sfxge__rx_8c_source_l01273}{sfxge\+\_\+rx\+\_\+qinit()}}, \mbox{\hyperlink{sfxge__tx_8c_source_l01806}{sfxge\+\_\+tx\+\_\+qinit()}}, and \mbox{\hyperlink{sfxge__tx_8c_source_l01004}{tso\+\_\+init()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=302pt]{db/d4a/sfxge__dma_8c_a45cfd5bc59ea87755ed5318726906d61_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d4a/sfxge__dma_8c_a45cfd5bc59ea87755ed5318726906d61_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{sfxge__dma_8c_a2672a2833445b975755baee977a3940e}\label{sfxge__dma_8c_a2672a2833445b975755baee977a3940e}} 
\index{sfxge\_dma.c@{sfxge\_dma.c}!sfxge\_dma\_cb@{sfxge\_dma\_cb}}
\index{sfxge\_dma\_cb@{sfxge\_dma\_cb}!sfxge\_dma.c@{sfxge\_dma.c}}
\doxysubsubsection{\texorpdfstring{sfxge\_dma\_cb()}{sfxge\_dma\_cb()}}
{\footnotesize\ttfamily static void sfxge\+\_\+dma\+\_\+cb (\begin{DoxyParamCaption}\item[{void $\ast$}]{arg,  }\item[{bus\+\_\+dma\+\_\+segment\+\_\+t $\ast$}]{segs,  }\item[{int}]{nseg,  }\item[{int}]{error }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{sfxge__dma_8c_source_l00053}{53}} of file \mbox{\hyperlink{sfxge__dma_8c_source}{sfxge\+\_\+dma.\+c}}.



Referenced by \mbox{\hyperlink{sfxge__dma_8c_source_l00143}{sfxge\+\_\+dma\+\_\+alloc()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d4a/sfxge__dma_8c_a2672a2833445b975755baee977a3940e_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{sfxge__dma_8c_aa6ff480cbcee21b9a3a31209d4b454fb}\label{sfxge__dma_8c_aa6ff480cbcee21b9a3a31209d4b454fb}} 
\index{sfxge\_dma.c@{sfxge\_dma.c}!sfxge\_dma\_fini@{sfxge\_dma\_fini}}
\index{sfxge\_dma\_fini@{sfxge\_dma\_fini}!sfxge\_dma.c@{sfxge\_dma.c}}
\doxysubsubsection{\texorpdfstring{sfxge\_dma\_fini()}{sfxge\_dma\_fini()}}
{\footnotesize\ttfamily void sfxge\+\_\+dma\+\_\+fini (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structsfxge__softc}{sfxge\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sfxge__dma_8c_source_l00193}{193}} of file \mbox{\hyperlink{sfxge__dma_8c_source}{sfxge\+\_\+dma.\+c}}.



References \mbox{\hyperlink{sfxge_8h_source_l00296}{sfxge\+\_\+softc\+::parent\+\_\+dma\+\_\+tag}}, and \mbox{\hyperlink{sfxge_8h_source_l00001}{sc}}.



Referenced by \mbox{\hyperlink{sfxge_8c_source_l00893}{sfxge\+\_\+destroy()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d4a/sfxge__dma_8c_aa6ff480cbcee21b9a3a31209d4b454fb_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{sfxge__dma_8c_a4e64a2c24f7dd935ae77181f74580bc7}\label{sfxge__dma_8c_a4e64a2c24f7dd935ae77181f74580bc7}} 
\index{sfxge\_dma.c@{sfxge\_dma.c}!sfxge\_dma\_free@{sfxge\_dma\_free}}
\index{sfxge\_dma\_free@{sfxge\_dma\_free}!sfxge\_dma.c@{sfxge\_dma.c}}
\doxysubsubsection{\texorpdfstring{sfxge\_dma\_free()}{sfxge\_dma\_free()}}
{\footnotesize\ttfamily void sfxge\+\_\+dma\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{efsys_8h_acda2ad0a610df48857d7444995074c32}{efsys\+\_\+mem\+\_\+t}} $\ast$}]{esmp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sfxge__dma_8c_source_l00130}{130}} of file \mbox{\hyperlink{sfxge__dma_8c_source}{sfxge\+\_\+dma.\+c}}.



References \mbox{\hyperlink{efsys_8h_source_l00322}{efsys\+\_\+mem\+\_\+s\+::esm\+\_\+addr}}, \mbox{\hyperlink{efsys_8h_source_l00321}{efsys\+\_\+mem\+\_\+s\+::esm\+\_\+base}}, \mbox{\hyperlink{efsys_8h_source_l00320}{efsys\+\_\+mem\+\_\+s\+::esm\+\_\+map}}, \mbox{\hyperlink{efsys_8h_source_l00323}{efsys\+\_\+mem\+\_\+s\+::esm\+\_\+size}}, and \mbox{\hyperlink{efsys_8h_source_l00319}{efsys\+\_\+mem\+\_\+s\+::esm\+\_\+tag}}.



Referenced by \mbox{\hyperlink{sfxge__ev_8c_source_l00875}{sfxge\+\_\+ev\+\_\+qfini()}}, \mbox{\hyperlink{sfxge__ev_8c_source_l00895}{sfxge\+\_\+ev\+\_\+qinit()}}, \mbox{\hyperlink{sfxge__intr_8c_source_l00493}{sfxge\+\_\+intr\+\_\+fini()}}, \mbox{\hyperlink{sfxge__mcdi_8c_source_l00353}{sfxge\+\_\+mcdi\+\_\+fini()}}, \mbox{\hyperlink{sfxge__port_8c_source_l00659}{sfxge\+\_\+port\+\_\+fini()}}, \mbox{\hyperlink{sfxge__port_8c_source_l00749}{sfxge\+\_\+port\+\_\+init()}}, \mbox{\hyperlink{sfxge__rx_8c_source_l01251}{sfxge\+\_\+rx\+\_\+qfini()}}, \mbox{\hyperlink{sfxge__tx_8c_source_l01775}{sfxge\+\_\+tx\+\_\+qfini()}}, \mbox{\hyperlink{sfxge__tx_8c_source_l01806}{sfxge\+\_\+tx\+\_\+qinit()}}, \mbox{\hyperlink{sfxge__tx_8c_source_l01030}{tso\+\_\+fini()}}, and \mbox{\hyperlink{sfxge__tx_8c_source_l01004}{tso\+\_\+init()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d4a/sfxge__dma_8c_a4e64a2c24f7dd935ae77181f74580bc7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{sfxge__dma_8c_ac658309892596a6154cae7eb2a57189c}\label{sfxge__dma_8c_ac658309892596a6154cae7eb2a57189c}} 
\index{sfxge\_dma.c@{sfxge\_dma.c}!sfxge\_dma\_init@{sfxge\_dma\_init}}
\index{sfxge\_dma\_init@{sfxge\_dma\_init}!sfxge\_dma.c@{sfxge\_dma.c}}
\doxysubsubsection{\texorpdfstring{sfxge\_dma\_init()}{sfxge\_dma\_init()}}
{\footnotesize\ttfamily int sfxge\+\_\+dma\+\_\+init (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structsfxge__softc}{sfxge\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sfxge__dma_8c_source_l00200}{200}} of file \mbox{\hyperlink{sfxge__dma_8c_source}{sfxge\+\_\+dma.\+c}}.



References \mbox{\hyperlink{sfxge_8h_source_l00269}{sfxge\+\_\+softc\+::dev}}, \mbox{\hyperlink{sfxge_8h_source_l00296}{sfxge\+\_\+softc\+::parent\+\_\+dma\+\_\+tag}}, and \mbox{\hyperlink{sfxge_8h_source_l00001}{sc}}.



Referenced by \mbox{\hyperlink{sfxge_8c_source_l00677}{sfxge\+\_\+create()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d4a/sfxge__dma_8c_ac658309892596a6154cae7eb2a57189c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{sfxge__dma_8c_a2bb2132397627f698a21f958b0618b20}\label{sfxge__dma_8c_a2bb2132397627f698a21f958b0618b20}} 
\index{sfxge\_dma.c@{sfxge\_dma.c}!sfxge\_dma\_map\_sg\_collapse@{sfxge\_dma\_map\_sg\_collapse}}
\index{sfxge\_dma\_map\_sg\_collapse@{sfxge\_dma\_map\_sg\_collapse}!sfxge\_dma.c@{sfxge\_dma.c}}
\doxysubsubsection{\texorpdfstring{sfxge\_dma\_map\_sg\_collapse()}{sfxge\_dma\_map\_sg\_collapse()}}
{\footnotesize\ttfamily int sfxge\+\_\+dma\+\_\+map\+\_\+sg\+\_\+collapse (\begin{DoxyParamCaption}\item[{bus\+\_\+dma\+\_\+tag\+\_\+t}]{tag,  }\item[{bus\+\_\+dmamap\+\_\+t}]{map,  }\item[{struct mbuf $\ast$$\ast$}]{mp,  }\item[{bus\+\_\+dma\+\_\+segment\+\_\+t $\ast$}]{segs,  }\item[{int $\ast$}]{nsegs,  }\item[{int}]{maxsegs }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sfxge__dma_8c_source_l00068}{68}} of file \mbox{\hyperlink{sfxge__dma_8c_source}{sfxge\+\_\+dma.\+c}}.



References \mbox{\hyperlink{efsys_8h_source_l00147}{sfxge\+\_\+map\+\_\+mbuf\+\_\+fast()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d4a/sfxge__dma_8c_a2bb2132397627f698a21f958b0618b20_cgraph}
\end{center}
\end{figure}
