1. 17 4月, 2014 1 次提交
    • E
      sfc:On MCDI timeout, issue an FLR (and mark MCDI to fail-fast) · e283546c
      Edward Cree 提交于
      When an MCDI command times out (whether or not we find it
      completed when we poll), call efx_mcdi_abandon(), which tells
      all subsequent MCDI calls to fail-fast, and queues up an FLR.
      
      Because an FLR doesn't lead to receiving any reboot even from
      the MC (unlike most other types of reset), we have to call
      efx_ef10_reset_mc_allocations.
      In efx_start_all(), if a reset (of any kind) is pending, we
      bail out.
      Without this, attempts to reconfigure (e.g. change mtu) can
      cause driver/mc state inconsistency if the first MCDI call
      triggers an FLR.
      
      For similar reasons, on EF10, in
      efx_reset_down(method=RESET_TYPE_MCDI_TIMEOUT), set the number
      of active queues to zero before calling efx_stop_all().
      And, on farch, in efx_reset_up(method=RESET_TYPE_MCDI_TIMEOUT),
      set active_queues and flushes pending & outstanding to zero.
      
      efx_mcdi_mode_{poll,event}() should not take us out of fail-fast
       mode. Instead, this is done by efx_mcdi_reset() after the FLR
      completes.
      
      The new FLR reset_type RESET_TYPE_MCDI_TIMEOUT doesn't really
      fit into the hierarchy of reset 'scopes' whereby efx_reset()
      decides some resets subsume others.  Thus, it uses separate logic.
      
      Also, fixed up some inconsistency around RESET_TYPE_MC_BIST,
      which was in the wrong place in that hierarchy.
      Signed-off-by: NShradha Shah <sshah@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e283546c
  2. 13 12月, 2013 1 次提交
    • J
      sfc: Add MC BISTs to ethtool offline self test on EF10 · 74cd60a4
      Jon Cooper 提交于
      To run BISTs the MC goes down in to a special mode where it will only
      respond to MCDI from the testing PF, and TX, RX and event queues are
      torn down. Other PFs get a message as it goes down to tell them it's
      going down.
      
      When the other PFs get this message, they check the soft status
      register to tell when the MC has rebooted after BIST mode and they can
      start recovery.
      
      [bwh: Convert the test result to 1 or -1 as for earlier NICs]
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      74cd60a4
  3. 30 8月, 2013 1 次提交
  4. 28 8月, 2013 1 次提交
  5. 08 3月, 2013 1 次提交
    • A
      sfc: Add AER and EEH support for Siena · 626950db
      Alexandre Rames 提交于
      The Linux side of EEH is triggered by MMIO reads, but this
      driver's data path does not issue any MMIO reads (except in
      legacy interrupt mode).  Therefore add a monitor function
      to poll EEH periodically.
      
      When preparing to reset the device based on our own error
      detection, also poll EEH and defer to its recovery mechanism
      if appropriate.
      
      [bwh: Use a separate condition for the initial link poll; fix some
       style errors]
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      626950db
  6. 17 7月, 2012 1 次提交
  7. 11 8月, 2011 1 次提交
  8. 25 6月, 2011 1 次提交
    • B
      sfc: Allow resets to be upgraded; use atomic ops for safety · a7d529ae
      Ben Hutchings 提交于
      Currently an attempt to schedule any reset is ignored if a reset
      is already pending.  This ignores the relative scopes - if the
      requested reset is greater in scope then the scheduled reset should
      be upgraded accordingly.
      
      There are also some race conditions which could lead to a reset
      request being lost.  Deal with them by using atomic operations on a
      bitmask.  This also makes tests on reset_pending easier to get right.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      a7d529ae
  9. 30 11月, 2009 3 次提交
  10. 25 11月, 2009 1 次提交
  11. 13 12月, 2008 2 次提交
  12. 06 11月, 2008 1 次提交
  13. 03 9月, 2008 1 次提交
  14. 13 5月, 2008 1 次提交
  15. 29 4月, 2008 1 次提交