\hypertarget{avr32dci_8c_source}{}\doxysection{avr32dci.\+c}
\label{avr32dci_8c_source}\index{dev/usb/controller/avr32dci.c@{dev/usb/controller/avr32dci.c}}
\mbox{\hyperlink{avr32dci_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00001}00001 \textcolor{comment}{/* \$FreeBSD\$ */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00002}00002 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00003}00003 \textcolor{comment}{ * SPDX-\/License-\/Identifier: BSD-\/2-\/Clause-\/FreeBSD}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00004}00004 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00005}00005 \textcolor{comment}{ * Copyright (c) 2009 Hans Petter Selasky. All rights reserved.}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00006}00006 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00007}00007 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00008}00008 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00009}00009 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00010}00010 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00011}00011 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00012}00012 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00013}00013 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00014}00014 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00015}00015 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00016}00016 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00017}00017 \textcolor{comment}{ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00018}00018 \textcolor{comment}{ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00019}00019 \textcolor{comment}{ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00020}00020 \textcolor{comment}{ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00021}00021 \textcolor{comment}{ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00022}00022 \textcolor{comment}{ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00023}00023 \textcolor{comment}{ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00024}00024 \textcolor{comment}{ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00025}00025 \textcolor{comment}{ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00026}00026 \textcolor{comment}{ * SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00027}00027 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00028}00028 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00029}00029 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00030}00030 \textcolor{comment}{ * This file contains the driver for the AVR32 series USB Device}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00031}00031 \textcolor{comment}{ * Controller}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00032}00032 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00033}00033 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00034}00034 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00035}00035 \textcolor{comment}{ * NOTE: When the chip detects BUS-\/reset it will also reset the}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00036}00036 \textcolor{comment}{ * endpoints, Function-\/address and more.}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00037}00037 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00038}00038 \textcolor{preprocessor}{\#ifdef USB\_GLOBAL\_INCLUDE\_FILE}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00039}00039 \textcolor{preprocessor}{\#include USB\_GLOBAL\_INCLUDE\_FILE}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00040}00040 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00041}00041 \textcolor{preprocessor}{\#include <sys/stdint.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00042}00042 \textcolor{preprocessor}{\#include <sys/stddef.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00043}00043 \textcolor{preprocessor}{\#include <sys/param.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00044}00044 \textcolor{preprocessor}{\#include <sys/queue.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00045}00045 \textcolor{preprocessor}{\#include <sys/types.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00046}00046 \textcolor{preprocessor}{\#include <sys/systm.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00047}00047 \textcolor{preprocessor}{\#include <sys/kernel.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00048}00048 \textcolor{preprocessor}{\#include <sys/bus.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00049}00049 \textcolor{preprocessor}{\#include <sys/module.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00050}00050 \textcolor{preprocessor}{\#include <sys/lock.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00051}00051 \textcolor{preprocessor}{\#include <sys/mutex.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00052}00052 \textcolor{preprocessor}{\#include <sys/condvar.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00053}00053 \textcolor{preprocessor}{\#include <sys/sysctl.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00054}00054 \textcolor{preprocessor}{\#include <sys/sx.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00055}00055 \textcolor{preprocessor}{\#include <sys/unistd.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00056}00056 \textcolor{preprocessor}{\#include <sys/callout.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00057}00057 \textcolor{preprocessor}{\#include <sys/malloc.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00058}00058 \textcolor{preprocessor}{\#include <sys/priv.h>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00059}00059 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00060}00060 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb_8h}{dev/usb/usb.h}}>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00061}00061 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usbdi_8h}{dev/usb/usbdi.h}}>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00062}00062 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00063}\mbox{\hyperlink{avr32dci_8c_a927dd6f59caf10a2991dfb564bcbb1e1}{00063}} \textcolor{preprocessor}{\#define USB\_DEBUG\_VAR avr32dci\_debug}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00064}00064 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00065}00065 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__core_8h}{dev/usb/usb\_core.h}}>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00066}00066 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__debug_8h}{dev/usb/usb\_debug.h}}>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00067}00067 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__busdma_8h}{dev/usb/usb\_busdma.h}}>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00068}00068 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__process_8h}{dev/usb/usb\_process.h}}>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00069}00069 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__transfer_8h}{dev/usb/usb\_transfer.h}}>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00070}00070 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__device_8h}{dev/usb/usb\_device.h}}>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00071}00071 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__hub_8h}{dev/usb/usb\_hub.h}}>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00072}00072 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__util_8h}{dev/usb/usb\_util.h}}>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00073}00073 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00074}00074 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__controller_8h}{dev/usb/usb\_controller.h}}>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00075}00075 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{usb__bus_8h}{dev/usb/usb\_bus.h}}>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00076}00076 \textcolor{preprocessor}{\#endif                  }\textcolor{comment}{/* USB\_GLOBAL\_INCLUDE\_FILE */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00077}00077 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00078}00078 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{avr32dci_8h}{dev/usb/controller/avr32dci.h}}>}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00079}00079 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00080}\mbox{\hyperlink{avr32dci_8c_ae0797ce8067e0b7c8f7038caecbb79fd}{00080}} \textcolor{preprocessor}{\#define AVR32\_BUS2SC(bus) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00081}00081 \textcolor{preprocessor}{    \_\_containerof(bus, struct avr32dci\_softc, sc\_bus)}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00082}00082 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00083}\mbox{\hyperlink{avr32dci_8c_ae9b389bec6486c63ebcd1a65117805a5}{00083}} \textcolor{preprocessor}{\#define AVR32\_PC2SC(pc) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00084}00084 \textcolor{preprocessor}{   AVR32\_BUS2SC(USB\_DMATAG\_TO\_XROOT((pc)-\/>tag\_parent)-\/>bus)}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00085}00085 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00086}00086 \textcolor{preprocessor}{\#ifdef USB\_DEBUG}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00087}00087 \textcolor{keyword}{static} \textcolor{keywordtype}{int} avr32dci\_debug = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00088}00088 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00089}00089 \textcolor{keyword}{static} \mbox{\hyperlink{dwc__otg_8c_a58e125bcf985ce2333baef42f97b33b3}{SYSCTL\_NODE}}(\_hw\_usb, OID\_AUTO, avr32dci,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00090}00090     CTLFLAG\_RW | CTLFLAG\_MPSAFE, 0,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00091}00091     \textcolor{stringliteral}{"{}USB AVR32 DCI"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00092}00092 \mbox{\hyperlink{dwc__otg_8c_a83d020f0b15dc2783f3f1a6966c75e36}{SYSCTL\_INT}}(\_hw\_usb\_avr32dci, OID\_AUTO, \mbox{\hyperlink{cfumass_8c_ac3e1795766a80ec63b157951b4b9a7d4}{debug}}, CTLFLAG\_RWTUN,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00093}00093     \&avr32dci\_debug, 0, \textcolor{stringliteral}{"{}AVR32 DCI debug level"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00094}00094 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00095}00095 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00096}\mbox{\hyperlink{avr32dci_8c_afb9baf8e49569fdbe7ec8e5190429a2f}{00096}} \textcolor{preprocessor}{\#define AVR32\_INTR\_ENDPT 1}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00097}00097 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00098}00098 \textcolor{comment}{/* prototypes */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00099}00099 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00100}\mbox{\hyperlink{avr32dci_8c_a849c795aa83cb5c0a57f08bfeb3eeff6}{00100}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__bus__methods}{usb\_bus\_methods}} \mbox{\hyperlink{avr32dci_8c_a849c795aa83cb5c0a57f08bfeb3eeff6}{avr32dci\_bus\_methods}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00101}\mbox{\hyperlink{avr32dci_8c_a7a1da856a6f7ec9b5fcde84dc40a6d7f}{00101}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__pipe__methods}{usb\_pipe\_methods}} \mbox{\hyperlink{avr32dci_8c_a7a1da856a6f7ec9b5fcde84dc40a6d7f}{avr32dci\_device\_non\_isoc\_methods}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00102}\mbox{\hyperlink{avr32dci_8c_aba234abcfcddfb69287af3d0de776291}{00102}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__pipe__methods}{usb\_pipe\_methods}} \mbox{\hyperlink{avr32dci_8c_aba234abcfcddfb69287af3d0de776291}{avr32dci\_device\_isoc\_fs\_methods}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00103}00103 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00104}\mbox{\hyperlink{avr32dci_8c_a63f2b957e6d123c517464992d687ed27}{00104}} \textcolor{keyword}{static} \mbox{\hyperlink{avr32dci_8h_a01bc0137dbf76b1187b1e45a88cad2fe}{avr32dci\_cmd\_t}} \mbox{\hyperlink{avr32dci_8c_a63f2b957e6d123c517464992d687ed27}{avr32dci\_setup\_rx}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00105}\mbox{\hyperlink{avr32dci_8c_a341261afca899e681f65bc6ad3c66abf}{00105}} \textcolor{keyword}{static} \mbox{\hyperlink{avr32dci_8h_a01bc0137dbf76b1187b1e45a88cad2fe}{avr32dci\_cmd\_t}} \mbox{\hyperlink{avr32dci_8c_a341261afca899e681f65bc6ad3c66abf}{avr32dci\_data\_rx}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00106}\mbox{\hyperlink{avr32dci_8c_adc94e48dcbbe9348c9f7702bc5114cd6}{00106}} \textcolor{keyword}{static} \mbox{\hyperlink{avr32dci_8h_a01bc0137dbf76b1187b1e45a88cad2fe}{avr32dci\_cmd\_t}} \mbox{\hyperlink{avr32dci_8c_adc94e48dcbbe9348c9f7702bc5114cd6}{avr32dci\_data\_tx}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00107}\mbox{\hyperlink{avr32dci_8c_a15948b099d74aa6d6e1fe0f194dc591a}{00107}} \textcolor{keyword}{static} \mbox{\hyperlink{avr32dci_8h_a01bc0137dbf76b1187b1e45a88cad2fe}{avr32dci\_cmd\_t}} \mbox{\hyperlink{avr32dci_8c_a15948b099d74aa6d6e1fe0f194dc591a}{avr32dci\_data\_tx\_sync}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00108}00108 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{avr32dci_8c_a6d61b8d92143e413dfd6a47be849576f}{avr32dci\_device\_done}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *, \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\_error\_t}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00109}00109 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{avr32dci_8c_a831b706e75ca2736e55a7fbeb1a4d39a}{avr32dci\_do\_poll}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__bus}{usb\_bus}} *);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00110}00110 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{avr32dci_8c_a369940367809107a2f60005b806b142b}{avr32dci\_standard\_done}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00111}00111 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{avr32dci_8c_a87c2859a8b0b0995a19bd9829669ec0e}{avr32dci\_root\_intr}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00112}00112 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00113}00113 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00114}00114 \textcolor{comment}{ * Here is a list of what the chip supports:}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00115}00115 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00116}00116 \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__hw__ep__profile}{usb\_hw\_ep\_profile}}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00117}\mbox{\hyperlink{avr32dci_8c_a438d9643a5b87909a464b3ad82c5200f}{00117}}         \mbox{\hyperlink{avr32dci_8c_a438d9643a5b87909a464b3ad82c5200f}{avr32dci\_ep\_profile}}[4] = \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00118}00118         [0] = \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00119}00119                 .\mbox{\hyperlink{structusb__hw__ep__profile_a0a8423b9793236e6e9bbb907559e29cd}{max\_in\_frame\_size}} = 64,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00120}00120                 .max\_out\_frame\_size = 64,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00121}00121                 .is\_simplex = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00122}00122                 .support\_control = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00123}00123         \},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00124}00124 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00125}00125         [1] = \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00126}00126                 .max\_in\_frame\_size = 512,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00127}00127                 .max\_out\_frame\_size = 512,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00128}00128                 .is\_simplex = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00129}00129                 .support\_bulk = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00130}00130                 .support\_interrupt = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00131}00131                 .support\_isochronous = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00132}00132                 .support\_in = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00133}00133                 .support\_out = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00134}00134         \},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00135}00135 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00136}00136         [2] = \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00137}00137                 .max\_in\_frame\_size = 64,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00138}00138                 .max\_out\_frame\_size = 64,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00139}00139                 .is\_simplex = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00140}00140                 .support\_bulk = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00141}00141                 .support\_interrupt = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00142}00142                 .support\_in = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00143}00143                 .support\_out = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00144}00144         \},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00145}00145 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00146}00146         [3] = \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00147}00147                 .max\_in\_frame\_size = 1024,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00148}00148                 .max\_out\_frame\_size = 1024,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00149}00149                 .is\_simplex = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00150}00150                 .support\_bulk = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00151}00151                 .support\_interrupt = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00152}00152                 .support\_isochronous = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00153}00153                 .support\_in = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00154}00154                 .support\_out = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00155}00155         \},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00156}00156 \};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00157}00157 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00158}00158 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00159}\mbox{\hyperlink{avr32dci_8c_af743b15ff7cb0e57939a7c870fb65242}{00159}} \mbox{\hyperlink{avr32dci_8c_af743b15ff7cb0e57939a7c870fb65242}{avr32dci\_get\_hw\_ep\_profile}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__device}{usb\_device}} *udev,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00160}00160     \textcolor{keyword}{const} \textcolor{keyword}{struct} \mbox{\hyperlink{structusb__hw__ep__profile}{usb\_hw\_ep\_profile}} **ppf, uint8\_t ep\_addr)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00161}00161 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00162}00162         \textcolor{keywordflow}{if} (ep\_addr == 0)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00163}00163                 *ppf = \mbox{\hyperlink{avr32dci_8c_a438d9643a5b87909a464b3ad82c5200f}{avr32dci\_ep\_profile}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00164}00164         \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (ep\_addr < 3)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00165}00165                 *ppf = \mbox{\hyperlink{avr32dci_8c_a438d9643a5b87909a464b3ad82c5200f}{avr32dci\_ep\_profile}} + 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00166}00166         \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (ep\_addr < 5)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00167}00167                 *ppf = \mbox{\hyperlink{avr32dci_8c_a438d9643a5b87909a464b3ad82c5200f}{avr32dci\_ep\_profile}} + 2;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00168}00168         \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (ep\_addr < 7)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00169}00169                 *ppf = \mbox{\hyperlink{avr32dci_8c_a438d9643a5b87909a464b3ad82c5200f}{avr32dci\_ep\_profile}} + 3;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00170}00170         \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00171}00171                 *ppf = NULL;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00172}00172 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00173}00173 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00174}00174 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00175}\mbox{\hyperlink{avr32dci_8c_adcd2cfc6e968642e46b2fb36d9a507df}{00175}} \mbox{\hyperlink{avr32dci_8c_adcd2cfc6e968642e46b2fb36d9a507df}{avr32dci\_mod\_ctrl}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc, uint32\_t set, uint32\_t clear)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00176}00176 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00177}00177         uint32\_t temp;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00178}00178 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00179}00179         temp = \mbox{\hyperlink{avr32dci_8h_ae5300cff59617271021d2544ed4991ac}{AVR32\_READ\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a060dfd16aaf20ac66e9d4fdd49c6c822}{AVR32\_CTRL}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00180}00180         temp |= set;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00181}00181         temp \&= \string~clear;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00182}00182         \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a060dfd16aaf20ac66e9d4fdd49c6c822}{AVR32\_CTRL}}, temp);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00183}00183 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00184}00184 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00185}00185 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00186}\mbox{\hyperlink{avr32dci_8c_a950699c98bb9a441f04087106d5e91a5}{00186}} \mbox{\hyperlink{avr32dci_8c_a950699c98bb9a441f04087106d5e91a5}{avr32dci\_mod\_ien}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc, uint32\_t set, uint32\_t clear)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00187}00187 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00188}00188         uint32\_t temp;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00189}00189 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00190}00190         temp = \mbox{\hyperlink{avr32dci_8h_ae5300cff59617271021d2544ed4991ac}{AVR32\_READ\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_af86c4c70138aeec5d920fdfd4773f3b5}{AVR32\_IEN}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00191}00191         temp |= set;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00192}00192         temp \&= \string~clear;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00193}00193         \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_af86c4c70138aeec5d920fdfd4773f3b5}{AVR32\_IEN}}, temp);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00194}00194 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00195}00195 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00196}00196 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00197}\mbox{\hyperlink{avr32dci_8c_a6e8d9c72f3441293642434dec761e1c0}{00197}} \mbox{\hyperlink{avr32dci_8c_a6e8d9c72f3441293642434dec761e1c0}{avr32dci\_clocks\_on}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00198}00198 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00199}00199         \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a359e2acbdf2859da7d66e2fb51162dad}{clocks\_off}} \&\&}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00200}00200             sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a2ca3aa7230b1b4cfb570d00ed6f8d3b6}{port\_powered}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00201}00201                 DPRINTFN(5, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00202}00202 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00203}00203                 \textcolor{comment}{/* turn on clocks */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00204}00204                 (sc-\/>\mbox{\hyperlink{structavr32dci__softc_a1386fc9a468b079628463abd60d2c622}{sc\_clocks\_on}}) (\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00205}00205 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00206}00206                 \mbox{\hyperlink{avr32dci_8c_adcd2cfc6e968642e46b2fb36d9a507df}{avr32dci\_mod\_ctrl}}(sc, \mbox{\hyperlink{avr32dci_8h_a9e6602ea8847d959f29ecbad4e2bb176}{AVR32\_CTRL\_DEV\_EN\_USBA}}, 0);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00207}00207 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00208}00208                 sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a359e2acbdf2859da7d66e2fb51162dad}{clocks\_off}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00209}00209         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00210}00210 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00211}00211 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00212}00212 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00213}\mbox{\hyperlink{avr32dci_8c_a3841547380ffe937e0569f99c3e25156}{00213}} \mbox{\hyperlink{avr32dci_8c_a3841547380ffe937e0569f99c3e25156}{avr32dci\_clocks\_off}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00214}00214 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00215}00215         \textcolor{keywordflow}{if} (!sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a359e2acbdf2859da7d66e2fb51162dad}{clocks\_off}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00216}00216                 DPRINTFN(5, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00217}00217 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00218}00218                 \mbox{\hyperlink{avr32dci_8c_adcd2cfc6e968642e46b2fb36d9a507df}{avr32dci\_mod\_ctrl}}(sc, 0, \mbox{\hyperlink{avr32dci_8h_a9e6602ea8847d959f29ecbad4e2bb176}{AVR32\_CTRL\_DEV\_EN\_USBA}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00219}00219 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00220}00220                 \textcolor{comment}{/* turn clocks off */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00221}00221                 (sc-\/>\mbox{\hyperlink{structavr32dci__softc_abff5a6dd4a34658a8f62a082b46e5cb9}{sc\_clocks\_off}}) (\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00222}00222 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00223}00223                 sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a359e2acbdf2859da7d66e2fb51162dad}{clocks\_off}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00224}00224         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00225}00225 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00226}00226 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00227}00227 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00228}\mbox{\hyperlink{avr32dci_8c_aee08d3cf160ff62aaa654813ab8489f3}{00228}} \mbox{\hyperlink{avr32dci_8c_aee08d3cf160ff62aaa654813ab8489f3}{avr32dci\_pull\_up}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00229}00229 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00230}00230         \textcolor{comment}{/* pullup D+, if possible */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00231}00231 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00232}00232         \textcolor{keywordflow}{if} (!sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_af5b713cdd72e71dcdf2e7497f66a83fd}{d\_pulled\_up}} \&\&}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00233}00233             sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a2ca3aa7230b1b4cfb570d00ed6f8d3b6}{port\_powered}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00234}00234                 sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_af5b713cdd72e71dcdf2e7497f66a83fd}{d\_pulled\_up}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00235}00235                 \mbox{\hyperlink{avr32dci_8c_adcd2cfc6e968642e46b2fb36d9a507df}{avr32dci\_mod\_ctrl}}(sc, 0, \mbox{\hyperlink{avr32dci_8h_afe182c614600be4afe9180473954bc13}{AVR32\_CTRL\_DEV\_DETACH}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00236}00236         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00237}00237 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00238}00238 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00239}00239 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00240}\mbox{\hyperlink{avr32dci_8c_a2b0f1b68742e2ba132f05aa79d4f441f}{00240}} \mbox{\hyperlink{avr32dci_8c_a2b0f1b68742e2ba132f05aa79d4f441f}{avr32dci\_pull\_down}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00241}00241 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00242}00242         \textcolor{comment}{/* pulldown D+, if possible */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00243}00243 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00244}00244         \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_af5b713cdd72e71dcdf2e7497f66a83fd}{d\_pulled\_up}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00245}00245                 sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_af5b713cdd72e71dcdf2e7497f66a83fd}{d\_pulled\_up}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00246}00246                 \mbox{\hyperlink{avr32dci_8c_adcd2cfc6e968642e46b2fb36d9a507df}{avr32dci\_mod\_ctrl}}(sc, \mbox{\hyperlink{avr32dci_8h_afe182c614600be4afe9180473954bc13}{AVR32\_CTRL\_DEV\_DETACH}}, 0);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00247}00247         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00248}00248 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00249}00249 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00250}00250 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00251}\mbox{\hyperlink{avr32dci_8c_a218e5721794ef32356009711ce544b75}{00251}} \mbox{\hyperlink{avr32dci_8c_a218e5721794ef32356009711ce544b75}{avr32dci\_wakeup\_peer}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00252}00252 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00253}00253         \textcolor{keywordflow}{if} (!sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_ae08f1d46fb619f0856fca6979022e3df}{status\_suspend}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00254}00254                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00255}00255         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00256}00256         \mbox{\hyperlink{avr32dci_8c_adcd2cfc6e968642e46b2fb36d9a507df}{avr32dci\_mod\_ctrl}}(sc, \mbox{\hyperlink{avr32dci_8h_a37b613dd5da377db46d53c0722f4a3b2}{AVR32\_CTRL\_DEV\_REWAKEUP}}, 0);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00257}00257 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00258}00258         \textcolor{comment}{/* wait 8 milliseconds */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00259}00259         \textcolor{comment}{/* Wait for reset to complete. */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00260}00260         \mbox{\hyperlink{usb__util_8c_a7ad9fc3660f5ecf96d72e499cdfeb963}{usb\_pause\_mtx}}(\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}}.\mbox{\hyperlink{structusb__bus_a7355d01a9b05ad01972eccabe5747edf}{bus\_mtx}}, hz / 125);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00261}00261 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00262}00262         \textcolor{comment}{/* hardware should have cleared RMWKUP bit */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00263}00263 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00264}00264 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00265}00265 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00266}\mbox{\hyperlink{avr32dci_8c_a71ab54a1cffc88e5c48c2156f5a220e5}{00266}} \mbox{\hyperlink{avr32dci_8c_a71ab54a1cffc88e5c48c2156f5a220e5}{avr32dci\_set\_address}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc, uint8\_t addr)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00267}00267 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00268}00268         DPRINTFN(5, \textcolor{stringliteral}{"{}addr=\%d\(\backslash\)n"{}}, addr);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00269}00269 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00270}00270         \mbox{\hyperlink{avr32dci_8c_adcd2cfc6e968642e46b2fb36d9a507df}{avr32dci\_mod\_ctrl}}(sc, \mbox{\hyperlink{avr32dci_8h_a7ba743a5263edb944a87f993d363e96e}{AVR32\_CTRL\_DEV\_FADDR\_EN}} | addr, 0);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00271}00271 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00272}00272 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00273}00273 \textcolor{keyword}{static} uint8\_t}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00274}\mbox{\hyperlink{avr32dci_8c_a2f0d48f662bc0a10841b1d8f09f00faa}{00274}} \mbox{\hyperlink{avr32dci_8c_a63f2b957e6d123c517464992d687ed27}{avr32dci\_setup\_rx}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__td}{avr32dci\_td}} *td)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00275}00275 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00276}00276         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00277}00277         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__request}{usb\_device\_request}} \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00278}00278         uint16\_t count;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00279}00279         uint32\_t temp;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00280}00280 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00281}00281         \textcolor{comment}{/* get pointer to softc */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00282}00282         sc = \mbox{\hyperlink{avr32dci_8c_ae9b389bec6486c63ebcd1a65117805a5}{AVR32\_PC2SC}}(td-\/>\mbox{\hyperlink{structavr32dci__td_a45a864acf75c48cd59bb19a650afc71c}{pc}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00283}00283 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00284}00284         \textcolor{comment}{/* check endpoint status */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00285}00285         temp = \mbox{\hyperlink{avr32dci_8h_ae5300cff59617271021d2544ed4991ac}{AVR32\_READ\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a61a880f32341cc5ea20320ffedf49f16}{AVR32\_EPTSTA}}(td-\/>\mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}}));}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00286}00286 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00287}00287         DPRINTFN(5, \textcolor{stringliteral}{"{}EPTSTA(\%u)=0x\%08x\(\backslash\)n"{}}, td-\/>\mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}}, temp);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00288}00288 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00289}00289         \textcolor{keywordflow}{if} (!(temp \& \mbox{\hyperlink{avr32dci_8h_a3065ab8c37be44007c8256a629e295d5}{AVR32\_EPTSTA\_RX\_SETUP}})) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00290}00290                 \textcolor{keywordflow}{goto} not\_complete;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00291}00291         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00292}00292         \textcolor{comment}{/* clear did stall */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00293}00293         td-\/>\mbox{\hyperlink{structavr32dci__td_ad904f9f6c2f1a69a4351532128f3baf9}{did\_stall}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00294}00294         \textcolor{comment}{/* get the packet byte count */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00295}00295         count = \mbox{\hyperlink{avr32dci_8h_a96b19cbc04f6a22d23c0bb7e373d228d}{AVR32\_EPTSTA\_BYTE\_COUNT}}(temp);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00296}00296 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00297}00297         \textcolor{comment}{/* verify data length */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00298}00298         \textcolor{keywordflow}{if} (count != td-\/>\mbox{\hyperlink{structavr32dci__td_a1a08ac4c633a2ed80f5be08e77b7d538}{remainder}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00299}00299                 DPRINTFN(0, \textcolor{stringliteral}{"{}Invalid SETUP packet "{}}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00300}00300                     \textcolor{stringliteral}{"{}length, \%d bytes\(\backslash\)n"{}}, count);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00301}00301                 \textcolor{keywordflow}{goto} not\_complete;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00302}00302         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00303}00303         \textcolor{keywordflow}{if} (count != \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}})) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00304}00304                 DPRINTFN(0, \textcolor{stringliteral}{"{}Unsupported SETUP packet "{}}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00305}00305                     \textcolor{stringliteral}{"{}length, \%d bytes\(\backslash\)n"{}}, count);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00306}00306                 \textcolor{keywordflow}{goto} not\_complete;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00307}00307         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00308}00308         \textcolor{comment}{/* receive data */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00309}00309         memcpy(\&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, sc-\/>\mbox{\hyperlink{structavr32dci__softc_ad6ad423e7fa20d7ea9c8c78383bc04e1}{physdata}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}));}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00310}00310 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00311}00311         \textcolor{comment}{/* copy data into real buffer */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00312}00312         \mbox{\hyperlink{usb__busdma_8c_accb7cd85c3477e50c1ba1b1489226d09}{usbd\_copy\_in}}(td-\/>\mbox{\hyperlink{structavr32dci__td_a45a864acf75c48cd59bb19a650afc71c}{pc}}, 0, \&\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}));}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00313}00313 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00314}00314         td-\/>\mbox{\hyperlink{structavr32dci__td_af29d694e28de164d71fbccc73e1c09a1}{offset}} = \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00315}00315         td-\/>\mbox{\hyperlink{structavr32dci__td_a1a08ac4c633a2ed80f5be08e77b7d538}{remainder}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00316}00316 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00317}00317         \textcolor{comment}{/* sneak peek the set address */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00318}00318         \textcolor{keywordflow}{if} ((\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bmRequestType == \mbox{\hyperlink{usb_8h_a33c2db425d10f85e7b405035bc015d32}{UT\_WRITE\_DEVICE}}) \&\&}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00319}00319             (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.bRequest == \mbox{\hyperlink{usb_8h_a2e5fb48757cb795a44b99af832d6cd7d}{UR\_SET\_ADDRESS}})) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00320}00320                 sc-\/>\mbox{\hyperlink{structavr32dci__softc_ab2b6766201f7c9a6e7b0fce5a778e37b}{sc\_dv\_addr}} = \mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}.wValue[0] \& 0x7F;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00321}00321                 \textcolor{comment}{/* must write address before ZLP */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00322}00322                 \mbox{\hyperlink{avr32dci_8c_adcd2cfc6e968642e46b2fb36d9a507df}{avr32dci\_mod\_ctrl}}(sc, 0, \mbox{\hyperlink{avr32dci_8h_a7ba743a5263edb944a87f993d363e96e}{AVR32\_CTRL\_DEV\_FADDR\_EN}} |}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00323}00323                     \mbox{\hyperlink{avr32dci_8h_ad794aeaec0c5b60befccf227f163387f}{AVR32\_CTRL\_DEV\_ADDR}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00324}00324                 \mbox{\hyperlink{avr32dci_8c_adcd2cfc6e968642e46b2fb36d9a507df}{avr32dci\_mod\_ctrl}}(sc, sc-\/>\mbox{\hyperlink{structavr32dci__softc_ab2b6766201f7c9a6e7b0fce5a778e37b}{sc\_dv\_addr}}, 0);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00325}00325         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00326}00326                 sc-\/>\mbox{\hyperlink{structavr32dci__softc_ab2b6766201f7c9a6e7b0fce5a778e37b}{sc\_dv\_addr}} = 0xFF;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00327}00327         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00328}00328 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00329}00329         \textcolor{comment}{/* clear SETUP packet interrupt */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00330}00330         \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_aa29b0d794a9ae5c0123a962114bb979c}{AVR32\_EPTCLRSTA}}(td-\/>\mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}}), \mbox{\hyperlink{avr32dci_8h_a3065ab8c37be44007c8256a629e295d5}{AVR32\_EPTSTA\_RX\_SETUP}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00331}00331         \textcolor{keywordflow}{return} (0);                     \textcolor{comment}{/* complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00332}00332 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00333}00333 not\_complete:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00334}00334         \textcolor{keywordflow}{if} (temp \& \mbox{\hyperlink{avr32dci_8h_a3065ab8c37be44007c8256a629e295d5}{AVR32\_EPTSTA\_RX\_SETUP}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00335}00335                 \textcolor{comment}{/* clear SETUP packet interrupt */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00336}00336                 \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_aa29b0d794a9ae5c0123a962114bb979c}{AVR32\_EPTCLRSTA}}(td-\/>\mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}}), \mbox{\hyperlink{avr32dci_8h_a3065ab8c37be44007c8256a629e295d5}{AVR32\_EPTSTA\_RX\_SETUP}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00337}00337         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00338}00338         \textcolor{comment}{/* abort any ongoing transfer */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00339}00339         \textcolor{keywordflow}{if} (!td-\/>\mbox{\hyperlink{structavr32dci__td_ad904f9f6c2f1a69a4351532128f3baf9}{did\_stall}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00340}00340                 DPRINTFN(5, \textcolor{stringliteral}{"{}stalling\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00341}00341                 \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a2dffcc9dbb45e3970a86844726e0bb62}{AVR32\_EPTSETSTA}}(td-\/>\mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}}),}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00342}00342                     \mbox{\hyperlink{avr32dci_8h_a6475977663732075239897aeb090d8b1}{AVR32\_EPTSTA\_FRCESTALL}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00343}00343                 td-\/>\mbox{\hyperlink{structavr32dci__td_ad904f9f6c2f1a69a4351532128f3baf9}{did\_stall}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00344}00344         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00345}00345         \textcolor{keywordflow}{return} (1);                     \textcolor{comment}{/* not complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00346}00346 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00347}00347 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00348}00348 \textcolor{keyword}{static} uint8\_t}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00349}\mbox{\hyperlink{avr32dci_8c_a61c1cd8953866ae232b971e01460dc39}{00349}} \mbox{\hyperlink{avr32dci_8c_a341261afca899e681f65bc6ad3c66abf}{avr32dci\_data\_rx}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__td}{avr32dci\_td}} *td)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00350}00350 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00351}00351         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00352}00352         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__page__search}{usb\_page\_search}} buf\_res;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00353}00353         uint16\_t count;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00354}00354         uint32\_t temp;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00355}00355         uint8\_t to;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00356}00356         uint8\_t got\_short;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00357}00357 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00358}00358         to = 4;                         \textcolor{comment}{/* don't loop forever! */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00359}00359         got\_short = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00360}00360 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00361}00361         \textcolor{comment}{/* get pointer to softc */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00362}00362         sc = \mbox{\hyperlink{avr32dci_8c_ae9b389bec6486c63ebcd1a65117805a5}{AVR32\_PC2SC}}(td-\/>\mbox{\hyperlink{structavr32dci__td_a45a864acf75c48cd59bb19a650afc71c}{pc}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00363}00363 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00364}00364 repeat:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00365}00365         \textcolor{comment}{/* check if any of the FIFO banks have data */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00366}00366         \textcolor{comment}{/* check endpoint status */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00367}00367         temp = \mbox{\hyperlink{avr32dci_8h_ae5300cff59617271021d2544ed4991ac}{AVR32\_READ\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a61a880f32341cc5ea20320ffedf49f16}{AVR32\_EPTSTA}}(td-\/>\mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}}));}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00368}00368 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00369}00369         DPRINTFN(5, \textcolor{stringliteral}{"{}EPTSTA(\%u)=0x\%08x\(\backslash\)n"{}}, td-\/>\mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}}, temp);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00370}00370 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00371}00371         \textcolor{keywordflow}{if} (temp \& \mbox{\hyperlink{avr32dci_8h_a3065ab8c37be44007c8256a629e295d5}{AVR32\_EPTSTA\_RX\_SETUP}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00372}00372                 \textcolor{keywordflow}{if} (td-\/>\mbox{\hyperlink{structavr32dci__td_a1a08ac4c633a2ed80f5be08e77b7d538}{remainder}} == 0) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00373}00373                         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00374}00374 \textcolor{comment}{                         * We are actually complete and have}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00375}00375 \textcolor{comment}{                         * received the next SETUP}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00376}00376 \textcolor{comment}{                         */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00377}00377                         DPRINTFN(5, \textcolor{stringliteral}{"{}faking complete\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00378}00378                         \textcolor{keywordflow}{return} (0);     \textcolor{comment}{/* complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00379}00379                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00380}00380                 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00381}00381 \textcolor{comment}{                 * USB Host Aborted the transfer.}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00382}00382 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00383}00383                 td-\/>\mbox{\hyperlink{structavr32dci__td_ac8bde92ac3e81a4d925df01b03f347cc}{error}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00384}00384                 \textcolor{keywordflow}{return} (0);             \textcolor{comment}{/* complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00385}00385         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00386}00386         \textcolor{comment}{/* check status */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00387}00387         \textcolor{keywordflow}{if} (!(temp \& \mbox{\hyperlink{avr32dci_8h_a06a8c8d7b59363b98608d8b96f2845a5}{AVR32\_EPTSTA\_RX\_BK\_RDY}})) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00388}00388                 \textcolor{comment}{/* no data */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00389}00389                 \textcolor{keywordflow}{goto} not\_complete;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00390}00390         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00391}00391         \textcolor{comment}{/* get the packet byte count */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00392}00392         count = \mbox{\hyperlink{avr32dci_8h_a96b19cbc04f6a22d23c0bb7e373d228d}{AVR32\_EPTSTA\_BYTE\_COUNT}}(temp);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00393}00393 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00394}00394         \textcolor{comment}{/* verify the packet byte count */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00395}00395         \textcolor{keywordflow}{if} (count != td-\/>\mbox{\hyperlink{structavr32dci__td_a6e8c96003382c63004273d650d1c8bdc}{max\_packet\_size}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00396}00396                 \textcolor{keywordflow}{if} (count < td-\/>max\_packet\_size) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00397}00397                         \textcolor{comment}{/* we have a short packet */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00398}00398                         td-\/>\mbox{\hyperlink{structavr32dci__td_a30b475f577fc113343044811ec93dff4}{short\_pkt}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00399}00399                         got\_short = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00400}00400                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00401}00401                         \textcolor{comment}{/* invalid USB packet */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00402}00402                         td-\/>\mbox{\hyperlink{structavr32dci__td_ac8bde92ac3e81a4d925df01b03f347cc}{error}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00403}00403                         \textcolor{keywordflow}{return} (0);     \textcolor{comment}{/* we are complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00404}00404                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00405}00405         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00406}00406         \textcolor{comment}{/* verify the packet byte count */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00407}00407         \textcolor{keywordflow}{if} (count > td-\/>\mbox{\hyperlink{structavr32dci__td_a1a08ac4c633a2ed80f5be08e77b7d538}{remainder}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00408}00408                 \textcolor{comment}{/* invalid USB packet */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00409}00409                 td-\/>\mbox{\hyperlink{structavr32dci__td_ac8bde92ac3e81a4d925df01b03f347cc}{error}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00410}00410                 \textcolor{keywordflow}{return} (0);             \textcolor{comment}{/* we are complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00411}00411         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00412}00412         \textcolor{keywordflow}{while} (count > 0) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00413}00413                 \mbox{\hyperlink{usb__busdma_8c_ab4f9d07714be540b6d002b44b3716bb2}{usbd\_get\_page}}(td-\/>\mbox{\hyperlink{structavr32dci__td_a45a864acf75c48cd59bb19a650afc71c}{pc}}, td-\/>\mbox{\hyperlink{structavr32dci__td_af29d694e28de164d71fbccc73e1c09a1}{offset}}, \&buf\_res);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00414}00414 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00415}00415                 \textcolor{comment}{/* get correct length */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00416}00416                 \textcolor{keywordflow}{if} (buf\_res.\mbox{\hyperlink{structusb__page__search_add91edb75c219e6992906292ae22bb26}{length}} > count) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00417}00417                         buf\_res.\mbox{\hyperlink{structusb__page__search_add91edb75c219e6992906292ae22bb26}{length}} = count;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00418}00418                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00419}00419                 \textcolor{comment}{/* receive data */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00420}00420                 memcpy(buf\_res.\mbox{\hyperlink{structusb__page__search_a60cd5ce1bbfbf2d2dec7677b1ba9b01a}{buffer}}, sc-\/>\mbox{\hyperlink{structavr32dci__softc_ad6ad423e7fa20d7ea9c8c78383bc04e1}{physdata}} +}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00421}00421                     (\mbox{\hyperlink{avr32dci_8h_a9e838dec4f8a5ca465dacf2b7e7805b0}{AVR32\_EPTSTA\_CURRENT\_BANK}}(temp) << td-\/>\mbox{\hyperlink{structavr32dci__td_a950cc3e59d6414d99310ae4f3bffe020}{bank\_shift}}) +}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00422}00422                     (td-\/>\mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}} << 16) + (td-\/>\mbox{\hyperlink{structavr32dci__td_af29d694e28de164d71fbccc73e1c09a1}{offset}} \% td-\/>\mbox{\hyperlink{structavr32dci__td_a6e8c96003382c63004273d650d1c8bdc}{max\_packet\_size}}), buf\_res.\mbox{\hyperlink{structusb__page__search_add91edb75c219e6992906292ae22bb26}{length}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00423}00423                 \textcolor{comment}{/* update counters */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00424}00424                 count -\/= buf\_res.\mbox{\hyperlink{structusb__page__search_add91edb75c219e6992906292ae22bb26}{length}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00425}00425                 td-\/>\mbox{\hyperlink{structavr32dci__td_af29d694e28de164d71fbccc73e1c09a1}{offset}} += buf\_res.\mbox{\hyperlink{structusb__page__search_add91edb75c219e6992906292ae22bb26}{length}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00426}00426                 td-\/>\mbox{\hyperlink{structavr32dci__td_a1a08ac4c633a2ed80f5be08e77b7d538}{remainder}} -\/= buf\_res.\mbox{\hyperlink{structusb__page__search_add91edb75c219e6992906292ae22bb26}{length}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00427}00427         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00428}00428 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00429}00429         \textcolor{comment}{/* clear OUT packet interrupt */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00430}00430         \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_aa29b0d794a9ae5c0123a962114bb979c}{AVR32\_EPTCLRSTA}}(td-\/>\mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}}), \mbox{\hyperlink{avr32dci_8h_a06a8c8d7b59363b98608d8b96f2845a5}{AVR32\_EPTSTA\_RX\_BK\_RDY}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00431}00431 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00432}00432         \textcolor{comment}{/* check if we are complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00433}00433         \textcolor{keywordflow}{if} ((td-\/>\mbox{\hyperlink{structavr32dci__td_a1a08ac4c633a2ed80f5be08e77b7d538}{remainder}} == 0) || got\_short) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00434}00434                 \textcolor{keywordflow}{if} (td-\/>\mbox{\hyperlink{structavr32dci__td_a30b475f577fc113343044811ec93dff4}{short\_pkt}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00435}00435                         \textcolor{comment}{/* we are complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00436}00436                         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00437}00437                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00438}00438                 \textcolor{comment}{/* else need to receive a zero length packet */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00439}00439         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00440}00440         \textcolor{keywordflow}{if} (-\/-\/to) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00441}00441                 \textcolor{keywordflow}{goto} repeat;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00442}00442         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00443}00443 not\_complete:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00444}00444         \textcolor{keywordflow}{return} (1);                     \textcolor{comment}{/* not complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00445}00445 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00446}00446 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00447}00447 \textcolor{keyword}{static} uint8\_t}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00448}\mbox{\hyperlink{avr32dci_8c_a6e77e8a223c5f997c2b022e367a888f4}{00448}} \mbox{\hyperlink{avr32dci_8c_adc94e48dcbbe9348c9f7702bc5114cd6}{avr32dci\_data\_tx}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__td}{avr32dci\_td}} *td)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00449}00449 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00450}00450         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00451}00451         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__page__search}{usb\_page\_search}} buf\_res;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00452}00452         uint16\_t count;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00453}00453         uint8\_t to;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00454}00454         uint32\_t temp;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00455}00455 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00456}00456         to = 4;                         \textcolor{comment}{/* don't loop forever! */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00457}00457 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00458}00458         \textcolor{comment}{/* get pointer to softc */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00459}00459         sc = \mbox{\hyperlink{avr32dci_8c_ae9b389bec6486c63ebcd1a65117805a5}{AVR32\_PC2SC}}(td-\/>\mbox{\hyperlink{structavr32dci__td_a45a864acf75c48cd59bb19a650afc71c}{pc}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00460}00460 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00461}00461 repeat:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00462}00462 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00463}00463         \textcolor{comment}{/* check endpoint status */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00464}00464         temp = \mbox{\hyperlink{avr32dci_8h_ae5300cff59617271021d2544ed4991ac}{AVR32\_READ\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a61a880f32341cc5ea20320ffedf49f16}{AVR32\_EPTSTA}}(td-\/>\mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}}));}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00465}00465 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00466}00466         DPRINTFN(5, \textcolor{stringliteral}{"{}EPTSTA(\%u)=0x\%08x\(\backslash\)n"{}}, td-\/>\mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}}, temp);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00467}00467 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00468}00468         \textcolor{keywordflow}{if} (temp \& \mbox{\hyperlink{avr32dci_8h_a3065ab8c37be44007c8256a629e295d5}{AVR32\_EPTSTA\_RX\_SETUP}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00469}00469                 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00470}00470 \textcolor{comment}{                 * The current transfer was aborted}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00471}00471 \textcolor{comment}{                 * by the USB Host}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00472}00472 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00473}00473                 td-\/>\mbox{\hyperlink{structavr32dci__td_ac8bde92ac3e81a4d925df01b03f347cc}{error}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00474}00474                 \textcolor{keywordflow}{return} (0);             \textcolor{comment}{/* complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00475}00475         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00476}00476         \textcolor{keywordflow}{if} (temp \& \mbox{\hyperlink{avr32dci_8h_abbe0f183194664479eb9aba4c3f0a319}{AVR32\_EPTSTA\_TX\_PK\_RDY}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00477}00477                 \textcolor{comment}{/* cannot write any data -\/ all banks are busy */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00478}00478                 \textcolor{keywordflow}{goto} not\_complete;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00479}00479         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00480}00480         count = td-\/>\mbox{\hyperlink{structavr32dci__td_a6e8c96003382c63004273d650d1c8bdc}{max\_packet\_size}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00481}00481         \textcolor{keywordflow}{if} (td-\/>\mbox{\hyperlink{structavr32dci__td_a1a08ac4c633a2ed80f5be08e77b7d538}{remainder}} < count) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00482}00482                 \textcolor{comment}{/* we have a short packet */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00483}00483                 td-\/>\mbox{\hyperlink{structavr32dci__td_a30b475f577fc113343044811ec93dff4}{short\_pkt}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00484}00484                 count = td-\/>\mbox{\hyperlink{structavr32dci__td_a1a08ac4c633a2ed80f5be08e77b7d538}{remainder}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00485}00485         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00486}00486         \textcolor{keywordflow}{while} (count > 0) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00487}00487                 \mbox{\hyperlink{usb__busdma_8c_ab4f9d07714be540b6d002b44b3716bb2}{usbd\_get\_page}}(td-\/>\mbox{\hyperlink{structavr32dci__td_a45a864acf75c48cd59bb19a650afc71c}{pc}}, td-\/>\mbox{\hyperlink{structavr32dci__td_af29d694e28de164d71fbccc73e1c09a1}{offset}}, \&buf\_res);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00488}00488 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00489}00489                 \textcolor{comment}{/* get correct length */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00490}00490                 \textcolor{keywordflow}{if} (buf\_res.\mbox{\hyperlink{structusb__page__search_add91edb75c219e6992906292ae22bb26}{length}} > count) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00491}00491                         buf\_res.\mbox{\hyperlink{structusb__page__search_add91edb75c219e6992906292ae22bb26}{length}} = count;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00492}00492                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00493}00493                 \textcolor{comment}{/* transmit data */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00494}00494                 memcpy(sc-\/>\mbox{\hyperlink{structavr32dci__softc_ad6ad423e7fa20d7ea9c8c78383bc04e1}{physdata}} +}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00495}00495                     (\mbox{\hyperlink{avr32dci_8h_a9e838dec4f8a5ca465dacf2b7e7805b0}{AVR32\_EPTSTA\_CURRENT\_BANK}}(temp) << td-\/>\mbox{\hyperlink{structavr32dci__td_a950cc3e59d6414d99310ae4f3bffe020}{bank\_shift}}) +}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00496}00496                     (td-\/>\mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}} << 16) + (td-\/>\mbox{\hyperlink{structavr32dci__td_af29d694e28de164d71fbccc73e1c09a1}{offset}} \% td-\/>\mbox{\hyperlink{structavr32dci__td_a6e8c96003382c63004273d650d1c8bdc}{max\_packet\_size}}),}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00497}00497                     buf\_res.\mbox{\hyperlink{structusb__page__search_a60cd5ce1bbfbf2d2dec7677b1ba9b01a}{buffer}}, buf\_res.\mbox{\hyperlink{structusb__page__search_add91edb75c219e6992906292ae22bb26}{length}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00498}00498                 \textcolor{comment}{/* update counters */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00499}00499                 count -\/= buf\_res.\mbox{\hyperlink{structusb__page__search_add91edb75c219e6992906292ae22bb26}{length}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00500}00500                 td-\/>\mbox{\hyperlink{structavr32dci__td_af29d694e28de164d71fbccc73e1c09a1}{offset}} += buf\_res.\mbox{\hyperlink{structusb__page__search_add91edb75c219e6992906292ae22bb26}{length}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00501}00501                 td-\/>\mbox{\hyperlink{structavr32dci__td_a1a08ac4c633a2ed80f5be08e77b7d538}{remainder}} -\/= buf\_res.\mbox{\hyperlink{structusb__page__search_add91edb75c219e6992906292ae22bb26}{length}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00502}00502         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00503}00503 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00504}00504         \textcolor{comment}{/* allocate FIFO bank */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00505}00505         \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a778917e3c6ca483f0517aa0aa21a0eaa}{AVR32\_EPTCTL}}(td-\/>\mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}}), \mbox{\hyperlink{avr32dci_8h_a7fe98939b2a3725375e8d8757d3df988}{AVR32\_EPTCTL\_TX\_PK\_RDY}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00506}00506 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00507}00507         \textcolor{comment}{/* check remainder */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00508}00508         \textcolor{keywordflow}{if} (td-\/>\mbox{\hyperlink{structavr32dci__td_a1a08ac4c633a2ed80f5be08e77b7d538}{remainder}} == 0) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00509}00509                 \textcolor{keywordflow}{if} (td-\/>\mbox{\hyperlink{structavr32dci__td_a30b475f577fc113343044811ec93dff4}{short\_pkt}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00510}00510                         \textcolor{keywordflow}{return} (0);     \textcolor{comment}{/* complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00511}00511                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00512}00512                 \textcolor{comment}{/* else we need to transmit a short packet */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00513}00513         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00514}00514         \textcolor{keywordflow}{if} (-\/-\/to) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00515}00515                 \textcolor{keywordflow}{goto} repeat;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00516}00516         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00517}00517 not\_complete:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00518}00518         \textcolor{keywordflow}{return} (1);                     \textcolor{comment}{/* not complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00519}00519 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00520}00520 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00521}00521 \textcolor{keyword}{static} uint8\_t}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00522}\mbox{\hyperlink{avr32dci_8c_a8b3ccf78bd7a2af6d9c55d6fde956b3f}{00522}} \mbox{\hyperlink{avr32dci_8c_a15948b099d74aa6d6e1fe0f194dc591a}{avr32dci\_data\_tx\_sync}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__td}{avr32dci\_td}} *td)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00523}00523 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00524}00524         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00525}00525         uint32\_t temp;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00526}00526 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00527}00527         \textcolor{comment}{/* get pointer to softc */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00528}00528         sc = \mbox{\hyperlink{avr32dci_8c_ae9b389bec6486c63ebcd1a65117805a5}{AVR32\_PC2SC}}(td-\/>\mbox{\hyperlink{structavr32dci__td_a45a864acf75c48cd59bb19a650afc71c}{pc}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00529}00529 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00530}00530         \textcolor{comment}{/* check endpoint status */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00531}00531         temp = \mbox{\hyperlink{avr32dci_8h_ae5300cff59617271021d2544ed4991ac}{AVR32\_READ\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a61a880f32341cc5ea20320ffedf49f16}{AVR32\_EPTSTA}}(td-\/>\mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}}));}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00532}00532 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00533}00533         DPRINTFN(5, \textcolor{stringliteral}{"{}EPTSTA(\%u)=0x\%08x\(\backslash\)n"{}}, td-\/>\mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}}, temp);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00534}00534 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00535}00535         \textcolor{keywordflow}{if} (temp \& \mbox{\hyperlink{avr32dci_8h_a3065ab8c37be44007c8256a629e295d5}{AVR32\_EPTSTA\_RX\_SETUP}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00536}00536                 DPRINTFN(5, \textcolor{stringliteral}{"{}faking complete\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00537}00537                 \textcolor{comment}{/* Race condition */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00538}00538                 \textcolor{keywordflow}{return} (0);             \textcolor{comment}{/* complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00539}00539         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00540}00540         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00541}00541 \textcolor{comment}{         * The control endpoint has only got one bank, so if that bank}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00542}00542 \textcolor{comment}{         * is free the packet has been transferred!}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00543}00543 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00544}00544         \textcolor{keywordflow}{if} (\mbox{\hyperlink{avr32dci_8h_a024f438c1fbb316e6dd3a7d5849ef25d}{AVR32\_EPTSTA\_BUSY\_BANK\_STA}}(temp) != 0) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00545}00545                 \textcolor{comment}{/* cannot write any data -\/ a bank is busy */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00546}00546                 \textcolor{keywordflow}{goto} not\_complete;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00547}00547         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00548}00548         \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structavr32dci__softc_ab2b6766201f7c9a6e7b0fce5a778e37b}{sc\_dv\_addr}} != 0xFF) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00549}00549                 \textcolor{comment}{/* set new address */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00550}00550                 \mbox{\hyperlink{avr32dci_8c_a71ab54a1cffc88e5c48c2156f5a220e5}{avr32dci\_set\_address}}(sc, sc-\/>\mbox{\hyperlink{structavr32dci__softc_ab2b6766201f7c9a6e7b0fce5a778e37b}{sc\_dv\_addr}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00551}00551         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00552}00552         \textcolor{keywordflow}{return} (0);                     \textcolor{comment}{/* complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00553}00553 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00554}00554 not\_complete:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00555}00555         \textcolor{keywordflow}{return} (1);                     \textcolor{comment}{/* not complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00556}00556 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00557}00557 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00558}00558 \textcolor{keyword}{static} uint8\_t}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00559}\mbox{\hyperlink{avr32dci_8c_afa37bbe20523bd6b4e2a04092a3f67db}{00559}} \mbox{\hyperlink{avr32dci_8c_afa37bbe20523bd6b4e2a04092a3f67db}{avr32dci\_xfer\_do\_fifo}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00560}00560 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00561}00561         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__td}{avr32dci\_td}} *td;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00562}00562 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00563}00563         DPRINTFN(9, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00564}00564 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00565}00565         td = xfer-\/>\mbox{\hyperlink{structusb__xfer_ab03dbdacd225824d88b55ea51d0434e1}{td\_transfer\_cache}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00566}00566         \textcolor{keywordflow}{while} (1) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00567}00567                 \textcolor{keywordflow}{if} ((td-\/>\mbox{\hyperlink{structavr32dci__td_a6e8efacecee9187f70690cffae0a09c0}{func}}) (td)) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00568}00568                         \textcolor{comment}{/* operation in progress */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00569}00569                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00570}00570                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00571}00571                 \textcolor{keywordflow}{if} (((\textcolor{keywordtype}{void} *)td) == xfer-\/>\mbox{\hyperlink{structusb__xfer_ae74733ea0d49027c19477ea63a223f26}{td\_transfer\_last}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00572}00572                         \textcolor{keywordflow}{goto} done;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00573}00573                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00574}00574                 \textcolor{keywordflow}{if} (td-\/>error) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00575}00575                         \textcolor{keywordflow}{goto} done;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00576}00576                 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (td-\/>remainder > 0) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00577}00577                         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00578}00578 \textcolor{comment}{                         * We had a short transfer. If there is no alternate}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00579}00579 \textcolor{comment}{                         * next, stop processing !}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00580}00580 \textcolor{comment}{                         */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00581}00581                         \textcolor{keywordflow}{if} (!td-\/>alt\_next) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00582}00582                                 \textcolor{keywordflow}{goto} done;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00583}00583                         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00584}00584                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00585}00585                 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00586}00586 \textcolor{comment}{                 * Fetch the next transfer descriptor and transfer}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00587}00587 \textcolor{comment}{                 * some flags to the next transfer descriptor}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00588}00588 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00589}00589                 td = td-\/>obj\_next;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00590}00590                 xfer-\/>\mbox{\hyperlink{structusb__xfer_ab03dbdacd225824d88b55ea51d0434e1}{td\_transfer\_cache}} = td;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00591}00591         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00592}00592         \textcolor{keywordflow}{return} (1);                     \textcolor{comment}{/* not complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00593}00593 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00594}00594 done:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00595}00595         \textcolor{comment}{/* compute all actual lengths */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00596}00596 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00597}00597         \mbox{\hyperlink{avr32dci_8c_a369940367809107a2f60005b806b142b}{avr32dci\_standard\_done}}(xfer);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00598}00598         \textcolor{keywordflow}{return} (0);                     \textcolor{comment}{/* complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00599}00599 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00600}00600 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00601}00601 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00602}\mbox{\hyperlink{avr32dci_8c_a806ec76851a92c83e3d1d9898a305ae9}{00602}} \mbox{\hyperlink{avr32dci_8c_a806ec76851a92c83e3d1d9898a305ae9}{avr32dci\_interrupt\_poll}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00603}00603 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00604}00604         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00605}00605 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00606}00606 repeat:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00607}00607         TAILQ\_FOREACH(xfer, \&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}}.\mbox{\hyperlink{structusb__bus_afe87bf7e25fe7284a87d14ca231bc818}{intr\_q}}.head, wait\_entry) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00608}00608                 \textcolor{keywordflow}{if} (!\mbox{\hyperlink{avr32dci_8c_afa37bbe20523bd6b4e2a04092a3f67db}{avr32dci\_xfer\_do\_fifo}}(xfer)) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00609}00609                         \textcolor{comment}{/* queue has been modified */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00610}00610                         \textcolor{keywordflow}{goto} repeat;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00611}00611                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00612}00612         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00613}00613 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00614}00614 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00615}00615 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00616}\mbox{\hyperlink{avr32dci_8c_a99663464f2ee0b968d381f61b1556e2c}{00616}} \mbox{\hyperlink{avr32dci_8c_a99663464f2ee0b968d381f61b1556e2c}{avr32dci\_vbus\_interrupt}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc, uint8\_t is\_on)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00617}00617 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00618}00618         DPRINTFN(5, \textcolor{stringliteral}{"{}vbus = \%u\(\backslash\)n"{}}, is\_on);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00619}00619 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00620}00620         \textcolor{keywordflow}{if} (is\_on) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00621}00621                 \textcolor{keywordflow}{if} (!sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a5f0ed4102cf20227bea9fc887f8c8de0}{status\_vbus}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00622}00622                         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a5f0ed4102cf20227bea9fc887f8c8de0}{status\_vbus}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00623}00623 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00624}00624                         \textcolor{comment}{/* complete root HUB interrupt endpoint */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00625}00625 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00626}00626                         \mbox{\hyperlink{avr32dci_8c_a87c2859a8b0b0995a19bd9829669ec0e}{avr32dci\_root\_intr}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00627}00627                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00628}00628         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00629}00629                 \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a5f0ed4102cf20227bea9fc887f8c8de0}{status\_vbus}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00630}00630                         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a5f0ed4102cf20227bea9fc887f8c8de0}{status\_vbus}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00631}00631                         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_ad348ad1b102714470fde74ff204ec816}{status\_bus\_reset}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00632}00632                         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_ae08f1d46fb619f0856fca6979022e3df}{status\_suspend}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00633}00633                         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_aeead94394654ba73a2c97a293eb063a4}{change\_suspend}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00634}00634                         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a0746f7d087baa3d472c88146053fb651}{change\_connect}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00635}00635 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00636}00636                         \textcolor{comment}{/* complete root HUB interrupt endpoint */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00637}00637 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00638}00638                         \mbox{\hyperlink{avr32dci_8c_a87c2859a8b0b0995a19bd9829669ec0e}{avr32dci\_root\_intr}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00639}00639                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00640}00640         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00641}00641 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00642}00642 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00643}00643 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00644}\mbox{\hyperlink{avr32dci_8c_ada33ce3d670ae7ad8cabcdb71debfd5a}{00644}} \mbox{\hyperlink{avr32dci_8c_ada33ce3d670ae7ad8cabcdb71debfd5a}{avr32dci\_interrupt}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00645}00645 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00646}00646         uint32\_t \mbox{\hyperlink{xhci_8h_ade818037fd6c985038ff29656089758d}{status}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00647}00647 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00648}00648         \mbox{\hyperlink{usb__core_8h_a21dab1de8f52baf9fbf7617c6b1ec033}{USB\_BUS\_LOCK}}(\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00649}00649 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00650}00650         \textcolor{comment}{/* read interrupt status */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00651}00651         \mbox{\hyperlink{xhci_8h_ade818037fd6c985038ff29656089758d}{status}} = \mbox{\hyperlink{avr32dci_8h_ae5300cff59617271021d2544ed4991ac}{AVR32\_READ\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a8112aa08bd39bd07a9f3b6ea6680d872}{AVR32\_INTSTA}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00652}00652 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00653}00653         \textcolor{comment}{/* clear all set interrupts */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00654}00654         \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a36653d43c2a93a581fd14ac539ec30c8}{AVR32\_CLRINT}}, \mbox{\hyperlink{xhci_8h_ade818037fd6c985038ff29656089758d}{status}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00655}00655 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00656}00656         DPRINTFN(14, \textcolor{stringliteral}{"{}INTSTA=0x\%08x\(\backslash\)n"{}}, \mbox{\hyperlink{xhci_8h_ade818037fd6c985038ff29656089758d}{status}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00657}00657 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00658}00658         \textcolor{comment}{/* check for any bus state change interrupts */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00659}00659         \textcolor{keywordflow}{if} (\mbox{\hyperlink{xhci_8h_ade818037fd6c985038ff29656089758d}{status}} \& \mbox{\hyperlink{avr32dci_8h_a0052215d5051e895adcb34be7bfe8c19}{AVR32\_INT\_ENDRESET}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00660}00660                 DPRINTFN(5, \textcolor{stringliteral}{"{}end of reset\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00661}00661 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00662}00662                 \textcolor{comment}{/* set correct state */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00663}00663                 sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_ad348ad1b102714470fde74ff204ec816}{status\_bus\_reset}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00664}00664                 sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_ae08f1d46fb619f0856fca6979022e3df}{status\_suspend}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00665}00665                 sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_aeead94394654ba73a2c97a293eb063a4}{change\_suspend}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00666}00666                 sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a0746f7d087baa3d472c88146053fb651}{change\_connect}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00667}00667 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00668}00668                 \textcolor{comment}{/* disable resume interrupt */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00669}00669                 \mbox{\hyperlink{avr32dci_8c_a950699c98bb9a441f04087106d5e91a5}{avr32dci\_mod\_ien}}(sc, \mbox{\hyperlink{avr32dci_8h_aba9bb62fc0a0ec0c7d27b723854f239e}{AVR32\_INT\_DET\_SUSPD}} |}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00670}00670                     \mbox{\hyperlink{avr32dci_8h_a0052215d5051e895adcb34be7bfe8c19}{AVR32\_INT\_ENDRESET}}, \mbox{\hyperlink{avr32dci_8h_a0e3961018a9db787a3a79348d6b08cd1}{AVR32\_INT\_WAKE\_UP}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00671}00671 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00672}00672                 \textcolor{comment}{/* complete root HUB interrupt endpoint */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00673}00673                 \mbox{\hyperlink{avr32dci_8c_a87c2859a8b0b0995a19bd9829669ec0e}{avr32dci\_root\_intr}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00674}00674         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00675}00675         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00676}00676 \textcolor{comment}{         * If resume and suspend is set at the same time we interpret}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00677}00677 \textcolor{comment}{         * that like RESUME. Resume is set when there is at least 3}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00678}00678 \textcolor{comment}{         * milliseconds of inactivity on the USB BUS.}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00679}00679 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00680}00680         \textcolor{keywordflow}{if} (\mbox{\hyperlink{xhci_8h_ade818037fd6c985038ff29656089758d}{status}} \& \mbox{\hyperlink{avr32dci_8h_a0e3961018a9db787a3a79348d6b08cd1}{AVR32\_INT\_WAKE\_UP}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00681}00681                 DPRINTFN(5, \textcolor{stringliteral}{"{}resume interrupt\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00682}00682 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00683}00683                 \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_ae08f1d46fb619f0856fca6979022e3df}{status\_suspend}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00684}00684                         \textcolor{comment}{/* update status bits */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00685}00685                         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_ae08f1d46fb619f0856fca6979022e3df}{status\_suspend}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00686}00686                         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_aeead94394654ba73a2c97a293eb063a4}{change\_suspend}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00687}00687 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00688}00688                         \textcolor{comment}{/* disable resume interrupt */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00689}00689                         \mbox{\hyperlink{avr32dci_8c_a950699c98bb9a441f04087106d5e91a5}{avr32dci\_mod\_ien}}(sc, \mbox{\hyperlink{avr32dci_8h_aba9bb62fc0a0ec0c7d27b723854f239e}{AVR32\_INT\_DET\_SUSPD}} |}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00690}00690                             \mbox{\hyperlink{avr32dci_8h_a0052215d5051e895adcb34be7bfe8c19}{AVR32\_INT\_ENDRESET}}, \mbox{\hyperlink{avr32dci_8h_a0e3961018a9db787a3a79348d6b08cd1}{AVR32\_INT\_WAKE\_UP}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00691}00691 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00692}00692                         \textcolor{comment}{/* complete root HUB interrupt endpoint */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00693}00693                         \mbox{\hyperlink{avr32dci_8c_a87c2859a8b0b0995a19bd9829669ec0e}{avr32dci\_root\_intr}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00694}00694                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00695}00695         \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (\mbox{\hyperlink{xhci_8h_ade818037fd6c985038ff29656089758d}{status}} \& \mbox{\hyperlink{avr32dci_8h_aba9bb62fc0a0ec0c7d27b723854f239e}{AVR32\_INT\_DET\_SUSPD}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00696}00696                 DPRINTFN(5, \textcolor{stringliteral}{"{}suspend interrupt\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00697}00697 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00698}00698                 \textcolor{keywordflow}{if} (!sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_ae08f1d46fb619f0856fca6979022e3df}{status\_suspend}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00699}00699                         \textcolor{comment}{/* update status bits */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00700}00700                         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_ae08f1d46fb619f0856fca6979022e3df}{status\_suspend}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00701}00701                         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_aeead94394654ba73a2c97a293eb063a4}{change\_suspend}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00702}00702 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00703}00703                         \textcolor{comment}{/* disable suspend interrupt */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00704}00704                         \mbox{\hyperlink{avr32dci_8c_a950699c98bb9a441f04087106d5e91a5}{avr32dci\_mod\_ien}}(sc, \mbox{\hyperlink{avr32dci_8h_a0e3961018a9db787a3a79348d6b08cd1}{AVR32\_INT\_WAKE\_UP}} |}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00705}00705                             \mbox{\hyperlink{avr32dci_8h_a0052215d5051e895adcb34be7bfe8c19}{AVR32\_INT\_ENDRESET}}, \mbox{\hyperlink{avr32dci_8h_aba9bb62fc0a0ec0c7d27b723854f239e}{AVR32\_INT\_DET\_SUSPD}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00706}00706 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00707}00707                         \textcolor{comment}{/* complete root HUB interrupt endpoint */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00708}00708                         \mbox{\hyperlink{avr32dci_8c_a87c2859a8b0b0995a19bd9829669ec0e}{avr32dci\_root\_intr}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00709}00709                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00710}00710         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00711}00711         \textcolor{comment}{/* check for any endpoint interrupts */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00712}00712         \textcolor{keywordflow}{if} (\mbox{\hyperlink{xhci_8h_ade818037fd6c985038ff29656089758d}{status}} \& -\/\mbox{\hyperlink{avr32dci_8h_a7acbad700b8916af9c1c2b5efe447b8f}{AVR32\_INT\_EPT\_INT}}(0)) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00713}00713                 DPRINTFN(5, \textcolor{stringliteral}{"{}real endpoint interrupt\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00714}00714 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00715}00715                 \mbox{\hyperlink{avr32dci_8c_a806ec76851a92c83e3d1d9898a305ae9}{avr32dci\_interrupt\_poll}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00716}00716         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00717}00717         \mbox{\hyperlink{usb__core_8h_aadb0c32f6333b8a0715929ace5f550b2}{USB\_BUS\_UNLOCK}}(\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00718}00718 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00719}00719 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00720}00720 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00721}\mbox{\hyperlink{avr32dci_8c_af2866fcee6f06c7e992ce3f248cc594d}{00721}} \mbox{\hyperlink{avr32dci_8c_af2866fcee6f06c7e992ce3f248cc594d}{avr32dci\_setup\_standard\_chain\_sub}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__std__temp}{avr32dci\_std\_temp}} *temp)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00722}00722 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00723}00723         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__td}{avr32dci\_td}} *td;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00724}00724 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00725}00725         \textcolor{comment}{/* get current Transfer Descriptor */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00726}00726         td = temp-\/>\mbox{\hyperlink{structavr32dci__std__temp_a06ef66477ff7419d8b90e8645461e52a}{td\_next}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00727}00727         temp-\/>\mbox{\hyperlink{structavr32dci__std__temp_a07348b10709c9775df5e2a3d78d918db}{td}} = td;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00728}00728 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00729}00729         \textcolor{comment}{/* prepare for next TD */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00730}00730         temp-\/>\mbox{\hyperlink{structavr32dci__std__temp_a06ef66477ff7419d8b90e8645461e52a}{td\_next}} = td-\/>\mbox{\hyperlink{structavr32dci__td_a02f4fda3d76afe47d566a3a34929fa28}{obj\_next}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00731}00731 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00732}00732         \textcolor{comment}{/* fill out the Transfer Descriptor */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00733}00733         td-\/>\mbox{\hyperlink{structavr32dci__td_a6e8efacecee9187f70690cffae0a09c0}{func}} = temp-\/>\mbox{\hyperlink{structavr32dci__std__temp_abc7b669f2afb9333ec276069e7a7edef}{func}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00734}00734         td-\/>\mbox{\hyperlink{structavr32dci__td_a45a864acf75c48cd59bb19a650afc71c}{pc}} = temp-\/>\mbox{\hyperlink{structavr32dci__std__temp_a9a310bf27924d868771e037ef7a419de}{pc}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00735}00735         td-\/>\mbox{\hyperlink{structavr32dci__td_af29d694e28de164d71fbccc73e1c09a1}{offset}} = temp-\/>\mbox{\hyperlink{structavr32dci__std__temp_ae5a6c7341bd960a51aee87cb02c2f539}{offset}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00736}00736         td-\/>\mbox{\hyperlink{structavr32dci__td_a1a08ac4c633a2ed80f5be08e77b7d538}{remainder}} = temp-\/>\mbox{\hyperlink{structavr32dci__std__temp_ad7c19b5585fd971a2e688b305b85c1ef}{len}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00737}00737         td-\/>\mbox{\hyperlink{structavr32dci__td_ac8bde92ac3e81a4d925df01b03f347cc}{error}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00738}00738         td-\/>\mbox{\hyperlink{structavr32dci__td_ad904f9f6c2f1a69a4351532128f3baf9}{did\_stall}} = temp-\/>\mbox{\hyperlink{structavr32dci__std__temp_a95576f13a190b70c0aa9d16cc3415c87}{did\_stall}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00739}00739         td-\/>\mbox{\hyperlink{structavr32dci__td_a30b475f577fc113343044811ec93dff4}{short\_pkt}} = temp-\/>\mbox{\hyperlink{structavr32dci__std__temp_a03b33f8f15aa8e8e66c5c751141b16ce}{short\_pkt}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00740}00740         td-\/>\mbox{\hyperlink{structavr32dci__td_aa53a9c12dcd02db7484d677067082b1d}{alt\_next}} = temp-\/>\mbox{\hyperlink{structavr32dci__std__temp_aee58d4daf29a2fcf0d6d7abc0fc57527}{setup\_alt\_next}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00741}00741 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00742}00742 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00743}00743 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00744}\mbox{\hyperlink{avr32dci_8c_a3213d9b0d90cb4c19a06d07e7a516a39}{00744}} \mbox{\hyperlink{avr32dci_8c_a3213d9b0d90cb4c19a06d07e7a516a39}{avr32dci\_setup\_standard\_chain}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00745}00745 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00746}00746         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__std__temp}{avr32dci\_std\_temp}} temp;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00747}00747         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00748}00748         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__td}{avr32dci\_td}} *td;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00749}00749         uint32\_t x;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00750}00750         uint8\_t \mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00751}00751         uint8\_t need\_sync;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00752}00752 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00753}00753         DPRINTFN(9, \textcolor{stringliteral}{"{}addr=\%d endpt=\%d sumlen=\%d speed=\%d\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00754}00754             xfer-\/>\mbox{\hyperlink{structusb__xfer_a8ff4ea2a405466a9ce1d9a154a535f0b}{address}}, \mbox{\hyperlink{usb_8h_a5c87169fa1d69d81d7ac06bd59265243}{UE\_GET\_ADDR}}(xfer-\/>\mbox{\hyperlink{structusb__xfer_afe9addf10f35e5301cce41ebf42b5db2}{endpointno}}),}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00755}00755             xfer-\/>\mbox{\hyperlink{structusb__xfer_af7389161d91d0c0b7a17b1eaaa1772c0}{sumlen}}, \mbox{\hyperlink{usb__device_8c_a7aed6ff31c86f304cb29317095a0de1c}{usbd\_get\_speed}}(xfer-\/>\mbox{\hyperlink{structusb__xfer_ad188b4cd79900e1cd04aba6c140e9ab3}{xroot}}-\/>\mbox{\hyperlink{structusb__xfer__root_ad636fcdafa42c174cdf281bb144b1e67}{udev}}));}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00756}00756 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00757}00757         temp.\mbox{\hyperlink{structavr32dci__std__temp_a21921a74f83e5eedeba5ad189a480a74}{max\_frame\_size}} = xfer-\/>\mbox{\hyperlink{structusb__xfer_ae115ce000f084f7d5f8c005fa88d2703}{max\_frame\_size}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00758}00758 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00759}00759         td = xfer-\/>\mbox{\hyperlink{structusb__xfer_a68f3cea7860d801fe4e03b3301c9381d}{td\_start}}[0];}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00760}00760         xfer-\/>\mbox{\hyperlink{structusb__xfer_ae7adef379254c2ca0c87f265c59f5f5c}{td\_transfer\_first}} = td;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00761}00761         xfer-\/>\mbox{\hyperlink{structusb__xfer_ab03dbdacd225824d88b55ea51d0434e1}{td\_transfer\_cache}} = td;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00762}00762 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00763}00763         \textcolor{comment}{/* setup temp */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00764}00764 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00765}00765         temp.\mbox{\hyperlink{structavr32dci__std__temp_a9a310bf27924d868771e037ef7a419de}{pc}} = NULL;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00766}00766         temp.\mbox{\hyperlink{structavr32dci__std__temp_a07348b10709c9775df5e2a3d78d918db}{td}} = NULL;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00767}00767         temp.\mbox{\hyperlink{structavr32dci__std__temp_a06ef66477ff7419d8b90e8645461e52a}{td\_next}} = xfer-\/>\mbox{\hyperlink{structusb__xfer_a68f3cea7860d801fe4e03b3301c9381d}{td\_start}}[0];}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00768}00768         temp.\mbox{\hyperlink{structavr32dci__std__temp_ae5a6c7341bd960a51aee87cb02c2f539}{offset}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00769}00769         temp.\mbox{\hyperlink{structavr32dci__std__temp_aee58d4daf29a2fcf0d6d7abc0fc57527}{setup\_alt\_next}} = xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a1023a81a83c7acfbe3134100363e7fde}{short\_frames\_ok}} ||}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00770}00770             xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a5367e64daae30f55ec887872d577fa80}{isochronous\_xfr}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00771}00771         temp.\mbox{\hyperlink{structavr32dci__std__temp_a95576f13a190b70c0aa9d16cc3415c87}{did\_stall}} = !xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a62d0b716bbeed6d1abd325baf168f145}{control\_stall}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00772}00772 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00773}00773         sc = \mbox{\hyperlink{avr32dci_8c_ae0797ce8067e0b7c8f7038caecbb79fd}{AVR32\_BUS2SC}}(xfer-\/>\mbox{\hyperlink{structusb__xfer_ad188b4cd79900e1cd04aba6c140e9ab3}{xroot}}-\/>\mbox{\hyperlink{structusb__xfer__root_a870218d57253f00f1e9baa19401c9b0c}{bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00774}00774         \mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}} = (xfer-\/>\mbox{\hyperlink{structusb__xfer_afe9addf10f35e5301cce41ebf42b5db2}{endpointno}} \& \mbox{\hyperlink{usb_8h_a227db1f194f105a22faae81401d3e18e}{UE\_ADDR}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00775}00775 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00776}00776         \textcolor{comment}{/* check if we should prepend a setup message */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00777}00777 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00778}00778         \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a777cf7dd18178f84b0d6e0a086f72a7a}{control\_xfr}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00779}00779                 \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a0add2c86d09b768df5f354746b8fe16f}{control\_hdr}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00780}00780                         temp.\mbox{\hyperlink{structavr32dci__std__temp_abc7b669f2afb9333ec276069e7a7edef}{func}} = \&\mbox{\hyperlink{avr32dci_8c_a63f2b957e6d123c517464992d687ed27}{avr32dci\_setup\_rx}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00781}00781                         temp.\mbox{\hyperlink{structavr32dci__std__temp_ad7c19b5585fd971a2e688b305b85c1ef}{len}} = xfer-\/>\mbox{\hyperlink{structusb__xfer_a04bfeb929b15a30d355f94eb7ff2a586}{frlengths}}[0];}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00782}00782                         temp.\mbox{\hyperlink{structavr32dci__std__temp_a9a310bf27924d868771e037ef7a419de}{pc}} = xfer-\/>\mbox{\hyperlink{structusb__xfer_a5937368645458023af557e100989c64a}{frbuffers}} + 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00783}00783                         temp.\mbox{\hyperlink{structavr32dci__std__temp_a03b33f8f15aa8e8e66c5c751141b16ce}{short\_pkt}} = temp.\mbox{\hyperlink{structavr32dci__std__temp_ad7c19b5585fd971a2e688b305b85c1ef}{len}} ? 1 : 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00784}00784                         \textcolor{comment}{/* check for last frame */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00785}00785                         \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_a0d60b7394e3ea099dc1c466efe87c6e2}{nframes}} == 1) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00786}00786                                 \textcolor{comment}{/* no STATUS stage yet, SETUP is last */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00787}00787                                 \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a100da5a86a7ab85605683dc51d48ef86}{control\_act}})}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00788}00788                                         temp.\mbox{\hyperlink{structavr32dci__std__temp_aee58d4daf29a2fcf0d6d7abc0fc57527}{setup\_alt\_next}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00789}00789                         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00790}00790                         \mbox{\hyperlink{avr32dci_8c_af2866fcee6f06c7e992ce3f248cc594d}{avr32dci\_setup\_standard\_chain\_sub}}(\&temp);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00791}00791                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00792}00792                 x = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00793}00793         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00794}00794                 x = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00795}00795         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00796}00796 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00797}00797         \textcolor{keywordflow}{if} (x != xfer-\/>\mbox{\hyperlink{structusb__xfer_a0d60b7394e3ea099dc1c466efe87c6e2}{nframes}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00798}00798                 \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_afe9addf10f35e5301cce41ebf42b5db2}{endpointno}} \& \mbox{\hyperlink{usb_8h_a72bb077a860132c175c166f344c75893}{UE\_DIR\_IN}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00799}00799                         temp.\mbox{\hyperlink{structavr32dci__std__temp_abc7b669f2afb9333ec276069e7a7edef}{func}} = \&\mbox{\hyperlink{avr32dci_8c_adc94e48dcbbe9348c9f7702bc5114cd6}{avr32dci\_data\_tx}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00800}00800                         need\_sync = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00801}00801                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00802}00802                         temp.\mbox{\hyperlink{structavr32dci__std__temp_abc7b669f2afb9333ec276069e7a7edef}{func}} = \&\mbox{\hyperlink{avr32dci_8c_a341261afca899e681f65bc6ad3c66abf}{avr32dci\_data\_rx}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00803}00803                         need\_sync = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00804}00804                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00805}00805 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00806}00806                 \textcolor{comment}{/* setup "{}pc"{} pointer */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00807}00807                 temp.\mbox{\hyperlink{structavr32dci__std__temp_a9a310bf27924d868771e037ef7a419de}{pc}} = xfer-\/>\mbox{\hyperlink{structusb__xfer_a5937368645458023af557e100989c64a}{frbuffers}} + x;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00808}00808         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00809}00809                 need\_sync = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00810}00810         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00811}00811         \textcolor{keywordflow}{while} (x != xfer-\/>\mbox{\hyperlink{structusb__xfer_a0d60b7394e3ea099dc1c466efe87c6e2}{nframes}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00812}00812                 \textcolor{comment}{/* DATA0 / DATA1 message */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00813}00813 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00814}00814                 temp.\mbox{\hyperlink{structavr32dci__std__temp_ad7c19b5585fd971a2e688b305b85c1ef}{len}} = xfer-\/>\mbox{\hyperlink{structusb__xfer_a04bfeb929b15a30d355f94eb7ff2a586}{frlengths}}[x];}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00815}00815 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00816}00816                 x++;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00817}00817 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00818}00818                 \textcolor{keywordflow}{if} (x == xfer-\/>\mbox{\hyperlink{structusb__xfer_a0d60b7394e3ea099dc1c466efe87c6e2}{nframes}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00819}00819                         \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a777cf7dd18178f84b0d6e0a086f72a7a}{control\_xfr}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00820}00820                                 \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a100da5a86a7ab85605683dc51d48ef86}{control\_act}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00821}00821                                         temp.\mbox{\hyperlink{structavr32dci__std__temp_aee58d4daf29a2fcf0d6d7abc0fc57527}{setup\_alt\_next}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00822}00822                                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00823}00823                         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00824}00824                                 temp.\mbox{\hyperlink{structavr32dci__std__temp_aee58d4daf29a2fcf0d6d7abc0fc57527}{setup\_alt\_next}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00825}00825                         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00826}00826                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00827}00827                 \textcolor{keywordflow}{if} (temp.\mbox{\hyperlink{structavr32dci__std__temp_ad7c19b5585fd971a2e688b305b85c1ef}{len}} == 0) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00828}00828                         \textcolor{comment}{/* make sure that we send an USB packet */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00829}00829 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00830}00830                         temp.\mbox{\hyperlink{structavr32dci__std__temp_a03b33f8f15aa8e8e66c5c751141b16ce}{short\_pkt}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00831}00831 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00832}00832                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00833}00833                         \textcolor{comment}{/* regular data transfer */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00834}00834 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00835}00835                         temp.\mbox{\hyperlink{structavr32dci__std__temp_a03b33f8f15aa8e8e66c5c751141b16ce}{short\_pkt}} = (xfer-\/>\mbox{\hyperlink{structusb__xfer_aa251db061296120bb15fd562088a1d9d}{flags}}.\mbox{\hyperlink{structusb__xfer__flags_a76816b701c58c22a9a78904b109c2e95}{force\_short\_xfer}}) ? 0 : 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00836}00836                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00837}00837 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00838}00838                 \mbox{\hyperlink{avr32dci_8c_af2866fcee6f06c7e992ce3f248cc594d}{avr32dci\_setup\_standard\_chain\_sub}}(\&temp);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00839}00839 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00840}00840                 \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a5367e64daae30f55ec887872d577fa80}{isochronous\_xfr}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00841}00841                         temp.\mbox{\hyperlink{structavr32dci__std__temp_ae5a6c7341bd960a51aee87cb02c2f539}{offset}} += temp.\mbox{\hyperlink{structavr32dci__std__temp_ad7c19b5585fd971a2e688b305b85c1ef}{len}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00842}00842                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00843}00843                         \textcolor{comment}{/* get next Page Cache pointer */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00844}00844                         temp.\mbox{\hyperlink{structavr32dci__std__temp_a9a310bf27924d868771e037ef7a419de}{pc}} = xfer-\/>\mbox{\hyperlink{structusb__xfer_a5937368645458023af557e100989c64a}{frbuffers}} + x;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00845}00845                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00846}00846         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00847}00847 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00848}00848         \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a777cf7dd18178f84b0d6e0a086f72a7a}{control\_xfr}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00849}00849                 \textcolor{comment}{/* always setup a valid "{}pc"{} pointer for status and sync */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00850}00850                 temp.\mbox{\hyperlink{structavr32dci__std__temp_a9a310bf27924d868771e037ef7a419de}{pc}} = xfer-\/>\mbox{\hyperlink{structusb__xfer_a5937368645458023af557e100989c64a}{frbuffers}} + 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00851}00851                 temp.\mbox{\hyperlink{structavr32dci__std__temp_ad7c19b5585fd971a2e688b305b85c1ef}{len}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00852}00852                 temp.\mbox{\hyperlink{structavr32dci__std__temp_a03b33f8f15aa8e8e66c5c751141b16ce}{short\_pkt}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00853}00853                 temp.\mbox{\hyperlink{structavr32dci__std__temp_aee58d4daf29a2fcf0d6d7abc0fc57527}{setup\_alt\_next}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00854}00854 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00855}00855                 \textcolor{comment}{/* check if we need to sync */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00856}00856                 \textcolor{keywordflow}{if} (need\_sync) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00857}00857                         \textcolor{comment}{/* we need a SYNC point after TX */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00858}00858                         temp.\mbox{\hyperlink{structavr32dci__std__temp_abc7b669f2afb9333ec276069e7a7edef}{func}} = \&\mbox{\hyperlink{avr32dci_8c_a15948b099d74aa6d6e1fe0f194dc591a}{avr32dci\_data\_tx\_sync}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00859}00859                         \mbox{\hyperlink{avr32dci_8c_af2866fcee6f06c7e992ce3f248cc594d}{avr32dci\_setup\_standard\_chain\_sub}}(\&temp);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00860}00860                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00861}00861                 \textcolor{comment}{/* check if we should append a status stage */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00862}00862                 \textcolor{keywordflow}{if} (!xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a100da5a86a7ab85605683dc51d48ef86}{control\_act}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00863}00863                         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00864}00864 \textcolor{comment}{                         * Send a DATA1 message and invert the current}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00865}00865 \textcolor{comment}{                         * endpoint direction.}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00866}00866 \textcolor{comment}{                         */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00867}00867                         \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_afe9addf10f35e5301cce41ebf42b5db2}{endpointno}} \& \mbox{\hyperlink{usb_8h_a72bb077a860132c175c166f344c75893}{UE\_DIR\_IN}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00868}00868                                 temp.\mbox{\hyperlink{structavr32dci__std__temp_abc7b669f2afb9333ec276069e7a7edef}{func}} = \&\mbox{\hyperlink{avr32dci_8c_a341261afca899e681f65bc6ad3c66abf}{avr32dci\_data\_rx}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00869}00869                                 need\_sync = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00870}00870                         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00871}00871                                 temp.\mbox{\hyperlink{structavr32dci__std__temp_abc7b669f2afb9333ec276069e7a7edef}{func}} = \&\mbox{\hyperlink{avr32dci_8c_adc94e48dcbbe9348c9f7702bc5114cd6}{avr32dci\_data\_tx}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00872}00872                                 need\_sync = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00873}00873                         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00874}00874 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00875}00875                         \mbox{\hyperlink{avr32dci_8c_af2866fcee6f06c7e992ce3f248cc594d}{avr32dci\_setup\_standard\_chain\_sub}}(\&temp);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00876}00876                         \textcolor{keywordflow}{if} (need\_sync) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00877}00877                                 \textcolor{comment}{/* we need a SYNC point after TX */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00878}00878                                 temp.\mbox{\hyperlink{structavr32dci__std__temp_abc7b669f2afb9333ec276069e7a7edef}{func}} = \&\mbox{\hyperlink{avr32dci_8c_a15948b099d74aa6d6e1fe0f194dc591a}{avr32dci\_data\_tx\_sync}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00879}00879                                 \mbox{\hyperlink{avr32dci_8c_af2866fcee6f06c7e992ce3f248cc594d}{avr32dci\_setup\_standard\_chain\_sub}}(\&temp);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00880}00880                         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00881}00881                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00882}00882         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00883}00883         \textcolor{comment}{/* must have at least one frame! */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00884}00884         td = temp.\mbox{\hyperlink{structavr32dci__std__temp_a07348b10709c9775df5e2a3d78d918db}{td}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00885}00885         xfer-\/>\mbox{\hyperlink{structusb__xfer_ae74733ea0d49027c19477ea63a223f26}{td\_transfer\_last}} = td;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00886}00886 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00887}00887 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00888}00888 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00889}\mbox{\hyperlink{avr32dci_8c_a534db0c8cf09bc82e78ab610134ba9ed}{00889}} \mbox{\hyperlink{avr32dci_8c_a534db0c8cf09bc82e78ab610134ba9ed}{avr32dci\_timeout}}(\textcolor{keywordtype}{void} *arg)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00890}00890 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00891}00891         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer = arg;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00892}00892 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00893}00893         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}xfer=\%p\(\backslash\)n"{}}, xfer);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00894}00894 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00895}00895         \mbox{\hyperlink{usb__core_8h_adf78e1178dd30ec4a8a53087fe6c7e02}{USB\_BUS\_LOCK\_ASSERT}}(xfer-\/>\mbox{\hyperlink{structusb__xfer_ad188b4cd79900e1cd04aba6c140e9ab3}{xroot}}-\/>\mbox{\hyperlink{structusb__xfer__root_a870218d57253f00f1e9baa19401c9b0c}{bus}}, MA\_OWNED);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00896}00896 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00897}00897         \textcolor{comment}{/* transfer is transferred */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00898}00898         \mbox{\hyperlink{avr32dci_8c_a6d61b8d92143e413dfd6a47be849576f}{avr32dci\_device\_done}}(xfer, \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945aeb31baaa7bf416e200f2a0d4ece60820}{USB\_ERR\_TIMEOUT}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00899}00899 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00900}00900 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00901}00901 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00902}\mbox{\hyperlink{avr32dci_8c_a5cc27645cf9004d2df8a48140cb93d30}{00902}} \mbox{\hyperlink{avr32dci_8c_a5cc27645cf9004d2df8a48140cb93d30}{avr32dci\_start\_standard\_chain}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00903}00903 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00904}00904         DPRINTFN(9, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00905}00905 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00906}00906         \textcolor{comment}{/* poll one time -\/ will turn on interrupts */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00907}00907         \textcolor{keywordflow}{if} (\mbox{\hyperlink{avr32dci_8c_afa37bbe20523bd6b4e2a04092a3f67db}{avr32dci\_xfer\_do\_fifo}}(xfer)) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00908}00908                 uint8\_t ep\_no = xfer-\/>\mbox{\hyperlink{structusb__xfer_afe9addf10f35e5301cce41ebf42b5db2}{endpointno}} \& \mbox{\hyperlink{usb_8h_a227db1f194f105a22faae81401d3e18e}{UE\_ADDR}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00909}00909                 \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc = \mbox{\hyperlink{avr32dci_8c_ae0797ce8067e0b7c8f7038caecbb79fd}{AVR32\_BUS2SC}}(xfer-\/>\mbox{\hyperlink{structusb__xfer_ad188b4cd79900e1cd04aba6c140e9ab3}{xroot}}-\/>\mbox{\hyperlink{structusb__xfer__root_a870218d57253f00f1e9baa19401c9b0c}{bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00910}00910 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00911}00911                 \mbox{\hyperlink{avr32dci_8c_a950699c98bb9a441f04087106d5e91a5}{avr32dci\_mod\_ien}}(sc, \mbox{\hyperlink{avr32dci_8h_a7acbad700b8916af9c1c2b5efe447b8f}{AVR32\_INT\_EPT\_INT}}(ep\_no), 0);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00912}00912 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00913}00913                 \textcolor{comment}{/* put transfer on interrupt queue */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00914}00914                 \mbox{\hyperlink{usb__transfer_8c_abfdcc46256df403f3f4d1b02db7ccb16}{usbd\_transfer\_enqueue}}(\&xfer-\/>\mbox{\hyperlink{structusb__xfer_ad188b4cd79900e1cd04aba6c140e9ab3}{xroot}}-\/>\mbox{\hyperlink{structusb__xfer__root_a870218d57253f00f1e9baa19401c9b0c}{bus}}-\/>\mbox{\hyperlink{structusb__bus_afe87bf7e25fe7284a87d14ca231bc818}{intr\_q}}, xfer);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00915}00915 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00916}00916                 \textcolor{comment}{/* start timeout, if any */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00917}00917                 \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_a766f3db3d34b816ff819212c11f27ad3}{timeout}} != 0) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00918}00918                         \mbox{\hyperlink{usb__transfer_8c_ad2a08e4791c74765a0ecc20d5894ab36}{usbd\_transfer\_timeout\_ms}}(xfer,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00919}00919                             \&\mbox{\hyperlink{avr32dci_8c_a534db0c8cf09bc82e78ab610134ba9ed}{avr32dci\_timeout}}, xfer-\/>\mbox{\hyperlink{structusb__xfer_a766f3db3d34b816ff819212c11f27ad3}{timeout}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00920}00920                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00921}00921         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00922}00922 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00923}00923 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00924}00924 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00925}\mbox{\hyperlink{avr32dci_8c_a87c2859a8b0b0995a19bd9829669ec0e}{00925}} \mbox{\hyperlink{avr32dci_8c_a87c2859a8b0b0995a19bd9829669ec0e}{avr32dci\_root\_intr}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00926}00926 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00927}00927         DPRINTFN(9, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00928}00928 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00929}00929         \mbox{\hyperlink{usb__core_8h_adf78e1178dd30ec4a8a53087fe6c7e02}{USB\_BUS\_LOCK\_ASSERT}}(\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}}, MA\_OWNED);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00930}00930 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00931}00931         \textcolor{comment}{/* set port bit */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00932}00932         sc-\/>\mbox{\hyperlink{structavr32dci__softc_aa94ed1fce12373f1d2b8f78a59246b15}{sc\_hub\_idata}}[0] = 0x02; \textcolor{comment}{/* we only have one port */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00933}00933 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00934}00934         \mbox{\hyperlink{usb__hub_8c_a5d4ec35789c119dd1afa44df46d4b8ed}{uhub\_root\_intr}}(\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}}, sc-\/>\mbox{\hyperlink{structavr32dci__softc_aa94ed1fce12373f1d2b8f78a59246b15}{sc\_hub\_idata}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00935}00935             \textcolor{keyword}{sizeof}(sc-\/>\mbox{\hyperlink{structavr32dci__softc_aa94ed1fce12373f1d2b8f78a59246b15}{sc\_hub\_idata}}));}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00936}00936 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00937}00937 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00938}00938 \textcolor{keyword}{static} \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\_error\_t}}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00939}\mbox{\hyperlink{avr32dci_8c_ac226203c41dae21100136c3c49589ae8}{00939}} \mbox{\hyperlink{avr32dci_8c_ac226203c41dae21100136c3c49589ae8}{avr32dci\_standard\_done\_sub}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00940}00940 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00941}00941         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__td}{avr32dci\_td}} *td;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00942}00942         uint32\_t \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00943}00943         uint8\_t \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00944}00944 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00945}00945         DPRINTFN(9, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00946}00946 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00947}00947         td = xfer-\/>\mbox{\hyperlink{structusb__xfer_ab03dbdacd225824d88b55ea51d0434e1}{td\_transfer\_cache}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00948}00948 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00949}00949         \textcolor{keywordflow}{do} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00950}00950                 \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}} = td-\/>\mbox{\hyperlink{structavr32dci__td_a1a08ac4c633a2ed80f5be08e77b7d538}{remainder}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00951}00951 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00952}00952                 \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_a7f58fffa56cac11410055f785c4c5ffa}{aframes}} != xfer-\/>\mbox{\hyperlink{structusb__xfer_a0d60b7394e3ea099dc1c466efe87c6e2}{nframes}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00953}00953                         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00954}00954 \textcolor{comment}{                         * Verify the length and subtract}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00955}00955 \textcolor{comment}{                         * the remainder from "{}frlengths[]"{}:}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00956}00956 \textcolor{comment}{                         */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00957}00957                         \textcolor{keywordflow}{if} (\mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}} > xfer-\/>\mbox{\hyperlink{structusb__xfer_a04bfeb929b15a30d355f94eb7ff2a586}{frlengths}}[xfer-\/>\mbox{\hyperlink{structusb__xfer_a7f58fffa56cac11410055f785c4c5ffa}{aframes}}]) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00958}00958                                 td-\/>\mbox{\hyperlink{structavr32dci__td_ac8bde92ac3e81a4d925df01b03f347cc}{error}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00959}00959                         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00960}00960                                 xfer-\/>\mbox{\hyperlink{structusb__xfer_a04bfeb929b15a30d355f94eb7ff2a586}{frlengths}}[xfer-\/>\mbox{\hyperlink{structusb__xfer_a7f58fffa56cac11410055f785c4c5ffa}{aframes}}] -\/= \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00961}00961                         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00962}00962                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00963}00963                 \textcolor{comment}{/* Check for transfer error */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00964}00964                 \textcolor{keywordflow}{if} (td-\/>\mbox{\hyperlink{structavr32dci__td_ac8bde92ac3e81a4d925df01b03f347cc}{error}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00965}00965                         \textcolor{comment}{/* the transfer is finished */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00966}00966                         \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00967}00967                         td = NULL;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00968}00968                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00969}00969                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00970}00970                 \textcolor{comment}{/* Check for short transfer */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00971}00971                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}} > 0) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00972}00972                         \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a1023a81a83c7acfbe3134100363e7fde}{short\_frames\_ok}} ||}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00973}00973                             xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a5367e64daae30f55ec887872d577fa80}{isochronous\_xfr}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00974}00974                                 \textcolor{comment}{/* follow alt next */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00975}00975                                 \textcolor{keywordflow}{if} (td-\/>\mbox{\hyperlink{structavr32dci__td_aa53a9c12dcd02db7484d677067082b1d}{alt\_next}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00976}00976                                         td = td-\/>\mbox{\hyperlink{structavr32dci__td_a02f4fda3d76afe47d566a3a34929fa28}{obj\_next}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00977}00977                                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00978}00978                                         td = NULL;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00979}00979                                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00980}00980                         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00981}00981                                 \textcolor{comment}{/* the transfer is finished */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00982}00982                                 td = NULL;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00983}00983                         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00984}00984                         \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00985}00985                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00986}00986                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00987}00987                 td = td-\/>\mbox{\hyperlink{structavr32dci__td_a02f4fda3d76afe47d566a3a34929fa28}{obj\_next}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00988}00988 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00989}00989                 \textcolor{comment}{/* this USB frame is complete */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00990}00990                 \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00991}00991                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00992}00992 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00993}00993         \} \textcolor{keywordflow}{while} (0);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00994}00994 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00995}00995         \textcolor{comment}{/* update transfer cache */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00996}00996 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00997}00997         xfer-\/>\mbox{\hyperlink{structusb__xfer_ab03dbdacd225824d88b55ea51d0434e1}{td\_transfer\_cache}} = td;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00998}00998 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l00999}00999         \textcolor{keywordflow}{return} (\mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}} ?}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01000}01000             \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945a83258c6183686c303988db96e7f5713a}{USB\_ERR\_STALLED}} : \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945a01e440e0629669433dd14bc477757c74}{USB\_ERR\_NORMAL\_COMPLETION}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01001}01001 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01002}01002 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01003}01003 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01004}\mbox{\hyperlink{avr32dci_8c_a369940367809107a2f60005b806b142b}{01004}} \mbox{\hyperlink{avr32dci_8c_a369940367809107a2f60005b806b142b}{avr32dci\_standard\_done}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01005}01005 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01006}01006         \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\_error\_t}} err = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01007}01007 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01008}01008         DPRINTFN(13, \textcolor{stringliteral}{"{}xfer=\%p pipe=\%p transfer done\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01009}01009             xfer, xfer-\/>\mbox{\hyperlink{structusb__xfer_a8de3fd948d496c7901b307b13a1c6e99}{endpoint}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01010}01010 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01011}01011         \textcolor{comment}{/* reset scanner */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01012}01012 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01013}01013         xfer-\/>\mbox{\hyperlink{structusb__xfer_ab03dbdacd225824d88b55ea51d0434e1}{td\_transfer\_cache}} = xfer-\/>\mbox{\hyperlink{structusb__xfer_ae7adef379254c2ca0c87f265c59f5f5c}{td\_transfer\_first}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01014}01014 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01015}01015         \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a777cf7dd18178f84b0d6e0a086f72a7a}{control\_xfr}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01016}01016                 \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a0add2c86d09b768df5f354746b8fe16f}{control\_hdr}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01017}01017                         err = \mbox{\hyperlink{avr32dci_8c_ac226203c41dae21100136c3c49589ae8}{avr32dci\_standard\_done\_sub}}(xfer);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01018}01018                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01019}01019                 xfer-\/>\mbox{\hyperlink{structusb__xfer_a7f58fffa56cac11410055f785c4c5ffa}{aframes}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01020}01020 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01021}01021                 \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_ab03dbdacd225824d88b55ea51d0434e1}{td\_transfer\_cache}} == NULL) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01022}01022                         \textcolor{keywordflow}{goto} done;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01023}01023                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01024}01024         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01025}01025         \textcolor{keywordflow}{while} (xfer-\/>\mbox{\hyperlink{structusb__xfer_a7f58fffa56cac11410055f785c4c5ffa}{aframes}} != xfer-\/>\mbox{\hyperlink{structusb__xfer_a0d60b7394e3ea099dc1c466efe87c6e2}{nframes}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01026}01026                 err = \mbox{\hyperlink{avr32dci_8c_ac226203c41dae21100136c3c49589ae8}{avr32dci\_standard\_done\_sub}}(xfer);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01027}01027                 xfer-\/>\mbox{\hyperlink{structusb__xfer_a7f58fffa56cac11410055f785c4c5ffa}{aframes}}++;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01028}01028 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01029}01029                 \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_ab03dbdacd225824d88b55ea51d0434e1}{td\_transfer\_cache}} == NULL) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01030}01030                         \textcolor{keywordflow}{goto} done;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01031}01031                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01032}01032         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01033}01033 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01034}01034         \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a777cf7dd18178f84b0d6e0a086f72a7a}{control\_xfr}} \&\&}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01035}01035             !xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a100da5a86a7ab85605683dc51d48ef86}{control\_act}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01036}01036                 err = \mbox{\hyperlink{avr32dci_8c_ac226203c41dae21100136c3c49589ae8}{avr32dci\_standard\_done\_sub}}(xfer);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01037}01037         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01038}01038 done:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01039}01039         \mbox{\hyperlink{avr32dci_8c_a6d61b8d92143e413dfd6a47be849576f}{avr32dci\_device\_done}}(xfer, err);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01040}01040 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01041}01041 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01042}01042 \textcolor{comment}{/*-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01043}01043 \textcolor{comment}{ *      avr32dci\_device\_done}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01044}01044 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01045}01045 \textcolor{comment}{ * NOTE: this function can be called more than one time on the}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01046}01046 \textcolor{comment}{ * same USB transfer!}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01047}01047 \textcolor{comment}{ *-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*/}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01048}01048 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01049}\mbox{\hyperlink{avr32dci_8c_a6d61b8d92143e413dfd6a47be849576f}{01049}} \mbox{\hyperlink{avr32dci_8c_a6d61b8d92143e413dfd6a47be849576f}{avr32dci\_device\_done}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer, \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\_error\_t}} \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}})}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01050}01050 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01051}01051         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc = \mbox{\hyperlink{avr32dci_8c_ae0797ce8067e0b7c8f7038caecbb79fd}{AVR32\_BUS2SC}}(xfer-\/>\mbox{\hyperlink{structusb__xfer_ad188b4cd79900e1cd04aba6c140e9ab3}{xroot}}-\/>\mbox{\hyperlink{structusb__xfer__root_a870218d57253f00f1e9baa19401c9b0c}{bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01052}01052         uint8\_t ep\_no;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01053}01053 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01054}01054         \mbox{\hyperlink{usb__core_8h_adf78e1178dd30ec4a8a53087fe6c7e02}{USB\_BUS\_LOCK\_ASSERT}}(\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}}, MA\_OWNED);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01055}01055 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01056}01056         DPRINTFN(9, \textcolor{stringliteral}{"{}xfer=\%p, pipe=\%p, error=\%d\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01057}01057             xfer, xfer-\/>\mbox{\hyperlink{structusb__xfer_a8de3fd948d496c7901b307b13a1c6e99}{endpoint}}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01058}01058 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01059}01059         \textcolor{keywordflow}{if} (xfer-\/>\mbox{\hyperlink{structusb__xfer_a8fb7b6b5dbf36063d9b7e5d54d9e15ae}{flags\_int}}.\mbox{\hyperlink{structusb__xfer__flags__int_a0ea2ef8ef9f5c2c6676e7f609c2a4ada}{usb\_mode}} == \mbox{\hyperlink{usb_8h_a9bc559812598988121896dceb483806bada6c05f1ad342e782a92990170fca2cc}{USB\_MODE\_DEVICE}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01060}01060                 ep\_no = (xfer-\/>\mbox{\hyperlink{structusb__xfer_afe9addf10f35e5301cce41ebf42b5db2}{endpointno}} \& \mbox{\hyperlink{usb_8h_a227db1f194f105a22faae81401d3e18e}{UE\_ADDR}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01061}01061 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01062}01062                 \textcolor{comment}{/* disable endpoint interrupt */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01063}01063                 \mbox{\hyperlink{avr32dci_8c_a950699c98bb9a441f04087106d5e91a5}{avr32dci\_mod\_ien}}(sc, 0, \mbox{\hyperlink{avr32dci_8h_a7acbad700b8916af9c1c2b5efe447b8f}{AVR32\_INT\_EPT\_INT}}(ep\_no));}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01064}01064 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01065}01065                 DPRINTFN(15, \textcolor{stringliteral}{"{}disabled interrupts!\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01066}01066         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01067}01067         \textcolor{comment}{/* dequeue transfer and start next transfer */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01068}01068         \mbox{\hyperlink{usb__transfer_8c_a3141421f88316987bbc9b10e36715faf}{usbd\_transfer\_done}}(xfer, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01069}01069 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01070}01070 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01071}01071 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01072}\mbox{\hyperlink{avr32dci_8c_a248735ef53d9a0b9c6402a57781e2847}{01072}} \mbox{\hyperlink{avr32dci_8c_a248735ef53d9a0b9c6402a57781e2847}{avr32dci\_xfer\_stall}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01073}01073 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01074}01074         \mbox{\hyperlink{avr32dci_8c_a6d61b8d92143e413dfd6a47be849576f}{avr32dci\_device\_done}}(xfer, \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945a83258c6183686c303988db96e7f5713a}{USB\_ERR\_STALLED}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01075}01075 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01076}01076 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01077}01077 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01078}\mbox{\hyperlink{avr32dci_8c_ae2bea8138b2372d278c187e4fa84d609}{01078}} \mbox{\hyperlink{avr32dci_8c_ae2bea8138b2372d278c187e4fa84d609}{avr32dci\_set\_stall}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__device}{usb\_device}} *udev,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01079}01079     \textcolor{keyword}{struct} \mbox{\hyperlink{structusb__endpoint}{usb\_endpoint}} *pipe, uint8\_t *did\_stall)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01080}01080 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01081}01081         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01082}01082         uint8\_t ep\_no;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01083}01083 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01084}01084         \mbox{\hyperlink{usb__core_8h_adf78e1178dd30ec4a8a53087fe6c7e02}{USB\_BUS\_LOCK\_ASSERT}}(udev-\/>\mbox{\hyperlink{structusb__device_a532e474ebc2a6bfa9512e6fa1aaedf3c}{bus}}, MA\_OWNED);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01085}01085 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01086}01086         DPRINTFN(5, \textcolor{stringliteral}{"{}pipe=\%p\(\backslash\)n"{}}, pipe);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01087}01087 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01088}01088         sc = \mbox{\hyperlink{avr32dci_8c_ae0797ce8067e0b7c8f7038caecbb79fd}{AVR32\_BUS2SC}}(udev-\/>\mbox{\hyperlink{structusb__device_a532e474ebc2a6bfa9512e6fa1aaedf3c}{bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01089}01089         \textcolor{comment}{/* get endpoint number */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01090}01090         ep\_no = (pipe-\/>\mbox{\hyperlink{structusb__endpoint_af3b96b9fe1e612b303833c2e2d0365e1}{edesc}}-\/>\mbox{\hyperlink{structusb__endpoint__descriptor_a3d0a0ab41c53023055a242d66a437a2d}{bEndpointAddress}} \& \mbox{\hyperlink{usb_8h_a227db1f194f105a22faae81401d3e18e}{UE\_ADDR}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01091}01091         \textcolor{comment}{/* set stall */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01092}01092         \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a2dffcc9dbb45e3970a86844726e0bb62}{AVR32\_EPTSETSTA}}(ep\_no), \mbox{\hyperlink{avr32dci_8h_a6475977663732075239897aeb090d8b1}{AVR32\_EPTSTA\_FRCESTALL}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01093}01093 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01094}01094 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01095}01095 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01096}\mbox{\hyperlink{avr32dci_8c_a5df53985e2adae064cccbd266b5e94e1}{01096}} \mbox{\hyperlink{avr32dci_8c_a5df53985e2adae064cccbd266b5e94e1}{avr32dci\_clear\_stall\_sub}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc, uint8\_t ep\_no,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01097}01097     uint8\_t ep\_type, uint8\_t ep\_dir)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01098}01098 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01099}01099         \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__hw__ep__profile}{usb\_hw\_ep\_profile}} *pf;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01100}01100         uint32\_t temp;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01101}01101         uint32\_t epsize;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01102}01102         uint8\_t \mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01103}01103 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01104}01104         \textcolor{keywordflow}{if} (ep\_type == \mbox{\hyperlink{usb_8h_ace49b7adb24ebcb0a0b17110c26aa63a}{UE\_CONTROL}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01105}01105                 \textcolor{comment}{/* clearing stall is not needed */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01106}01106                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01107}01107         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01108}01108         \textcolor{comment}{/* set endpoint reset */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01109}01109         \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a5b830c260e2b72a4e071497865dfd553}{AVR32\_EPTRST}}, \mbox{\hyperlink{avr32dci_8h_ab3674931c2b50b75f276a99d09acd5b7}{AVR32\_EPTRST\_MASK}}(ep\_no));}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01110}01110 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01111}01111         \textcolor{comment}{/* set stall */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01112}01112         \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a2dffcc9dbb45e3970a86844726e0bb62}{AVR32\_EPTSETSTA}}(ep\_no), \mbox{\hyperlink{avr32dci_8h_a6475977663732075239897aeb090d8b1}{AVR32\_EPTSTA\_FRCESTALL}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01113}01113 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01114}01114         \textcolor{comment}{/* reset data toggle */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01115}01115         \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_aa29b0d794a9ae5c0123a962114bb979c}{AVR32\_EPTCLRSTA}}(ep\_no), \mbox{\hyperlink{avr32dci_8h_aa11a05a753244692637588b092e530aa}{AVR32\_EPTSTA\_TOGGLESQ}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01116}01116 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01117}01117         \textcolor{comment}{/* clear stall */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01118}01118         \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_aa29b0d794a9ae5c0123a962114bb979c}{AVR32\_EPTCLRSTA}}(ep\_no), \mbox{\hyperlink{avr32dci_8h_a6475977663732075239897aeb090d8b1}{AVR32\_EPTSTA\_FRCESTALL}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01119}01119 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01120}01120         \textcolor{keywordflow}{if} (ep\_type == \mbox{\hyperlink{usb_8h_a25240fc009aa67bb7a2b635d2e9401e4}{UE\_BULK}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01121}01121                 temp = \mbox{\hyperlink{avr32dci_8h_a097e655ad405af20c623ea732f7e53f7}{AVR32\_EPTCFG\_TYPE\_BULK}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01122}01122         \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (ep\_type == \mbox{\hyperlink{usb_8h_a01e28e87ad16f6dfffefc6ccab08baed}{UE\_INTERRUPT}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01123}01123                 temp = \mbox{\hyperlink{avr32dci_8h_a404db0ffd6aa56d49bb23921580b7397}{AVR32\_EPTCFG\_TYPE\_INTR}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01124}01124         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01125}01125                 temp = \mbox{\hyperlink{avr32dci_8h_a62af4ffee91dce9798bd0a7c95b84ce7}{AVR32\_EPTCFG\_TYPE\_ISOC}} |}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01126}01126                     \mbox{\hyperlink{avr32dci_8h_af6c98673076d56f896d40f05b9a0601a}{AVR32\_EPTCFG\_NB\_TRANS}}(1);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01127}01127         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01128}01128         \textcolor{keywordflow}{if} (ep\_dir \& \mbox{\hyperlink{usb_8h_a72bb077a860132c175c166f344c75893}{UE\_DIR\_IN}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01129}01129                 temp |= \mbox{\hyperlink{avr32dci_8h_a8dc4c2199dd2143eb4276a5993439e04}{AVR32\_EPTCFG\_EPDIR\_IN}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01130}01130         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01131}01131         \mbox{\hyperlink{avr32dci_8c_af743b15ff7cb0e57939a7c870fb65242}{avr32dci\_get\_hw\_ep\_profile}}(NULL, \&pf, ep\_no);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01132}01132 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01133}01133         \textcolor{comment}{/* compute endpoint size (use maximum) */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01134}01134         epsize = pf-\/>max\_in\_frame\_size | pf-\/>max\_out\_frame\_size;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01135}01135         \mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01136}01136         \textcolor{keywordflow}{while} ((epsize /= 2))}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01137}01137                 \mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}}++;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01138}01138         temp |= \mbox{\hyperlink{avr32dci_8h_adc6502af73c25a1823eb064b4f0c0bec}{AVR32\_EPTCFG\_EPSIZE}}(\mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01139}01139 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01140}01140         \textcolor{comment}{/* use the maximum number of banks supported */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01141}01141         \textcolor{keywordflow}{if} (ep\_no < 1)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01142}01142                 temp |= \mbox{\hyperlink{avr32dci_8h_ae72490e7a131c7117846de174b631729}{AVR32\_EPTCFG\_NBANK}}(1);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01143}01143         \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (ep\_no < 3)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01144}01144                 temp |= \mbox{\hyperlink{avr32dci_8h_ae72490e7a131c7117846de174b631729}{AVR32\_EPTCFG\_NBANK}}(2);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01145}01145         \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01146}01146                 temp |= \mbox{\hyperlink{avr32dci_8h_ae72490e7a131c7117846de174b631729}{AVR32\_EPTCFG\_NBANK}}(3);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01147}01147 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01148}01148         \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a8acd1ecac61f1de09d2302ec1bbf08c8}{AVR32\_EPTCFG}}(ep\_no), temp);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01149}01149 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01150}01150         temp = \mbox{\hyperlink{avr32dci_8h_ae5300cff59617271021d2544ed4991ac}{AVR32\_READ\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a8acd1ecac61f1de09d2302ec1bbf08c8}{AVR32\_EPTCFG}}(ep\_no));}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01151}01151 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01152}01152         \textcolor{keywordflow}{if} (!(temp \& \mbox{\hyperlink{avr32dci_8h_ae57be225034b5c8bed3c5c021f6e1bfe}{AVR32\_EPTCFG\_EPT\_MAPD}})) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01153}01153                 device\_printf(sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}}.\mbox{\hyperlink{structusb__bus_a50629655e638e1f775df1ed160d3c533}{bdev}}, \textcolor{stringliteral}{"{}Chip rejected configuration\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01154}01154         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01155}01155                 \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a1af63fec1e43ffd80a61a1cb6683319d}{AVR32\_EPTCTLENB}}(ep\_no),}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01156}01156                     \mbox{\hyperlink{avr32dci_8h_ab0f9e8f116026011177604432df5b5c7}{AVR32\_EPTCTL\_EPT\_ENABL}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01157}01157         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01158}01158 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01159}01159 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01160}01160 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01161}\mbox{\hyperlink{avr32dci_8c_a69f14f35f68e56d0860fc471c0a052ac}{01161}} \mbox{\hyperlink{avr32dci_8c_a69f14f35f68e56d0860fc471c0a052ac}{avr32dci\_clear\_stall}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__device}{usb\_device}} *udev, \textcolor{keyword}{struct} \mbox{\hyperlink{structusb__endpoint}{usb\_endpoint}} *pipe)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01162}01162 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01163}01163         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01164}01164         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__endpoint__descriptor}{usb\_endpoint\_descriptor}} *ed;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01165}01165 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01166}01166         DPRINTFN(5, \textcolor{stringliteral}{"{}pipe=\%p\(\backslash\)n"{}}, pipe);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01167}01167 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01168}01168         \mbox{\hyperlink{usb__core_8h_adf78e1178dd30ec4a8a53087fe6c7e02}{USB\_BUS\_LOCK\_ASSERT}}(udev-\/>\mbox{\hyperlink{structusb__device_a532e474ebc2a6bfa9512e6fa1aaedf3c}{bus}}, MA\_OWNED);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01169}01169 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01170}01170         \textcolor{comment}{/* check mode */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01171}01171         \textcolor{keywordflow}{if} (udev-\/>\mbox{\hyperlink{structusb__device_ae7b27fdcae02d49bee5c2f0a9130b633}{flags}}.\mbox{\hyperlink{structusb__device__flags_ad686103f845c7d070e25fa7a26c34694}{usb\_mode}} != \mbox{\hyperlink{usb_8h_a9bc559812598988121896dceb483806bada6c05f1ad342e782a92990170fca2cc}{USB\_MODE\_DEVICE}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01172}01172                 \textcolor{comment}{/* not supported */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01173}01173                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01174}01174         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01175}01175         \textcolor{comment}{/* get softc */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01176}01176         sc = \mbox{\hyperlink{avr32dci_8c_ae0797ce8067e0b7c8f7038caecbb79fd}{AVR32\_BUS2SC}}(udev-\/>\mbox{\hyperlink{structusb__device_a532e474ebc2a6bfa9512e6fa1aaedf3c}{bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01177}01177 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01178}01178         \textcolor{comment}{/* get endpoint descriptor */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01179}01179         ed = pipe-\/>\mbox{\hyperlink{structusb__endpoint_af3b96b9fe1e612b303833c2e2d0365e1}{edesc}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01180}01180 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01181}01181         \textcolor{comment}{/* reset endpoint */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01182}01182         \mbox{\hyperlink{avr32dci_8c_a5df53985e2adae064cccbd266b5e94e1}{avr32dci\_clear\_stall\_sub}}(sc,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01183}01183             (ed-\/>\mbox{\hyperlink{structusb__endpoint__descriptor_a3d0a0ab41c53023055a242d66a437a2d}{bEndpointAddress}} \& \mbox{\hyperlink{usb_8h_a227db1f194f105a22faae81401d3e18e}{UE\_ADDR}}),}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01184}01184             (ed-\/>\mbox{\hyperlink{structusb__endpoint__descriptor_aff28dcc97802a405b31baccd33c2bf8f}{bmAttributes}} \& \mbox{\hyperlink{usb_8h_a8badd3504359a0aed83ac575a46a67b4}{UE\_XFERTYPE}}),}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01185}01185             (ed-\/>\mbox{\hyperlink{structusb__endpoint__descriptor_a3d0a0ab41c53023055a242d66a437a2d}{bEndpointAddress}} \& (\mbox{\hyperlink{usb_8h_a72bb077a860132c175c166f344c75893}{UE\_DIR\_IN}} | \mbox{\hyperlink{usb_8h_a9a98e1bc9388db2ab5213e9d6496e851}{UE\_DIR\_OUT}})));}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01186}01186 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01187}01187 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01188}01188 \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\_error\_t}}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01189}\mbox{\hyperlink{avr32dci_8c_ad41f77a9f9fa9d7116fd8ad04f703f26}{01189}} \mbox{\hyperlink{avr32dci_8c_ad41f77a9f9fa9d7116fd8ad04f703f26}{avr32dci\_init}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01190}01190 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01191}01191         uint8\_t \mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01192}01192 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01193}01193         \mbox{\hyperlink{umass_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}start\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01194}01194 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01195}01195         \textcolor{comment}{/* set up the bus structure */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01196}01196         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}}.\mbox{\hyperlink{structusb__bus_a333d9234cb56ddeb93ac0625c3d48252}{usbrev}} = \mbox{\hyperlink{usb_8h_ad11f3f35a7768f59a4f69ad460a7661fae19468be699e848d31901be7456388e0}{USB\_REV\_1\_1}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01197}01197         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}}.\mbox{\hyperlink{structusb__bus_a81450db76aab5d75bdc5a8a67b2d0939}{methods}} = \&\mbox{\hyperlink{avr32dci_8c_a849c795aa83cb5c0a57f08bfeb3eeff6}{avr32dci\_bus\_methods}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01198}01198 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01199}01199         \mbox{\hyperlink{usb__core_8h_a21dab1de8f52baf9fbf7617c6b1ec033}{USB\_BUS\_LOCK}}(\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01200}01200 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01201}01201         \textcolor{comment}{/* make sure USB is enabled */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01202}01202         \mbox{\hyperlink{avr32dci_8c_adcd2cfc6e968642e46b2fb36d9a507df}{avr32dci\_mod\_ctrl}}(sc, \mbox{\hyperlink{avr32dci_8h_a9e6602ea8847d959f29ecbad4e2bb176}{AVR32\_CTRL\_DEV\_EN\_USBA}}, 0);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01203}01203 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01204}01204         \textcolor{comment}{/* turn on clocks */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01205}01205         (sc-\/>\mbox{\hyperlink{structavr32dci__softc_a1386fc9a468b079628463abd60d2c622}{sc\_clocks\_on}}) (\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01206}01206 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01207}01207         \textcolor{comment}{/* make sure device is re-\/enumerated */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01208}01208         \mbox{\hyperlink{avr32dci_8c_adcd2cfc6e968642e46b2fb36d9a507df}{avr32dci\_mod\_ctrl}}(sc, \mbox{\hyperlink{avr32dci_8h_afe182c614600be4afe9180473954bc13}{AVR32\_CTRL\_DEV\_DETACH}}, 0);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01209}01209 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01210}01210         \textcolor{comment}{/* wait a little for things to stabilise */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01211}01211         \mbox{\hyperlink{usb__util_8c_a7ad9fc3660f5ecf96d72e499cdfeb963}{usb\_pause\_mtx}}(\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}}.\mbox{\hyperlink{structusb__bus_a7355d01a9b05ad01972eccabe5747edf}{bus\_mtx}}, hz / 20);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01212}01212 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01213}01213         \textcolor{comment}{/* disable interrupts */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01214}01214         \mbox{\hyperlink{avr32dci_8c_a950699c98bb9a441f04087106d5e91a5}{avr32dci\_mod\_ien}}(sc, 0, 0xFFFFFFFF);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01215}01215 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01216}01216         \textcolor{comment}{/* enable interrupts */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01217}01217         \mbox{\hyperlink{avr32dci_8c_a950699c98bb9a441f04087106d5e91a5}{avr32dci\_mod\_ien}}(sc, \mbox{\hyperlink{avr32dci_8h_aba9bb62fc0a0ec0c7d27b723854f239e}{AVR32\_INT\_DET\_SUSPD}} |}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01218}01218             \mbox{\hyperlink{avr32dci_8h_a0052215d5051e895adcb34be7bfe8c19}{AVR32\_INT\_ENDRESET}}, 0);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01219}01219 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01220}01220         \textcolor{comment}{/* reset all endpoints */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01221}01221         \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a5b830c260e2b72a4e071497865dfd553}{AVR32\_EPTRST}}, (1 << \mbox{\hyperlink{avr32dci_8h_a8860c708d765d35102925391aee09bb3}{AVR32\_EP\_MAX}}) -\/ 1);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01222}01222 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01223}01223         \textcolor{comment}{/* disable all endpoints */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01224}01224         \textcolor{keywordflow}{for} (\mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}} = 0; \mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}} != \mbox{\hyperlink{avr32dci_8h_a8860c708d765d35102925391aee09bb3}{AVR32\_EP\_MAX}}; \mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}}++) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01225}01225                 \textcolor{comment}{/* disable endpoint */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01226}01226                 \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_af5a0bd6ba4603ee78b67ce041cfab0a9}{AVR32\_EPTCTLDIS}}(\mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}}), \mbox{\hyperlink{avr32dci_8h_ab0f9e8f116026011177604432df5b5c7}{AVR32\_EPTCTL\_EPT\_ENABL}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01227}01227         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01228}01228 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01229}01229         \textcolor{comment}{/* turn off clocks */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01230}01230 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01231}01231         \mbox{\hyperlink{avr32dci_8c_a3841547380ffe937e0569f99c3e25156}{avr32dci\_clocks\_off}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01232}01232 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01233}01233         \mbox{\hyperlink{usb__core_8h_aadb0c32f6333b8a0715929ace5f550b2}{USB\_BUS\_UNLOCK}}(\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01234}01234 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01235}01235         \textcolor{comment}{/* catch any lost interrupts */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01236}01236 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01237}01237         \mbox{\hyperlink{avr32dci_8c_a831b706e75ca2736e55a7fbeb1a4d39a}{avr32dci\_do\_poll}}(\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01238}01238 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01239}01239         \textcolor{keywordflow}{return} (0);                     \textcolor{comment}{/* success */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01240}01240 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01241}01241 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01242}01242 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01243}\mbox{\hyperlink{avr32dci_8c_a601f7d338910b27159ffcb4e9ba242a5}{01243}} \mbox{\hyperlink{avr32dci_8c_a601f7d338910b27159ffcb4e9ba242a5}{avr32dci\_uninit}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01244}01244 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01245}01245         uint8\_t \mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01246}01246 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01247}01247         \mbox{\hyperlink{usb__core_8h_a21dab1de8f52baf9fbf7617c6b1ec033}{USB\_BUS\_LOCK}}(\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01248}01248 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01249}01249         \textcolor{comment}{/* turn on clocks */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01250}01250         (sc-\/>\mbox{\hyperlink{structavr32dci__softc_a1386fc9a468b079628463abd60d2c622}{sc\_clocks\_on}}) (\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01251}01251 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01252}01252         \textcolor{comment}{/* disable interrupts */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01253}01253         \mbox{\hyperlink{avr32dci_8c_a950699c98bb9a441f04087106d5e91a5}{avr32dci\_mod\_ien}}(sc, 0, 0xFFFFFFFF);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01254}01254 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01255}01255         \textcolor{comment}{/* reset all endpoints */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01256}01256         \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a5b830c260e2b72a4e071497865dfd553}{AVR32\_EPTRST}}, (1 << \mbox{\hyperlink{avr32dci_8h_a8860c708d765d35102925391aee09bb3}{AVR32\_EP\_MAX}}) -\/ 1);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01257}01257 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01258}01258         \textcolor{comment}{/* disable all endpoints */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01259}01259         \textcolor{keywordflow}{for} (\mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}} = 0; \mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}} != \mbox{\hyperlink{avr32dci_8h_a8860c708d765d35102925391aee09bb3}{AVR32\_EP\_MAX}}; \mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}}++) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01260}01260                 \textcolor{comment}{/* disable endpoint */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01261}01261                 \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_af5a0bd6ba4603ee78b67ce041cfab0a9}{AVR32\_EPTCTLDIS}}(\mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}}), \mbox{\hyperlink{avr32dci_8h_ab0f9e8f116026011177604432df5b5c7}{AVR32\_EPTCTL\_EPT\_ENABL}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01262}01262         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01263}01263 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01264}01264         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a2ca3aa7230b1b4cfb570d00ed6f8d3b6}{port\_powered}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01265}01265         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a5f0ed4102cf20227bea9fc887f8c8de0}{status\_vbus}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01266}01266         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_ad348ad1b102714470fde74ff204ec816}{status\_bus\_reset}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01267}01267         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_ae08f1d46fb619f0856fca6979022e3df}{status\_suspend}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01268}01268         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_aeead94394654ba73a2c97a293eb063a4}{change\_suspend}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01269}01269         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a0746f7d087baa3d472c88146053fb651}{change\_connect}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01270}01270 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01271}01271         \mbox{\hyperlink{avr32dci_8c_a2b0f1b68742e2ba132f05aa79d4f441f}{avr32dci\_pull\_down}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01272}01272         \mbox{\hyperlink{avr32dci_8c_a3841547380ffe937e0569f99c3e25156}{avr32dci\_clocks\_off}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01273}01273 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01274}01274         \mbox{\hyperlink{usb__core_8h_aadb0c32f6333b8a0715929ace5f550b2}{USB\_BUS\_UNLOCK}}(\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01275}01275 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01276}01276 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01277}01277 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01278}\mbox{\hyperlink{avr32dci_8c_ada5b8ae12938988bff9c8bb3301fdbf1}{01278}} \mbox{\hyperlink{avr32dci_8c_ada5b8ae12938988bff9c8bb3301fdbf1}{avr32dci\_suspend}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01279}01279 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01280}01280         \textcolor{comment}{/* TODO */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01281}01281 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01282}01282 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01283}01283 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01284}\mbox{\hyperlink{avr32dci_8c_aa4b084a587d47e5344fa091fb1b3d7c2}{01284}} \mbox{\hyperlink{avr32dci_8c_aa4b084a587d47e5344fa091fb1b3d7c2}{avr32dci\_resume}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01285}01285 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01286}01286         \textcolor{comment}{/* TODO */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01287}01287 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01288}01288 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01289}01289 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01290}\mbox{\hyperlink{avr32dci_8c_a831b706e75ca2736e55a7fbeb1a4d39a}{01290}} \mbox{\hyperlink{avr32dci_8c_a831b706e75ca2736e55a7fbeb1a4d39a}{avr32dci\_do\_poll}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__bus}{usb\_bus}} *bus)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01291}01291 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01292}01292         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc = \mbox{\hyperlink{avr32dci_8c_ae0797ce8067e0b7c8f7038caecbb79fd}{AVR32\_BUS2SC}}(bus);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01293}01293 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01294}01294         \mbox{\hyperlink{usb__core_8h_a21dab1de8f52baf9fbf7617c6b1ec033}{USB\_BUS\_LOCK}}(\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01295}01295         \mbox{\hyperlink{avr32dci_8c_a806ec76851a92c83e3d1d9898a305ae9}{avr32dci\_interrupt\_poll}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01296}01296         \mbox{\hyperlink{usb__core_8h_aadb0c32f6333b8a0715929ace5f550b2}{USB\_BUS\_UNLOCK}}(\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01297}01297 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01298}01298 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01299}01299 \textcolor{comment}{/*-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01300}01300 \textcolor{comment}{ * avr32dci bulk support}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01301}01301 \textcolor{comment}{ * avr32dci control support}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01302}01302 \textcolor{comment}{ * avr32dci interrupt support}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01303}01303 \textcolor{comment}{ *-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*/}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01304}01304 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01305}\mbox{\hyperlink{avr32dci_8c_ad632129a19c84b77f1c0ddc6cb624493}{01305}} \mbox{\hyperlink{avr32dci_8c_ad632129a19c84b77f1c0ddc6cb624493}{avr32dci\_device\_non\_isoc\_open}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01306}01306 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01307}01307         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01308}01308 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01309}01309 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01310}01310 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01311}\mbox{\hyperlink{avr32dci_8c_a8ee8e8027e5b0ca38726ebc65a6fbae8}{01311}} \mbox{\hyperlink{avr32dci_8c_a8ee8e8027e5b0ca38726ebc65a6fbae8}{avr32dci\_device\_non\_isoc\_close}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01312}01312 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01313}01313         \mbox{\hyperlink{avr32dci_8c_a6d61b8d92143e413dfd6a47be849576f}{avr32dci\_device\_done}}(xfer, \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945abe72c3e4b6644141519a28f1ef97f717}{USB\_ERR\_CANCELLED}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01314}01314 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01315}01315 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01316}01316 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01317}\mbox{\hyperlink{avr32dci_8c_a490cca16b2d9d7852adb4c91561ed704}{01317}} \mbox{\hyperlink{avr32dci_8c_a490cca16b2d9d7852adb4c91561ed704}{avr32dci\_device\_non\_isoc\_enter}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01318}01318 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01319}01319         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01320}01320 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01321}01321 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01322}01322 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01323}\mbox{\hyperlink{avr32dci_8c_a4e85045d605926956d211ff420a34549}{01323}} \mbox{\hyperlink{avr32dci_8c_a4e85045d605926956d211ff420a34549}{avr32dci\_device\_non\_isoc\_start}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01324}01324 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01325}01325         \textcolor{comment}{/* setup TDs */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01326}01326         \mbox{\hyperlink{avr32dci_8c_a3213d9b0d90cb4c19a06d07e7a516a39}{avr32dci\_setup\_standard\_chain}}(xfer);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01327}01327         \mbox{\hyperlink{avr32dci_8c_a5cc27645cf9004d2df8a48140cb93d30}{avr32dci\_start\_standard\_chain}}(xfer);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01328}01328 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01329}01329 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01330}01330 \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__pipe__methods}{usb\_pipe\_methods}} \mbox{\hyperlink{avr32dci_8c_a7a1da856a6f7ec9b5fcde84dc40a6d7f}{avr32dci\_device\_non\_isoc\_methods}} =}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01331}01331 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01332}01332         .\mbox{\hyperlink{structusb__pipe__methods_a9745134b3e58cdaff56836b57ac15d52}{open}} = \mbox{\hyperlink{avr32dci_8c_ad632129a19c84b77f1c0ddc6cb624493}{avr32dci\_device\_non\_isoc\_open}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01333}01333         .close = \mbox{\hyperlink{avr32dci_8c_a8ee8e8027e5b0ca38726ebc65a6fbae8}{avr32dci\_device\_non\_isoc\_close}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01334}01334         .enter = \mbox{\hyperlink{avr32dci_8c_a490cca16b2d9d7852adb4c91561ed704}{avr32dci\_device\_non\_isoc\_enter}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01335}01335         .start = \mbox{\hyperlink{avr32dci_8c_a4e85045d605926956d211ff420a34549}{avr32dci\_device\_non\_isoc\_start}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01336}01336 \};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01337}01337 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01338}01338 \textcolor{comment}{/*-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01339}01339 \textcolor{comment}{ * avr32dci full speed isochronous support}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01340}01340 \textcolor{comment}{ *-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*/}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01341}01341 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01342}\mbox{\hyperlink{avr32dci_8c_a48108b72d9fad40bd01a55de5073abd8}{01342}} \mbox{\hyperlink{avr32dci_8c_a48108b72d9fad40bd01a55de5073abd8}{avr32dci\_device\_isoc\_fs\_open}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01343}01343 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01344}01344         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01345}01345 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01346}01346 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01347}01347 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01348}\mbox{\hyperlink{avr32dci_8c_a93291363ea91bf482778e2e544257bb1}{01348}} \mbox{\hyperlink{avr32dci_8c_a93291363ea91bf482778e2e544257bb1}{avr32dci\_device\_isoc\_fs\_close}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01349}01349 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01350}01350         \mbox{\hyperlink{avr32dci_8c_a6d61b8d92143e413dfd6a47be849576f}{avr32dci\_device\_done}}(xfer, \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945abe72c3e4b6644141519a28f1ef97f717}{USB\_ERR\_CANCELLED}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01351}01351 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01352}01352 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01353}01353 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01354}\mbox{\hyperlink{avr32dci_8c_a158950103b2f2fbc7fe825a3f9676d74}{01354}} \mbox{\hyperlink{avr32dci_8c_a158950103b2f2fbc7fe825a3f9676d74}{avr32dci\_device\_isoc\_fs\_enter}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01355}01355 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01356}01356         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc = \mbox{\hyperlink{avr32dci_8c_ae0797ce8067e0b7c8f7038caecbb79fd}{AVR32\_BUS2SC}}(xfer-\/>\mbox{\hyperlink{structusb__xfer_ad188b4cd79900e1cd04aba6c140e9ab3}{xroot}}-\/>\mbox{\hyperlink{structusb__xfer__root_a870218d57253f00f1e9baa19401c9b0c}{bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01357}01357         uint32\_t nframes;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01358}01358         uint8\_t ep\_no;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01359}01359 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01360}01360         DPRINTFN(6, \textcolor{stringliteral}{"{}xfer=\%p next=\%d nframes=\%d\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01361}01361             xfer, xfer-\/>\mbox{\hyperlink{structusb__xfer_a8de3fd948d496c7901b307b13a1c6e99}{endpoint}}-\/>\mbox{\hyperlink{structusb__endpoint_a6a4a923c46e82cd1298d7832e169d7d1}{isoc\_next}}, xfer-\/>\mbox{\hyperlink{structusb__xfer_a0d60b7394e3ea099dc1c466efe87c6e2}{nframes}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01362}01362 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01363}01363         \textcolor{comment}{/* get the current frame index */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01364}01364         ep\_no = xfer-\/>\mbox{\hyperlink{structusb__xfer_afe9addf10f35e5301cce41ebf42b5db2}{endpointno}} \& \mbox{\hyperlink{usb_8h_a227db1f194f105a22faae81401d3e18e}{UE\_ADDR}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01365}01365         nframes = (\mbox{\hyperlink{avr32dci_8h_ae5300cff59617271021d2544ed4991ac}{AVR32\_READ\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a6885c03925eaede35d2c40410d04ba64}{AVR32\_FNUM}}) / 8);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01366}01366 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01367}01367         \textcolor{keywordflow}{if} (\mbox{\hyperlink{usb__transfer_8c_ac7c1dd004c5c80fdda721a68ad16504d}{usbd\_xfer\_get\_isochronous\_start\_frame}}(}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01368}01368             xfer, nframes, 0, 1, \mbox{\hyperlink{avr32dci_8h_a1d11bc48fc15848d606957aea11a5ddd}{AVR32\_FRAME\_MASK}}, NULL))}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01369}01369                 DPRINTFN(3, \textcolor{stringliteral}{"{}start next=\%d\(\backslash\)n"{}}, xfer-\/>\mbox{\hyperlink{structusb__xfer_a8de3fd948d496c7901b307b13a1c6e99}{endpoint}}-\/>\mbox{\hyperlink{structusb__endpoint_a6a4a923c46e82cd1298d7832e169d7d1}{isoc\_next}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01370}01370 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01371}01371         \textcolor{comment}{/* setup TDs */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01372}01372         \mbox{\hyperlink{avr32dci_8c_a3213d9b0d90cb4c19a06d07e7a516a39}{avr32dci\_setup\_standard\_chain}}(xfer);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01373}01373 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01374}01374 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01375}01375 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01376}\mbox{\hyperlink{avr32dci_8c_a3f519fa849357c9f93fd20f4e0028cbd}{01376}} \mbox{\hyperlink{avr32dci_8c_a3f519fa849357c9f93fd20f4e0028cbd}{avr32dci\_device\_isoc\_fs\_start}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01377}01377 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01378}01378         \textcolor{comment}{/* start TD chain */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01379}01379         \mbox{\hyperlink{avr32dci_8c_a5cc27645cf9004d2df8a48140cb93d30}{avr32dci\_start\_standard\_chain}}(xfer);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01380}01380 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01381}01381 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01382}01382 \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__pipe__methods}{usb\_pipe\_methods}} \mbox{\hyperlink{avr32dci_8c_aba234abcfcddfb69287af3d0de776291}{avr32dci\_device\_isoc\_fs\_methods}} =}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01383}01383 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01384}01384         .\mbox{\hyperlink{structusb__pipe__methods_a9745134b3e58cdaff56836b57ac15d52}{open}} = \mbox{\hyperlink{avr32dci_8c_a48108b72d9fad40bd01a55de5073abd8}{avr32dci\_device\_isoc\_fs\_open}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01385}01385         .close = \mbox{\hyperlink{avr32dci_8c_a93291363ea91bf482778e2e544257bb1}{avr32dci\_device\_isoc\_fs\_close}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01386}01386         .enter = \mbox{\hyperlink{avr32dci_8c_a158950103b2f2fbc7fe825a3f9676d74}{avr32dci\_device\_isoc\_fs\_enter}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01387}01387         .start = \mbox{\hyperlink{avr32dci_8c_a3f519fa849357c9f93fd20f4e0028cbd}{avr32dci\_device\_isoc\_fs\_start}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01388}01388 \};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01389}01389 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01390}01390 \textcolor{comment}{/*-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01391}01391 \textcolor{comment}{ * avr32dci root control support}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01392}01392 \textcolor{comment}{ *-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01393}01393 \textcolor{comment}{ * Simulate a hardware HUB by handling all the necessary requests.}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01394}01394 \textcolor{comment}{ *-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*/}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01395}01395 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01396}\mbox{\hyperlink{avr32dci_8c_a8798fcb32a928c890bebdf82719d0ecd}{01396}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__descriptor}{usb\_device\_descriptor}} \mbox{\hyperlink{avr32dci_8c_a8798fcb32a928c890bebdf82719d0ecd}{avr32dci\_devd}} = \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01397}01397         .\mbox{\hyperlink{structusb__device__descriptor_a5123036bdc67e99a87a1f5dbf13975be}{bLength}} = \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__descriptor}{usb\_device\_descriptor}}),}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01398}01398         .\mbox{\hyperlink{structusb__device__descriptor_a5335f6d2de0050e61da6f979d71e2f67}{bDescriptorType}} = \mbox{\hyperlink{usb_8h_a91e8696a051fcdd76cd797fa128938a2}{UDESC\_DEVICE}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01399}01399         .bcdUSB = \{0x00, 0x02\},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01400}01400         .bDeviceClass = \mbox{\hyperlink{usb_8h_a3c5e5fca25f06d3b8ddc5ec932116178}{UDCLASS\_HUB}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01401}01401         .bDeviceSubClass = \mbox{\hyperlink{usb_8h_a0ce87986a681a89bcb413e066e007785}{UDSUBCLASS\_HUB}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01402}01402         .bDeviceProtocol = \mbox{\hyperlink{usb_8h_a7d338cb7381cbf5f996588ef21739dd0}{UDPROTO\_HSHUBSTT}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01403}01403         .bMaxPacketSize = 64,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01404}01404         .bcdDevice = \{0x00, 0x01\},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01405}01405         .iManufacturer = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01406}01406         .iProduct = 2,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01407}01407         .bNumConfigurations = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01408}01408 \};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01409}01409 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01410}\mbox{\hyperlink{avr32dci_8c_a8e7fcb68c50a2b807fb9c7adf982593e}{01410}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__qualifier}{usb\_device\_qualifier}} \mbox{\hyperlink{avr32dci_8c_a8e7fcb68c50a2b807fb9c7adf982593e}{avr32dci\_odevd}} = \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01411}01411         .\mbox{\hyperlink{structusb__device__qualifier_a6766da99aaeda4873781e16e8c5d9e26}{bLength}} = \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structusb__device__qualifier}{usb\_device\_qualifier}}),}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01412}01412         .\mbox{\hyperlink{structusb__device__qualifier_ac0b448458fb3029d87593499d5cafe01}{bDescriptorType}} = \mbox{\hyperlink{usb_8h_a5ab2dc4d80db05aea0b739d0f9f66bb1}{UDESC\_DEVICE\_QUALIFIER}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01413}01413         .bcdUSB = \{0x00, 0x02\},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01414}01414         .bDeviceClass = \mbox{\hyperlink{usb_8h_a3c5e5fca25f06d3b8ddc5ec932116178}{UDCLASS\_HUB}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01415}01415         .bDeviceSubClass = \mbox{\hyperlink{usb_8h_a0ce87986a681a89bcb413e066e007785}{UDSUBCLASS\_HUB}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01416}01416         .bDeviceProtocol = \mbox{\hyperlink{usb_8h_ab80f5dc89606b21b68c1081e55c7d373}{UDPROTO\_FSHUB}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01417}01417         .bMaxPacketSize0 = 0,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01418}01418         .bNumConfigurations = 0,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01419}01419 \};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01420}01420 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01421}\mbox{\hyperlink{avr32dci_8c_ad1271716cf7fa3903ddb6036b66ae853}{01421}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__config__desc}{avr32dci\_config\_desc}} \mbox{\hyperlink{avr32dci_8c_ad1271716cf7fa3903ddb6036b66ae853}{avr32dci\_confd}} = \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01422}01422         .\mbox{\hyperlink{structavr32dci__config__desc_a415addc41495402e169945c60a6481db}{confd}} = \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01423}01423                 .\mbox{\hyperlink{structusb__config__descriptor_ab93f48211c037d6431326d0d46db44b3}{bLength}} = \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structusb__config__descriptor}{usb\_config\_descriptor}}),}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01424}01424                 .\mbox{\hyperlink{structusb__config__descriptor_a5fe7b158ddf2b2c752a0e9d5540ccb30}{bDescriptorType}} = \mbox{\hyperlink{usb_8h_a35d8259be2f4b9d3b278e889898a697a}{UDESC\_CONFIG}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01425}01425                 .wTotalLength[0] = \textcolor{keyword}{sizeof}(\mbox{\hyperlink{avr32dci_8c_ad1271716cf7fa3903ddb6036b66ae853}{avr32dci\_confd}}),}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01426}01426                 .\mbox{\hyperlink{structusb__config__descriptor_a60b87e4669815bc7e5728c897dae77fb}{bNumInterface}} = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01427}01427                 .\mbox{\hyperlink{structusb__config__descriptor_affc7816579932817c36478f630b7b7a1}{bConfigurationValue}} = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01428}01428                 .\mbox{\hyperlink{structusb__config__descriptor_af2e38326d498da74125894ea7482bed8}{iConfiguration}} = 0,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01429}01429                 .\mbox{\hyperlink{structusb__config__descriptor_a8f3926a6e43bcd315b7b2f770cdfed7e}{bmAttributes}} = \mbox{\hyperlink{usb_8h_a1a9a7ef4724e86785942f8ca612cd661}{UC\_SELF\_POWERED}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01430}01430                 .\mbox{\hyperlink{structusb__config__descriptor_aeac4fc9cf1261c3db5e17e28b48f873c}{bMaxPower}} = 0,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01431}01431         \},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01432}01432         .ifcd = \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01433}01433                 .bLength = \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structusb__interface__descriptor}{usb\_interface\_descriptor}}),}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01434}01434                 .\mbox{\hyperlink{structusb__interface__descriptor_ad4f7914ce2bc3d8830d6463a7f2989d6}{bDescriptorType}} = \mbox{\hyperlink{usb_8h_a93c15218c1fed26b097fb0b53a3ce4f7}{UDESC\_INTERFACE}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01435}01435                 .bNumEndpoints = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01436}01436                 .bInterfaceClass = \mbox{\hyperlink{usb_8h_a9087453dd0a77bb9091c9ee62a3c87cc}{UICLASS\_HUB}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01437}01437                 .bInterfaceSubClass = \mbox{\hyperlink{usb_8h_a2b2ea572877c6b2bb5d2238be6554fa0}{UISUBCLASS\_HUB}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01438}01438                 .bInterfaceProtocol = 0,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01439}01439         \},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01440}01440         .endpd = \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01441}01441                 .bLength = \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structusb__endpoint__descriptor}{usb\_endpoint\_descriptor}}),}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01442}01442                 .\mbox{\hyperlink{structusb__endpoint__descriptor_a82be4599246c494022ea964cfddfb121}{bDescriptorType}} = \mbox{\hyperlink{usb_8h_a4b8e0317b094aec02ff237d9b4f7a202}{UDESC\_ENDPOINT}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01443}01443                 .bEndpointAddress = (\mbox{\hyperlink{usb_8h_a72bb077a860132c175c166f344c75893}{UE\_DIR\_IN}} | \mbox{\hyperlink{avr32dci_8c_afb9baf8e49569fdbe7ec8e5190429a2f}{AVR32\_INTR\_ENDPT}}),}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01444}01444                 .\mbox{\hyperlink{structusb__endpoint__descriptor_aff28dcc97802a405b31baccd33c2bf8f}{bmAttributes}} = \mbox{\hyperlink{usb_8h_a01e28e87ad16f6dfffefc6ccab08baed}{UE\_INTERRUPT}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01445}01445                 .\mbox{\hyperlink{structusb__endpoint__descriptor_af5ba49fb2ee7353335dc33e38d89aed5}{wMaxPacketSize}}[0] = 8,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01446}01446                 .\mbox{\hyperlink{structusb__endpoint__descriptor_a1b46a434989cbf5dd1a7637aebca9f45}{bInterval}} = 255,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01447}01447         \},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01448}01448 \};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01449}\mbox{\hyperlink{avr32dci_8c_ac65fb39fbba36a16524a7f501cd169a3}{01449}} \textcolor{preprocessor}{\#define HSETW(ptr, val) ptr = \{ (uint8\_t)(val), (uint8\_t)((val) >> 8) \}}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01450}01450 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01451}\mbox{\hyperlink{avr32dci_8c_add3cb2fbf7681962759895a92c2425ca}{01451}} \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__hub__descriptor__min}{usb\_hub\_descriptor\_min}} \mbox{\hyperlink{avr32dci_8c_add3cb2fbf7681962759895a92c2425ca}{avr32dci\_hubd}} = \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01452}01452         .\mbox{\hyperlink{structusb__hub__descriptor__min_a5db444dc404b953cf37504781de07fb8}{bDescLength}} = \textcolor{keyword}{sizeof}(\mbox{\hyperlink{avr32dci_8c_add3cb2fbf7681962759895a92c2425ca}{avr32dci\_hubd}}),}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01453}01453         .\mbox{\hyperlink{structusb__hub__descriptor__min_aee2a1efbc9b628995a29f9f0fb4d2b42}{bDescriptorType}} = \mbox{\hyperlink{usb_8h_a61e1d91f3367e2a9928acbd3a33b1385}{UDESC\_HUB}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01454}01454         .\mbox{\hyperlink{structusb__hub__descriptor__min_a09ac3e727ad5dabdb449db4e6e44124c}{bNbrPorts}} = 1,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01455}01455         \mbox{\hyperlink{avr32dci_8c_ac65fb39fbba36a16524a7f501cd169a3}{HSETW}}(.\mbox{\hyperlink{structusb__hub__descriptor__min_a9ca8f4e23e04374a0a4a8bed2e7fd15c}{wHubCharacteristics}}, (\mbox{\hyperlink{usb_8h_ae376b1b1d3d165c2d208854983d2139d}{UHD\_PWR\_NO\_SWITCH}} | \mbox{\hyperlink{usb_8h_aac0dd7ff049f3c4d14a3da361d35ec21}{UHD\_OC\_INDIVIDUAL}})),}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01456}01456         .\mbox{\hyperlink{structusb__hub__descriptor__min_a1f75abf2b49096987dd01423a83b6be9}{bPwrOn2PwrGood}} = 50,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01457}01457         .\mbox{\hyperlink{structusb__hub__descriptor__min_a34f984192b2b98c83152607ffac1c7da}{bHubContrCurrent}} = 0,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01458}01458         .\mbox{\hyperlink{structusb__hub__descriptor__min_aad9df054d2dd5e5981552388797aaaa9}{DeviceRemovable}} = \{0\},          \textcolor{comment}{/* port is removable */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01459}01459 \};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01460}01460 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01461}\mbox{\hyperlink{avr32dci_8c_a265c7a0fcb3a015f0e30e8ff1de8b618}{01461}} \textcolor{preprocessor}{\#define STRING\_VENDOR \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01462}01462 \textcolor{preprocessor}{  "{}A\(\backslash\)0V\(\backslash\)0R\(\backslash\)0003\(\backslash\)0002"{}}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01463}01463 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01464}\mbox{\hyperlink{avr32dci_8c_ab7717822bc6abda59578615741ee2223}{01464}} \textcolor{preprocessor}{\#define STRING\_PRODUCT \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01465}01465 \textcolor{preprocessor}{  "{}D\(\backslash\)0C\(\backslash\)0I\(\backslash\)0 \(\backslash\)0R\(\backslash\)0o\(\backslash\)0o\(\backslash\)0t\(\backslash\)0 \(\backslash\)0H\(\backslash\)0U\(\backslash\)0B"{}}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01466}01466 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01467}\mbox{\hyperlink{avr32dci_8c_a6f5f251400ace8e8efe7d8f1748b0a22}{01467}} \mbox{\hyperlink{avr32dci_8c_a6f5f251400ace8e8efe7d8f1748b0a22}{USB\_MAKE\_STRING\_DESC}}(\mbox{\hyperlink{avr32dci_8c_a265c7a0fcb3a015f0e30e8ff1de8b618}{STRING\_VENDOR}}, avr32dci\_vendor);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01468}\mbox{\hyperlink{avr32dci_8c_ac320d986542cef9d187df6cecc4dac82}{01468}} \mbox{\hyperlink{avr32dci_8c_a6f5f251400ace8e8efe7d8f1748b0a22}{USB\_MAKE\_STRING\_DESC}}(\mbox{\hyperlink{avr32dci_8c_ab7717822bc6abda59578615741ee2223}{STRING\_PRODUCT}}, avr32dci\_product);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01469}01469 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01470}01470 \textcolor{keyword}{static} \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\_error\_t}}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01471}\mbox{\hyperlink{avr32dci_8c_ad486726c1092cab1ded937e409538a1c}{01471}} \mbox{\hyperlink{avr32dci_8c_ad486726c1092cab1ded937e409538a1c}{avr32dci\_roothub\_exec}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__device}{usb\_device}} *udev,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01472}01472     \textcolor{keyword}{struct} \mbox{\hyperlink{structusb__device__request}{usb\_device\_request}} *\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}, \textcolor{keyword}{const} \textcolor{keywordtype}{void} **\mbox{\hyperlink{usb__if_8m_a074c17a419327b41805af2dd7cb152e7}{pptr}}, uint16\_t *plength)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01473}01473 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01474}01474         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc = \mbox{\hyperlink{avr32dci_8c_ae0797ce8067e0b7c8f7038caecbb79fd}{AVR32\_BUS2SC}}(udev-\/>\mbox{\hyperlink{structusb__device_a532e474ebc2a6bfa9512e6fa1aaedf3c}{bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01475}01475         \textcolor{keyword}{const} \textcolor{keywordtype}{void} *ptr;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01476}01476         uint16\_t \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01477}01477         uint16\_t value;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01478}01478         uint16\_t index;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01479}01479         uint32\_t temp;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01480}01480         \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945}{usb\_error\_t}} err;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01481}01481 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01482}01482         \mbox{\hyperlink{usb__core_8h_adf78e1178dd30ec4a8a53087fe6c7e02}{USB\_BUS\_LOCK\_ASSERT}}(\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}}, MA\_OWNED);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01483}01483 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01484}01484         \textcolor{comment}{/* buffer reset */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01485}01485         ptr = (\textcolor{keyword}{const} \textcolor{keywordtype}{void} *)\&sc-\/>\mbox{\hyperlink{structavr32dci__softc_ae9666e21e3ea7e5c96afed00bd588353}{sc\_hub\_temp}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01486}01486         \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01487}01487         err = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01488}01488 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01489}01489         value = \mbox{\hyperlink{usb__endian_8h_aa3860f9452db3a5d865cc943e2f01829}{UGETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>wValue);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01490}01490         index = \mbox{\hyperlink{usb__endian_8h_aa3860f9452db3a5d865cc943e2f01829}{UGETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>wIndex);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01491}01491 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01492}01492         \textcolor{comment}{/* demultiplex the control request */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01493}01493 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01494}01494         \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>bmRequestType) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01495}01495         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a760afaa5e388cb04e742b564e4c509f3}{UT\_READ\_DEVICE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01496}01496                 \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>bRequest) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01497}01497                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_afe0147b1f88f094b26142d372647bd01}{UR\_GET\_DESCRIPTOR}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01498}01498                         \textcolor{keywordflow}{goto} tr\_handle\_get\_descriptor;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01499}01499                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a27856773c79338192e9fc272942ffb2a}{UR\_GET\_CONFIG}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01500}01500                         \textcolor{keywordflow}{goto} tr\_handle\_get\_config;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01501}01501                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a473195030530e26d522d795311db634d}{UR\_GET\_STATUS}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01502}01502                         \textcolor{keywordflow}{goto} tr\_handle\_get\_status;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01503}01503                 \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01504}01504                         \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01505}01505                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01506}01506                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01507}01507 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01508}01508         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a33c2db425d10f85e7b405035bc015d32}{UT\_WRITE\_DEVICE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01509}01509                 \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>bRequest) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01510}01510                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a2e5fb48757cb795a44b99af832d6cd7d}{UR\_SET\_ADDRESS}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01511}01511                         \textcolor{keywordflow}{goto} tr\_handle\_set\_address;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01512}01512                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a03842765b1d21adb3eb41b3d706ec1aa}{UR\_SET\_CONFIG}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01513}01513                         \textcolor{keywordflow}{goto} tr\_handle\_set\_config;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01514}01514                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a49bd676481c413d1ec4a527664ac02a9}{UR\_CLEAR\_FEATURE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01515}01515                         \textcolor{keywordflow}{goto} tr\_valid;  \textcolor{comment}{/* nop */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01516}01516                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a1e9409609a7c66d1d575c53d5b2b39d9}{UR\_SET\_DESCRIPTOR}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01517}01517                         \textcolor{keywordflow}{goto} tr\_valid;  \textcolor{comment}{/* nop */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01518}01518                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_af3188459f8546e34ce2d89aa28bc85f1}{UR\_SET\_FEATURE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01519}01519                 \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01520}01520                         \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01521}01521                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01522}01522                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01523}01523 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01524}01524         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_ab592eead7baaa45331e0e4768c0259dd}{UT\_WRITE\_ENDPOINT}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01525}01525                 \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>bRequest) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01526}01526                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a49bd676481c413d1ec4a527664ac02a9}{UR\_CLEAR\_FEATURE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01527}01527                         \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usb__endian_8h_aa3860f9452db3a5d865cc943e2f01829}{UGETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>wValue)) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01528}01528                         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a26900a08e106a6bcb220fac754e1b815}{UF\_ENDPOINT\_HALT}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01529}01529                                 \textcolor{keywordflow}{goto} tr\_handle\_clear\_halt;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01530}01530                         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a62760efb62faf9c62861dd006121cde7}{UF\_DEVICE\_REMOTE\_WAKEUP}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01531}01531                                 \textcolor{keywordflow}{goto} tr\_handle\_clear\_wakeup;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01532}01532                         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01533}01533                                 \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01534}01534                         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01535}01535                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01536}01536                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_af3188459f8546e34ce2d89aa28bc85f1}{UR\_SET\_FEATURE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01537}01537                         \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usb__endian_8h_aa3860f9452db3a5d865cc943e2f01829}{UGETW}}(\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>wValue)) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01538}01538                         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a26900a08e106a6bcb220fac754e1b815}{UF\_ENDPOINT\_HALT}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01539}01539                                 \textcolor{keywordflow}{goto} tr\_handle\_set\_halt;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01540}01540                         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a62760efb62faf9c62861dd006121cde7}{UF\_DEVICE\_REMOTE\_WAKEUP}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01541}01541                                 \textcolor{keywordflow}{goto} tr\_handle\_set\_wakeup;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01542}01542                         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01543}01543                                 \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01544}01544                         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01545}01545                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01546}01546                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a744ab8acdd49be39deee38a2e4c61fae}{UR\_SYNCH\_FRAME}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01547}01547                         \textcolor{keywordflow}{goto} tr\_valid;  \textcolor{comment}{/* nop */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01548}01548                 \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01549}01549                         \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01550}01550                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01551}01551                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01552}01552 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01553}01553         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_acfdcbf0400459ac3c17c15f1ccc3794d}{UT\_READ\_ENDPOINT}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01554}01554                 \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>bRequest) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01555}01555                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a473195030530e26d522d795311db634d}{UR\_GET\_STATUS}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01556}01556                         \textcolor{keywordflow}{goto} tr\_handle\_get\_ep\_status;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01557}01557                 \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01558}01558                         \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01559}01559                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01560}01560                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01561}01561 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01562}01562         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a1c18aa69d1e986a87fcdbfbb624c954f}{UT\_WRITE\_INTERFACE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01563}01563                 \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>bRequest) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01564}01564                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_ac158866f6b7f31946ace0216225b79cb}{UR\_SET\_INTERFACE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01565}01565                         \textcolor{keywordflow}{goto} tr\_handle\_set\_interface;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01566}01566                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a49bd676481c413d1ec4a527664ac02a9}{UR\_CLEAR\_FEATURE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01567}01567                         \textcolor{keywordflow}{goto} tr\_valid;  \textcolor{comment}{/* nop */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01568}01568                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_af3188459f8546e34ce2d89aa28bc85f1}{UR\_SET\_FEATURE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01569}01569                 \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01570}01570                         \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01571}01571                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01572}01572                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01573}01573 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01574}01574         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_afc6a17fce8bdb62291274b83223eea65}{UT\_READ\_INTERFACE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01575}01575                 \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>bRequest) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01576}01576                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a3654eeeab796d0863e7527e3aac772fe}{UR\_GET\_INTERFACE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01577}01577                         \textcolor{keywordflow}{goto} tr\_handle\_get\_interface;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01578}01578                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a473195030530e26d522d795311db634d}{UR\_GET\_STATUS}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01579}01579                         \textcolor{keywordflow}{goto} tr\_handle\_get\_iface\_status;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01580}01580                 \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01581}01581                         \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01582}01582                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01583}01583                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01584}01584 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01585}01585         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_ac338c3af82b085859b50582e10fa7cb7}{UT\_WRITE\_CLASS\_INTERFACE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01586}01586         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_aedd6820dd0e6fc1afd8346402bfd7990}{UT\_WRITE\_VENDOR\_INTERFACE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01587}01587                 \textcolor{comment}{/* XXX forward */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01588}01588                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01589}01589 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01590}01590         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a4f2e0216ffe1d8145cd1385e42c9a707}{UT\_READ\_CLASS\_INTERFACE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01591}01591         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a64932f42cb743ef1af70fe9434f0e71f}{UT\_READ\_VENDOR\_INTERFACE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01592}01592                 \textcolor{comment}{/* XXX forward */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01593}01593                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01594}01594 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01595}01595         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a2e2f4f55979f2bd987385ecca0deb448}{UT\_WRITE\_CLASS\_DEVICE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01596}01596                 \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>bRequest) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01597}01597                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a49bd676481c413d1ec4a527664ac02a9}{UR\_CLEAR\_FEATURE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01598}01598                         \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01599}01599                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a1e9409609a7c66d1d575c53d5b2b39d9}{UR\_SET\_DESCRIPTOR}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01600}01600                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_af3188459f8546e34ce2d89aa28bc85f1}{UR\_SET\_FEATURE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01601}01601                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01602}01602                 \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01603}01603                         \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01604}01604                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01605}01605                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01606}01606 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01607}01607         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a2b0da1f1f369841fec9c55cf4df6888b}{UT\_WRITE\_CLASS\_OTHER}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01608}01608                 \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>bRequest) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01609}01609                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a49bd676481c413d1ec4a527664ac02a9}{UR\_CLEAR\_FEATURE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01610}01610                         \textcolor{keywordflow}{goto} tr\_handle\_clear\_port\_feature;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01611}01611                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_af3188459f8546e34ce2d89aa28bc85f1}{UR\_SET\_FEATURE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01612}01612                         \textcolor{keywordflow}{goto} tr\_handle\_set\_port\_feature;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01613}01613                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a44d4b0ff5d9dfa1f511a77a5c02d3d45}{UR\_CLEAR\_TT\_BUFFER}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01614}01614                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a98706aa73be778406ec64d7a2c3f2c68}{UR\_RESET\_TT}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01615}01615                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a6e4e96fd45ca7b0afd0ea2ea63daae2c}{UR\_STOP\_TT}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01616}01616                         \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01617}01617 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01618}01618                 \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01619}01619                         \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01620}01620                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01621}01621                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01622}01622 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01623}01623         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_ac619fe4cc188166d4001c4b75365154c}{UT\_READ\_CLASS\_OTHER}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01624}01624                 \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>bRequest) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01625}01625                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a82661d7f0b0812c9668c22cf1905b940}{UR\_GET\_TT\_STATE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01626}01626                         \textcolor{keywordflow}{goto} tr\_handle\_get\_tt\_state;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01627}01627                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a473195030530e26d522d795311db634d}{UR\_GET\_STATUS}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01628}01628                         \textcolor{keywordflow}{goto} tr\_handle\_get\_port\_status;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01629}01629                 \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01630}01630                         \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01631}01631                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01632}01632                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01633}01633 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01634}01634         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_ab6456f1ff04af01cc72ae7aa754cd45f}{UT\_READ\_CLASS\_DEVICE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01635}01635                 \textcolor{keywordflow}{switch} (\mbox{\hyperlink{usb__if_8m_accfb270fc1884a0d1e4b9a0fb6234f14}{req}}-\/>bRequest) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01636}01636                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_afe0147b1f88f094b26142d372647bd01}{UR\_GET\_DESCRIPTOR}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01637}01637                         \textcolor{keywordflow}{goto} tr\_handle\_get\_class\_descriptor;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01638}01638                 \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a473195030530e26d522d795311db634d}{UR\_GET\_STATUS}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01639}01639                         \textcolor{keywordflow}{goto} tr\_handle\_get\_class\_status;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01640}01640 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01641}01641                 \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01642}01642                         \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01643}01643                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01644}01644                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01645}01645         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01646}01646                 \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01647}01647         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01648}01648         \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01649}01649 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01650}01650 tr\_handle\_get\_descriptor:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01651}01651         \textcolor{keywordflow}{switch} (value >> 8) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01652}01652         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a91e8696a051fcdd76cd797fa128938a2}{UDESC\_DEVICE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01653}01653                 \textcolor{keywordflow}{if} (value \& 0xff) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01654}01654                         \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01655}01655                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01656}01656                 \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}} = \textcolor{keyword}{sizeof}(\mbox{\hyperlink{avr32dci_8c_a8798fcb32a928c890bebdf82719d0ecd}{avr32dci\_devd}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01657}01657                 ptr = (\textcolor{keyword}{const} \textcolor{keywordtype}{void} *)\&\mbox{\hyperlink{avr32dci_8c_a8798fcb32a928c890bebdf82719d0ecd}{avr32dci\_devd}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01658}01658                 \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01659}01659         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a5ab2dc4d80db05aea0b739d0f9f66bb1}{UDESC\_DEVICE\_QUALIFIER}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01660}01660                 \textcolor{keywordflow}{if} (value \& 0xff)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01661}01661                         \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01662}01662                 \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}} = \textcolor{keyword}{sizeof}(\mbox{\hyperlink{avr32dci_8c_a8e7fcb68c50a2b807fb9c7adf982593e}{avr32dci\_odevd}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01663}01663                 ptr = (\textcolor{keyword}{const} \textcolor{keywordtype}{void} *)\&\mbox{\hyperlink{avr32dci_8c_a8e7fcb68c50a2b807fb9c7adf982593e}{avr32dci\_odevd}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01664}01664                 \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01665}01665         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a35d8259be2f4b9d3b278e889898a697a}{UDESC\_CONFIG}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01666}01666                 \textcolor{keywordflow}{if} (value \& 0xff) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01667}01667                         \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01668}01668                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01669}01669                 \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}} = \textcolor{keyword}{sizeof}(\mbox{\hyperlink{avr32dci_8c_ad1271716cf7fa3903ddb6036b66ae853}{avr32dci\_confd}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01670}01670                 ptr = (\textcolor{keyword}{const} \textcolor{keywordtype}{void} *)\&\mbox{\hyperlink{avr32dci_8c_ad1271716cf7fa3903ddb6036b66ae853}{avr32dci\_confd}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01671}01671                 \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01672}01672         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a6b58bb576493debe416ae239bb38267c}{UDESC\_STRING}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01673}01673                 \textcolor{keywordflow}{switch} (value \& 0xff) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01674}01674                 \textcolor{keywordflow}{case} 0:         \textcolor{comment}{/* Language table */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01675}01675                         \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}} = \textcolor{keyword}{sizeof}(\mbox{\hyperlink{usb__core_8c_ae7a7499adfcbdfc7011bb2f90217b482}{usb\_string\_lang\_en}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01676}01676                         ptr = (\textcolor{keyword}{const} \textcolor{keywordtype}{void} *)\&\mbox{\hyperlink{usb__core_8c_ae7a7499adfcbdfc7011bb2f90217b482}{usb\_string\_lang\_en}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01677}01677                         \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01678}01678 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01679}01679                 \textcolor{keywordflow}{case} 1:         \textcolor{comment}{/* Vendor */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01680}01680                         \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}} = \textcolor{keyword}{sizeof}(avr32dci\_vendor);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01681}01681                         ptr = (\textcolor{keyword}{const} \textcolor{keywordtype}{void} *)\&avr32dci\_vendor;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01682}01682                         \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01683}01683 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01684}01684                 \textcolor{keywordflow}{case} 2:         \textcolor{comment}{/* Product */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01685}01685                         \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}} = \textcolor{keyword}{sizeof}(avr32dci\_product);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01686}01686                         ptr = (\textcolor{keyword}{const} \textcolor{keywordtype}{void} *)\&avr32dci\_product;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01687}01687                         \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01688}01688                 \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01689}01689                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01690}01690                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01691}01691                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01692}01692         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01693}01693                 \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01694}01694         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01695}01695         \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01696}01696 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01697}01697 tr\_handle\_get\_config:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01698}01698         \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01699}01699         sc-\/>\mbox{\hyperlink{structavr32dci__softc_ae9666e21e3ea7e5c96afed00bd588353}{sc\_hub\_temp}}.\mbox{\hyperlink{unionavr32dci__hub__temp_accc9d7076366bf2ed137e3c340ed5152}{wValue}}[0] = sc-\/>\mbox{\hyperlink{structavr32dci__softc_ad3db986f2c253b6e2add152f78e1b63a}{sc\_conf}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01700}01700         \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01701}01701 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01702}01702 tr\_handle\_get\_status:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01703}01703         \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}} = 2;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01704}01704         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(sc-\/>\mbox{\hyperlink{structavr32dci__softc_ae9666e21e3ea7e5c96afed00bd588353}{sc\_hub\_temp}}.\mbox{\hyperlink{unionavr32dci__hub__temp_accc9d7076366bf2ed137e3c340ed5152}{wValue}}, \mbox{\hyperlink{usb_8h_a5df434c22d261f2fcdf9c54080ad0f48}{UDS\_SELF\_POWERED}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01705}01705         \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01706}01706 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01707}01707 tr\_handle\_set\_address:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01708}01708         \textcolor{keywordflow}{if} (value \& 0xFF00) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01709}01709                 \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01710}01710         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01711}01711         sc-\/>\mbox{\hyperlink{structavr32dci__softc_a842b2fdfedd17fc1639381c487a5f97e}{sc\_rt\_addr}} = value;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01712}01712         \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01713}01713 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01714}01714 tr\_handle\_set\_config:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01715}01715         \textcolor{keywordflow}{if} (value >= 2) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01716}01716                 \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01717}01717         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01718}01718         sc-\/>\mbox{\hyperlink{structavr32dci__softc_ad3db986f2c253b6e2add152f78e1b63a}{sc\_conf}} = value;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01719}01719         \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01720}01720 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01721}01721 tr\_handle\_get\_interface:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01722}01722         \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01723}01723         sc-\/>\mbox{\hyperlink{structavr32dci__softc_ae9666e21e3ea7e5c96afed00bd588353}{sc\_hub\_temp}}.\mbox{\hyperlink{unionavr32dci__hub__temp_accc9d7076366bf2ed137e3c340ed5152}{wValue}}[0] = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01724}01724         \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01725}01725 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01726}01726 tr\_handle\_get\_tt\_state:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01727}01727 tr\_handle\_get\_class\_status:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01728}01728 tr\_handle\_get\_iface\_status:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01729}01729 tr\_handle\_get\_ep\_status:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01730}01730         \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}} = 2;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01731}01731         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(sc-\/>\mbox{\hyperlink{structavr32dci__softc_ae9666e21e3ea7e5c96afed00bd588353}{sc\_hub\_temp}}.\mbox{\hyperlink{unionavr32dci__hub__temp_accc9d7076366bf2ed137e3c340ed5152}{wValue}}, 0);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01732}01732         \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01733}01733 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01734}01734 tr\_handle\_set\_halt:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01735}01735 tr\_handle\_set\_interface:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01736}01736 tr\_handle\_set\_wakeup:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01737}01737 tr\_handle\_clear\_wakeup:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01738}01738 tr\_handle\_clear\_halt:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01739}01739         \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01740}01740 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01741}01741 tr\_handle\_clear\_port\_feature:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01742}01742         \textcolor{keywordflow}{if} (index != 1) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01743}01743                 \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01744}01744         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01745}01745         DPRINTFN(9, \textcolor{stringliteral}{"{}UR\_CLEAR\_PORT\_FEATURE on port \%d\(\backslash\)n"{}}, index);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01746}01746 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01747}01747         \textcolor{keywordflow}{switch} (value) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01748}01748         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a6df9599557522c7163bdcb13c9f4095c}{UHF\_PORT\_SUSPEND}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01749}01749                 \mbox{\hyperlink{avr32dci_8c_a218e5721794ef32356009711ce544b75}{avr32dci\_wakeup\_peer}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01750}01750                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01751}01751 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01752}01752         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a8fa7a9a0c538b3c5c683f530f58d7b11}{UHF\_PORT\_ENABLE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01753}01753                 sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_aad2335daa48e4ecdc97a1ce46d2f39b8}{port\_enabled}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01754}01754                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01755}01755 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01756}01756         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a6027a0c92cd4a7619825f6924b44b3fd}{UHF\_PORT\_TEST}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01757}01757         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_acef0673348b3a416db2e1c3c514b79cb}{UHF\_PORT\_INDICATOR}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01758}01758         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_aed1a43dc5a9b1f893ef9b7a4ce0ed279}{UHF\_C\_PORT\_ENABLE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01759}01759         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a6df63ab5c3f9e5715c428f42e7309595}{UHF\_C\_PORT\_OVER\_CURRENT}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01760}01760         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_ad0f9e88acdd8f7a6e466e9d3ede9b392}{UHF\_C\_PORT\_RESET}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01761}01761                 \textcolor{comment}{/* nops */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01762}01762                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01763}01763         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a25f7d33df63b7439eb79041effad57f8}{UHF\_PORT\_POWER}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01764}01764                 sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a2ca3aa7230b1b4cfb570d00ed6f8d3b6}{port\_powered}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01765}01765                 \mbox{\hyperlink{avr32dci_8c_a2b0f1b68742e2ba132f05aa79d4f441f}{avr32dci\_pull\_down}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01766}01766                 \mbox{\hyperlink{avr32dci_8c_a3841547380ffe937e0569f99c3e25156}{avr32dci\_clocks\_off}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01767}01767                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01768}01768         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_afe4efdc37762fbdffef921a8ae17e975}{UHF\_C\_PORT\_CONNECTION}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01769}01769                 \textcolor{comment}{/* clear connect change flag */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01770}01770                 sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a0746f7d087baa3d472c88146053fb651}{change\_connect}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01771}01771 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01772}01772                 \textcolor{keywordflow}{if} (!sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_ad348ad1b102714470fde74ff204ec816}{status\_bus\_reset}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01773}01773                         \textcolor{comment}{/* we are not connected */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01774}01774                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01775}01775                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01776}01776                 \textcolor{comment}{/* configure the control endpoint */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01777}01777                 \textcolor{comment}{/* set endpoint reset */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01778}01778                 \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a5b830c260e2b72a4e071497865dfd553}{AVR32\_EPTRST}}, \mbox{\hyperlink{avr32dci_8h_ab3674931c2b50b75f276a99d09acd5b7}{AVR32\_EPTRST\_MASK}}(0));}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01779}01779 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01780}01780                 \textcolor{comment}{/* set stall */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01781}01781                 \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a2dffcc9dbb45e3970a86844726e0bb62}{AVR32\_EPTSETSTA}}(0), \mbox{\hyperlink{avr32dci_8h_a6475977663732075239897aeb090d8b1}{AVR32\_EPTSTA\_FRCESTALL}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01782}01782 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01783}01783                 \textcolor{comment}{/* reset data toggle */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01784}01784                 \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_aa29b0d794a9ae5c0123a962114bb979c}{AVR32\_EPTCLRSTA}}(0), \mbox{\hyperlink{avr32dci_8h_aa11a05a753244692637588b092e530aa}{AVR32\_EPTSTA\_TOGGLESQ}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01785}01785 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01786}01786                 \textcolor{comment}{/* clear stall */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01787}01787                 \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_aa29b0d794a9ae5c0123a962114bb979c}{AVR32\_EPTCLRSTA}}(0), \mbox{\hyperlink{avr32dci_8h_a6475977663732075239897aeb090d8b1}{AVR32\_EPTSTA\_FRCESTALL}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01788}01788 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01789}01789                 \textcolor{comment}{/* configure */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01790}01790                 \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a8acd1ecac61f1de09d2302ec1bbf08c8}{AVR32\_EPTCFG}}(0), \mbox{\hyperlink{avr32dci_8h_a035d1d484409ac98729dcf935db2cc56}{AVR32\_EPTCFG\_TYPE\_CTRL}} |}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01791}01791                     \mbox{\hyperlink{avr32dci_8h_ae72490e7a131c7117846de174b631729}{AVR32\_EPTCFG\_NBANK}}(1) | \mbox{\hyperlink{avr32dci_8h_adc6502af73c25a1823eb064b4f0c0bec}{AVR32\_EPTCFG\_EPSIZE}}(6));}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01792}01792 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01793}01793                 temp = \mbox{\hyperlink{avr32dci_8h_ae5300cff59617271021d2544ed4991ac}{AVR32\_READ\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a8acd1ecac61f1de09d2302ec1bbf08c8}{AVR32\_EPTCFG}}(0));}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01794}01794 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01795}01795                 \textcolor{keywordflow}{if} (!(temp \& \mbox{\hyperlink{avr32dci_8h_ae57be225034b5c8bed3c5c021f6e1bfe}{AVR32\_EPTCFG\_EPT\_MAPD}})) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01796}01796                         device\_printf(sc-\/>\mbox{\hyperlink{structavr32dci__softc_a6876d4fea9775b5f680d544b9ebaaff8}{sc\_bus}}.\mbox{\hyperlink{structusb__bus_a50629655e638e1f775df1ed160d3c533}{bdev}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01797}01797                             \textcolor{stringliteral}{"{}Chip rejected configuration\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01798}01798                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01799}01799                         \mbox{\hyperlink{avr32dci_8h_a4faec990904c6c11a42e8ef681f3cedf}{AVR32\_WRITE\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a1af63fec1e43ffd80a61a1cb6683319d}{AVR32\_EPTCTLENB}}(0),}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01800}01800                             \mbox{\hyperlink{avr32dci_8h_ab0f9e8f116026011177604432df5b5c7}{AVR32\_EPTCTL\_EPT\_ENABL}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01801}01801                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01802}01802                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01803}01803         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a495feecc17b28cb813521e342360d414}{UHF\_C\_PORT\_SUSPEND}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01804}01804                 sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_aeead94394654ba73a2c97a293eb063a4}{change\_suspend}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01805}01805                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01806}01806         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01807}01807                 err = \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945a91e19b8efd2de831078be0a8d2a030ed}{USB\_ERR\_IOERROR}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01808}01808                 \textcolor{keywordflow}{goto} done;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01809}01809         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01810}01810         \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01811}01811 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01812}01812 tr\_handle\_set\_port\_feature:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01813}01813         \textcolor{keywordflow}{if} (index != 1) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01814}01814                 \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01815}01815         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01816}01816         DPRINTFN(9, \textcolor{stringliteral}{"{}UR\_SET\_PORT\_FEATURE\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01817}01817 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01818}01818         \textcolor{keywordflow}{switch} (value) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01819}01819         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a8fa7a9a0c538b3c5c683f530f58d7b11}{UHF\_PORT\_ENABLE}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01820}01820                 sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_aad2335daa48e4ecdc97a1ce46d2f39b8}{port\_enabled}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01821}01821                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01822}01822         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a6df9599557522c7163bdcb13c9f4095c}{UHF\_PORT\_SUSPEND}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01823}01823         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_ab7d2ba22c960f8009974c75a79739380}{UHF\_PORT\_RESET}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01824}01824         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a6027a0c92cd4a7619825f6924b44b3fd}{UHF\_PORT\_TEST}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01825}01825         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_acef0673348b3a416db2e1c3c514b79cb}{UHF\_PORT\_INDICATOR}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01826}01826                 \textcolor{comment}{/* nops */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01827}01827                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01828}01828         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb_8h_a25f7d33df63b7439eb79041effad57f8}{UHF\_PORT\_POWER}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01829}01829                 sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a2ca3aa7230b1b4cfb570d00ed6f8d3b6}{port\_powered}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01830}01830                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01831}01831         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01832}01832                 err = \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945a91e19b8efd2de831078be0a8d2a030ed}{USB\_ERR\_IOERROR}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01833}01833                 \textcolor{keywordflow}{goto} done;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01834}01834         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01835}01835         \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01836}01836 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01837}01837 tr\_handle\_get\_port\_status:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01838}01838 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01839}01839         DPRINTFN(9, \textcolor{stringliteral}{"{}UR\_GET\_PORT\_STATUS\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01840}01840 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01841}01841         \textcolor{keywordflow}{if} (index != 1) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01842}01842                 \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01843}01843         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01844}01844         \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a5f0ed4102cf20227bea9fc887f8c8de0}{status\_vbus}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01845}01845                 \mbox{\hyperlink{avr32dci_8c_a6e8d9c72f3441293642434dec761e1c0}{avr32dci\_clocks\_on}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01846}01846                 \mbox{\hyperlink{avr32dci_8c_aee08d3cf160ff62aaa654813ab8489f3}{avr32dci\_pull\_up}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01847}01847         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01848}01848                 \mbox{\hyperlink{avr32dci_8c_a2b0f1b68742e2ba132f05aa79d4f441f}{avr32dci\_pull\_down}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01849}01849                 \mbox{\hyperlink{avr32dci_8c_a3841547380ffe937e0569f99c3e25156}{avr32dci\_clocks\_off}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01850}01850         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01851}01851 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01852}01852         \textcolor{comment}{/* Select Device Side Mode */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01853}01853 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01854}01854         value = \mbox{\hyperlink{usb_8h_a83113706c3590af2f9b0a00b89a05f76}{UPS\_PORT\_MODE\_DEVICE}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01855}01855 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01856}01856         \textcolor{comment}{/* Check for High Speed */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01857}01857         \textcolor{keywordflow}{if} (\mbox{\hyperlink{avr32dci_8h_ae5300cff59617271021d2544ed4991ac}{AVR32\_READ\_4}}(sc, \mbox{\hyperlink{avr32dci_8h_a8112aa08bd39bd07a9f3b6ea6680d872}{AVR32\_INTSTA}}) \& \mbox{\hyperlink{avr32dci_8h_a3af245a38d8235ba3abc95b65274e534}{AVR32\_INT\_SPEED}})}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01858}01858                 value |= \mbox{\hyperlink{usb_8h_a97ca7a7e2da62abe5d0257e822b0a649}{UPS\_HIGH\_SPEED}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01859}01859 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01860}01860         \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a2ca3aa7230b1b4cfb570d00ed6f8d3b6}{port\_powered}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01861}01861                 value |= \mbox{\hyperlink{usb_8h_a615d6c17b8159bf4e146f69a1aa36bbc}{UPS\_PORT\_POWER}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01862}01862         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01863}01863         \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_aad2335daa48e4ecdc97a1ce46d2f39b8}{port\_enabled}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01864}01864                 value |= \mbox{\hyperlink{usb_8h_aade8d9406d7a4acd137a942f3c830a23}{UPS\_PORT\_ENABLED}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01865}01865         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01866}01866         \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a5f0ed4102cf20227bea9fc887f8c8de0}{status\_vbus}} \&\&}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01867}01867             sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_ad348ad1b102714470fde74ff204ec816}{status\_bus\_reset}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01868}01868                 value |= \mbox{\hyperlink{usb_8h_ae763504258270b68d4bfe033088208a5}{UPS\_CURRENT\_CONNECT\_STATUS}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01869}01869         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01870}01870         \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_ae08f1d46fb619f0856fca6979022e3df}{status\_suspend}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01871}01871                 value |= \mbox{\hyperlink{usb_8h_afbcf31f5c8d04b7ea8da8a819675eeef}{UPS\_SUSPEND}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01872}01872         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01873}01873         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(sc-\/>\mbox{\hyperlink{structavr32dci__softc_ae9666e21e3ea7e5c96afed00bd588353}{sc\_hub\_temp}}.\mbox{\hyperlink{unionavr32dci__hub__temp_a62a17f6b16c761b8b41259a3a465a719}{ps}}.\mbox{\hyperlink{structusb__port__status_a2b6feb27a59da0abd9e91a4ca8f55866}{wPortStatus}}, value);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01874}01874 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01875}01875         value = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01876}01876 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01877}01877         \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_a0746f7d087baa3d472c88146053fb651}{change\_connect}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01878}01878                 value |= \mbox{\hyperlink{usb_8h_ae67d894f69d3af508dc6696e73b980ee}{UPS\_C\_CONNECT\_STATUS}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01879}01879         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01880}01880         \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structavr32dci__softc_a36333477c234ec694c65b026bd483e92}{sc\_flags}}.\mbox{\hyperlink{structavr32dci__flags_aeead94394654ba73a2c97a293eb063a4}{change\_suspend}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01881}01881                 value |= \mbox{\hyperlink{usb_8h_ae2b5e8f919ad7ab52144bbc76128fbc3}{UPS\_C\_SUSPEND}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01882}01882         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01883}01883         \mbox{\hyperlink{usb__endian_8h_a69f5ba903a605cb9dc7eed2ad905f2dc}{USETW}}(sc-\/>\mbox{\hyperlink{structavr32dci__softc_ae9666e21e3ea7e5c96afed00bd588353}{sc\_hub\_temp}}.\mbox{\hyperlink{unionavr32dci__hub__temp_a62a17f6b16c761b8b41259a3a465a719}{ps}}.\mbox{\hyperlink{structusb__port__status_a5651385a11bdb3346496b276d1053de8}{wPortChange}}, value);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01884}01884         \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}} = \textcolor{keyword}{sizeof}(sc-\/>\mbox{\hyperlink{structavr32dci__softc_ae9666e21e3ea7e5c96afed00bd588353}{sc\_hub\_temp}}.\mbox{\hyperlink{unionavr32dci__hub__temp_a62a17f6b16c761b8b41259a3a465a719}{ps}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01885}01885         \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01886}01886 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01887}01887 tr\_handle\_get\_class\_descriptor:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01888}01888         \textcolor{keywordflow}{if} (value \& 0xFF) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01889}01889                 \textcolor{keywordflow}{goto} tr\_stalled;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01890}01890         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01891}01891         ptr = (\textcolor{keyword}{const} \textcolor{keywordtype}{void} *)\&\mbox{\hyperlink{avr32dci_8c_add3cb2fbf7681962759895a92c2425ca}{avr32dci\_hubd}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01892}01892         \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}} = \textcolor{keyword}{sizeof}(\mbox{\hyperlink{avr32dci_8c_add3cb2fbf7681962759895a92c2425ca}{avr32dci\_hubd}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01893}01893         \textcolor{keywordflow}{goto} tr\_valid;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01894}01894 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01895}01895 tr\_stalled:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01896}01896         err = \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945a83258c6183686c303988db96e7f5713a}{USB\_ERR\_STALLED}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01897}01897 tr\_valid:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01898}01898 done:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01899}01899         *plength = \mbox{\hyperlink{ehci_8h_a8aed22e2c7b283705ec82e0120515618}{len}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01900}01900         *\mbox{\hyperlink{usb__if_8m_a074c17a419327b41805af2dd7cb152e7}{pptr}} = ptr;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01901}01901         \textcolor{keywordflow}{return} (err);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01902}01902 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01903}01903 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01904}01904 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01905}\mbox{\hyperlink{avr32dci_8c_ab06d3c5d578580fd0537bd272b7a865e}{01905}} \mbox{\hyperlink{avr32dci_8c_ab06d3c5d578580fd0537bd272b7a865e}{avr32dci\_xfer\_setup}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__setup__params}{usb\_setup\_params}} *parm)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01906}01906 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01907}01907         \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__hw__ep__profile}{usb\_hw\_ep\_profile}} *pf;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01908}01908         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01909}01909         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01910}01910         \textcolor{keywordtype}{void} *last\_obj;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01911}01911         uint32\_t ntd;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01912}01912         uint32\_t \mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01913}01913         uint8\_t ep\_no;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01914}01914 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01915}01915         sc = \mbox{\hyperlink{avr32dci_8c_ae0797ce8067e0b7c8f7038caecbb79fd}{AVR32\_BUS2SC}}(parm-\/>\mbox{\hyperlink{structusb__setup__params_a9f1d602d76af2261a9f113b707bc56f7}{udev}}-\/>\mbox{\hyperlink{structusb__device_a532e474ebc2a6bfa9512e6fa1aaedf3c}{bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01916}01916         xfer = parm-\/>\mbox{\hyperlink{structusb__setup__params_aa8ed6ed21704b223bdfa97a3ab0d4c0a}{curr\_xfer}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01917}01917 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01918}01918         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01919}01919 \textcolor{comment}{         * NOTE: This driver does not use any of the parameters that}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01920}01920 \textcolor{comment}{         * are computed from the following values. Just set some}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01921}01921 \textcolor{comment}{         * reasonable dummies:}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01922}01922 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01923}01923         parm-\/>\mbox{\hyperlink{structusb__setup__params_acc9d7b0e32de80b152fb807fba90257c}{hc\_max\_packet\_size}} = 0x400;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01924}01924         parm-\/>\mbox{\hyperlink{structusb__setup__params_a82adfb05fee2d6583bce27791144139d}{hc\_max\_packet\_count}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01925}01925         parm-\/>\mbox{\hyperlink{structusb__setup__params_a1a5b54ff6d8638ae7a0acb0b10020155}{hc\_max\_frame\_size}} = 0x400;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01926}01926 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01927}01927         \mbox{\hyperlink{usb__transfer_8c_a26ac79fd0805b2add1b1dac2cf327a4e}{usbd\_transfer\_setup\_sub}}(parm);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01928}01928 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01929}01929         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01930}01930 \textcolor{comment}{         * compute maximum number of TDs}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01931}01931 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01932}01932         \textcolor{keywordflow}{if} ((xfer-\/>\mbox{\hyperlink{structusb__xfer_a8de3fd948d496c7901b307b13a1c6e99}{endpoint}}-\/>\mbox{\hyperlink{structusb__endpoint_af3b96b9fe1e612b303833c2e2d0365e1}{edesc}}-\/>\mbox{\hyperlink{structusb__endpoint__descriptor_aff28dcc97802a405b31baccd33c2bf8f}{bmAttributes}} \& \mbox{\hyperlink{usb_8h_a8badd3504359a0aed83ac575a46a67b4}{UE\_XFERTYPE}}) == \mbox{\hyperlink{usb_8h_ace49b7adb24ebcb0a0b17110c26aa63a}{UE\_CONTROL}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01933}01933                 ntd = xfer-\/>\mbox{\hyperlink{structusb__xfer_a0d60b7394e3ea099dc1c466efe87c6e2}{nframes}} + 1 \textcolor{comment}{/* STATUS */} + 1 \textcolor{comment}{/* SYNC 1 */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01934}01934                     + 1 \textcolor{comment}{/* SYNC 2 */} ;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01935}01935         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01936}01936                 ntd = xfer-\/>\mbox{\hyperlink{structusb__xfer_a0d60b7394e3ea099dc1c466efe87c6e2}{nframes}} + 1 \textcolor{comment}{/* SYNC */} ;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01937}01937         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01938}01938 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01939}01939         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01940}01940 \textcolor{comment}{         * check if "{}usbd\_transfer\_setup\_sub"{} set an error}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01941}01941 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01942}01942         \textcolor{keywordflow}{if} (parm-\/>\mbox{\hyperlink{structusb__setup__params_ad2543ebaa3709e178a7ad9e56de498e0}{err}})}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01943}01943                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01944}01944 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01945}01945         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01946}01946 \textcolor{comment}{         * allocate transfer descriptors}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01947}01947 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01948}01948         last\_obj = NULL;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01949}01949 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01950}01950         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01951}01951 \textcolor{comment}{         * get profile stuff}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01952}01952 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01953}01953         ep\_no = xfer-\/>\mbox{\hyperlink{structusb__xfer_afe9addf10f35e5301cce41ebf42b5db2}{endpointno}} \& \mbox{\hyperlink{usb_8h_a227db1f194f105a22faae81401d3e18e}{UE\_ADDR}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01954}01954         \mbox{\hyperlink{avr32dci_8c_af743b15ff7cb0e57939a7c870fb65242}{avr32dci\_get\_hw\_ep\_profile}}(parm-\/>\mbox{\hyperlink{structusb__setup__params_a9f1d602d76af2261a9f113b707bc56f7}{udev}}, \&pf, ep\_no);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01955}01955 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01956}01956         \textcolor{keywordflow}{if} (pf == NULL) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01957}01957                 \textcolor{comment}{/* should not happen */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01958}01958                 parm-\/>\mbox{\hyperlink{structusb__setup__params_ad2543ebaa3709e178a7ad9e56de498e0}{err}} = \mbox{\hyperlink{usbdi_8h_a5daf16538c7ea36dad2de85182c72945ac568d752239d287fca75588222df1bdf}{USB\_ERR\_INVAL}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01959}01959                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01960}01960         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01961}01961         \textcolor{comment}{/* align data */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01962}01962         parm-\/>\mbox{\hyperlink{structusb__setup__params_a787abf638db3b00e32f70c2d33b41e27}{size}}[0] += ((-\/parm-\/>\mbox{\hyperlink{structusb__setup__params_a787abf638db3b00e32f70c2d33b41e27}{size}}[0]) \& (\mbox{\hyperlink{usb__freebsd_8h_a0d41cb59a7c8f7a0d52857d77d54f392}{USB\_HOST\_ALIGN}} -\/ 1));}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01963}01963 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01964}01964         \textcolor{keywordflow}{for} (\mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}} = 0; \mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}} != ntd; \mbox{\hyperlink{if__run_8c_a5a648f5ec00c526b0dfa2df7a272c6c0}{n}}++) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01965}01965                 \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__td}{avr32dci\_td}} *td;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01966}01966 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01967}01967                 \textcolor{keywordflow}{if} (parm-\/>\mbox{\hyperlink{structusb__setup__params_a3a54a1ffd5caf3ab8718c91cbe78b639}{buf}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01968}01968                         uint32\_t temp;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01969}01969 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01970}01970                         td = \mbox{\hyperlink{usb__core_8h_a68f3f7f9da01956353655ebb6678d641}{USB\_ADD\_BYTES}}(parm-\/>\mbox{\hyperlink{structusb__setup__params_a3a54a1ffd5caf3ab8718c91cbe78b639}{buf}}, parm-\/>\mbox{\hyperlink{structusb__setup__params_a787abf638db3b00e32f70c2d33b41e27}{size}}[0]);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01971}01971 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01972}01972                         \textcolor{comment}{/* init TD */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01973}01973                         td-\/>\mbox{\hyperlink{structavr32dci__td_a6e8c96003382c63004273d650d1c8bdc}{max\_packet\_size}} = xfer-\/>\mbox{\hyperlink{structusb__xfer_aefcde8a630b7adefe68cc72e7e7a5bb5}{max\_packet\_size}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01974}01974                         td-\/>\mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}} = \mbox{\hyperlink{structavr32dci__td_a13823e23c9a22b255f68f41d4e1355ed}{ep\_no}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01975}01975                         temp = pf-\/>max\_in\_frame\_size | pf-\/>max\_out\_frame\_size;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01976}01976                         td-\/>\mbox{\hyperlink{structavr32dci__td_a950cc3e59d6414d99310ae4f3bffe020}{bank\_shift}} = 0;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01977}01977                         \textcolor{keywordflow}{while} ((temp /= 2))}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01978}01978                                 td-\/>\mbox{\hyperlink{structavr32dci__td_a950cc3e59d6414d99310ae4f3bffe020}{bank\_shift}}++;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01979}01979                         \textcolor{keywordflow}{if} (pf-\/>support\_multi\_buffer) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01980}01980                                 td-\/>\mbox{\hyperlink{structavr32dci__td_afa8bb8ed345d665eab1ee9f29c6bae88}{support\_multi\_buffer}} = 1;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01981}01981                         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01982}01982                         td-\/>\mbox{\hyperlink{structavr32dci__td_a02f4fda3d76afe47d566a3a34929fa28}{obj\_next}} = last\_obj;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01983}01983 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01984}01984                         last\_obj = td;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01985}01985                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01986}01986                 parm-\/>\mbox{\hyperlink{structusb__setup__params_a787abf638db3b00e32f70c2d33b41e27}{size}}[0] += \textcolor{keyword}{sizeof}(*td);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01987}01987         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01988}01988 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01989}01989         xfer-\/>\mbox{\hyperlink{structusb__xfer_a68f3cea7860d801fe4e03b3301c9381d}{td\_start}}[0] = last\_obj;}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01990}01990 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01991}01991 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01992}01992 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01993}\mbox{\hyperlink{avr32dci_8c_a6e3b1c88e2ca5c202c020792d0034c38}{01993}} \mbox{\hyperlink{avr32dci_8c_a6e3b1c88e2ca5c202c020792d0034c38}{avr32dci\_xfer\_unsetup}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *xfer)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01994}01994 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01995}01995         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01996}01996 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01997}01997 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01998}01998 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l01999}\mbox{\hyperlink{avr32dci_8c_a29425ac282653f0c1c23c1a9347044aa}{01999}} \mbox{\hyperlink{avr32dci_8c_a29425ac282653f0c1c23c1a9347044aa}{avr32dci\_ep\_init}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__device}{usb\_device}} *udev, \textcolor{keyword}{struct} \mbox{\hyperlink{structusb__endpoint__descriptor}{usb\_endpoint\_descriptor}} *edesc,}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02000}02000     \textcolor{keyword}{struct} \mbox{\hyperlink{structusb__endpoint}{usb\_endpoint}} *pipe)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02001}02001 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02002}02002         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc = \mbox{\hyperlink{avr32dci_8c_ae0797ce8067e0b7c8f7038caecbb79fd}{AVR32\_BUS2SC}}(udev-\/>\mbox{\hyperlink{structusb__device_a532e474ebc2a6bfa9512e6fa1aaedf3c}{bus}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02003}02003 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02004}02004         DPRINTFN(2, \textcolor{stringliteral}{"{}pipe=\%p, addr=\%d, endpt=\%d, mode=\%d (\%d,\%d)\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02005}02005             pipe, udev-\/>\mbox{\hyperlink{structusb__device_ab9873df4422a53f4fa2d7c17460b11a1}{address}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02006}02006             edesc-\/>\mbox{\hyperlink{structusb__endpoint__descriptor_a3d0a0ab41c53023055a242d66a437a2d}{bEndpointAddress}}, udev-\/>\mbox{\hyperlink{structusb__device_ae7b27fdcae02d49bee5c2f0a9130b633}{flags}}.\mbox{\hyperlink{structusb__device__flags_ad686103f845c7d070e25fa7a26c34694}{usb\_mode}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02007}02007             sc-\/>\mbox{\hyperlink{structavr32dci__softc_a842b2fdfedd17fc1639381c487a5f97e}{sc\_rt\_addr}}, udev-\/>\mbox{\hyperlink{structusb__device_a5671e9a7365d48bd470879e2b95ea2e5}{device\_index}});}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02008}02008 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02009}02009         \textcolor{keywordflow}{if} (udev-\/>\mbox{\hyperlink{structusb__device_a5671e9a7365d48bd470879e2b95ea2e5}{device\_index}} != sc-\/>\mbox{\hyperlink{structavr32dci__softc_a842b2fdfedd17fc1639381c487a5f97e}{sc\_rt\_addr}}) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02010}02010                 \textcolor{keywordflow}{if} ((udev-\/>\mbox{\hyperlink{structusb__device_a1fc02abd43bd33f295493ed23debd852}{speed}} != \mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa0f17d0b9928086c6114fea73e08f1780}{USB\_SPEED\_FULL}}) \&\&}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02011}02011                     (udev-\/>\mbox{\hyperlink{structusb__device_a1fc02abd43bd33f295493ed23debd852}{speed}} != \mbox{\hyperlink{usb_8h_a97e7c882fa8cd21898173a29471616ffa57eeede6d769b09c01ac9c9c62fef8c9}{USB\_SPEED\_HIGH}})) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02012}02012                         \textcolor{comment}{/* not supported */}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02013}02013                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02014}02014                 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02015}02015                 \textcolor{keywordflow}{if} ((edesc-\/>\mbox{\hyperlink{structusb__endpoint__descriptor_aff28dcc97802a405b31baccd33c2bf8f}{bmAttributes}} \& \mbox{\hyperlink{usb_8h_a8badd3504359a0aed83ac575a46a67b4}{UE\_XFERTYPE}}) == \mbox{\hyperlink{usb_8h_aecbab40f64cd5ffe365b73f7360ea2a3}{UE\_ISOCHRONOUS}})}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02016}02016                         pipe-\/>\mbox{\hyperlink{structusb__endpoint_ab31775284691ffc7392330fea7924f18}{methods}} = \&\mbox{\hyperlink{avr32dci_8c_aba234abcfcddfb69287af3d0de776291}{avr32dci\_device\_isoc\_fs\_methods}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02017}02017                 \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02018}02018                         pipe-\/>\mbox{\hyperlink{structusb__endpoint_ab31775284691ffc7392330fea7924f18}{methods}} = \&\mbox{\hyperlink{avr32dci_8c_a7a1da856a6f7ec9b5fcde84dc40a6d7f}{avr32dci\_device\_non\_isoc\_methods}};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02019}02019         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02020}02020 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02021}02021 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02022}02022 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02023}\mbox{\hyperlink{avr32dci_8c_a436316c0cfa43eab74fd8dd01e6afce8}{02023}} \mbox{\hyperlink{avr32dci_8c_a436316c0cfa43eab74fd8dd01e6afce8}{avr32dci\_set\_hw\_power\_sleep}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structusb__bus}{usb\_bus}} *bus, uint32\_t state)}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02024}02024 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02025}02025         \textcolor{keyword}{struct }\mbox{\hyperlink{structavr32dci__softc}{avr32dci\_softc}} *sc = \mbox{\hyperlink{avr32dci_8c_ae0797ce8067e0b7c8f7038caecbb79fd}{AVR32\_BUS2SC}}(bus);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02026}02026 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02027}02027         \textcolor{keywordflow}{switch} (state) \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02028}02028         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb__controller_8h_a7059f3b2b6c2ad966a4c72fc57b72de1}{USB\_HW\_POWER\_SUSPEND}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02029}02029                 \mbox{\hyperlink{avr32dci_8c_ada5b8ae12938988bff9c8bb3301fdbf1}{avr32dci\_suspend}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02030}02030                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02031}02031         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb__controller_8h_a9bf3bc2863030915ae241b50188c8f21}{USB\_HW\_POWER\_SHUTDOWN}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02032}02032                 \mbox{\hyperlink{avr32dci_8c_a601f7d338910b27159ffcb4e9ba242a5}{avr32dci\_uninit}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02033}02033                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02034}02034         \textcolor{keywordflow}{case} \mbox{\hyperlink{usb__controller_8h_a13be95e61855e5fddce8004288a740ca}{USB\_HW\_POWER\_RESUME}}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02035}02035                 \mbox{\hyperlink{avr32dci_8c_aa4b084a587d47e5344fa091fb1b3d7c2}{avr32dci\_resume}}(sc);}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02036}02036                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02037}02037         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02038}02038                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02039}02039         \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02040}02040 \}}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02041}02041 }
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02042}02042 \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__bus__methods}{usb\_bus\_methods}} \mbox{\hyperlink{avr32dci_8c_a849c795aa83cb5c0a57f08bfeb3eeff6}{avr32dci\_bus\_methods}} =}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02043}02043 \{}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02044}02044         .\mbox{\hyperlink{structusb__bus__methods_ae9169cdc4fe46a61286ad14aa59c3a31}{endpoint\_init}} = \&\mbox{\hyperlink{avr32dci_8c_a29425ac282653f0c1c23c1a9347044aa}{avr32dci\_ep\_init}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02045}02045         .xfer\_setup = \&\mbox{\hyperlink{avr32dci_8c_ab06d3c5d578580fd0537bd272b7a865e}{avr32dci\_xfer\_setup}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02046}02046         .xfer\_unsetup = \&\mbox{\hyperlink{avr32dci_8c_a6e3b1c88e2ca5c202c020792d0034c38}{avr32dci\_xfer\_unsetup}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02047}02047         .get\_hw\_ep\_profile = \&\mbox{\hyperlink{avr32dci_8c_af743b15ff7cb0e57939a7c870fb65242}{avr32dci\_get\_hw\_ep\_profile}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02048}02048         .xfer\_stall = \&\mbox{\hyperlink{avr32dci_8c_a248735ef53d9a0b9c6402a57781e2847}{avr32dci\_xfer\_stall}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02049}02049         .set\_stall = \&\mbox{\hyperlink{avr32dci_8c_ae2bea8138b2372d278c187e4fa84d609}{avr32dci\_set\_stall}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02050}02050         .clear\_stall = \&\mbox{\hyperlink{avr32dci_8c_a69f14f35f68e56d0860fc471c0a052ac}{avr32dci\_clear\_stall}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02051}02051         .roothub\_exec = \&\mbox{\hyperlink{avr32dci_8c_ad486726c1092cab1ded937e409538a1c}{avr32dci\_roothub\_exec}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02052}02052         .xfer\_poll = \&\mbox{\hyperlink{avr32dci_8c_a831b706e75ca2736e55a7fbeb1a4d39a}{avr32dci\_do\_poll}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02053}02053         .set\_hw\_power\_sleep = \&\mbox{\hyperlink{avr32dci_8c_a436316c0cfa43eab74fd8dd01e6afce8}{avr32dci\_set\_hw\_power\_sleep}},}
\DoxyCodeLine{\Hypertarget{avr32dci_8c_source_l02054}02054 \};}

\end{DoxyCode}
