An error occurred fetching the project authors.
- 17 Feb, 2004 1 commit
-
-
Deepak Saxena authored
-
- 16 Jan, 2004 1 commit
-
-
David Brownell authored
This is minor "obvious" fixes plus two tweaks to help later patches: - Interrupt QH has a link to the device, needed to implement schedule trees (like OHCI does today) that are TT-aware (essential for most keyboards and mice). - Export the macros that do high bandwidth packetsize stuff. They're also needed for high bandwidth ISO transfers. It also morphs some existing "too much debug info" urb tracing so it's kicked in by a manual #define EHCI_URB_TRACE. If some generic version of that gets added to usbcore, this sort of debug code can vanish (from all hcds).
-
- 06 Aug, 2003 1 commit
-
-
Greg Kroah-Hartman authored
This is because that field is going away shortly...
-
- 28 Mar, 2003 1 commit
-
-
David Brownell authored
This tweaks the hardware in two minor ways, being more forgiving of what are either hardware bugs or hard-to-see driver bugs. - Some silicon seems to mis-handle dummy qtds on occasion, writing them into the qh and thus stopping progress unless something times it out and cancels it (scsi-eh etc). This initializes such qtds slightly differently, so some such cases will make the driver automatically recover, and so all such errors will fail in the same way. - In case of dodgy behavior with respect to unlinking, don't modify a field. Silicon that's (wrongly) reading this will have a chance to read the old value while it's still valid. Also minor diagnostic tweaks for better uniformity/usability.
-
- 01 Feb, 2003 1 commit
-
-
David Brownell authored
This should apply to 2.5.59 too. It seems to get rid of some pesky hangs, on at least some hardware, but I won't have time to test it on either VIA version ... maybe someone else will make the time? :) New QH state prevents a re-activation race - nobody can un-halt a qh before its cleanup is done - resubmit-from-completion had this race (some usbtest cases) as could some normal submit paths on busy endpoints (storage) - faster controllers would trip on this more consistently Queues of qtds - work harder to avoid ever modifing any qh in software - short reads block queue advance much less often - be more cautious with large (>~19KB) unaligned buffers Unlinking urbs - if qtd unlinked is at queue head, use its latest status (main effect is reporting bytes from partial transfers) - another new qh state: defer qh unlink if IAA is busy (eliminates a busy-wait loop in a rare scenario) Enable features to improve bus utilization - PCI MWI ... can produce better write throughput; and by using right cacheline size, sometimes read throughput too - USB NAK throttle ... sometimes reduces PCI access rates Other - async dump shows more funky qh+qtd states, and NAK count - cope with with some of the sprintf wierdness - periodic dump is usually smaller (so is that schedule) - minor cleanups
-
- 19 Dec, 2002 1 commit
-
-
David Brownell authored
This ought to address a number of the problems with the recent "dummy td" update as well as some older ones: - Slims down the qh_append_tds() to remove two pairs of "should be duplicate" logic so that * qh_make() only creates and initializes; * qh_append_tds() calls it earlier; * always appends with dummy, no routine qh updates. - Reworked qh_completions() ... simpler, better. * two notable FIXMEs gone, and a bug related to how they interacted with scatterlist i/o * fixed bugs (including one oops) exposed by using dummies more. Passes basic testing: most 'usbtest' cases, usb2 hub with keyboard and CF adapter, storage enumeration. So it seems less troublesome, though it's still not as happy as I've seen it. However, "testusb -at12" (running 'write unlink' tests) still fails for me, and usb-storage gets unhappy when it decides (why? and unsuccessfully) to reset high speed devices. I'm still chasing those problems, which seem to come from higher up in the stack.
-
- 16 Dec, 2002 1 commit
-
-
David Brownell authored
This should be innocuous; I expect most folk won't notice anything better (or worse) from this patch unless they're using Intel EHCI. removing tasklet - parts of davem's patch (passing pt_regs down) - remove 'max_completions' - update cleanup after hc died - fix an urb unlink oops (null ptr) that happens more often this way talking to hardware - fixes for some short read issues (may still be others) * use qtd->hw_alt_next to stop qh processing after short reads * detect/report short reads differently - longer reset timeout (it was excessively short, broke Intel) other - simpler diagnostics portability to 2.4: wrap dev_err() etc - urb unlink wait and non-wait unlink codepaths share most code - don't try ehci_stop() in interrupt context (bug from hcd layer) - minor stuff, including * some "after hc died" paths were wrong * verbose debug messages compile again * don't break error irq count
-
- 29 Nov, 2002 2 commits
-
-
David Brownell authored
This reduces the quantity of messages, by using the newer dev_*() macros, and by deleting some messages.
-
David Brownell authored
This patch should improve behavior of the EHCI driver, particularly on VIA hardware. - A more careful reading of the EHCI spec turns up requirements not to change this register's value while the async schedule is enabled. That means in effect that it must never point to a QH that'd get unlinked ... driver now uses a dedicated QH. - Disables async schedule a bit faster: after 50msec idle, not 330msec idle. - Streamline the "can't init memory" failure path. - Start to use the dev_dbg()/dev_info()/... macros in more places. This version acts a bunch happier than the previous version, removing some failure modes I could never quite convince myself were hardware (they weren't!) I suspect it'll remove a lot of the "it hangs" failures that some folk have reported (mostly on 2.4 though).
-
- 11 Nov, 2002 1 commit
-
-
David Brownell authored
What it does is give up on catching all the "race with HC" cases when appending to a live QH, by switching to using a disabled "dummy" TD at the end of all hardware queues. The HC won't cache disabled TDs, so it just sees "always good" pointers: no races. As a side benefit this also makes it safe to not irq on completion of most TDs that are queued using the scatterlist calls, so it'll be typical for one 64 KByte usb-storage request to mean just one irq (or less!) even without tuning ehci irq latency (for the DATA stage, that is).
-
- 07 Oct, 2002 1 commit
-
-
David Brownell authored
That previous patch got rid of a boot time might_sleep() warning, but I noticed two later on: - kmalloc() needed SLAB_ATOMIC - destroying the 'pools' driverfs attribute could sleep too The clean/simple patch for the second one tweaked an API: - pci_pool_create() can't be called in_interrupt() any more. nobody used it there, and such support isn't needed; plus that rule matches its sibling call, pci_pool_destroy(). - that made its SLAB_* flags parameter more useless, so it's removed and the DMA-mapping.txt is updated. (this param was more trouble than it was worth -- good that it's gone.) Nobody (even DaveM) objected to those API changes, so I think this should be merged.
-
- 12 Apr, 2002 1 commit
-
-
David Brownell authored
USB minor ehci cleanup This patch just does minor internal cleanup, renaming to match the put/get convention used elsewhere in Linux. (Get ref, put it back ... not "putting a new ref here".)
-
- 04 Apr, 2002 1 commit
-
-
Greg Kroah-Hartman authored
moved files to different subdirectories to make try to make sense of the current mess, and to allow usb client drivers to integrate into the tree easier.
-
- 18 Mar, 2002 1 commit
-
-
David Brownell authored
This patch completely punts on passing SLAB_POISON, I've gotten burnt by it once too many. Seems like the slab code changed somewhere. I've got a separate patch to make the pci_pool code use CONFIG_DEBUG_SLAB, which I'll send around. Meanwhile, I needed this to get at least EHCI to intialize on a 2.5.7-pre1 system. Please merge.
-
- 27 Feb, 2002 1 commit
-
-
David Brownell authored
This is minor cleanup; pulls #includes out of files that aren't intended to compile by themselves. ehci bandwidth recording Here's a minor update to the EHCI interrupt scheduler, recording the bandwidth used by an URB for usbfs.
-
- 09 Feb, 2002 1 commit
-
-
Dave Jones authored
Big bits first, I'll redo the smaller bits tomorrow after some sleep. Same as last time, rediffed against pre5
-
- 05 Feb, 2002 1 commit
-
-
Linus Torvalds authored
- Davide Libenzi: nicer timeslices for scheduler - Arnaldo: wd7000 scsi driver cleanups and bio update - Greg KH: USB update (including initial 2.0 support) - me: strict typechecking on "kdev_t"
-