23 Oct, 2008

3 commits

  • Multi-protocol adapters support different port types. Each consumer
    of mlx4_core queries for supported port types; in particular mlx4_ib
    can no longer assume that all physical ports belong to it. Port type
    is configured through a sysfs interface. When the type of a port is
    changed, all mlx4 interfaces are unregistered, and then registered
    again with the new port types.

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

    Yevgeny Petrilin
     
  • Get maximum ethernet MTU and default MAC address from the firmware
    QUERY_DEV_CAP command.

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

    Yevgeny Petrilin
     
  • For ethernet support, we need to reserve QPs for the ethernet and
    fibre channel driver. The QPs are reserved at the end of the QP
    table. (This way we assure that they are aligned to their size)

    We need to consider these reserved ranges in bitmap creation, so we
    extend the mlx4 bitmap utility functions to allow reserved ranges at
    both the bottom and the top of the range.

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

    Yevgeny Petrilin
     

26 Jul, 2008

1 commit


23 Jul, 2008

1 commit


15 Jul, 2008

1 commit

  • There was a bug in some versions of the mlx4 driver in
    mlx4_alloc_fmr(), which hardcoded the minimum acceptable page_shift to
    be 12. However, new ConnectX firmware can support a minimum
    page_shift of 9 (log_pg_sz of 9 returned by QUERY_DEV_LIM) -- so with
    old drivers, ib_fmr_alloc() would fail for ULPs using the device
    minimum when creating FMRs.

    To preserve firmware compatibility with released mlx4 drivers, the
    firmware will continue to return 12 as before for log_page_sz in
    QUERY_DEV_CAP for these drivers. However, to enable new drivers to
    take advantage of the available smaller page size, the mlx4 driver now
    first sets the log_pg_sz to the device minimum by setting a
    log_page_sz value to 0 via the MOD_STAT_CFG command and then reading
    the real minimum via QUERY_DEV_CAP.

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

    Vladimir Sokolovsky
     

17 Apr, 2008

1 commit


05 Feb, 2008

1 commit


10 Jul, 2007

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