1. 16 6月, 2016 1 次提交
  2. 26 5月, 2016 1 次提交
  3. 29 4月, 2016 1 次提交
    • J
      sfc: disable RSS when unsupported · dcb4123c
      Jon Cooper 提交于
      When certain firmware variants are selected (via the sfboot utility) the
      SFC7000 and SFC8000 series NICs don't support RSS. The driver still
      tries (and fails) to insert filters with the RSS flag, and the NIC fails
      to pass traffic.
      
      When the firmware reports RSS_LIMITED suppress allocating a default RSS
      context. The absence of an RSS context is picked up in filter insertion
      and RSS flags are discarded.
      Signed-off-by: NBert Kenward <bkenward@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      dcb4123c
  4. 24 12月, 2015 2 次提交
  5. 12 12月, 2015 1 次提交
  6. 06 12月, 2015 1 次提交
    • D
      sfc: check warm_boot_count after other functions have been reset · abd86a55
      Daniel Pieczko 提交于
      A change in MCFW behaviour means that the net driver must update its record
      of the warm_boot_count by reading it from the ER_DZ_BIU_MC_SFT_STATUS
      register.
      
      On v4.6.x MCFW the global boot count was incremented when some functions
      needed to be reset to enable multicast chaining, so all functions saw the
      same value.  In that case, the driver needed to increment its
      warm_boot_count when other functions were reset, to avoid noticing it later
      and then trying to reset itself to recover unnecessarily.
      
      With v4.7+ MCFW, the boot count in firmware doesn't change as that is
      unnecessary since the PFs that have been reset will each receive an MC
      reboot notification.  In that case, the driver re-reads the unchanged
      value.
      Signed-off-by: NBert Kenward <bkenward@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      abd86a55
  7. 02 12月, 2015 1 次提交
  8. 03 11月, 2015 1 次提交
  9. 12 10月, 2015 1 次提交
    • D
      sfc: fully reset if MC_REBOOT event received without warm_boot_count increment · c577e59e
      Daniel Pieczko 提交于
      On EF10, MC_CMD_VPORT_RECONFIGURE can cause a CODE_MC_REBOOT event
      to be sent to a function without incrementing the (adapter-wide)
      warm_boot_count.  In this case, the reboot is not detected by the
      loop on efx_mcdi_poll_reboot(), so prepare for recovery from an MC
      reboot anyway.  When this codepath is run, the MC has always just
      rebooted, so this recovery is valid.
      
      The loop on efx_mcdi_poll_reboot() is still required for other MC
      reboot cases, so that actions in response to an MC reboot are
      performed, such as clearing locally calculated statistics.
      Siena NICs are unaffected by this change as the above scenario
      does not apply.
      Signed-off-by: NShradha Shah <sshah@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c577e59e
  10. 29 8月, 2015 1 次提交
    • S
      sfc: Allow driver to cope with a lower number of VIs than it needs for RSS · b0fbdae1
      Shradha Shah 提交于
      Previously, the driver would refuse to load if it couldn't secure
      enough VIs from the MC to fulfill its RSS requirements.
      This was causing probe to fail on later functions in
      configurations where we'd run out of VIs, such as having many
      VFs.
      
      This change allows the driver to load with fewer VIs, down to a
      minimum of 2. A warning will be printed saying that RSS
      requirements were not met, possibly affecting performance.
      
      efx->max_tx_channels needs to be set to avoid going down the
      failure path in efx_probe_nic() immediately in the loop after the
      probe() NIC-type function.
      Also, Set rc=ENOSPC when bombing out of efx_probe_nic due to lack
      of VIs.
      Signed-off-by: NShradha Shah <sshah@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b0fbdae1
  11. 28 8月, 2015 1 次提交
  12. 01 8月, 2015 2 次提交
  13. 22 7月, 2015 8 次提交
  14. 09 7月, 2015 3 次提交
  15. 03 6月, 2015 12 次提交
  16. 28 5月, 2015 1 次提交
    • E
      sfc: add tracing of MCDI commands · 75aba2a5
      Edward Cree 提交于
      MCDI tracing is conditional on CONFIG_SFC_MCDI_LOGGING, which is enabled
       by default.
      
      Each MCDI command will produce a console line like
          sfc dom:bus:dev:fn ifname: MCDI RPC REQ: xxxxxxxx [yyyyyyyy...]
      where xxxxxxxx etc. are the raw MCDI payload in 32-bit hex chunks.
      The response will then produce a similar line with "RESP" instead of "REQ",
       and containing the MCDI response payload (if any).
      Signed-off-by: NEdward Cree <ecree@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      75aba2a5
  17. 22 5月, 2015 2 次提交
    • S
      sfc: set the MAC address using MC_CMD_VADAPTOR_SET_MAC · 910c8789
      Shradha Shah 提交于
      Add a set_mac_address() NIC-type function for EF10 only, and
      use this to set the MAC address on the vadaptor. For Siena and
      earlier, the MAC address continues to be set by MC_CMD_SET_MAC;
      this is still called on EF10, and including a MAC address in
      this command has no effect.
      
      The sriov_mac_address_changed() NIC-type function is no longer
      needed on EF10, but it is needed for Siena where it is used to
      update the peer address of the PF for VFDI.  Change this to use
      the new set_mac_address function pointer.
      
      efx_ef10_sriov_mac_address_changed() is no longer called, as VFs
      will try to change the MAC address on their vadaptor rather than
      trying to change to the context of the PF to alter the vport.
      
      When a VF is running in direct passthrough mode with MAC spoofing
      enabled, it will be able to change the MAC address on its vadaptor.
      In this case, there is a link to the PF, so find the correct VF in
      its ef10_vf array and update the MAC address.
      
      ndo_set_mac_address() can be called during driver unload while
      bonding, and in this case the device has already been stopped, so
      don't call efx_net_open() to restart it after reconfiguration.
      
      efx->port_enabled is set to false in efx_stop_port(), so it is
      indicator of whether the device needs to be restarted.
      Signed-off-by: NShradha Shah <sshah@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      910c8789
    • E
      sfc: add ndo_set_vf_link_state() function for EF10 · 4392dc69
      Edward Cree 提交于
      Exercised with
      "ip link set <PF intf> vf <vf_i> state {auto|enable|disable}"
      Sets the reporting policy for VF link state to either
       - mirror physical link state
       - always up
       - always down
      
      get VF link state mode in efx_ef10_sriov_get_vf_config
      
      Exercised by
      "ip link show <PF intf>";
      output will include a line like
      vf 0 MAC 12:34:56:78:9a:bc, link-state auto
      Signed-off-by: NShradha Shah <sshah@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4392dc69