02 Dec, 2006

40 commits

  • The PDQ DMA engine requires a different byte-swapping mode for big-endian
    hosts; also the MAC address which is read from a register through PIO has
    to be byte-swapped. These changes have been verified with DEFPA-DC (PCI)
    boards and a Broadcom BCM91250A (MIPS CPU based) host.

    Signed-off-by: Maciej W. Rozycki
    Signed-off-by: Jeff Garzik

    Maciej W. Rozycki
     
  • hi,

    replace open coded kmemdup() to save some screen space,
    and allow inlining/not inlining to be triggered by gcc.

    Signed-off-by: Eric Sesterhenn
    Signed-off-by: Jeff Garzik

    Eric Sesterhenn
     
  • Realtek's 8139/810x (0x8136) PCI-E comes with a touchy PHY.
    A big heavy reset seems to calm it down.

    Fix for http://bugzilla.kernel.org/show_bug.cgi?id=7378.

    Signed-off-by: Francois Romieu
    Signed-off-by: Darren Salt

    Francois Romieu
     
  • Signed-off-by: Auke Kok

    Auke Kok
     
  • Signed-off-by: Auke Kok

    Auke Kok
     
  • Add a new dynamic itr algorithm, with 2 modes, and make it the default
    operation mode. This greatly reduces latency and increases small packet
    performance, at the "cost" of some CPU utilization. Bulk traffic
    throughput is unaffected.

    The driver can limit the amount of interrupts per second that the
    adapter will generate for incoming packets. It does this by writing a
    value to the adapter that is based on the maximum amount of interrupts
    that the adapter will generate per second.

    Setting InterruptThrottleRate to a value greater or equal to 100 will
    program the adapter to send out a maximum of that many interrupts per
    second, even if more packets have come in. This reduces interrupt
    load on the system and can lower CPU utilization under heavy load,
    but will increase latency as packets are not processed as quickly.

    The default behaviour of the driver previously assumed a static
    InterruptThrottleRate value of 8000, providing a good fallback value
    for all traffic types,but lacking in small packet performance and
    latency. The hardware can handle many more small packets per second
    however, and for this reason an adaptive interrupt moderation algorithm
    was implemented.

    Since 7.3.x, the driver has two adaptive modes (setting 1 or 3) in
    which it dynamically adjusts the InterruptThrottleRate value based on
    the traffic that it receives. After determining the type of incoming
    traffic in the last timeframe, it will adjust the InterruptThrottleRate
    to an appropriate value for that traffic.

    The algorithm classifies the incoming traffic every interval into
    classes. Once the class is determined, the InterruptThrottleRate
    value is adjusted to suit that traffic type the best. There are
    three classes defined: "Bulk traffic", for large amounts of packets
    of normal size; "Low latency", for small amounts of traffic and/or
    a significant percentage of small packets; and "Lowest latency",
    for almost completely small packets or minimal traffic.

    In dynamic conservative mode, the InterruptThrottleRate value is
    set to 4000 for traffic that falls in class "Bulk traffic". If
    traffic falls in the "Low latency" or "Lowest latency" class, the
    InterruptThrottleRate is increased stepwise to 20000. This default
    mode is suitable for most applications.

    For situations where low latency is vital such as cluster or
    grid computing, the algorithm can reduce latency even more when
    InterruptThrottleRate is set to mode 1. In this mode, which operates
    the same as mode 3, the InterruptThrottleRate will be increased
    stepwise to 70000 for traffic in class "Lowest latency".

    Setting InterruptThrottleRate to 0 turns off any interrupt moderation
    and may improve small packet latency, but is generally not suitable
    for bulk throughput traffic.

    Signed-off-by: Jesse Brandeburg
    Cc: Rick Jones
    Signed-off-by: Auke Kok

    Jesse Brandeburg
     
  • Add a generic MSI interrupt routine that is IO read-free, speeding up
    MSI interrupt handling.

    Signed-off-by: Jesse Brandeburg
    Signed-off-by: Auke Kok

    Jesse Brandeburg
     
  • This file needs some cleanups and reordering - logically order it
    so that relevant defines and code are together with properly quoted
    defaults.

    Signed-off-by: Auke Kok

    Auke Kok
     
  • Spec fix: don't set IDE unless we are actually setting the tx
    int delay time.

    Signed-off-by: Auke Kok
    Signed-off-by: Jesse Brandeburg

    Jesse Brandeburg
     
  • ICH8 will soon be followed by newer chipsets bearing the same acronym,
    thus we remove the '8' and make it independent of the version number in
    the platform name.

    Signed-off-by: Jeff Kirsher
    Signed-off-by: Auke Kok

    Jeff Kirsher
     
  • Add a netif_wake/start_queue counter to the ethtool statistics to indicated
    to the user that their transmit ring could be too small for their workload.

    Signed-off-by: Jesse brandeburg
    Cc: Jamal Hadi
    Signed-off-by: Auke Kok

    Jesse Brandeburg
     
  • Add support for a Low Profile quad-port PCI-E adapter and 2 variants
    of the ICH8 systems' onboard NIC's.

    Signed-off-by: Auke Kok

    Auke Kok
     
  • This memsetting was added in a paranoid rage debugging TX hangs, but
    are no longer of importance. We can beef up the performance quite a
    bit removing them. Make sure to fill in next_to_watch to allow this.

    Signed-off-by: Auke Kok
    Signed-off-by: Jesse Brandeburg

    Jesse Brandeburg
     
  • Simplify two calls to skb_put by removing one call to it.

    Signed-off-by: Auke Kok

    Auke Kok
     
  • Order pci-e capability struct according to bus/pci bus width ordering
    preserving the hard pci spec numbers.

    Signed-off-by: Auke Kok
    Signed-off-by: Jeff Kirsher

    Jeff Kirsher
     
  • On ich systems during PHY power down to D3, the voltage regulators
    were left on.

    Signed-off-by: Auke Kok
    Signed-off-by: Jeff Kirsher

    Jeff Kirsher
     
  • IA64 SMP systems were seeing TX issues with multiple cpu's attempting
    to write tail registers unordered. This mmiowb() fixes the issue.

    Signed-off-by: Auke Kok
    Signed-off-by: Jesse Brandeburg

    Jesse Brandeburg
     
  • Enable early receives on 82573 for jumbo frame performance. Jumbo's
    are only supported on 82573L with ASPM disabled.

    Signed-off-by: Auke Kok

    Auke Kok
     
  • Enable TSO for IPV6. All e1000 hardware supports it. This reduces CPU
    utilizations by 50% when transmitting IPv6 frames.

    Fix symbol naming enabling ipv6 TSO. Turn off TSO6 for 10/100.

    Signed-off-by: Auke Kok

    Auke Kok
     
  • Remove debugging code disabling MULR (multiple reads). It's not usable
    for a wide audience and there are no known problems with MULR right
    now.

    Signed-off-by: Auke Kok

    Auke Kok
     
  • Small whitespace changes, comment changes, typo fixes.

    Signed-off-by: Auke Kok

    Auke Kok
     
  • Tested by Newsome on IRC

    zd1211 chip 0586:3401 v4330 high 00-13-49 AL2230_RF pa0 g---

    Signed-off-by: Daniel Drake
    Signed-off-by: John W. Linville

    Daniel Drake
     
  • This patch adds two new defines for the SIOCSIWMLME to cover all
    kinds MLMEs (well, except REASSOC) through a ioctl.

    Signed-off-by: Christian Lamparter
    Signed-off-by: John W. Linville

    Christian Lamparter
     
  • Signed-off-by: Amit S. Kale
    Signed-off-by: Jeff Garzik

    Amit S. Kale
     
  • The current bcm43xx driver does not contain code to handle PCI-E interfaces
    such as the BCM4311 and BCM4312. This patch, originally written by Stefano
    Brivio adds the necessary code to enable these interfaces.

    Signed-off-by: Stefano Brivio
    Signed-off-by: Larry Finger
    Signed-off-by: John W. Linville

    Stefano Brivio
     
  • Signed-off-by: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: John W. Linville

    Alexey Dobriyan
     
  • Output signal strength information as part of iwlist scan - before it did
    not output any signal strength related information.

    Signed-off-by: Holden Karau
    Cc: Jean Tourrilhes
    Signed-off-by: Andrew Morton
    Signed-off-by: John W. Linville

    Holden Karau
     
  • NET: prism54 - whitespace cleanup

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: John W. Linville

    Dmitry Torokhov
     
  • NET: prism54 - fix potential race in reset scheduling

    There appears to be a race in reset scheduling logic - thread
    responsible for reseting the interface should clear "reset
    pending" flag before restarting the queue, otherwise timeout
    handler might not schedule another reset even if it is needed.

    This race is mostly theoretical as far as I can see but a race
    nonetheless.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: John W. Linville

    Dmitry Torokhov
     
  • NET: atmel: whitespace cleanup

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: John W. Linville

    Dmitry Torokhov
     
  • NET: atmel - switch to using ARRAY_SIZE()

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: John W. Linville

    Dmitry Torokhov
     
  • NET: atmel - do not initialize array over and over again

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: John W. Linville

    Dmitry Torokhov
     
  • In the SoftMAC version of the IEEE 802.11 stack, not all duplicate messages are
    detected. For the most part, there is no difficulty; however for TKIP and CCMP
    encryption, the duplicates result in a "replay detected" log message where the
    received and previous values of the TSC are identical. This change adds a new
    variable to the ieee80211_device structure that holds the 'seq_ctl' value for
    the previous frame. When a new frame repeats the value, the frame is dropped and
    the appropriate counter is incremented.

    Signed-off-by: Larry Finger
    Signed-off-by: John W. Linville

    Larry Finger
     
  • Hi

    this patch allow to set the mtu between 1500 and 2304 (max octets in an
    MSDU) for devices using ieee80211 linux stack.

    Signed-off-by: Matthieu CASTET
    Signed-off-by: John W. Linville

    matthieu castet
     
  • This patch adds a host_strip_iv_icv flag to ieee80211 which indicates that
    ieee80211_rx should strip the IV/ICV/other security features from the payload.
    This saves on some memmove() calls in the driver and seems like something that
    belongs in the stack as it can be used by bcm43xx, ipw2200, and zd1211rw

    I will submit the ipw2200 patch separately as it needs testing.

    This patch also adds some sensible variable reuse (idx vs keyidx) in
    ieee80211_rx

    Signed-off-by: Daniel Drake
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Daniel Drake
     
  • iNexQ UR055g: Tested by Todor T Zviskov
    zd1211 chip 1435:0711 v4330 high 00-10-a7 AL2230_RF pa0 g--

    ZyXEL AG-225, FCC ID SI5WUB410: Tested by Nathan
    zd1211 chip 0586:3409 v4810 full 00-13-49 AL7230B_RF pa0 g---

    Yakumo QuickWLAN USB: Tested by EdB
    zd1211 chip 0b3b:1630 v4330 high 00-01-36 RF2959_RF pa0 ---

    Signed-off-by: Daniel Drake
    Signed-off-by: John W. Linville

    Daniel Drake
     
  • The bcm43xx-softmac driver fails to set two quantities needed for
    iwlist to compute wireless quality when scanning. As a result, userland
    programs using the quality to determine the best connection fail.

    Signed-off-by: Larry Finger
    Signed-off-by: John W. Linville

    Larry Finger
     
  • The rest of 8390 conversions; ifdef cascade in 8390.h is gone now.

    Signed-off-by: Al Viro
    Signed-off-by: Jeff Garzik

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Jeff Garzik

    Al Viro
     
  • more 8390 conversions - mac8390, zorro8390 and hydra got the same treatment
    as arm etherh; one more case in 8390.h ifdef cascade is gone.

    Signed-off-by: Al Viro
    Signed-off-by: Jeff Garzik

    Al Viro