1. 30 11月, 2009 3 次提交
    • B
      sfc: Add support for SFC9000 family (2) · 8880f4ec
      Ben Hutchings 提交于
      This integrates support for the SFC9000 family of 10G Ethernet
      controllers and LAN-on-motherboard chips, starting with the SFL9021
      'Siena' and SFC9020 'Bethpage'.
      
      Credit for this code is largely due to my colleagues at Solarflare:
      
         Guido Barzini
         Steve Hodgson
         Kieran Mansley
         Matthew Slattery
         Neil Turton
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8880f4ec
    • B
      sfc: Implement ethtool reset operation · eb9f6744
      Ben Hutchings 提交于
      Refactor efx_reset_down() and efx_reset_up() accordingly.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      eb9f6744
    • B
      sfc: Refactor link configuration · d3245b28
      Ben Hutchings 提交于
      Refactor PHY, MAC and NIC configuration operations so that the
      existing link configuration can be re-pushed with:
      
      	efx->phy_op->reconfigure(efx);
      	efx->mac_op->reconfigure(efx);
      
      and a new configuration with:
      
      	efx->nic_op->reconfigure_port(efx);
      
      (plus locking and error-checking).
      
      We have not held the link settings in software (aside from flow
      control), and have relied on asking the hardware what they are.  This
      is a problem because in some cases the hardware may no longer be in a
      state to tell us.  In particular, if an entire multi-port board is
      reset through one port, the driver bindings to other ports have no
      chance to save settings before recovering.
      
      We only actually need to keep track of the autonegotiation settings,
      so add an ethtool advertising mask to struct efx_nic, initialise it
      in PHY init and update it as necessary.
      
      Remove now-unneeded uses of efx_phy_op::{get,set}_settings() and
      struct ethtool_cmd.
      
      Much of this was done by Steve Hodgson <shodgson@solarflare.com>.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d3245b28
  2. 29 11月, 2009 1 次提交
    • S
      sfc: Simplify PHY polling · fdaa9aed
      Steve Hodgson 提交于
      Falcon can generate events for LASI interrupts from the PHY, but in
      practice we have never implemented this in reference designs.  Instead
      we have polled, inserted the appropriate events, and then handled the
      events later.  This is a waste of time and code.
      
      Instead, make PHY poll functions update the link state synchronously
      and report whether it changed.  We can still make use of the LASI
      registers as a shortcut on the SFT9001.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fdaa9aed
  3. 27 11月, 2009 2 次提交
  4. 25 11月, 2009 3 次提交
  5. 24 10月, 2009 3 次提交
  6. 01 9月, 2009 1 次提交
  7. 22 3月, 2009 1 次提交
  8. 31 1月, 2009 2 次提交
  9. 22 1月, 2009 1 次提交
  10. 23 12月, 2008 1 次提交
  11. 06 11月, 2008 1 次提交
  12. 03 9月, 2008 3 次提交
  13. 29 4月, 2008 1 次提交