\hypertarget{xhci__pci_8c}{}\doxysection{dev/usb/controller/xhci\+\_\+pci.c File Reference}
\label{xhci__pci_8c}\index{dev/usb/controller/xhci\_pci.c@{dev/usb/controller/xhci\_pci.c}}
{\ttfamily \#include $<$sys/cdefs.\+h$>$}\newline
{\ttfamily \#include $<$sys/stdint.\+h$>$}\newline
{\ttfamily \#include $<$sys/stddef.\+h$>$}\newline
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/queue.\+h$>$}\newline
{\ttfamily \#include $<$sys/types.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/bus.\+h$>$}\newline
{\ttfamily \#include $<$sys/module.\+h$>$}\newline
{\ttfamily \#include $<$sys/lock.\+h$>$}\newline
{\ttfamily \#include $<$sys/mutex.\+h$>$}\newline
{\ttfamily \#include $<$sys/condvar.\+h$>$}\newline
{\ttfamily \#include $<$sys/sysctl.\+h$>$}\newline
{\ttfamily \#include $<$sys/sx.\+h$>$}\newline
{\ttfamily \#include $<$sys/unistd.\+h$>$}\newline
{\ttfamily \#include $<$sys/callout.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/priv.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usbdi.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+core.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+busdma.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+process.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+util.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+controller.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+bus.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+pci.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/controller/xhci.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/controller/xhcireg.\+h$>$}\newline
{\ttfamily \#include \char`\"{}usb\+\_\+if.\+h\char`\"{}}\newline
Include dependency graph for xhci\+\_\+pci.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{de/d90/xhci__pci_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{xhci__pci_8c_a24c1afe634d7b3f30c22c36b79d26cc4}{PCI\+\_\+\+XHCI\+\_\+\+VENDORID\+\_\+\+AMD}}~0x1022
\item 
\#define \mbox{\hyperlink{xhci__pci_8c_a7c8058923b9bff44e7a2ca476a0b6cc7}{PCI\+\_\+\+XHCI\+\_\+\+VENDORID\+\_\+\+INTEL}}~0x8086
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{xhci__pci_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\+\_\+\+\_\+\+FBSDID}} (\char`\"{}\$Free\+BSD\$\char`\"{})
\item 
\mbox{\hyperlink{xhci__pci_8c_a10189d5c215658b76f2818078ef26141}{DEFINE\+\_\+\+CLASS\+\_\+0}} (xhci, xhci\+\_\+pci\+\_\+driver, \mbox{\hyperlink{xhci__pci_8c_af1975471e8e3152926bf6234b74e5d10}{xhci\+\_\+device\+\_\+methods}}, sizeof(struct \mbox{\hyperlink{structxhci__softc}{xhci\+\_\+softc}}))
\item 
\mbox{\hyperlink{xhci__pci_8c_adf1f221c3a84baaca8a4a85d173ccbc8}{DRIVER\+\_\+\+MODULE}} (xhci, \textbf{ pci}, xhci\+\_\+pci\+\_\+driver, \mbox{\hyperlink{xhci__pci_8c_a0fd30b2fb0399bdb731e9e821ae80ed0}{xhci\+\_\+devclass}}, NULL, NULL)
\item 
\mbox{\hyperlink{xhci__pci_8c_a7dd581040b8c9e6d97524fd2389bc038}{MODULE\+\_\+\+DEPEND}} (xhci, \mbox{\hyperlink{usb__if_8m_adfa3f6da9c4881e494b180c4ebb06470}{usb}}, 1, 1, 1)
\item 
static const char $\ast$ \mbox{\hyperlink{xhci__pci_8c_a48620b9e207652d59d190efbbeda3776}{xhci\+\_\+pci\+\_\+match}} (device\+\_\+t self)
\item 
static int \mbox{\hyperlink{xhci__pci_8c_a516793e7e450cfd26dbd2b1270052de8}{xhci\+\_\+pci\+\_\+probe}} (device\+\_\+t self)
\item 
\mbox{\hyperlink{xhci__pci_8c_a5efe7d52c9fb6a92ad8c7cd1f5e86c46}{TUNABLE\+\_\+\+INT}} (\char`\"{}hw.\+usb.\+xhci.\+msi\char`\"{}, \&xhci\+\_\+use\+\_\+msi)
\item 
\mbox{\hyperlink{xhci__pci_8c_a45a1c90d936b4787eaa5253835432736}{TUNABLE\+\_\+\+INT}} (\char`\"{}hw.\+usb.\+xhci.\+msix\char`\"{}, \&xhci\+\_\+use\+\_\+msix)
\item 
static void \mbox{\hyperlink{xhci__pci_8c_a1da327a392917dcde0a8433be702b783}{xhci\+\_\+interrupt\+\_\+poll}} (void $\ast$\+\_\+sc)
\item 
static int \mbox{\hyperlink{xhci__pci_8c_ac00171c9ef508c634ffe1e8101563b28}{xhci\+\_\+pci\+\_\+port\+\_\+route}} (device\+\_\+t self, uint32\+\_\+t set, uint32\+\_\+t clear)
\item 
int \mbox{\hyperlink{xhci__pci_8c_a4432943e8af5ff8527492b857a68aff8}{xhci\+\_\+pci\+\_\+attach}} (device\+\_\+t self)
\item 
static int \mbox{\hyperlink{xhci__pci_8c_a3c6d7227468e53deeda41d16842646b9}{xhci\+\_\+pci\+\_\+detach}} (device\+\_\+t self)
\item 
static int \mbox{\hyperlink{xhci__pci_8c_a7de58e4db3aa87f23f06feff14fc7885}{xhci\+\_\+pci\+\_\+take\+\_\+controller}} (device\+\_\+t self)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static device\+\_\+probe\+\_\+t \mbox{\hyperlink{xhci__pci_8c_a54319c3bc953657335a24746034e06e0}{xhci\+\_\+pci\+\_\+probe}}
\item 
static device\+\_\+detach\+\_\+t \mbox{\hyperlink{xhci__pci_8c_a9bf70e0327897f2796353bc947bb325f}{xhci\+\_\+pci\+\_\+detach}}
\item 
static usb\+\_\+take\+\_\+controller\+\_\+t \mbox{\hyperlink{xhci__pci_8c_a6023ac356092973a7472dca68723b64e}{xhci\+\_\+pci\+\_\+take\+\_\+controller}}
\item 
static device\+\_\+method\+\_\+t \mbox{\hyperlink{xhci__pci_8c_af1975471e8e3152926bf6234b74e5d10}{xhci\+\_\+device\+\_\+methods}} \mbox{[}$\,$\mbox{]}
\item 
static devclass\+\_\+t \mbox{\hyperlink{xhci__pci_8c_a0fd30b2fb0399bdb731e9e821ae80ed0}{xhci\+\_\+devclass}}
\item 
static int \mbox{\hyperlink{xhci__pci_8c_aee8eecb04307b158980004cce5cb0dde}{xhci\+\_\+use\+\_\+msi}} = 1
\item 
static int \mbox{\hyperlink{xhci__pci_8c_a3542611ca38b7d4544b281aede683526}{xhci\+\_\+use\+\_\+msix}} = 1
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{xhci__pci_8c_a24c1afe634d7b3f30c22c36b79d26cc4}\label{xhci__pci_8c_a24c1afe634d7b3f30c22c36b79d26cc4}} 
\index{xhci\_pci.c@{xhci\_pci.c}!PCI\_XHCI\_VENDORID\_AMD@{PCI\_XHCI\_VENDORID\_AMD}}
\index{PCI\_XHCI\_VENDORID\_AMD@{PCI\_XHCI\_VENDORID\_AMD}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{PCI\_XHCI\_VENDORID\_AMD}{PCI\_XHCI\_VENDORID\_AMD}}
{\footnotesize\ttfamily \#define PCI\+\_\+\+XHCI\+\_\+\+VENDORID\+\_\+\+AMD~0x1022}



Definition at line \mbox{\hyperlink{xhci__pci_8c_source_l00065}{65}} of file \mbox{\hyperlink{xhci__pci_8c_source}{xhci\+\_\+pci.\+c}}.

\mbox{\Hypertarget{xhci__pci_8c_a7c8058923b9bff44e7a2ca476a0b6cc7}\label{xhci__pci_8c_a7c8058923b9bff44e7a2ca476a0b6cc7}} 
\index{xhci\_pci.c@{xhci\_pci.c}!PCI\_XHCI\_VENDORID\_INTEL@{PCI\_XHCI\_VENDORID\_INTEL}}
\index{PCI\_XHCI\_VENDORID\_INTEL@{PCI\_XHCI\_VENDORID\_INTEL}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{PCI\_XHCI\_VENDORID\_INTEL}{PCI\_XHCI\_VENDORID\_INTEL}}
{\footnotesize\ttfamily \#define PCI\+\_\+\+XHCI\+\_\+\+VENDORID\+\_\+\+INTEL~0x8086}



Definition at line \mbox{\hyperlink{xhci__pci_8c_source_l00066}{66}} of file \mbox{\hyperlink{xhci__pci_8c_source}{xhci\+\_\+pci.\+c}}.



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

\mbox{\Hypertarget{xhci__pci_8c_a10189d5c215658b76f2818078ef26141}\label{xhci__pci_8c_a10189d5c215658b76f2818078ef26141}} 
\index{xhci\_pci.c@{xhci\_pci.c}!DEFINE\_CLASS\_0@{DEFINE\_CLASS\_0}}
\index{DEFINE\_CLASS\_0@{DEFINE\_CLASS\_0}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{DEFINE\_CLASS\_0()}{DEFINE\_CLASS\_0()}}
{\footnotesize\ttfamily DEFINE\+\_\+\+CLASS\+\_\+0 (\begin{DoxyParamCaption}\item[{xhci}]{,  }\item[{xhci\+\_\+pci\+\_\+driver}]{,  }\item[{\mbox{\hyperlink{xhci__pci_8c_af1975471e8e3152926bf6234b74e5d10}{xhci\+\_\+device\+\_\+methods}}}]{,  }\item[{sizeof(struct \mbox{\hyperlink{structxhci__softc}{xhci\+\_\+softc}})}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{xhci__pci_8c_adf1f221c3a84baaca8a4a85d173ccbc8}\label{xhci__pci_8c_adf1f221c3a84baaca8a4a85d173ccbc8}} 
\index{xhci\_pci.c@{xhci\_pci.c}!DRIVER\_MODULE@{DRIVER\_MODULE}}
\index{DRIVER\_MODULE@{DRIVER\_MODULE}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{DRIVER\_MODULE()}{DRIVER\_MODULE()}}
{\footnotesize\ttfamily DRIVER\+\_\+\+MODULE (\begin{DoxyParamCaption}\item[{xhci}]{,  }\item[{\textbf{ pci}}]{,  }\item[{xhci\+\_\+pci\+\_\+driver}]{,  }\item[{\mbox{\hyperlink{xhci__pci_8c_a0fd30b2fb0399bdb731e9e821ae80ed0}{xhci\+\_\+devclass}}}]{,  }\item[{NULL}]{,  }\item[{NULL}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{xhci__pci_8c_a7dd581040b8c9e6d97524fd2389bc038}\label{xhci__pci_8c_a7dd581040b8c9e6d97524fd2389bc038}} 
\index{xhci\_pci.c@{xhci\_pci.c}!MODULE\_DEPEND@{MODULE\_DEPEND}}
\index{MODULE\_DEPEND@{MODULE\_DEPEND}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{MODULE\_DEPEND()}{MODULE\_DEPEND()}}
{\footnotesize\ttfamily MODULE\+\_\+\+DEPEND (\begin{DoxyParamCaption}\item[{xhci}]{,  }\item[{\mbox{\hyperlink{usb__if_8m_adfa3f6da9c4881e494b180c4ebb06470}{usb}}}]{,  }\item[{1}]{,  }\item[{1}]{,  }\item[{1}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{xhci__pci_8c_a5efe7d52c9fb6a92ad8c7cd1f5e86c46}\label{xhci__pci_8c_a5efe7d52c9fb6a92ad8c7cd1f5e86c46}} 
\index{xhci\_pci.c@{xhci\_pci.c}!TUNABLE\_INT@{TUNABLE\_INT}}
\index{TUNABLE\_INT@{TUNABLE\_INT}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{TUNABLE\_INT()}{TUNABLE\_INT()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily TUNABLE\+\_\+\+INT (\begin{DoxyParamCaption}\item[{\char`\"{}hw.\+usb.\+xhci.\+msi\char`\"{}}]{,  }\item[{\&}]{xhci\+\_\+use\+\_\+msi }\end{DoxyParamCaption})}

\mbox{\Hypertarget{xhci__pci_8c_a45a1c90d936b4787eaa5253835432736}\label{xhci__pci_8c_a45a1c90d936b4787eaa5253835432736}} 
\index{xhci\_pci.c@{xhci\_pci.c}!TUNABLE\_INT@{TUNABLE\_INT}}
\index{TUNABLE\_INT@{TUNABLE\_INT}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{TUNABLE\_INT()}{TUNABLE\_INT()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily TUNABLE\+\_\+\+INT (\begin{DoxyParamCaption}\item[{\char`\"{}hw.\+usb.\+xhci.\+msix\char`\"{}}]{,  }\item[{\&}]{xhci\+\_\+use\+\_\+msix }\end{DoxyParamCaption})}

\mbox{\Hypertarget{xhci__pci_8c_a1da327a392917dcde0a8433be702b783}\label{xhci__pci_8c_a1da327a392917dcde0a8433be702b783}} 
\index{xhci\_pci.c@{xhci\_pci.c}!xhci\_interrupt\_poll@{xhci\_interrupt\_poll}}
\index{xhci\_interrupt\_poll@{xhci\_interrupt\_poll}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{xhci\_interrupt\_poll()}{xhci\_interrupt\_poll()}}
{\footnotesize\ttfamily static void xhci\+\_\+interrupt\+\_\+poll (\begin{DoxyParamCaption}\item[{void $\ast$}]{\+\_\+sc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{xhci__pci_8c_source_l00236}{236}} of file \mbox{\hyperlink{xhci__pci_8c_source}{xhci\+\_\+pci.\+c}}.



References \mbox{\hyperlink{xhci_8h_source_l00493}{xhci\+\_\+softc\+::sc\+\_\+bus}}, \mbox{\hyperlink{xhci_8h_source_l00497}{xhci\+\_\+softc\+::sc\+\_\+callout}}, \mbox{\hyperlink{usb__core_8h_source_l00045}{USB\+\_\+\+BUS\+\_\+\+LOCK}}, \mbox{\hyperlink{usb__core_8h_source_l00046}{USB\+\_\+\+BUS\+\_\+\+UNLOCK}}, \mbox{\hyperlink{usbdi_8h_source_l00481}{usb\+\_\+callout\+\_\+reset}}, \mbox{\hyperlink{xhci_8c_source_l01603}{xhci\+\_\+interrupt()}}, and \mbox{\hyperlink{xhci__pci_8c_source_l00236}{xhci\+\_\+interrupt\+\_\+poll()}}.



Referenced by \mbox{\hyperlink{xhci__pci_8c_source_l00236}{xhci\+\_\+interrupt\+\_\+poll()}}, and \mbox{\hyperlink{xhci__pci_8c_source_l00271}{xhci\+\_\+pci\+\_\+attach()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{df/d3f/xhci__pci_8c_a1da327a392917dcde0a8433be702b783_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=315pt]{df/d3f/xhci__pci_8c_a1da327a392917dcde0a8433be702b783_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{xhci__pci_8c_a4432943e8af5ff8527492b857a68aff8}\label{xhci__pci_8c_a4432943e8af5ff8527492b857a68aff8}} 
\index{xhci\_pci.c@{xhci\_pci.c}!xhci\_pci\_attach@{xhci\_pci\_attach}}
\index{xhci\_pci\_attach@{xhci\_pci\_attach}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{xhci\_pci\_attach()}{xhci\_pci\_attach()}}
{\footnotesize\ttfamily int xhci\+\_\+pci\+\_\+attach (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{self }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{xhci__pci_8c_source_l00271}{271}} of file \mbox{\hyperlink{xhci__pci_8c_source}{xhci\+\_\+pci.\+c}}.



References \mbox{\hyperlink{usb__bus_8h_source_l00101}{usb\+\_\+bus\+::bdev}}, \mbox{\hyperlink{usb__bus_8h_source_l00095}{usb\+\_\+bus\+::bus\+\_\+mtx}}, \textbf{ count}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{xhcireg_8h_source_l00034}{PCI\+\_\+\+XHCI\+\_\+\+CBMEM}}, \mbox{\hyperlink{xhci__pci_8c_source_l00065}{PCI\+\_\+\+XHCI\+\_\+\+VENDORID\+\_\+\+AMD}}, \mbox{\hyperlink{xhci__pci_8c_source_l00066}{PCI\+\_\+\+XHCI\+\_\+\+VENDORID\+\_\+\+INTEL}}, \textbf{ rid}, \mbox{\hyperlink{xhci_8h_source_l00493}{xhci\+\_\+softc\+::sc\+\_\+bus}}, \mbox{\hyperlink{xhci_8h_source_l00497}{xhci\+\_\+softc\+::sc\+\_\+callout}}, \mbox{\hyperlink{xhci_8h_source_l00551}{xhci\+\_\+softc\+::sc\+\_\+ctlstep}}, \mbox{\hyperlink{xhci_8h_source_l00537}{xhci\+\_\+softc\+::sc\+\_\+imod\+\_\+default}}, \mbox{\hyperlink{xhci_8h_source_l00511}{xhci\+\_\+softc\+::sc\+\_\+intr\+\_\+hdl}}, \mbox{\hyperlink{xhci_8h_source_l00514}{xhci\+\_\+softc\+::sc\+\_\+io\+\_\+hdl}}, \mbox{\hyperlink{xhci_8h_source_l00507}{xhci\+\_\+softc\+::sc\+\_\+io\+\_\+res}}, \mbox{\hyperlink{xhci_8h_source_l00512}{xhci\+\_\+softc\+::sc\+\_\+io\+\_\+size}}, \mbox{\hyperlink{xhci_8h_source_l00513}{xhci\+\_\+softc\+::sc\+\_\+io\+\_\+tag}}, \mbox{\hyperlink{xhci_8h_source_l00508}{xhci\+\_\+softc\+::sc\+\_\+irq\+\_\+res}}, \mbox{\hyperlink{xhci_8h_source_l00509}{xhci\+\_\+softc\+::sc\+\_\+msix\+\_\+res}}, \mbox{\hyperlink{xhci_8h_source_l00559}{xhci\+\_\+softc\+::sc\+\_\+no\+\_\+deconfigure}}, \mbox{\hyperlink{xhci_8h_source_l00499}{xhci\+\_\+softc\+::sc\+\_\+port\+\_\+route}}, \mbox{\hyperlink{xhci_8h_source_l00565}{xhci\+\_\+softc\+::sc\+\_\+vendor}}, \mbox{\hyperlink{usb__core_8h_source_l00045}{USB\+\_\+\+BUS\+\_\+\+LOCK}}, \mbox{\hyperlink{usb__core_8h_source_l00046}{USB\+\_\+\+BUS\+\_\+\+UNLOCK}}, \mbox{\hyperlink{usbdi_8h_source_l00480}{usb\+\_\+callout\+\_\+init\+\_\+mtx}}, \mbox{\hyperlink{xhci_8c_source_l00454}{xhci\+\_\+halt\+\_\+controller()}}, \mbox{\hyperlink{xhcireg_8h_source_l00174}{XHCI\+\_\+\+IMOD\+\_\+\+DEFAULT\+\_\+\+LP}}, \mbox{\hyperlink{xhci_8c_source_l00511}{xhci\+\_\+init()}}, \mbox{\hyperlink{xhci_8c_source_l01603}{xhci\+\_\+interrupt()}}, \mbox{\hyperlink{xhci__pci_8c_source_l00236}{xhci\+\_\+interrupt\+\_\+poll()}}, \mbox{\hyperlink{xhci__pci_8c_source_l00069}{xhci\+\_\+pci\+\_\+detach}}, \mbox{\hyperlink{xhci__pci_8c_source_l00246}{xhci\+\_\+pci\+\_\+port\+\_\+route()}}, \mbox{\hyperlink{xhci__pci_8c_source_l00070}{xhci\+\_\+pci\+\_\+take\+\_\+controller}}, \mbox{\hyperlink{xhci_8c_source_l00304}{xhci\+\_\+start\+\_\+controller()}}, \mbox{\hyperlink{xhci__pci_8c_source_l00230}{xhci\+\_\+use\+\_\+msi}}, \mbox{\hyperlink{xhci__pci_8c_source_l00232}{xhci\+\_\+use\+\_\+msix}}, and \mbox{\hyperlink{xhci_8c_source_l00213}{xhci\+\_\+use\+\_\+polling()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{df/d3f/xhci__pci_8c_a4432943e8af5ff8527492b857a68aff8_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{xhci__pci_8c_a3c6d7227468e53deeda41d16842646b9}\label{xhci__pci_8c_a3c6d7227468e53deeda41d16842646b9}} 
\index{xhci\_pci.c@{xhci\_pci.c}!xhci\_pci\_detach@{xhci\_pci\_detach}}
\index{xhci\_pci\_detach@{xhci\_pci\_detach}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{xhci\_pci\_detach()}{xhci\_pci\_detach()}}
{\footnotesize\ttfamily static int xhci\+\_\+pci\+\_\+detach (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{self }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{xhci__pci_8c_source_l00443}{443}} of file \mbox{\hyperlink{xhci__pci_8c_source}{xhci\+\_\+pci.\+c}}.



References \mbox{\hyperlink{xhcireg_8h_source_l00034}{PCI\+\_\+\+XHCI\+\_\+\+CBMEM}}, \mbox{\hyperlink{xhci_8h_source_l00497}{xhci\+\_\+softc\+::sc\+\_\+callout}}, \mbox{\hyperlink{xhci_8h_source_l00511}{xhci\+\_\+softc\+::sc\+\_\+intr\+\_\+hdl}}, \mbox{\hyperlink{xhci_8h_source_l00507}{xhci\+\_\+softc\+::sc\+\_\+io\+\_\+res}}, \mbox{\hyperlink{xhci_8h_source_l00508}{xhci\+\_\+softc\+::sc\+\_\+irq\+\_\+res}}, \mbox{\hyperlink{xhci_8h_source_l00509}{xhci\+\_\+softc\+::sc\+\_\+msix\+\_\+res}}, \mbox{\hyperlink{usbdi_8h_source_l00497}{usb\+\_\+callout\+\_\+drain}}, \mbox{\hyperlink{xhci_8c_source_l00454}{xhci\+\_\+halt\+\_\+controller()}}, \mbox{\hyperlink{xhci_8c_source_l00484}{xhci\+\_\+reset\+\_\+controller()}}, and \mbox{\hyperlink{xhci_8c_source_l00644}{xhci\+\_\+uninit()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{df/d3f/xhci__pci_8c_a3c6d7227468e53deeda41d16842646b9_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{xhci__pci_8c_a48620b9e207652d59d190efbbeda3776}\label{xhci__pci_8c_a48620b9e207652d59d190efbbeda3776}} 
\index{xhci\_pci.c@{xhci\_pci.c}!xhci\_pci\_match@{xhci\_pci\_match}}
\index{xhci\_pci\_match@{xhci\_pci\_match}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{xhci\_pci\_match()}{xhci\_pci\_match()}}
{\footnotesize\ttfamily static const char $\ast$ xhci\+\_\+pci\+\_\+match (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{self }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{xhci__pci_8c_source_l00094}{94}} of file \mbox{\hyperlink{xhci__pci_8c_source}{xhci\+\_\+pci.\+c}}.



References \textbf{ PCIC\+\_\+\+SERIALBUS}, \textbf{ PCIP\+\_\+\+SERIALBUS\+\_\+\+USB\+\_\+\+XHCI}, and \textbf{ PCIS\+\_\+\+SERIALBUS\+\_\+\+USB}.



Referenced by \mbox{\hyperlink{xhci__pci_8c_source_l00218}{xhci\+\_\+pci\+\_\+probe()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=297pt]{df/d3f/xhci__pci_8c_a48620b9e207652d59d190efbbeda3776_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{xhci__pci_8c_ac00171c9ef508c634ffe1e8101563b28}\label{xhci__pci_8c_ac00171c9ef508c634ffe1e8101563b28}} 
\index{xhci\_pci.c@{xhci\_pci.c}!xhci\_pci\_port\_route@{xhci\_pci\_port\_route}}
\index{xhci\_pci\_port\_route@{xhci\_pci\_port\_route}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{xhci\_pci\_port\_route()}{xhci\_pci\_port\_route()}}
{\footnotesize\ttfamily static int xhci\+\_\+pci\+\_\+port\+\_\+route (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{self,  }\item[{uint32\+\_\+t}]{set,  }\item[{uint32\+\_\+t}]{clear }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{xhci__pci_8c_source_l00246}{246}} of file \mbox{\hyperlink{xhci__pci_8c_source}{xhci\+\_\+pci.\+c}}.



References \mbox{\hyperlink{xhcireg_8h_source_l00040}{PCI\+\_\+\+XHCI\+\_\+\+INTEL\+\_\+\+USB2\+PRM}}, \mbox{\hyperlink{xhcireg_8h_source_l00041}{PCI\+\_\+\+XHCI\+\_\+\+INTEL\+\_\+\+USB3\+\_\+\+PSSEN}}, \mbox{\hyperlink{xhcireg_8h_source_l00042}{PCI\+\_\+\+XHCI\+\_\+\+INTEL\+\_\+\+USB3\+PRM}}, and \mbox{\hyperlink{xhcireg_8h_source_l00039}{PCI\+\_\+\+XHCI\+\_\+\+INTEL\+\_\+\+XUSB2\+PR}}.



Referenced by \mbox{\hyperlink{xhci__pci_8c_source_l00271}{xhci\+\_\+pci\+\_\+attach()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=320pt]{df/d3f/xhci__pci_8c_ac00171c9ef508c634ffe1e8101563b28_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{xhci__pci_8c_a516793e7e450cfd26dbd2b1270052de8}\label{xhci__pci_8c_a516793e7e450cfd26dbd2b1270052de8}} 
\index{xhci\_pci.c@{xhci\_pci.c}!xhci\_pci\_probe@{xhci\_pci\_probe}}
\index{xhci\_pci\_probe@{xhci\_pci\_probe}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{xhci\_pci\_probe()}{xhci\_pci\_probe()}}
{\footnotesize\ttfamily static int xhci\+\_\+pci\+\_\+probe (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{self }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{xhci__pci_8c_source_l00218}{218}} of file \mbox{\hyperlink{xhci__pci_8c_source}{xhci\+\_\+pci.\+c}}.



References \mbox{\hyperlink{usb__device_8h_source_l00000}{desc}}, and \mbox{\hyperlink{xhci__pci_8c_source_l00094}{xhci\+\_\+pci\+\_\+match()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=297pt]{df/d3f/xhci__pci_8c_a516793e7e450cfd26dbd2b1270052de8_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{xhci__pci_8c_a7de58e4db3aa87f23f06feff14fc7885}\label{xhci__pci_8c_a7de58e4db3aa87f23f06feff14fc7885}} 
\index{xhci\_pci.c@{xhci\_pci.c}!xhci\_pci\_take\_controller@{xhci\_pci\_take\_controller}}
\index{xhci\_pci\_take\_controller@{xhci\_pci\_take\_controller}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{xhci\_pci\_take\_controller()}{xhci\_pci\_take\_controller()}}
{\footnotesize\ttfamily static int xhci\+\_\+pci\+\_\+take\+\_\+controller (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{self }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{xhci__pci_8c_source_l00483}{483}} of file \mbox{\hyperlink{xhci__pci_8c_source}{xhci\+\_\+pci.\+c}}.



References \mbox{\hyperlink{usb__bus_8h_source_l00101}{usb\+\_\+bus\+::bdev}}, \mbox{\hyperlink{xhci_8h_source_l00493}{xhci\+\_\+softc\+::sc\+\_\+bus}}, \mbox{\hyperlink{usb__util_8c_source_l00135}{usb\+\_\+pause\+\_\+mtx()}}, \mbox{\hyperlink{xhcireg_8h_source_l00072}{XHCI\+\_\+\+HCS0\+\_\+\+XECP}}, \mbox{\hyperlink{xhcireg_8h_source_l00062}{XHCI\+\_\+\+HCSPARAMS0}}, \mbox{\hyperlink{xhcireg_8h_source_l00199}{XHCI\+\_\+\+ID\+\_\+\+USB\+\_\+\+LEGACY}}, \mbox{\hyperlink{xhcireg_8h_source_l00195}{XHCI\+\_\+\+XECP\+\_\+\+BIOS\+\_\+\+SEM}}, \mbox{\hyperlink{xhcireg_8h_source_l00193}{XHCI\+\_\+\+XECP\+\_\+\+ID}}, \mbox{\hyperlink{xhcireg_8h_source_l00194}{XHCI\+\_\+\+XECP\+\_\+\+NEXT}}, \mbox{\hyperlink{xhcireg_8h_source_l00196}{XHCI\+\_\+\+XECP\+\_\+\+OS\+\_\+\+SEM}}, \mbox{\hyperlink{xhcireg_8h_source_l00207}{XREAD1}}, \mbox{\hyperlink{xhcireg_8h_source_l00213}{XREAD4}}, and \mbox{\hyperlink{xhcireg_8h_source_l00216}{XWRITE1}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=343pt]{df/d3f/xhci__pci_8c_a7de58e4db3aa87f23f06feff14fc7885_cgraph}
\end{center}
\end{figure}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{xhci__pci_8c_a0fd30b2fb0399bdb731e9e821ae80ed0}\label{xhci__pci_8c_a0fd30b2fb0399bdb731e9e821ae80ed0}} 
\index{xhci\_pci.c@{xhci\_pci.c}!xhci\_devclass@{xhci\_devclass}}
\index{xhci\_devclass@{xhci\_devclass}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{xhci\_devclass}{xhci\_devclass}}
{\footnotesize\ttfamily devclass\+\_\+t xhci\+\_\+devclass\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{xhci__pci_8c_source_l00088}{88}} of file \mbox{\hyperlink{xhci__pci_8c_source}{xhci\+\_\+pci.\+c}}.

\mbox{\Hypertarget{xhci__pci_8c_af1975471e8e3152926bf6234b74e5d10}\label{xhci__pci_8c_af1975471e8e3152926bf6234b74e5d10}} 
\index{xhci\_pci.c@{xhci\_pci.c}!xhci\_device\_methods@{xhci\_device\_methods}}
\index{xhci\_device\_methods@{xhci\_device\_methods}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{xhci\_device\_methods}{xhci\_device\_methods}}
{\footnotesize\ttfamily device\+\_\+method\+\_\+t xhci\+\_\+device\+\_\+methods\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        }
\DoxyCodeLine{        DEVMETHOD(device\_probe, \mbox{\hyperlink{xhci__pci_8c_a54319c3bc953657335a24746034e06e0}{xhci\_pci\_probe}}),}
\DoxyCodeLine{        DEVMETHOD(device\_attach, \mbox{\hyperlink{xhci__pci_8c_a4432943e8af5ff8527492b857a68aff8}{xhci\_pci\_attach}}),}
\DoxyCodeLine{        DEVMETHOD(device\_detach, \mbox{\hyperlink{xhci__pci_8c_a9bf70e0327897f2796353bc947bb325f}{xhci\_pci\_detach}}),}
\DoxyCodeLine{        DEVMETHOD(device\_suspend, bus\_generic\_suspend),}
\DoxyCodeLine{        DEVMETHOD(device\_resume, bus\_generic\_resume),}
\DoxyCodeLine{        DEVMETHOD(device\_shutdown, bus\_generic\_shutdown),}
\DoxyCodeLine{        DEVMETHOD(usb\_take\_controller, \mbox{\hyperlink{xhci__pci_8c_a6023ac356092973a7472dca68723b64e}{xhci\_pci\_take\_controller}}),}
\DoxyCodeLine{}
\DoxyCodeLine{        DEVMETHOD\_END}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{xhci__pci_8c_source_l00072}{72}} of file \mbox{\hyperlink{xhci__pci_8c_source}{xhci\+\_\+pci.\+c}}.

\mbox{\Hypertarget{xhci__pci_8c_a9bf70e0327897f2796353bc947bb325f}\label{xhci__pci_8c_a9bf70e0327897f2796353bc947bb325f}} 
\index{xhci\_pci.c@{xhci\_pci.c}!xhci\_pci\_detach@{xhci\_pci\_detach}}
\index{xhci\_pci\_detach@{xhci\_pci\_detach}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{xhci\_pci\_detach}{xhci\_pci\_detach}}
{\footnotesize\ttfamily device\+\_\+detach\+\_\+t xhci\+\_\+pci\+\_\+detach\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{xhci__pci_8c_source_l00069}{69}} of file \mbox{\hyperlink{xhci__pci_8c_source}{xhci\+\_\+pci.\+c}}.



Referenced by \mbox{\hyperlink{xhci__pci_8c_source_l00271}{xhci\+\_\+pci\+\_\+attach()}}.

\mbox{\Hypertarget{xhci__pci_8c_a54319c3bc953657335a24746034e06e0}\label{xhci__pci_8c_a54319c3bc953657335a24746034e06e0}} 
\index{xhci\_pci.c@{xhci\_pci.c}!xhci\_pci\_probe@{xhci\_pci\_probe}}
\index{xhci\_pci\_probe@{xhci\_pci\_probe}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{xhci\_pci\_probe}{xhci\_pci\_probe}}
{\footnotesize\ttfamily device\+\_\+probe\+\_\+t xhci\+\_\+pci\+\_\+probe\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{xhci__pci_8c_source_l00068}{68}} of file \mbox{\hyperlink{xhci__pci_8c_source}{xhci\+\_\+pci.\+c}}.

\mbox{\Hypertarget{xhci__pci_8c_a6023ac356092973a7472dca68723b64e}\label{xhci__pci_8c_a6023ac356092973a7472dca68723b64e}} 
\index{xhci\_pci.c@{xhci\_pci.c}!xhci\_pci\_take\_controller@{xhci\_pci\_take\_controller}}
\index{xhci\_pci\_take\_controller@{xhci\_pci\_take\_controller}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{xhci\_pci\_take\_controller}{xhci\_pci\_take\_controller}}
{\footnotesize\ttfamily usb\+\_\+take\+\_\+controller\+\_\+t xhci\+\_\+pci\+\_\+take\+\_\+controller\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{xhci__pci_8c_source_l00070}{70}} of file \mbox{\hyperlink{xhci__pci_8c_source}{xhci\+\_\+pci.\+c}}.



Referenced by \mbox{\hyperlink{xhci__pci_8c_source_l00271}{xhci\+\_\+pci\+\_\+attach()}}.

\mbox{\Hypertarget{xhci__pci_8c_aee8eecb04307b158980004cce5cb0dde}\label{xhci__pci_8c_aee8eecb04307b158980004cce5cb0dde}} 
\index{xhci\_pci.c@{xhci\_pci.c}!xhci\_use\_msi@{xhci\_use\_msi}}
\index{xhci\_use\_msi@{xhci\_use\_msi}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{xhci\_use\_msi}{xhci\_use\_msi}}
{\footnotesize\ttfamily int xhci\+\_\+use\+\_\+msi = 1\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{xhci__pci_8c_source_l00230}{230}} of file \mbox{\hyperlink{xhci__pci_8c_source}{xhci\+\_\+pci.\+c}}.



Referenced by \mbox{\hyperlink{xhci__pci_8c_source_l00271}{xhci\+\_\+pci\+\_\+attach()}}.

\mbox{\Hypertarget{xhci__pci_8c_a3542611ca38b7d4544b281aede683526}\label{xhci__pci_8c_a3542611ca38b7d4544b281aede683526}} 
\index{xhci\_pci.c@{xhci\_pci.c}!xhci\_use\_msix@{xhci\_use\_msix}}
\index{xhci\_use\_msix@{xhci\_use\_msix}!xhci\_pci.c@{xhci\_pci.c}}
\doxysubsubsection{\texorpdfstring{xhci\_use\_msix}{xhci\_use\_msix}}
{\footnotesize\ttfamily int xhci\+\_\+use\+\_\+msix = 1\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{xhci__pci_8c_source_l00232}{232}} of file \mbox{\hyperlink{xhci__pci_8c_source}{xhci\+\_\+pci.\+c}}.



Referenced by \mbox{\hyperlink{xhci__pci_8c_source_l00271}{xhci\+\_\+pci\+\_\+attach()}}.

