\hypertarget{usb__debug_8c_source}{}\doxysection{usb\+\_\+debug.\+c}
\label{usb__debug_8c_source}\index{dev/usb/usb\_debug.c@{dev/usb/usb\_debug.c}}
\mbox{\hyperlink{usb__debug_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00001}00001 \textcolor{comment}{/* \$FreeBSD\$ */}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00002}00002 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00003}00003 \textcolor{comment}{ * SPDX-\/License-\/Identifier: BSD-\/2-\/Clause-\/FreeBSD}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00004}00004 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00005}00005 \textcolor{comment}{ * Copyright (c) 2008 Hans Petter Selasky. All rights reserved.}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00006}00006 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00007}00007 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00008}00008 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00009}00009 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00010}00010 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00011}00011 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00012}00012 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00013}00013 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00014}00014 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00015}00015 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00016}00016 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00017}00017 \textcolor{comment}{ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00018}00018 \textcolor{comment}{ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00019}00019 \textcolor{comment}{ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00020}00020 \textcolor{comment}{ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00021}00021 \textcolor{comment}{ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00022}00022 \textcolor{comment}{ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00023}00023 \textcolor{comment}{ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00024}00024 \textcolor{comment}{ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00025}00025 \textcolor{comment}{ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00026}00026 \textcolor{comment}{ * SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00027}00027 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00028}00028 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00029}00029 \textcolor{preprocessor}{\#ifdef USB\_GLOBAL\_INCLUDE\_FILE}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00030}00030 \textcolor{preprocessor}{\#include USB\_GLOBAL\_INCLUDE\_FILE}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00031}00031 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00032}00032 \textcolor{preprocessor}{\#include <sys/stdint.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00033}00033 \textcolor{preprocessor}{\#include <sys/stddef.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00034}00034 \textcolor{preprocessor}{\#include <sys/param.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00035}00035 \textcolor{preprocessor}{\#include <sys/queue.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00036}00036 \textcolor{preprocessor}{\#include <sys/types.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00037}00037 \textcolor{preprocessor}{\#include <sys/systm.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00038}00038 \textcolor{preprocessor}{\#include <sys/kernel.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00039}00039 \textcolor{preprocessor}{\#include <sys/bus.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00040}00040 \textcolor{preprocessor}{\#include <sys/module.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00041}00041 \textcolor{preprocessor}{\#include <sys/lock.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00042}00042 \textcolor{preprocessor}{\#include <sys/mutex.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00043}00043 \textcolor{preprocessor}{\#include <sys/condvar.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00044}00044 \textcolor{preprocessor}{\#include <sys/sysctl.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00045}00045 \textcolor{preprocessor}{\#include <sys/sx.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00046}00046 \textcolor{preprocessor}{\#include <sys/unistd.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00047}00047 \textcolor{preprocessor}{\#include <sys/callout.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00048}00048 \textcolor{preprocessor}{\#include <sys/malloc.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00049}00049 \textcolor{preprocessor}{\#include <sys/priv.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00050}00050 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00051}00051 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb_8h}{dev/usb/usb.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00052}00052 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usbdi_8h}{dev/usb/usbdi.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00053}00053 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00054}00054 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__core_8h}{dev/usb/usb\_core.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00055}00055 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__debug_8h}{dev/usb/usb\_debug.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00056}00056 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__process_8h}{dev/usb/usb\_process.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00057}00057 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__device_8h}{dev/usb/usb\_device.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00058}00058 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__busdma_8h}{dev/usb/usb\_busdma.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00059}00059 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__transfer_8h}{dev/usb/usb\_transfer.h}}>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00060}00060 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00061}00061 \textcolor{preprocessor}{\#include <ddb/ddb.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00062}00062 \textcolor{preprocessor}{\#include <ddb/db\_sym.h>}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00063}00063 \textcolor{preprocessor}{\#endif                  }\textcolor{comment}{/* USB\_GLOBAL\_INCLUDE\_FILE */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00064}00064 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00065}00065 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00066}00066 \textcolor{comment}{ * Define this unconditionally in case a kernel module is loaded that}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00067}00067 \textcolor{comment}{ * has been compiled with debugging options.}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00068}00068 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00069}\mbox{\hyperlink{usb__debug_8c_ae3f6d70c719c77e228ccc905331d7784}{00069}} \textcolor{keywordtype}{int}     \mbox{\hyperlink{usb__debug_8c_ae3f6d70c719c77e228ccc905331d7784}{usb\_debug}} = 0;}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00070}00070 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00071}\mbox{\hyperlink{usb__debug_8c_a2a16b9ed051450223c7d26240a705202}{00071}} \mbox{\hyperlink{usb__debug_8c_a2a16b9ed051450223c7d26240a705202}{SYSCTL\_NODE}}(\_hw, OID\_AUTO, \mbox{\hyperlink{usb__if_8m_adfa3f6da9c4881e494b180c4ebb06470}{usb}}, CTLFLAG\_RW | CTLFLAG\_MPSAFE, 0,}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00072}00072     \textcolor{stringliteral}{"{}USB debugging"{}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00073}\mbox{\hyperlink{usb__debug_8c_a0f7a704da0d53c7028148a8d6b75a225}{00073}} \mbox{\hyperlink{usb__debug_8c_a0f7a704da0d53c7028148a8d6b75a225}{SYSCTL\_INT}}(\_hw\_usb, OID\_AUTO, \mbox{\hyperlink{cfumass_8c_ac3e1795766a80ec63b157951b4b9a7d4}{debug}}, CTLFLAG\_RWTUN,}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00074}00074     \&\mbox{\hyperlink{usb__debug_8c_ae3f6d70c719c77e228ccc905331d7784}{usb\_debug}}, 0, \textcolor{stringliteral}{"{}Debug level"{}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00075}00075 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00076}00076 \textcolor{preprocessor}{\#ifdef USB\_DEBUG}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00077}00077 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00078}00078 \textcolor{comment}{ * Sysctls to modify timings/delays}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00079}00079 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00080}00080 \textcolor{keyword}{static} \mbox{\hyperlink{usb__debug_8c_a2a16b9ed051450223c7d26240a705202}{SYSCTL\_NODE}}(\_hw\_usb, OID\_AUTO, timings, CTLFLAG\_RW | CTLFLAG\_MPSAFE, 0,}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00081}00081     \textcolor{stringliteral}{"{}Timings"{}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00082}00082 \textcolor{keyword}{static} \textcolor{keywordtype}{int} usb\_timings\_sysctl\_handler(SYSCTL\_HANDLER\_ARGS);}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00083}00083 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00084}00084 \mbox{\hyperlink{atp_8c_ab8d19174a581b415afab33f1860be1c6}{SYSCTL\_PROC}}(\_hw\_usb\_timings, OID\_AUTO, port\_reset\_delay,}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00085}00085     CTLTYPE\_UINT | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE, \&\mbox{\hyperlink{usb__debug_8h_a6674baade8d1b97e86d37727b6c326cf}{usb\_port\_reset\_delay}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00086}00086     \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__debug_8h_a6674baade8d1b97e86d37727b6c326cf}{usb\_port\_reset\_delay}}), usb\_timings\_sysctl\_handler, \textcolor{stringliteral}{"{}IU"{}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00087}00087     \textcolor{stringliteral}{"{}Port Reset Delay"{}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00088}00088 \mbox{\hyperlink{atp_8c_ab8d19174a581b415afab33f1860be1c6}{SYSCTL\_PROC}}(\_hw\_usb\_timings, OID\_AUTO, port\_root\_reset\_delay,}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00089}00089     CTLTYPE\_UINT | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE,}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00090}00090     \&\mbox{\hyperlink{usb__debug_8h_afe58e3fdfdb70d6a78dde4d74580ddb2}{usb\_port\_root\_reset\_delay}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__debug_8h_afe58e3fdfdb70d6a78dde4d74580ddb2}{usb\_port\_root\_reset\_delay}}),}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00091}00091     usb\_timings\_sysctl\_handler, \textcolor{stringliteral}{"{}IU"{}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00092}00092     \textcolor{stringliteral}{"{}Root Port Reset Delay"{}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00093}00093 \mbox{\hyperlink{atp_8c_ab8d19174a581b415afab33f1860be1c6}{SYSCTL\_PROC}}(\_hw\_usb\_timings, OID\_AUTO, port\_reset\_recovery,}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00094}00094     CTLTYPE\_UINT | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE,}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00095}00095     \&\mbox{\hyperlink{usb__debug_8h_a1fe70ac4f5c4bad28cb256e633d77508}{usb\_port\_reset\_recovery}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__debug_8h_a1fe70ac4f5c4bad28cb256e633d77508}{usb\_port\_reset\_recovery}}),}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00096}00096     usb\_timings\_sysctl\_handler, \textcolor{stringliteral}{"{}IU"{}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00097}00097     \textcolor{stringliteral}{"{}Port Reset Recovery"{}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00098}00098 \mbox{\hyperlink{atp_8c_ab8d19174a581b415afab33f1860be1c6}{SYSCTL\_PROC}}(\_hw\_usb\_timings, OID\_AUTO, port\_powerup\_delay,}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00099}00099     CTLTYPE\_UINT | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE, \&\mbox{\hyperlink{usb__debug_8h_a6c9756a5a87284201bebc797822b006d}{usb\_port\_powerup\_delay}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00100}00100     \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__debug_8h_a6c9756a5a87284201bebc797822b006d}{usb\_port\_powerup\_delay}}), usb\_timings\_sysctl\_handler, \textcolor{stringliteral}{"{}IU"{}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00101}00101     \textcolor{stringliteral}{"{}Port PowerUp Delay"{}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00102}00102 \mbox{\hyperlink{atp_8c_ab8d19174a581b415afab33f1860be1c6}{SYSCTL\_PROC}}(\_hw\_usb\_timings, OID\_AUTO, port\_resume\_delay,}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00103}00103     CTLTYPE\_UINT | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE, \&\mbox{\hyperlink{usb__debug_8h_a040c9b5f65a1879688c9beba5b137797}{usb\_port\_resume\_delay}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00104}00104     \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__debug_8h_a040c9b5f65a1879688c9beba5b137797}{usb\_port\_resume\_delay}}), usb\_timings\_sysctl\_handler, \textcolor{stringliteral}{"{}IU"{}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00105}00105     \textcolor{stringliteral}{"{}Port Resume Delay"{}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00106}00106 \mbox{\hyperlink{atp_8c_ab8d19174a581b415afab33f1860be1c6}{SYSCTL\_PROC}}(\_hw\_usb\_timings, OID\_AUTO, set\_address\_settle,}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00107}00107     CTLTYPE\_UINT | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE, \&\mbox{\hyperlink{usb__debug_8h_a8f11fe5bb569fbafcdb7cbb2e3d7046d}{usb\_set\_address\_settle}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00108}00108     \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__debug_8h_a8f11fe5bb569fbafcdb7cbb2e3d7046d}{usb\_set\_address\_settle}}), usb\_timings\_sysctl\_handler, \textcolor{stringliteral}{"{}IU"{}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00109}00109     \textcolor{stringliteral}{"{}Set Address Settle"{}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00110}00110 \mbox{\hyperlink{atp_8c_ab8d19174a581b415afab33f1860be1c6}{SYSCTL\_PROC}}(\_hw\_usb\_timings, OID\_AUTO, resume\_delay,}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00111}00111     CTLTYPE\_UINT | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE, \&\mbox{\hyperlink{usb__debug_8h_a01708ba0ee706ad68ccd6ba568bf535e}{usb\_resume\_delay}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00112}00112     \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__debug_8h_a01708ba0ee706ad68ccd6ba568bf535e}{usb\_resume\_delay}}), usb\_timings\_sysctl\_handler, \textcolor{stringliteral}{"{}IU"{}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00113}00113     \textcolor{stringliteral}{"{}Resume Delay"{}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00114}00114 \mbox{\hyperlink{atp_8c_ab8d19174a581b415afab33f1860be1c6}{SYSCTL\_PROC}}(\_hw\_usb\_timings, OID\_AUTO, resume\_wait,}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00115}00115     CTLTYPE\_UINT | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE, \&\mbox{\hyperlink{usb__debug_8h_a79786a647df016daa0052cbdbafd9305}{usb\_resume\_wait}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00116}00116     \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__debug_8h_a79786a647df016daa0052cbdbafd9305}{usb\_resume\_wait}}), usb\_timings\_sysctl\_handler, \textcolor{stringliteral}{"{}IU"{}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00117}00117     \textcolor{stringliteral}{"{}Resume Wait"{}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00118}00118 \mbox{\hyperlink{atp_8c_ab8d19174a581b415afab33f1860be1c6}{SYSCTL\_PROC}}(\_hw\_usb\_timings, OID\_AUTO, resume\_recovery,}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00119}00119     CTLTYPE\_UINT | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE, \&\mbox{\hyperlink{usb__debug_8h_a7af26e3104ae6fb7c476355ce182cea8}{usb\_resume\_recovery}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00120}00120     \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__debug_8h_a7af26e3104ae6fb7c476355ce182cea8}{usb\_resume\_recovery}}), usb\_timings\_sysctl\_handler, \textcolor{stringliteral}{"{}IU"{}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00121}00121     \textcolor{stringliteral}{"{}Resume Recovery"{}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00122}00122 \mbox{\hyperlink{atp_8c_ab8d19174a581b415afab33f1860be1c6}{SYSCTL\_PROC}}(\_hw\_usb\_timings, OID\_AUTO, extra\_power\_up\_time,}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00123}00123     CTLTYPE\_UINT | CTLFLAG\_RWTUN | CTLFLAG\_MPSAFE, \&\mbox{\hyperlink{usb__debug_8h_a6a6c095ac87fe52f21d813cde826b15b}{usb\_extra\_power\_up\_time}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00124}00124     \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__debug_8h_a6a6c095ac87fe52f21d813cde826b15b}{usb\_extra\_power\_up\_time}}), usb\_timings\_sysctl\_handler, \textcolor{stringliteral}{"{}IU"{}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00125}00125     \textcolor{stringliteral}{"{}Extra PowerUp Time"{}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00126}00126 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00127}00127 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00128}00128 \textcolor{comment}{/*-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00129}00129 \textcolor{comment}{ *      usb\_dump\_iface}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00130}00130 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00131}00131 \textcolor{comment}{ * This function dumps information about an USB interface.}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00132}00132 \textcolor{comment}{ *-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*/}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00133}00133 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00134}\mbox{\hyperlink{usb__debug_8c_a69432ceed2a34b88ad8531f66d8dca4b}{00134}} \mbox{\hyperlink{usb__debug_8c_a69432ceed2a34b88ad8531f66d8dca4b}{usb\_dump\_iface}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__interface}{usb\_interface}} *iface)}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00135}00135 \{}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00136}00136         printf(\textcolor{stringliteral}{"{}usb\_dump\_iface: iface=\%p\(\backslash\)n"{}}, iface);}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00137}00137         \textcolor{keywordflow}{if} (iface == NULL) \{}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00138}00138                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00139}00139         \}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00140}00140         printf(\textcolor{stringliteral}{"{} iface=\%p idesc=\%p altindex=\%d\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00141}00141             iface, iface-\/>\mbox{\hyperlink{structusb__interface_aa5cea795ac14467ffdbe70b7f59beaba}{idesc}}, iface-\/>\mbox{\hyperlink{structusb__interface_abe6dfd442aa844e892cf38426c0cf75c}{alt\_index}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00142}00142 \}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00143}00143 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00144}00144 \textcolor{comment}{/*-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00145}00145 \textcolor{comment}{ *      usb\_dump\_device}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00146}00146 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00147}00147 \textcolor{comment}{ * This function dumps information about an USB device.}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00148}00148 \textcolor{comment}{ *-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*/}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00149}00149 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00150}\mbox{\hyperlink{usb__debug_8c_a939efe6e6f5cff79e949df72bd3e7b2d}{00150}} \mbox{\hyperlink{usb__debug_8c_a939efe6e6f5cff79e949df72bd3e7b2d}{usb\_dump\_device}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__device}{usb\_device}} *udev)}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00151}00151 \{}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00152}00152         printf(\textcolor{stringliteral}{"{}usb\_dump\_device: dev=\%p\(\backslash\)n"{}}, udev);}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00153}00153         \textcolor{keywordflow}{if} (udev == NULL) \{}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00154}00154                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00155}00155         \}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00156}00156         printf(\textcolor{stringliteral}{"{} bus=\%p \(\backslash\)n"{}}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00157}00157             \textcolor{stringliteral}{"{} address=\%d config=\%d depth=\%d speed=\%d self\_powered=\%d\(\backslash\)n"{}}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00158}00158             \textcolor{stringliteral}{"{} power=\%d langid=\%d\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00159}00159             udev-\/>\mbox{\hyperlink{structusb__device_a532e474ebc2a6bfa9512e6fa1aaedf3c}{bus}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00160}00160             udev-\/>\mbox{\hyperlink{structusb__device_ab9873df4422a53f4fa2d7c17460b11a1}{address}}, udev-\/>\mbox{\hyperlink{structusb__device_a2ee59cfa6a9fe9463edb0eb1533f8757}{curr\_config\_no}}, udev-\/>\mbox{\hyperlink{structusb__device_a4235127b6b2a4b50982007e31280a9c4}{depth}}, udev-\/>\mbox{\hyperlink{structusb__device_a1fc02abd43bd33f295493ed23debd852}{speed}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00161}00161             udev-\/>\mbox{\hyperlink{structusb__device_ae7b27fdcae02d49bee5c2f0a9130b633}{flags}}.\mbox{\hyperlink{structusb__device__flags_a41252dd27c1f941416917504610e0257}{self\_powered}}, udev-\/>\mbox{\hyperlink{structusb__device_a928111b85e657beadd61437d701b2843}{power}}, udev-\/>\mbox{\hyperlink{structusb__device_acf755fea1cd352ed92c617145115afcd}{langid}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00162}00162 \}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00163}00163 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00164}00164 \textcolor{comment}{/*-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00165}00165 \textcolor{comment}{ *      usb\_dump\_queue}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00166}00166 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00167}00167 \textcolor{comment}{ * This function dumps the USB transfer that are queued up on an USB endpoint.}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00168}00168 \textcolor{comment}{ *-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*/}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00169}00169 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00170}\mbox{\hyperlink{usb__debug_8c_a8cc7ca9131f0a3a3c89763991c8744ff}{00170}} \mbox{\hyperlink{usb__debug_8c_a8cc7ca9131f0a3a3c89763991c8744ff}{usb\_dump\_queue}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__endpoint}{usb\_endpoint}} *ep)}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00171}00171 \{}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00172}00172         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer;}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00173}00173         \mbox{\hyperlink{usb__freebsd_8h_a3f3a2ea5069eca21eab610b65c30c173}{usb\_stream\_t}} x;}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00174}00174 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00175}00175         printf(\textcolor{stringliteral}{"{}usb\_dump\_queue: endpoint=\%p xfer: "{}}, ep);}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00176}00176         \textcolor{keywordflow}{for} (x = 0; x != \mbox{\hyperlink{usb__freebsd_8h_acf0a6ee982e1d7711be9a1ccb7f2850d}{USB\_MAX\_EP\_STREAMS}}; x++) \{}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00177}00177                 TAILQ\_FOREACH(xfer, \&ep-\/>\mbox{\hyperlink{structusb__endpoint_a8c6530aca08e1e74ed95341bed82b12f}{endpoint\_q}}[x].head, wait\_entry)}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00178}00178                         printf(\textcolor{stringliteral}{"{} \%p"{}}, xfer);}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00179}00179         \}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00180}00180         printf(\textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00181}00181 \}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00182}00182 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00183}00183 \textcolor{comment}{/*-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00184}00184 \textcolor{comment}{ *      usb\_dump\_endpoint}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00185}00185 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00186}00186 \textcolor{comment}{ * This function dumps information about an USB endpoint.}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00187}00187 \textcolor{comment}{ *-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*/}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00188}00188 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00189}\mbox{\hyperlink{usb__debug_8c_a53569170d5f469d5a61bbbd1e6174155}{00189}} \mbox{\hyperlink{usb__debug_8c_a53569170d5f469d5a61bbbd1e6174155}{usb\_dump\_endpoint}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__endpoint}{usb\_endpoint}} *ep)}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00190}00190 \{}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00191}00191         \textcolor{keywordflow}{if} (ep) \{}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00192}00192                 printf(\textcolor{stringliteral}{"{}usb\_dump\_endpoint: endpoint=\%p"{}}, ep);}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00193}00193 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00194}00194                 printf(\textcolor{stringliteral}{"{} edesc=\%p isoc\_next=\%d toggle\_next=\%d"{}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00195}00195                     ep-\/>\mbox{\hyperlink{structusb__endpoint_af3b96b9fe1e612b303833c2e2d0365e1}{edesc}}, ep-\/>\mbox{\hyperlink{structusb__endpoint_a6a4a923c46e82cd1298d7832e169d7d1}{isoc\_next}}, ep-\/>\mbox{\hyperlink{structusb__endpoint_a23e80980572fb57b1a6097114e92cfbc}{toggle\_next}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00196}00196 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00197}00197                 \textcolor{keywordflow}{if} (ep-\/>\mbox{\hyperlink{structusb__endpoint_af3b96b9fe1e612b303833c2e2d0365e1}{edesc}}) \{}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00198}00198                         printf(\textcolor{stringliteral}{"{} bEndpointAddress=0x\%02x"{}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00199}00199                             ep-\/>\mbox{\hyperlink{structusb__endpoint_af3b96b9fe1e612b303833c2e2d0365e1}{edesc}}-\/>\mbox{\hyperlink{structusb__endpoint__descriptor_a3d0a0ab41c53023055a242d66a437a2d}{bEndpointAddress}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00200}00200                 \}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00201}00201                 printf(\textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00202}00202                 \mbox{\hyperlink{usb__debug_8c_a8cc7ca9131f0a3a3c89763991c8744ff}{usb\_dump\_queue}}(ep);}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00203}00203         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00204}00204                 printf(\textcolor{stringliteral}{"{}usb\_dump\_endpoint: endpoint=NULL\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00205}00205         \}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00206}00206 \}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00207}00207 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00208}00208 \textcolor{comment}{/*-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00209}00209 \textcolor{comment}{ *      usb\_dump\_xfer}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00210}00210 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00211}00211 \textcolor{comment}{ * This function dumps information about an USB transfer.}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00212}00212 \textcolor{comment}{ *-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*/}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00213}00213 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00214}\mbox{\hyperlink{usb__debug_8c_afe6108b077fb297947353cc4f5fce313}{00214}} \mbox{\hyperlink{usb__debug_8c_afe6108b077fb297947353cc4f5fce313}{usb\_dump\_xfer}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer)}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00215}00215 \{}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00216}00216         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device}{usb\_device}} *udev;}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00217}00217         printf(\textcolor{stringliteral}{"{}usb\_dump\_xfer: xfer=\%p\(\backslash\)n"{}}, xfer);}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00218}00218         \textcolor{keywordflow}{if} (xfer == NULL) \{}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00219}00219                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00220}00220         \}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00221}00221         \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_a8de3fd948d496c7901b307b13a1c6e99}{endpoint}} == NULL) \{}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00222}00222                 printf(\textcolor{stringliteral}{"{}xfer \%p: endpoint=NULL\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00223}00223                     xfer);}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00224}00224                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00225}00225         \}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00226}00226         udev = xfer-\/>\mbox{\hyperlink{structusb__xfer_ad188b4cd79900e1cd04aba6c140e9ab3}{xroot}}-\/>\mbox{\hyperlink{structusb__xfer__root_ad636fcdafa42c174cdf281bb144b1e67}{udev}};}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00227}00227         printf(\textcolor{stringliteral}{"{}xfer \%p: udev=\%p vid=0x\%04x pid=0x\%04x addr=\%d "{}}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00228}00228             \textcolor{stringliteral}{"{}endpoint=\%p ep=0x\%02x attr=0x\%02x\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00229}00229             xfer, udev,}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00230}00230             \mbox{\hyperlink{usb__endian_8h_aa3860f9452db3a5d865cc943e2f01829}{UGETW}}(udev-\/>\mbox{\hyperlink{structusb__device_a6fa6ffff7bff082394d16b2b05d66cdf}{ddesc}}.\mbox{\hyperlink{structusb__device__descriptor_ac2a3d9b7e40bde975d26dd83d8350485}{idVendor}}),}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00231}00231             \mbox{\hyperlink{usb__endian_8h_aa3860f9452db3a5d865cc943e2f01829}{UGETW}}(udev-\/>\mbox{\hyperlink{structusb__device_a6fa6ffff7bff082394d16b2b05d66cdf}{ddesc}}.\mbox{\hyperlink{structusb__device__descriptor_a09e74f08b2dc62817b2c3eb6a631883e}{idProduct}}),}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00232}00232             udev-\/>\mbox{\hyperlink{structusb__device_ab9873df4422a53f4fa2d7c17460b11a1}{address}}, xfer-\/>\mbox{\hyperlink{structusb__xfer_a8de3fd948d496c7901b307b13a1c6e99}{endpoint}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00233}00233             xfer-\/>\mbox{\hyperlink{structusb__xfer_a8de3fd948d496c7901b307b13a1c6e99}{endpoint}}-\/>\mbox{\hyperlink{structusb__endpoint_af3b96b9fe1e612b303833c2e2d0365e1}{edesc}}-\/>\mbox{\hyperlink{structusb__endpoint__descriptor_a3d0a0ab41c53023055a242d66a437a2d}{bEndpointAddress}},}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00234}00234             xfer-\/>\mbox{\hyperlink{structusb__xfer_a8de3fd948d496c7901b307b13a1c6e99}{endpoint}}-\/>\mbox{\hyperlink{structusb__endpoint_af3b96b9fe1e612b303833c2e2d0365e1}{edesc}}-\/>\mbox{\hyperlink{structusb__endpoint__descriptor_aff28dcc97802a405b31baccd33c2bf8f}{bmAttributes}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00235}00235 \}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00236}00236 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00237}00237 \textcolor{preprocessor}{\#ifdef USB\_DEBUG}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00238}00238 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \mbox{\hyperlink{usb__debug_8h_a6674baade8d1b97e86d37727b6c326cf}{usb\_port\_reset\_delay}}   = \mbox{\hyperlink{usb_8h_a961087ab65ece078cbc2b897e2081c4a}{USB\_PORT\_RESET\_DELAY}};}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00239}00239 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \mbox{\hyperlink{usb__debug_8h_afe58e3fdfdb70d6a78dde4d74580ddb2}{usb\_port\_root\_reset\_delay}} = \mbox{\hyperlink{usb_8h_a8c690d564457b080594f0b7fafeb6cec}{USB\_PORT\_ROOT\_RESET\_DELAY}};}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00240}00240 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \mbox{\hyperlink{usb__debug_8h_a1fe70ac4f5c4bad28cb256e633d77508}{usb\_port\_reset\_recovery}}     = \mbox{\hyperlink{usb_8h_a36566ff77a57d04f98d25d219733f8c3}{USB\_PORT\_RESET\_RECOVERY}};}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00241}00241 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \mbox{\hyperlink{usb__debug_8h_a6c9756a5a87284201bebc797822b006d}{usb\_port\_powerup\_delay}}       = \mbox{\hyperlink{usb_8h_a6d86f920c9e654a5efbfaa096b9a61fc}{USB\_PORT\_POWERUP\_DELAY}};}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00242}00242 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \mbox{\hyperlink{usb__debug_8h_a040c9b5f65a1879688c9beba5b137797}{usb\_port\_resume\_delay}} = \mbox{\hyperlink{usb_8h_afdd19ac86a26f01c70dee7edc4718480}{USB\_PORT\_RESUME\_DELAY}};}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00243}00243 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \mbox{\hyperlink{usb__debug_8h_a8f11fe5bb569fbafcdb7cbb2e3d7046d}{usb\_set\_address\_settle}}       = \mbox{\hyperlink{usb_8h_a4522f6e50a93e8a3245dc67766043d60}{USB\_SET\_ADDRESS\_SETTLE}};}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00244}00244 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \mbox{\hyperlink{usb__debug_8h_a01708ba0ee706ad68ccd6ba568bf535e}{usb\_resume\_delay}}           = \mbox{\hyperlink{usb_8h_a2f248580334ca9b335805dfd81d6320b}{USB\_RESUME\_DELAY}};}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00245}00245 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \mbox{\hyperlink{usb__debug_8h_a79786a647df016daa0052cbdbafd9305}{usb\_resume\_wait}}             = \mbox{\hyperlink{usb_8h_a198d724b93ee2b654374539097c5469d}{USB\_RESUME\_WAIT}};}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00246}00246 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \mbox{\hyperlink{usb__debug_8h_a7af26e3104ae6fb7c476355ce182cea8}{usb\_resume\_recovery}}     = \mbox{\hyperlink{usb_8h_ad7c6849e30767ea0308ae5f8b67891e3}{USB\_RESUME\_RECOVERY}};}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00247}00247 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \mbox{\hyperlink{usb__debug_8h_a6a6c095ac87fe52f21d813cde826b15b}{usb\_extra\_power\_up\_time}}     = \mbox{\hyperlink{usb_8h_a6a218247ab8da9e1a0f5f4a4ead666ff}{USB\_EXTRA\_POWER\_UP\_TIME}};}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00248}00248 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00249}00249 \textcolor{comment}{/*-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00250}00250 \textcolor{comment}{ *      usb\_timings\_sysctl\_handler}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00251}00251 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00252}00252 \textcolor{comment}{ * This function is used to update USB timing variables.}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00253}00253 \textcolor{comment}{ *-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*/}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00254}00254 \textcolor{keyword}{static} \textcolor{keywordtype}{int} usb\_timings\_sysctl\_handler(SYSCTL\_HANDLER\_ARGS)}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00255}00255 \{}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00256}00256         \textcolor{keywordtype}{int} \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} = 0;}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00257}00257         \textcolor{keywordtype}{unsigned} \mbox{\hyperlink{if__rum_8c_ae1f13e96d928504e11ec4da744f67f9b}{val}};}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00258}00258 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00259}00259         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00260}00260 \textcolor{comment}{         * Attempt to get a coherent snapshot by making a copy of the data.}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00261}00261 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00262}00262         \textcolor{keywordflow}{if} (arg1)}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00263}00263                 \mbox{\hyperlink{if__rum_8c_ae1f13e96d928504e11ec4da744f67f9b}{val}} = *(\textcolor{keywordtype}{unsigned} *)arg1;}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00264}00264         \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00265}00265                 \mbox{\hyperlink{if__rum_8c_ae1f13e96d928504e11ec4da744f67f9b}{val}} = arg2;}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00266}00266         \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} = SYSCTL\_OUT(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, \&\mbox{\hyperlink{if__rum_8c_ae1f13e96d928504e11ec4da744f67f9b}{val}}, \textcolor{keyword}{sizeof}(\textcolor{keywordtype}{unsigned}));}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00267}00267         \textcolor{keywordflow}{if} (\mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} || !\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>newptr)}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00268}00268                 \textcolor{keywordflow}{return} (\mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00269}00269 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00270}00270         \textcolor{keywordflow}{if} (!arg1)}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00271}00271                 \textcolor{keywordflow}{return} (EPERM);}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00272}00272 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00273}00273         \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} = SYSCTL\_IN(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, \&\mbox{\hyperlink{if__rum_8c_ae1f13e96d928504e11ec4da744f67f9b}{val}}, \textcolor{keyword}{sizeof}(\textcolor{keywordtype}{unsigned}));}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00274}00274         \textcolor{keywordflow}{if} (\mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}})}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00275}00275                 \textcolor{keywordflow}{return} (\mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}});}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00276}00276 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00277}00277         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00278}00278 \textcolor{comment}{         * Make sure the specified value is not too big. Accept any}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00279}00279 \textcolor{comment}{         * value from 0 milliseconds to 2 seconds inclusivly for all}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00280}00280 \textcolor{comment}{         * parameters.}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00281}00281 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00282}00282         \textcolor{keywordflow}{if} (\mbox{\hyperlink{if__rum_8c_ae1f13e96d928504e11ec4da744f67f9b}{val}} > 2000)}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00283}00283                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00284}00284 }
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00285}00285         *(\textcolor{keywordtype}{unsigned} *)arg1 = \mbox{\hyperlink{if__rum_8c_ae1f13e96d928504e11ec4da744f67f9b}{val}};}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00286}00286         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00287}00287 \}}
\DoxyCodeLine{\Hypertarget{usb__debug_8c_source_l00288}00288 \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
