summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/controller
Commit message (Collapse)AuthorAgeFilesLines
* Improve device mode (gadget) stall handling.thompsa2009-05-218-8/+18
| | | | | | | | | 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-218-18/+18
| | | | Submitted by: Hans Petter Selasky
* Use enums for speed and rev data types.thompsa2009-05-211-1/+1
|
* - rename usb2_mode to usb_mode [1]thompsa2009-05-217-22/+22
| | | | | | - change variable types to use the enum Submitted by: Hans Petter Selasky [1]
* Use defines for register offsets that do not change.thompsa2009-05-202-63/+29
| | | | Submitted by: Hans Petter Selasky
* - Add new register definitionsthompsa2009-05-202-10/+45
| | | | | | - Enable the controller and wait for the PLL to start Submitted by: Hans Petter Selasky
* The register shift is not needed on this controller.thompsa2009-05-201-3/+0
| | | | Submitted by: Hans Petter Selasky
* Add debug lines for fullspeed and highspeed xfer completion.thompsa2009-05-131-0/+4
| | | | Submitted by: Hans Petter Selasky
* Make sure the frame list base address is re-programmed after stopping the USBthompsa2009-05-051-37/+50
| | | | | | | schedule, in case the hardware clears the frame list base address. Submitted by: Hans Petter Selasky Reported by: Chao Shin
* Revert part of r191494 which used the udev state to mark suspending, this needsthompsa2009-05-053-8/+6
| | | | | | | | to be set via two variables (peer_suspended and self_suspended) and can not be merged into one. Submitted by: Hans Petter Selasky Pointy hat: me
* Track the usb device state as its powered on, addressed and configured. This ↵thompsa2009-04-253-6/+6
| | | | | | | | | helps to avoid touching the device when it is not going to respond and would otherwise timeout. Implement the suspend tracking as a udev state too.
* MFp4 //depot/projects/usb@160930thompsa2009-04-2210-317/+355
| | | | | | | 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
* MFp4 //depot/projects/usb@160706thompsa2009-04-221-0/+8
| | | | | | Resolve possible device side mode deadlock by creating another thread. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@160678thompsa2009-04-223-3/+0
| | | | | | Remove unused field. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@160413thompsa2009-04-221-2/+2
| | | | | | | | | Use direct reference to parent high-speed HUB instead of indirect, due to pointer clearing race at detach of parent USB HUB. Reported by: kientzle Submitted by: Hans Petter Selasky PR: usb/133545
* Revert r190676,190677thompsa2009-04-101-1/+1
| | | | | | | The geom and CAM changes for root_hold are the wrong solution for USB design quirks. Requested by: scottl
* Remove usb_sw_transfer.[ch] which are now empty after r190735.thompsa2009-04-0617-17/+0
|
* Provide a better commit log for r190735, forced by making a whitespace change.thompsa2009-04-0614-20/+19
| | | | | | | | | | | | 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-057-54/+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-0515-1258/+131
| | | | | | | 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@159909thompsa2009-04-051-1/+14
| | | | | | | | | | | | | - make usb2_power_mask_t 16-bit - remove "usb2_config_sub" structure from "usb2_config". To compensate for this "usb2_config" has a new field called "usb_mode" which select for which mode the current xfer entry is active. Options are: a) Device mode only b) Host mode only (default-by-zero) c) Both modes. This change was scripted using the following sed script: "s/\.mh\././g". - the standard packet size table in "usb_transfer.c" is now a function, hence the code for the function uses less memory than the table itself. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@159866thompsa2009-04-051-2/+2
| | | | | | | | - memory usage reduction by only allocating the required USB pipes and USB interfaces. - cleanup some USB parsing functions to be more flexible. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@159700thompsa2009-04-051-6/+3
| | | | | | Get rid of the last CALLOUT_RETURNUNLOCKED reference. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@159674thompsa2009-04-053-5/+21
| | | | | | Fix more corner cases around reception of SETUP packets. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@159673thompsa2009-04-054-32/+47
| | | | | | 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
* Add a how argument to root_mount_hold() so it can be passed NOWAIT and be calledthompsa2009-04-031-1/+1
| | | | in situations where sleeping isnt allowed.
* The buffer start and end phys addresses should be 0x0 for an OHCI zero lengththompsa2009-03-271-2/+5
| | | | | | packet, this fixes LS/FS devices on the Gateworks 2348 XScale board. Reviewed by: HPS
* MFp4 //depot/projects/usb @159479,159502,159516,159522,159529thompsa2009-03-2017-169/+285
| | | | | | | | 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-206-17/+20
| | | | | | | - 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-205-15/+19
| | | | | | Add ifdefs for making parts of usb conditional. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb @159430thompsa2009-03-2021-24/+6
| | | | | | | | | | - 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-113-23/+253
| | | | | | Sync support for ATMEGA DCI parts. Submitted by: Hans Petter Selasky
* Fix a possible NULL pointer access at controller attach.thompsa2009-03-111-1/+2
| | | | Submitted by: Hans Petter Selasky
* Fix musb_otg.h include filename.thompsa2009-03-091-1/+1
| | | | Submitted by: Hans Petter Selasky
* remove now-redunant cardbus attachment.imp2009-03-093-3/+0
|
* (re)merge r186415,186416 from the old usb stack;thompsa2009-03-073-200/+255
| | | | | | | | | | | | | | | o add Transaction Translator support (still missing ISOC xfers) o add EHCI_SCFLG_BIGEMMIO flag to force big-endian byte-select to be set in USBMODE o split reset work into new public routine ehci_reset so bus shim drivers can force big-endian byte-select before ehci_init o enable TT and big-endian MMIO o force a reset before ehci_init to get byte-select setup Also go back to using USB_EHCI_BIG_ENDIAN_DESC at compile time to enable the byteswapping and reduce diffs to the original commits. This fixes the new USB stack on the Cambria board.
* Fix some missed htole32 conversions to htoehci32.thompsa2009-03-071-8/+8
| | | | Reviewed by: hps
* MFp4 //depot/projects/usb@158692thompsa2009-03-061-0/+9
| | | | | | | Workaround a EHCI performance problem by issuing a doorbell after queueing a bulk xfer. Submitted by: Hans Petter Selasky
* Also use proper capitalisation of FreeBSD in other source files.ed2009-02-244-4/+4
| | | | Approved by: thompsa
* MFp4 //depot/projects/usb@157853thompsa2009-02-247-118/+25
| | | | | | | 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-2325-0/+26609
OpenPOWER on IntegriCloud