1. 08 May, 2013 1 commit
  2. 18 Feb, 2013 1 commit
    • Larry Finger's avatar
      b43: Increase number of RX DMA slots · ccae0e50
      Larry Finger authored
      Bastian Bittorf reported that some of the silent freezes on a Linksys WRT54G
      were due to overflow of the RX DMA ring buffer, which was created with 64
      slots. That finding reminded me that I was seeing similar crashed on a netbook,
      which also has a relatively slow processor. After increasing the number of
      slots to 128, runs on the netbook that previously failed now worked; however,
      I found that 109 slots had been used in one test. For that reason, the number
      of slots is being increased to 256.
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Bastian Bittorf <bittorf@bluebottle.com>
      Cc: Stable <stable@vger.kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ccae0e50
  3. 29 Aug, 2011 1 commit
  4. 24 Aug, 2011 1 commit
  5. 22 Aug, 2011 1 commit
  6. 22 Jul, 2011 1 commit
  7. 04 Apr, 2011 1 commit
  8. 03 Jun, 2010 1 commit
  9. 08 Feb, 2010 1 commit
  10. 29 Dec, 2009 1 commit
  11. 23 Nov, 2009 1 commit
  12. 18 Nov, 2009 1 commit
    • Michael Buesch's avatar
      b43: Enforce DMA descriptor memory constraints · 9bd568a5
      Michael Buesch authored
      Enforce all device constraints on the descriptor memory region.
      
      There are several constraints on the descriptor memory, as documented
      in the specification. The current code does not enforce them and/or
      incorrectly enforces them.
      
      Those constraints are:
      - The address limitations on 30/32bit engines, that also apply to
        the skbs.
      - The 4k alignment requirement on 30/32bit engines.
      - The 8k alignment requirement on 64bit engines.
      Signed-off-by: default avatarMichael Buesch <mb@bu3sch.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      9bd568a5
  13. 08 Sep, 2009 1 commit
  14. 27 Feb, 2009 2 commits
    • Michael Buesch's avatar
      b43: Optimize DMA buffers · bdceeb2d
      Michael Buesch authored
      In the old days we used one slot per frame. But when we changed that to 2,
      we didn't raise the overall slot count. Which resulted in an effective
      division of two to the number of slots.
      
      Double the number of TX slots, so we have an effective hardware queue
      of 128 frames per QoS queue.
      
      Also optimize the TX header cache handling. We don't need a cached TX header
      for slots that will never carry an actual header.
      So we reduce the memory consumption of the cache by 50%.
      
      So as a net result we end up with more or less the same memory usage before
      and after this patch (except a few tiny meta structures), but have twice
      the number of TX slots available.
      Signed-off-by: default avatarMichael Buesch <mb@bu3sch.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      bdceeb2d
    • Michael Buesch's avatar
      b43: Fix DMA buffer size handling · 8eccb53f
      Michael Buesch authored
      This fixes hidden bugs in the size handling of the DMA buffers.
      This sets the RX buffer size to the theoretical max packet size and
      fixes passing of the size values to the device (must not subtract the header offset).
      
      These bugs are hidden and don't actually trigger due to the magic +100
      offset for the buffer size.
      Signed-off-by: default avatarMichael Buesch <mb@bu3sch.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      8eccb53f
  15. 21 May, 2008 1 commit
  16. 08 Apr, 2008 1 commit
    • Michael Buesch's avatar
      b43: Add PIO support for PCMCIA devices · 5100d5ac
      Michael Buesch authored
      This adds PIO support back (D'oh!) for PCMCIA devices.
      This is a complete rewrite of the old PIO code. It does actually work
      and we get reasonable performance out of it on a modern machine.
      On a PowerBook G4 I get a few MBit for TX and a few more for RX.
      So it doesn't work as well as DMA (of course), but it's a _lot_ faster
      than the old PIO code (only got a few kBit with that).
      
      The limiting factor is the host CPU speed. So it will generate 100%
      CPU usage when the network interface is heavily loaded. A voluntary preemption
      point in the RX path makes sure Desktop Latency isn't hurt.
      
      PIO is needed for 16bit PCMCIA devices, as we really don't want to poke with
      the braindead DMA mechanisms on PCMCIA sockets. Additionally, not all
      PCMCIA sockets do actually support DMA in 16bit mode (mine doesn't).
      Signed-off-by: default avatarMichael Buesch <mb@bu3sch.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      5100d5ac
  17. 07 Mar, 2008 2 commits
  18. 05 Feb, 2008 1 commit
  19. 28 Jan, 2008 1 commit
    • Michael Buesch's avatar
      b43: Remove PIO support · 03b29773
      Michael Buesch authored
      Remove b43 PIO support.
      DMA works well on all supported devices. There's no reason to use PIO.
      Additionally, new devices don't support PIO in hardware anymore.
      b43 PIO support is dead and unused code.
      
      After applying this patch please do
      git rm drivers/net/wireless/b43/pio.h
      git rm drivers/net/wireless/b43/pio.c
      to remove the main PIO support code.
      Signed-off-by: default avatarMichael Buesch <mb@bu3sch.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      03b29773
  20. 10 Oct, 2007 1 commit