1. 04 Feb, 2003 2 commits
  2. 01 Feb, 2003 2 commits
    • Duncan Sands's avatar
      [PATCH] USB speedtouch: add a new speedtouch encoding function · 18855eaf
      Duncan Sands authored
        speedtouch: add a new encoding function, atmsar_encode.  Calling it amounts to doing
        atmsar_encode_aal5 followed by atmsar_encode_rawcell in one fell swoop.  It eliminates
        the need for intermediate buffers and reduces memory movement.  The following patches
        use it to simplify the send logic (and get rid of those annoying little oopsen).
      18855eaf
    • David Brownell's avatar
      [PATCH] USB: ehci-hcd updates · fc42fcf3
      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
      fc42fcf3
  3. 29 Jan, 2003 2 commits
  4. 28 Jan, 2003 3 commits
    • David Brownell's avatar
      [PATCH] USB: usbcore misc cleanup (notably for non-dma hcds) · 31fd2ea0
      David Brownell authored
      The support for non-dma HCDs is likely the most interesting bit here.
      
          - makes dma calls behave sensibly when used with host controllers
            that don't use dma (including sl811).  usb_buffer_map() is a nop
            while scatterlist dma mappings fail (as they must).
      
          - make usb_sg_init() behave sensibly when used with non-dma hcs.
            the urbs are initted with transfer_buffer, not transfer_dma.
            this is the higher level analogue to usb_buffer_map(), so it
            needs to succeed unless there's a Real Error (tm).
      
          - moves two compatibility inlines from ehci.h into hcd.h so
            it'll be more practical to have the other hcds work in other
            environments (notably lk 2.4) too
      
          - remove URB_TIMEOUT_KILLED flag ... no device driver tests it;
            hcds don't really (uhci sets it, never reads it; sl811 doesn't
            enable the path that might set it), and it's not well defined.
            if any hcd needs such state, keep it in hc-private storage.
      
          - in usb_sg_wait(), use yield() instead of schedule() to let
            other activities free resources needed to continue.  (This
            was noted recently by Oliver.)
      31fd2ea0
    • David Brownell's avatar
      [PATCH] USB ohci-hcd, don't force SLAB_ATOMIC allocations · fb4b62ad
      David Brownell authored
      This is a minor cleanup to let per-request memory allocations block,
      when the caller allows (it provided the bitmask).  The driver used
      to work that way until something like 2.4.3; an update (a few months
      back) to how the "dma_addr_t" hashes to a "struct ohci_td *" lets us
      simplify things again.  Another benfit:  it blocks irqs for less time
      on the submit path.  (The ehci driver already acts this way.)
      fb4b62ad
    • Petko Manolov's avatar
      [PATCH] USB: pegasus & mii cset · 1fda844a
      Petko Manolov authored
        Some ethernet drivers other than those in .../drivers/net need generic
        MII code too and this cset shows how we do it for .../drivers/usb/net;
        For now only pegasus.c is using this feature, but as soon as we find
        more MII compliant controllers we'll put them in Makefile.mii too.
        Note: drivers which use the generic mii routines should bracket the
        code with #ifdef CONFIG_MII #endif since CONFIG_MII may not be present.
        See pegasus.c for more details.
      1fda844a
  5. 21 Jan, 2003 8 commits
  6. 17 Jan, 2003 4 commits
  7. 16 Jan, 2003 19 commits