19 Jul, 2011

1 commit

  • ConnectX devices support a set of flow counters that can be attached
    to a set containing one or more QPs. Each such counter tracks receive
    and transmit packets and bytes of these QPs. This patch queries the
    device to check support for counters, handles initialization of the
    HCA to enable counters, and initializes a bitmap allocator to control
    counter allocations. Derived from patch by Eli Cohen .

    Signed-off-by: Or Gerlitz
    Signed-off-by: Roland Dreier

    Or Gerlitz
     

27 Oct, 2010

2 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (63 commits)
    IB/qib: clean up properly if pci_set_consistent_dma_mask() fails
    IB/qib: Allow driver to load if PCIe AER fails
    IB/qib: Fix uninitialized pointer if CONFIG_PCI_MSI not set
    IB/qib: Fix extra log level in qib_early_err()
    RDMA/cxgb4: Remove unnecessary KERN_ use
    RDMA/cxgb3: Remove unnecessary KERN_ use
    IB/core: Add link layer type information to sysfs
    IB/mlx4: Add VLAN support for IBoE
    IB/core: Add VLAN support for IBoE
    IB/mlx4: Add support for IBoE
    mlx4_en: Change multicast promiscuous mode to support IBoE
    mlx4_core: Update data structures and constants for IBoE
    mlx4_core: Allow protocol drivers to find corresponding interfaces
    IB/uverbs: Return link layer type to userspace for query port operation
    IB/srp: Sync buffer before posting send
    IB/srp: Use list_first_entry()
    IB/srp: Reduce number of BUSY conditions
    IB/srp: Eliminate two forward declarations
    IB/mlx4: Signal node desc changes to SM by using FW to generate trap 144
    IB: Replace EXTRA_CFLAGS with ccflags-y
    ...

    Linus Torvalds
     
  • …sc', 'mlx4', 'nes', 'qib' and 'srp' into for-next

    Roland Dreier
     

26 Oct, 2010

1 commit


24 Oct, 2010

1 commit

  • The Node Description cannot be changed via MADs (it is read-only).
    Until now, it was changed in the driver via sysfs, and the new Node
    Description was simply inserted by the driver into MAD responses
    (replacing the description returned by FW).

    System startup scripts use the sysfs interface to change the node
    description at driver startup to show the hostname, etc. However, this
    has a race condition: the SM could discover the original FW node
    description rather than the system-specific description if it queried the
    port before the startup scripts finish running.

    For mlx4, we fix this with a new FW command (SET_NODE) that allows
    passing the new node description to FW. When this command is invoked,
    FW sends a trap 144 to the SM. When it gets this trap, the SM can
    query the node to obtain the new node description -- thus eliminating
    the effects of the race.

    This patch simply calls SET_NODE command when a new node description
    is entered via sysfs (thus causing trap 144 to be issued by the FW).
    We ignore all failures of the SET_NODE command (including those caused
    by using a device FW that predates the SET_NODE command), since in
    that case things work just as before.

    Signed-off-by: Jack Morgenstein
    Signed-off-by: Roland Dreier

    Jack Morgenstein
     

25 Aug, 2010

1 commit

  • The selftest includes 5 features:
    1. Interrupt test: Executing commands and receiving command completion
    on all our interrupt vectors.
    2. Link test: Verifying we are connected to valid link partner.
    3. Speed test: Check that we negotiated link speed correctly.
    4. Registers test: Activate HW health check command.
    5. Loopback test: Send a packet on loopback interface and catch it on RX side.

    Signed-off-by: Yevgeny Petrilin
    Signed-off-by: David S. Miller

    Yevgeny Petrilin
     

19 Mar, 2009

1 commit

  • When a port's link is down (except to driver restart) and the port is
    configured for auto sensing, we try to sense port link type (Ethernet
    or InfiniBand) in order to determine how to initialize the port. If
    the port type needs to be changed, all mlx4 for the device interfaces
    are unregistered and then registered again with the new port
    types. Sensing is done with intervals of 3 seconds.

    Signed-off-by: Yevgeny Petrilin
    Signed-off-by: Roland Dreier

    Yevgeny Petrilin
     

23 Oct, 2008

1 commit


17 Apr, 2008

1 commit


18 Jun, 2007

1 commit

  • Upcoming firmware introduces command interface revision 3, which
    changes the way port capabilities are queried and set. Update the
    driver to handle both the new and old command interfaces by adding a
    new MLX4_FLAG_OLD_PORT_CMDS that it is set after querying the firmware
    interface revision and then using the correct interface based on the
    setting of the flag.

    Signed-off-by: Roland Dreier

    Roland Dreier
     

09 May, 2007

1 commit

  • Add an InfiniBand driver for Mellanox ConnectX adapters. Because
    these adapters can also be used as ethernet NICs and Fibre Channel
    HBAs, the driver is split into two modules:

    mlx4_core: Handles low-level things like device initialization and
    processing firmware commands. Also controls resource allocation
    so that the InfiniBand, ethernet and FC functions can share a
    device without stepping on each other.

    mlx4_ib: Handles InfiniBand-specific things; plugs into the
    InfiniBand midlayer.

    Signed-off-by: Roland Dreier

    Roland Dreier