1. 30 11月, 2009 4 次提交
  2. 29 11月, 2009 7 次提交
  3. 27 11月, 2009 4 次提交
    • B
      sfc: Change MAC promiscuity and multicast hash at the same time · 8be4f3e6
      Ben Hutchings 提交于
      From: Steve Hodgson <shodgson@solarflare.com>
      
      Currently we can set multicast hash immediately (in atomic context)
      but must delay setting MAC promiscuity.  There is not that much
      point in deferring one but not the other, and setting the multicast
      hash on Siena will involve a firmware request.  So process them
      both in efx_mac_work().
      
      Also, set the broadcast bit in the multicast hash in
      efx_set_multicast_list(), since this is required for both Falcon and
      Siena.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8be4f3e6
    • B
      sfc: Simplify XMAC link polling · 9007b9fa
      Ben Hutchings 提交于
      From: Steve Hodgson <shodgson@solarflare.com>
      
      Only the XMAC on Falcon needs help from the driver to poll and reset
      the MAC-PHY link (XAUI); GMII is a simple parallel bus and on later
      NICs firmware takes care of the XAUI link.  Also, an XMAC interrupt
      currently schedules a work item which simply clears a flag
      (efx_nic::mac_up) to be checked by the regular monitor (or the next
      link reconfiguration, if that is sooner).
      
      Rename the flag to xmac_poll_required, changing its sense.  Remove the
      needless indirection and just set the flag immediately.  Call
      falcon_xmac_poll() directly where required.
      
      Add a new generic operation mac_op::check_fault to check the link
      outside of regular monitoring, as required during self-tests.
      
      (Note that this leaves us with an unused work item, but we will
      immediately have another use for it.)
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9007b9fa
    • B
      sfc: Split MAC stats DMA initiation and completion · 55edc6e6
      Ben Hutchings 提交于
      From: Steve Hodgson <shodgson@solarflare.com>
      
      Currently we initiate MAC stats DMA and busy-wait for completion when
      stats are requested.  We can improve on this with a periodic timer to
      initiate and poll for stats, and opportunistically poll when stats are
      requested.
      
      Since efx_nic::stats_disable_count and efx_stats_{disable,enable}()
      are Falcon-specific, rename them and move them accordingly.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      55edc6e6
    • B
      sfc: Fix bugs in RX queue flushing · 127e6e10
      Ben Hutchings 提交于
      Avoid overrunning the hardware limit of 4 concurrent RX queue flushes.
      Expand the queue flush state to support this.  Make similar changes to
      TX flushing to keep the code symmetric.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      127e6e10
  4. 25 11月, 2009 8 次提交
  5. 24 10月, 2009 8 次提交
  6. 27 8月, 2009 1 次提交
    • B
      sfc: Work around XMAC bug causing packet loss with some peers · cc11763b
      Ben Hutchings 提交于
      Received frames must be re-clocked by the local XGXS to the 156.25 MHz
      (DDR) clock of the XGMII.  If the remote clock is slightly faster this
      can reduce a minimum IPG of 64 bit-times (1 cycle) to 32 bit-times
      (half a cycle).  If the XMAC detects that a frame has reached the
      maximum RX frame length in the same cycle that it receives one of
      these reduced IPGs, it may miss the IPG, causing two valid frames to
      be treated as a single invalid frame (over-length with bad CRC).
      
      We work around this by increasing the maximum RX frame length so that
      peers with matched MTU will not provoke this bug.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cc11763b
  7. 30 4月, 2009 2 次提交
  8. 22 3月, 2009 1 次提交
  9. 02 3月, 2009 3 次提交
  10. 31 1月, 2009 2 次提交