1. 17 4月, 2008 13 次提交
  2. 26 1月, 2008 9 次提交
  3. 31 10月, 2007 1 次提交
  4. 10 10月, 2007 4 次提交
    • R
      IB/ipath: Fix IB_EVENT_PORT_ERR event · 49739b3e
      Ralph Campbell 提交于
      The link state event calls were being generated when the SM told the SMA
      to change link states. This works for IB_EVENT_PORT_ACTIVE but not if
      the link goes down and stays down. The fix is to generate event calls
      from the interrupt handler when the HW link state changes.
      Signed-off-by: NRalph Campbell <ralph.campbell@qlogic.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      49739b3e
    • M
      IB/ipath: Better handling of unexpected GPIO interrupts · 6a733cdc
      Michael Albaugh 提交于
      The General Purpose I/O pins can be configured to cause interrupts. At
      the end of the interrupt code dealing with all known causes, a message
      is output if any bits remain un-handled. Since this is a "can't happen"
      scenario, it should only be triggered by bugs elsewhere. It is harmless,
      and potentially beneficial, to limit the damage by masking any such
      unexpected interrupts.
      
      This patch adds disabling of interrupts from any pins that should
      not have been allowed to interrupt, in addition to emitting a message.
      Signed-off-by: NMichael Albaugh <Michael.Albaugh@Qlogic.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      6a733cdc
    • A
      IB/ipath: Use counters in ipath_poll and cleanup interrupts in ipath_close · 70c51da2
      Arthur Jones 提交于
      ipath_poll() suffered from a couple subtle bugs.  Under the right
      conditions we could leave recv interrupts enabled on an ipath user
      context on close, thereby taking potentially unwanted interrupts on the
      next open -- this is fixed by unconditionally turning off recv
      interrupts on close.  Also, we now use counters rather than set/clear
      bits which allows us to make sure we catch all interrupts at the cost of
      changing the semantics slightly (it's now give me all events since the
      last time I called poll() rather than give me all events since I called
      _this_ poll routine).  We also added some memory barriers which may help
      ensure we get all notifications in a timely manner.
      Signed-off-by: NArthur Jones <arthur.jones@qlogic.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      70c51da2
    • A
      IB/ipath: iba6110 rev4 GPIO counters support · 327a338d
      Arthur Jones 提交于
      On iba6110 rev4, support for three more IB counters were added.  The
      LocalLinkIntegrityError counter, the ExcessiveBufferOverrunErrors
      counter and support for error counting of flow control packets on an
      invalid VL.  These counters trigger GPIO interrupts and the sw keeps
      track of the counts.  Since we also use GPIO interrupts to signal packet
      reception, we need to turn off the fast interrupts, or we risk losing a
      GPIO interrupt.
      Signed-off-by: NArthur Jones <arthur.jones@qlogic.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      327a338d
  5. 31 7月, 2007 3 次提交
  6. 18 7月, 2007 1 次提交
    • R
      IB/ipath: Make a few functions static · da9aec7b
      Roland Dreier 提交于
      Make some functions that are only used in a single .c file static.  In
      addition to being a cleanup, this shrinks the generated code.  On x86_64:
      
      add/remove: 1/3 grow/shrink: 2/1 up/down: 4777/-4956 (-179)
      function                                     old     new   delta
      handle_errors                                  -    3994   +3994
      __verbs_timer                                 42     710    +668
      ipath_do_ruc_send                           2131    2246    +115
      ipath_no_bufs_available                      136       -    -136
      ipath_disarm_senderrbufs                     639       -    -639
      ipath_ib_timer                               658       -    -658
      ipath_intr                                  5878    2355   -3523
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      da9aec7b
  7. 10 7月, 2007 6 次提交
  8. 15 5月, 2007 1 次提交
    • A
      IB/ipath: Shadow the gpio_mask register · 8f140b40
      Arthur Jones 提交于
      Once upon a time, GPIO interrupts were rare.  But then a chip bug in
      the waldo series forced the use of a GPIO interrupt to signal packet
      reception.  This greatly increased the frequency of GPIO interrupts
      which have the gpio_mask bits set on the waldo chips.  Other bits in
      the gpio_status register are used for I2C clock and data lines, these
      bits are usually on.  An "unlikely" annotation leftover from the old
      days was improperly applied to these bits, and an unnecessary chip
      mmio read was being accessed in the interrupt fast path on waldo.
      
      Remove the stagnant unlikely annotation in the interrupt handler and
      keep a shadow copy of the gpio_mask register to avoid the slow mmio
      read when testing for interruptable GPIO bits.
      Signed-off-by: NArthur Jones <arthur.jones@qlogic.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      8f140b40
  9. 19 4月, 2007 2 次提交