1. 03 3月, 2014 1 次提交
  2. 01 10月, 2012 1 次提交
    • J
      IB/mlx4: Initialize SR-IOV IB support for slaves in master context · fc06573d
      Jack Morgenstein 提交于
      Allocate SR-IOV paravirtualization resources and MAD demuxing contexts
      on the master.
      
      This has two parts.  The first part is to initialize the structures to
      contain the contexts.  This is done at master startup time in
      mlx4_ib_init_sriov().
      
      The second part is to actually create the tunneling resources required
      on the master to support a slave.  This is performed the master
      detects that a slave has started up (MLX4_DEV_EVENT_SLAVE_INIT event
      generated when a slave initializes its comm channel).
      
      For the master, there is no such startup event, so it creates its own
      tunneling resources when it starts up.  In addition, the master also
      creates the real special QPs.  The ib_core layer on the master causes
      creation of proxy special QPs, since the master is also
      paravirtualized at the ib_core layer.
      Signed-off-by: NJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      fc06573d
  3. 19 7月, 2012 1 次提交
  4. 11 7月, 2012 1 次提交
    • J
      mlx4: Use port management change event instead of smp_snoop · 00f5ce99
      Jack Morgenstein 提交于
      The port management change event can replace smp_snoop.  If the
      capability bit for this event is set in dev-caps, the event is used
      (by the driver setting the PORT_MNG_CHG_EVENT bit in the async event
      mask in the MAP_EQ fw command).  In this case, when the driver passes
      incoming SMP PORT_INFO SET mads to the FW, the FW generates port
      management change events to signal any changes to the driver.
      
      If the FW generates these events, smp_snoop shouldn't be invoked in
      ib_process_mad(), or duplicate events will occur (once from the
      FW-generated event, and once from smp_snoop).
      
      In the case where the FW does not generate port management change
      events smp_snoop needs to be invoked to create these events.  The flow
      in smp_snoop has been modified to make use of the same procedures as
      in the fw-generated-event event case to generate the port management
      events (LID change, Client-rereg, Pkey change, and/or GID change).
      
      Port management change event handling required changing the
      mlx4_ib_event and mlx4_dispatch_event prototypes; the "param" argument
      (last argument) had to be changed to unsigned long in order to
      accomodate passing the EQE pointer.
      
      We also needed to move the definition of struct mlx4_eqe from
      net/mlx4.h to file device.h -- to make it available to the IB driver,
      to handle port management change events.
      Signed-off-by: NJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      00f5ce99
  5. 16 3月, 2012 1 次提交
    • P
      device.h: audit and cleanup users in main include dir · 313162d0
      Paul Gortmaker 提交于
      The <linux/device.h> header includes a lot of stuff, and
      it in turn gets a lot of use just for the basic "struct device"
      which appears so often.
      
      Clean up the users as follows:
      
      1) For those headers only needing "struct device" as a pointer
      in fcn args, replace the include with exactly that.
      
      2) For headers not really using anything from device.h, simply
      delete the include altogether.
      
      3) For headers relying on getting device.h implicitly before
      being included themselves, now explicitly include device.h
      
      4) For files in which doing #1 or #2 uncovers an implicit
      dependency on some other header, fix by explicitly adding
      the required header(s).
      
      Any C files that were implicitly relying on device.h to be
      present have already been dealt with in advance.
      
      Total removals from #1 and #2: 51.  Total additions coming
      from #3: 9.  Total other implicit dependencies from #4: 7.
      
      As of 3.3-rc1, there were 110, so a net removal of 42 gives
      about a 38% reduction in device.h presence in include/*
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      313162d0
  6. 13 1月, 2011 1 次提交
    • A
      IB/mlx4: Handle protocol field in multicast table · da995a8a
      Aleksey Senin 提交于
      The newest device firmware stores IB vs. Ethernet protocol in two bits
      in members_count field of multicast group table (0: Infiniband, 1:
      Ethernet).  When changing the QP members count for a multicast group,
      it important not to reset this information.  When calling multicast
      attach first time, the protocol type should be specified.  In this
      patch we always set it IB, but in the future we will handle Ethernet
      too.  When looking for a QP, the protocol type shoud be checked too.
      Signed-off-by: NAleksey Senin <alekseys@voltaire.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      da995a8a
  7. 26 10月, 2010 1 次提交
    • E
      mlx4_core: Allow protocol drivers to find corresponding interfaces · 33c87f0a
      Eli Cohen 提交于
      Add a mechanism for mlx4 protocol drivers to get a pointer to other
      drivers's device objects.  For this, an exported function,
      mlx4_get_protocol_dev() is added, which allows a driver to get some
      other driver's device based on the protocol that the driver
      implements.  Two protocols are added: MLX4_PROTOCOL_IB and
      MLX4_PROTOCOL_EN.
      
      This will be used in mlx4 IBoE support so that mlx4_ib can find the
      corresponding mlx4_en netdev.
      Signed-off-by: NEli Cohen <eli@mellanox.co.il>
      
      [ Clean up and rename a few things.  - Roland ]
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      33c87f0a
  8. 17 4月, 2008 1 次提交
    • R
      mlx4_core: Fix confusion between mlx4_event and mlx4_dev_event enums · 37608eea
      Roland Dreier 提交于
      The struct mlx4_interface.event() method was supposed to get an enum
      mlx4_dev_event, but the driver code was actually passing in the
      hardware enum mlx4_event values.  Fix up the callers of
      mlx4_dispatch_event() so that they pass in the right type of value,
      and fix up the event method in mlx4_ib so that it can handle the enum
      mlx4_dev_event values.
      
      This eliminates the need for the subtype parameter to the event
      method, so remove it.
      
      This also fixes the sparse warning
      
          drivers/net/mlx4/intf.c:127:48: warning: mixing different enum types
          drivers/net/mlx4/intf.c:127:48:     int enum mlx4_event  versus
          drivers/net/mlx4/intf.c:127:48:     int enum mlx4_dev_event
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      37608eea
  9. 09 5月, 2007 1 次提交
    • R
      IB/mlx4: Add a driver Mellanox ConnectX InfiniBand adapters · 225c7b1f
      Roland Dreier 提交于
      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: NRoland Dreier <rolandd@cisco.com>
      225c7b1f
  10. 27 8月, 2005 2 次提交
  11. 17 4月, 2005 2 次提交
    • M
      [PATCH] IB/mthca: add fast memory region implementation · e0f5fdca
      Michael S. Tsirkin 提交于
      Implement fast memory regions (FMRs), where the driver writes directly into
      the HCA's translation tables rather than requiring a firmware command.  For
      Tavor, MTTs for FMR are separate from regular MTTs, and are reserved at driver
      initialization.  This is done to limit the amount of virtual memory needed to
      map the MTTs.  For Arbel, there's no such limitation, and all MTTs and MPTs
      may be used for FMR or for regular MR.
      Signed-off-by: NMichael S. Tsirkin <mst@mellanox.co.il>
      Signed-off-by: NRoland Dreier <roland@topspin.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e0f5fdca
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4