linux_dsm_epyc7002/drivers/net/ethernet/sfc
Shradha Shah 910c8789a7 sfc: set the MAC address using MC_CMD_VADAPTOR_SET_MAC
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: Shradha Shah <sshah@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-05-21 18:43:55 -04:00
..
bitfield.h sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
ef10_regs.h sfc: Remove unused definitions of EF10 user-mode DMA descriptors 2014-02-12 17:53:34 -05:00
ef10_sriov.c sfc: Implement dummy disable of VF spoof check for EF10 2015-05-21 18:43:55 -04:00
ef10_sriov.h sfc: set the MAC address using MC_CMD_VADAPTOR_SET_MAC 2015-05-21 18:43:55 -04:00
ef10.c sfc: set the MAC address using MC_CMD_VADAPTOR_SET_MAC 2015-05-21 18:43:55 -04:00
efx.c sfc: set the MAC address using MC_CMD_VADAPTOR_SET_MAC 2015-05-21 18:43:55 -04:00
efx.h sfc: add ndo_set_vf_mac() function for EF10 2015-05-21 18:43:54 -04:00
enum.h sfc: Change entity reset on MC reboot to a new datapath-only reset. 2015-05-21 18:43:54 -04:00
ethtool.c sfc: protect filter table against use-after-free 2015-05-21 18:43:53 -04:00
falcon_boards.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
falcon.c sfc: Bind the sfc driver to any available VF's 2015-05-09 16:16:48 -04:00
farch_regs.h sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
farch.c sfc: Own header for nic-specific sriov functions, single instance of netdev_ops and sriov removed from Falcon code 2015-05-09 16:16:46 -04:00
filter.h sfc: Use ether_addr_copy and eth_broadcast_addr 2014-03-10 13:53:37 -04:00
io.h sfc: PIO:Restrict to 64bit arch and use 64-bit writes. 2014-06-11 15:36:21 -07:00
Kconfig sfc: Minimal support for 40G link speed 2013-09-05 22:32:57 +01:00
Makefile sfc: Enable VF's via a write to the sysfs file sriov_numvfs 2015-05-09 16:16:46 -04:00
mcdi_mon.c sfc: Add new sensor names 2013-12-12 22:06:54 +00:00
mcdi_pcol.h sfc: set the MAC address using MC_CMD_VADAPTOR_SET_MAC 2015-05-21 18:43:55 -04:00
mcdi_port.c sfc: set the MAC address using MC_CMD_VADAPTOR_SET_MAC 2015-05-21 18:43:55 -04:00
mcdi.c sfc: Change entity reset on MC reboot to a new datapath-only reset. 2015-05-21 18:43:54 -04:00
mcdi.h sfc: Initialise MCDI buffers to 0 on declaration. 2015-05-21 18:43:53 -04:00
mdio_10g.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
mdio_10g.h sfc: Remove extern from function prototypes 2013-09-24 12:52:53 -07:00
mtd.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
net_driver.h sfc: set the MAC address using MC_CMD_VADAPTOR_SET_MAC 2015-05-21 18:43:55 -04:00
nic.c sfc: fix calling of free_irq with already free vector 2014-05-12 14:56:45 -04:00
nic.h sfc: Store vf_index in nic_data for Ef10. 2015-05-21 18:43:52 -04:00
phy.h sfc: Remove extern from function prototypes 2013-09-24 12:52:53 -07:00
ptp.c sfc: Initialise MCDI buffers to 0 on declaration. 2015-05-21 18:43:53 -04:00
qt202x_phy.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
rx.c sfc: Add support for busy polling 2014-07-22 19:55:20 -07:00
selftest.c sfc: Fix memcpy() with const destination compiler warning. 2015-04-17 15:15:40 -04:00
selftest.h sfc: Add MC BISTs to ethtool offline self test on EF10 2013-12-12 22:05:48 +00:00
siena_sriov.c sfc: save old MAC address in case sriov_mac_address_changed fails 2015-05-21 18:43:53 -04:00
siena_sriov.h sfc: save old MAC address in case sriov_mac_address_changed fails 2015-05-21 18:43:53 -04:00
siena.c sfc: set the MAC address using MC_CMD_VADAPTOR_SET_MAC 2015-05-21 18:43:55 -04:00
sriov.c sfc: add ndo_set_vf_link_state() function for EF10 2015-05-21 18:43:54 -04:00
sriov.h sfc: add ndo_set_vf_link_state() function for EF10 2015-05-21 18:43:54 -04:00
tenxpress.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
tx.c sfc: remove incorrect EFX_BUG_ON_PARANOID check 2014-10-22 12:51:16 -04:00
txc43128_phy.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
vfdi.h ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
workarounds.h sfc: Update copyright banners 2013-08-29 23:34:51 +01:00