summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/controller/atmegadci.c
Commit message (Collapse)AuthorAgeFilesLines
* Add support for the so-called streams feature of BULK endpointshselasky2012-08-121-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in SUPER-speed mode, USB 3.0. This feature has not been tested yet, due to lack of hardware. This feature is useful when implementing protocols like UASP, USB attached SCSI which promises higher USB mass storage throughput. This patch also implements support for hardware processing of endpoints for increased performance. The switching to hardware processing of an endpoint is done via a callback to the USB controller driver. The stream feature is implemented like a variant of a hardware USB protocol. USB controller drivers implementing device mode needs to be updated to implement the new "xfer_stall" USB controller method and remove the "xfer" argument from the "set_stall" method. The API's toward existing USB drivers are preserved. To setup a USB transfer in stream mode, set the "stream_id" field of the USB config structure to the desired value. The maximum number of BULK streams is currently hardcoded and limited to 8 via a define in usb_freebsd.h. All USB drivers should be re-compiled after this change. LibUSB will be updated next week to support streams mode. A new IOCTL to setup BULK streams as already been implemented. The ugen device nodes currently only supports stream ID zero. The FreeBSD version has been bumped. MFC after: 2 weeks
* Fix compiler warnings, mostly signed issues,hselasky2012-04-021-4/+3
| | | | | | when USB modules are compiled with WARNS=9. MFC after: 1 weeks
* Implement better support for USB controller suspend and resume.hselasky2011-12-141-4/+25
| | | | | | | | | | This patch should remove the need for kldunload of USB controller drivers at suspend and kldload of USB controller drivers at resume. This patch also fixes some build issues in avr32dci.c MFC after: 2 weeks
* Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.ed2011-11-071-1/+2
| | | | | | The SYSCTL_NODE macro defines a list that stores all child-elements of that node. If there's no SYSCTL_DECL macro anywhere else, there's no reason why it shouldn't be static.
* Remove unneeded includes of <sys/linker_set.h>. Other headers that usejhb2011-01-111-1/+0
| | | | | | it internally contain nested includes. Reviewed by: bde
* Correct some root HUB descriptor fields in multiple controller drivers.hselasky2010-10-131-13/+2
| | | | | | Remove an unused structure. Approved by: thompsa (mentor)
* Remove overuse of exclamation marks in kernel printfs, there mere fact athompsa2009-11-261-2/+4
| | | | | | message has been printed is enough to get someones attention. Also remove the line number for DPRINTF/DPRINTFN, it already prints the funtion name and a unique message.
* Initialise variable before use.thompsa2009-11-221-0/+1
| | | | Submitted by: Hans Petter Selasky
* Clear all interrupts rather than just SETUP packet.thompsa2009-09-281-2/+2
| | | | Submitted by: Hans Petter Selasky
* USB CORE:alfred2009-07-301-0/+1
| | | | | | | | | | | - Add minimum polling support to drive UMASS and UKBD in case of panic. - Add extra check to ukbd probe to fix problem about mouse devices attaching like keyboards. - P4 ID: 166148 Submitted by: hps Approved by: re
* Sync to p4thompsa2009-06-271-1/+1
| | | | | | | | | - Add support for devices that handle set and clear stall in hardware. - Add missing get timestamp function - Add more xfer flags Submitted by: Hans Petter Selasky Approved by: re (kib)
* - Make struct usb_xfer opaque so that drivers can not access the internalsthompsa2009-06-231-3/+22
| | | | - Reduce the number of headers needed for a usb driver, the common case is just usb.h and usbdi.h
* s/usb2_/usb_|usbd_/ on all function names for the USB stack.thompsa2009-06-151-13/+13
|
* Rename usb pipes to endpoints as it better represents what they are, and structthompsa2009-06-071-32/+32
| | | | usb_pipe may be used for a different purpose later on.
* s/usb2_/usb_/ on all typedefs for the USB stack.thompsa2009-05-291-7/+7
|
* s/usb2_/usb_/ on all C structs for the USB stack.thompsa2009-05-281-52/+52
|
* Improve device mode (gadget) stall handling.thompsa2009-05-211-1/+2
| | | | | | | | | Some hardware easily comes out of sync with regard to whether the current or the next control transfer should be stalled, if a stall command is always issued before receiving the SETUP packet. After this patch the stall command will only be issued when a transfer should actually be stalled. Submitted by: Hans Petter Selasky
* Rename the usb sysctl tree from hw.usb2.* back to hw.usb.*.thompsa2009-05-211-2/+2
| | | | Submitted by: Hans Petter Selasky
* - rename usb2_mode to usb_mode [1]thompsa2009-05-211-4/+4
| | | | | | - change variable types to use the enum Submitted by: Hans Petter Selasky [1]
* - Add new register definitionsthompsa2009-05-201-10/+29
| | | | | | - Enable the controller and wait for the PLL to start Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@160930thompsa2009-04-221-42/+48
| | | | | | | Change the roothub exec functions to take the usb request and data pointers directly rather than placing them on the parent bus struct. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@160708thompsa2009-04-221-8/+9
| | | | | | | Need to check Read/Write allowed before writing any data for non-control transfers. Submitted by: Hans Petter Selasky
* Remove usb_sw_transfer.[ch] which are now empty after r190735.thompsa2009-04-061-1/+0
|
* Provide a better commit log for r190735, forced by making a whitespace change.thompsa2009-04-061-3/+2
| | | | | | | | | | | | Refactor how we interface with the root HUB. This is achieved by making a direct call from usb2_do_request to the host controller for root hub requests, this call will perform the controller specific register read/writes and return the error code. This cuts out a lot of code in the host controller files and saves one thread per USB bus. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@159946thompsa2009-04-051-4/+0
| | | | | | | Some cancelable flags are always true. Substitute these away. These cancelable flags were mostly useful with the root HUB which is now handled differently. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@159926thompsa2009-04-051-138/+24
| | | | | | Minor code factorisation in atmegadci.c Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@159922thompsa2009-04-051-170/+18
| | | | | | | Refactor how we interface with the root HUB. This cuts around 1200 lines of code totally and saves one thread per USB bus. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@159674thompsa2009-04-051-1/+4
| | | | | | Fix more corner cases around reception of SETUP packets. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@159673thompsa2009-04-051-8/+11
| | | | | | Fix a corner case around stalling SETUP packets in device side mode. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@159671thompsa2009-04-051-6/+9
| | | | | | Fix interrupt register setting on the atmegadci controller. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb @159479,159502,159516,159522,159529thompsa2009-03-201-32/+41
| | | | | | | | Workaround for buggy USB hardware not handling new SETUP packet before STATUS stage is complete, this allows xfers to endpoint0 to return a short frame. Submitted by: Hans Petter Selasky Reported by: me
* MFp4 //depot/projects/usb @159431,159437,159438thompsa2009-03-201-1/+1
| | | | | | | - start using the new USB typedefs in the USB core - Remove usage of USB_ADD_BYTES() Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@159392thompsa2009-03-201-1/+1
| | | | | | Add ifdefs for making parts of usb conditional. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb @159430thompsa2009-03-201-1/+0
| | | | | | | | | | - Move tunable defines into usb_core.h and dependancy towards usb_defs.h - Leave hardcoded defines in "usb_defs.h". - Allow overriding all tunable defines. - Add more customisable typedefs. - Correct maximum device number. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb 158981,159016,159024thompsa2009-03-111-23/+62
| | | | | | Sync support for ATMEGA DCI parts. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@157853thompsa2009-02-241-13/+2
| | | | | | | Clean up old way of polling the USB hardware. The existing polling support was a bit hackish. Submitted by: Hans Petter Selasky
* Move the new USB stack into its new home.thompsa2009-02-231-0/+2327
OpenPOWER on IntegriCloud