summaryrefslogtreecommitdiff
path: root/sys/dev/usb/ehci.c
AgeCommit message (Collapse)Author
2006-05-29Eliminate variable shadowing.Christopher Pascoe
From NetBSD r1.104
2006-05-29Make sure all physical addresses are filled in the qTD even when we haveChristopher Pascoe
a page offset. From Dan Ellis via NetBSD rev 1.103
2006-05-28Make sure to honor the USBD_FORCE_SHORT_XFER flag and generate an emptyChristopher Pascoe
transfer when necessary. From Dan Ellis via NetBSD rev 1.102
2005-12-03Allow strings descriptor 0 to be fetched. It's the default language index.Brad Smith
From augustss NetBSD ok dlg@
2005-11-21Move contents of sys/select.h to sys/selinfo.h in preparation for aTodd C. Miller
userland-visible sys/select.h. Consistent with what Net and Free do. OK deraadt@, tested with full ports build by naddy@.
2005-11-15More typos (especially indicies -> indices), checked with jmc@Miod Vallat
2005-10-04Make sure we don't enable host controller interrupts until allBrad Smith
initialization is finished. From augustss NetBSD ok dlg@ pascoe@
2005-09-24Force takeover of host ports after hibernate/resume, otherwise devices willChristopher Pascoe
incorrectly attach to the companion controller. Patch from Sebastiaan Indesteege on tech@ ok dlg@
2005-04-11get rid of the lines on ehci attach that show the version and the companionDavid Gwynne
controllers. remove the insane amount of support code needed just for the printing of the companion controllers while here. zap it deraadt@ sure pascoe@
2005-04-10mostly knf while here remove the todo item regarding deferring attach ofDavid Gwynne
devices. usb probe/attach now happens before root is mounted so there is no requirement to do anything special anymore.
2005-04-10properly handle suspend/resume of ports with devices attached. devicesDavid Gwynne
should not detach and reattach when you resume now.
2005-03-13Merge support for USB1 devices located beyond USB2 hubs, mostly from netbsd.Christopher Pascoe
Supports bulk, control and interrupt pipes, letting USB1 keyboards and most network interfaces work when connected to a USB2 hub. ok dlg@
2005-03-13Order the top-level interrupt heads in the periodic framelist such thatChristopher Pascoe
downstream interupt heads have an even temporal distribution. ok dlg@
2005-03-13Be even more liberal in what we accept as a completed transaction, asChristopher Pascoe
XActErr is not the only qH warning bit that "sticks" during a transaction. ok dlg@
2005-03-08only print if we hit the via quirk timeout when debuggingDavid Gwynne
ok pascoe@
2005-03-08Initialise the alternate next pointer in the queue head with EHCI_NULL, notChristopher Pascoe
zero. The host controller should, in theory, never follow this pointer, but it is a minor spec violation. ok dlg@
2005-03-08From FreeBSD rev1.30:Christopher Pascoe
- always initialise the pipe multiplier to a valid value - do not unchain the the interrupt QHs immediately after initialisation ok dlg@
2005-03-07Ignore XactErr status if the host controller also indicates that theChristopher Pascoe
transaction completed successfully on retry. ok dlg@
2005-03-07Add a workaround for VIA EHCI controllers which, under load, signal qTDChristopher Pascoe
completion before they have performed writeback from the overlay qTD. This condition would exhibit itself as a umass stall that never recovers. ok dlg@
2005-03-06Fix incorrect comment about interrupt threshold control level.Christopher Pascoe
ok dlg@
2005-03-06In [eo]hci_waitintr, xfer->timeout is in ms, not hz.Christopher Pascoe
ok dlg@
2005-02-28Fix minor KNF nit that hurts every time I analyse this code.Christopher Pascoe
ok dlg@
2005-02-28Do not incorrectly emit "too many" message in debugging code.Christopher Pascoe
ok dlg@
2004-12-29from freebsd: ehci.c 1.13, ehci_pci.c 1.13, ehcireg.h 1.5, ehcivar.h 1.3David Gwynne
log message: Attempt to follow the correct procedure for synchronising with the system BIOS to disable legacy device emulation as per the "EHCI Extended Capability: Pre-OS to OS Handoff Synchronisation" section of the EHCI spec. BIOSes that implement legacy emulation using SMIs are supposed to disable the emulation when this procedure is performed. tested on various archs by jsg@ and me ok pascoe@, looks sane jsg@
2004-10-31from netbsd: ehci.c revision 1.84David Gwynne
Only delay interrupt my 2 miucroframes instead of 8. This improves Ethernet performance.
2004-10-31fix some comments, spelling and printfsDavid Gwynne
2004-10-31netbsd reduced their difference to us in revision 1.76. they use usb_lockmgrDavid Gwynne
like us, so get rid of the ifdefs.
2004-10-31from netbsd: ehci.c revision 1.69David Gwynne
hcpriv is not actually used here. Remove references to it.
2004-10-31from netbsd: ehci.c revisions 1.185 and 1.187:David Gwynne
Follow the spec more closely when updating the overlay qTD in the QH. Preserve some bits in the overlay qTD.
2004-10-31from netbsd: ehci.c revision 1.83David Gwynne
No need to generate an interrupt at the data part of a control transfer, it's generated by the status transfer.
2004-10-31from netbsd: ehci.c revision 1.82David Gwynne
Make sure to update the data toggle on short transfers. This makes my Ethernet adapter much happier.
2004-10-27update todo to better reflect realityDavid Gwynne
2004-10-20interrupt transfer support on usb2 controllers. allows the use of usb2 hubsDavid Gwynne
with usb2 hardware.
2004-10-19suspend/resume supportDavid Gwynne
while here define EHCI_DEBUG when USB_DEBUG is defined ok pvalchev@ deraadt@
2004-09-30spelling nitDavid Gwynne
2004-08-11a few debug cleanups:David Gwynne
function names in messages didnt always match the actual name of the function. endian fix when dumping a qtd chain so it terminates correctly on big endian archs. dont blame uhci for problems ehci has.
2004-08-11slight KNF and ANSIDavid Gwynne
2004-07-12merge error; lokiTheo de Raadt
2004-07-10from loki@animata.net:Theo de Raadt
this is netbsds fix for the endian problems they had with the data toggle change. do the swap when the var is assigned to the qtd, rather than swap everything that is assigned to the var and just assign the var. instead of 4 or so htole32s we now do 1. from netbsd, ehci.c 1.67 (i made a mistake, the last patch i gave you was from 1.68) log message: Fix a byte order error.
2004-07-10from netbsd, via loki@animata.net, revision 1.67Theo de Raadt
Adjust some silliness that was causing us to do extra work for "frame list rollover" interrupts, which we pretty much ignore.
2004-07-07use the do { .. } while(0) wrapperTheo de Raadt
2004-07-07a bit more silence during bus handovers; loki@animata.netTheo de Raadt
2004-07-07copyright dates sync; loki@animata.netTheo de Raadt
2004-07-07Changes EHCI_QTD_TOGGLE to EHCI_QTD_TOGGLE_MASK; loki@animata.netTheo de Raadt
2004-07-06from netbsd, via loki@animata.net: revision 1.62. Log message:Theo de Raadt
Fix an error in a debug printf().
2004-07-06sent in by loki@animata.net: This includes all the changes from netbsdTheo de Raadt
related to working with the data toggle, but also includes some endian fixes. The major changes in the netbsd code were in revisions 1.55 and 1.64. their log messages are: 1.55: Set the data toggle correctly, and use EHCI_QTD_DTC. This fixes problems with my ALi-based drive enclosure (it works now, rather than failing to attach). Also seems to work with a GL811-based enclosure and an ASUS enclosure with a CD-RW, on both Intel and NEC controllers. Note: The ALi enclosure is currently very SLOW, due to some issue with taking too long to notice that the QTD is complete. This requires more investigation. 1.64: Further cleanup of toggle handling. Now that we use EHCI_QH_DTC, we don't need to fiddle with the TOGGLE bit in the overlay descriptor, so minimize how much we fuss with it.
2004-07-06from netbsd, via loki@animata.net, ehci.c revision 1.58 without someTheo de Raadt
printfs that are more related to the data toggle. log message: Fix a stupid bug in ehci_check_intr() that caused use to try to complete a transaction that was still running. Now ehci can handle multiple devices being active at once.
2004-07-06from netbsd, via loki@animata.net, ehci.c revision 1.56 sans some debuggingTheo de Raadt
printfs that crept in. log message: Failure to properly mask off UE_DIR_IN from the endpoint address was causing OHCI_ED_FORMAT_ISO and EHCI_QH_HRECL to get set spuriously, causing rather interesting lossage.
2004-07-05This fixes a couple of spelling errors (EHCI_HCS_P_INCICATOR toTheo de Raadt
EHCI_HCS_P_INDICATOR and EHCI_QG_MPLMASK to EHCI_QH_MPLMASK); from netbsd; via, loki@animata.net
2004-06-24endian fix from chris pascoeJolan Luff
tested by nordin@ and david gwynne