22 Jul, 2011

18 commits

  • An implementation of a code generator for BPF programs to speed up packet
    filtering on PPC64, inspired by Eric Dumazet's x86-64 version.

    Filter code is generated as an ABI-compliant function in module_alloc()'d mem
    with stackframe & prologue/epilogue generated if required (simple filters don't
    need anything more than an li/blr). The filter's local variables, M[], live in
    registers. Supports all BPF opcodes, although "complicated" loads from negative
    packet offsets (e.g. SKF_LL_OFF) are not yet supported.

    There are a couple of further optimisations left for future work; many-pass
    assembly with branch-reach reduction and a register allocator to push M[]
    variables into volatile registers would improve the code quality further.

    This currently supports big-endian 64-bit PowerPC only (but is fairly simple
    to port to PPC32 or LE!).

    Enabled in the same way as x86-64:

    echo 1 > /proc/sys/net/core/bpf_jit_enable

    Or, enabled with extra debug output:

    echo 2 > /proc/sys/net/core/bpf_jit_enable

    Signed-off-by: Matt Evans
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Matt Evans
     
  • so that ethtool -i will display it correctly on big endian systems.

    Signed-off-by: Michael Chan
    Reviewed-by: Bhanu Prakash Gollapudi
    Signed-off-by: David S. Miller

    Michael Chan
     
  • The bnx2fc driver needs to handle netdev events on VLAN devices.

    Signed-off-by: Michael Chan
    Reviewed-by: Bhanu Prakash Gollapudi
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Otherwise, the firmware will not respond and we'll have to wait for
    timeout. Refactor the wait loop we already have into a separate
    function for this purpose.

    Signed-off-by: Michael Chan
    Reviewed-by: Bhanu Prakash Gollapudi
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Include FCoE CID space only for E2_PLUS devices. Remove old CID
    offset adjustments that are no longer needed.

    Signed-off-by: Michael Chan
    Reviewed-by: Bhanu Prakash Gollapudi
    Signed-off-by: David S. Miller

    Michael Chan
     
  • This patch fixes NVRAM selftest failures for 5720 devices by fixing the
    checksum area size.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • Newer VPD datablocks can exceed the size the tg3 driver is traditionally
    used to. This can cause some of the routines that operate on the VPD
    data to fail when in-fact they could have succeeded had they known the
    correct size. This patch fixes the problem.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch fixes interrupt selftest failures for recent devices (57765,
    5717, 5718. 5719, 5720) by disabling MSI one-shot mode and applying the
    status tag workaround to the selftest code.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • The current RSS indirection table is populated such that more traffic
    will hit the first RSS ring. This patch adjusts the indirection table
    so that the load is more evenly distributed.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch adds the 5719 and the 5720 to the list of devices that are
    EEE capable.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • Occasionally, when the network cable is removed after a successful
    autonegotiation, the device will not send a link down interrupt to the
    driver. This happens because of a bad interaction of an EEE
    workaround. The fix is to adjust the code so that the root cause
    condition does not happen.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch increases the scope of the EEE interoperability workaround
    to include more asic revisions. The workarond value is tuned to
    workaround a link flap issue at 100Mbps.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • Commit f2096f94b514d88593355995d5dd276961e88af1, entitled
    "tg3: Add 5720 H2BMC support", needed to add code to preserve some bits
    set by firmware. Unfortunately the new code causes throughput to stop
    after a chip reset because it enables state machines before they are
    ready. This patch undoes the problematic code. The bits will be
    restored later in the init sequence.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch fixes both the failure in the self-test on 578xx
    and a hole in a parity recovery flow that this failure
    has discovered:
    - internal 'pending' state in a VLAN_MAC object wasn't been cleared
    when the object state change was called with DRV_ONLY flag, which in
    particular happens when a parity error happens during the self-test.
    - bp->sp_state wasn't cleared in the similar circumstances as described
    above.

    Signed-off-by: Vladislav Zolotarov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Vladislav Zolotarov
     
  • Fix the parity errors recovery flow for 578xx:
    - Add a separate column for the 578xx in the parity mask
    registers DB.
    - Fix the bnx2x_process_kill_chip_reset() to handle the blocks
    newly introduced in the 578xx.

    Cover ATC and PGLUE_B blocks for 57712 and 578xx.

    Signed-off-by: Vladislav Zolotarov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Vladislav Zolotarov
     
  • Read FIP MAC address from SHMEM's "port" section
    similar to what we do in a MF mode when we read it from
    a "func" section of SHMEM.

    Signed-off-by: Vladislav Zolotarov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Vladislav Zolotarov
     
  • Registers dump code erroneously treated 578xx as 57712.
    This patch fixes the above and also removes unused data
    structures.

    Signed-off-by: Vladislav Zolotarov
    Signed-off-by: Ariel Elior
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Vladislav Zolotarov
     
  • Signed-off-by: Vladislav Zolotarov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Vladislav Zolotarov
     

20 Jul, 2011

14 commits


19 Jul, 2011

8 commits