e1000e: fix .ndo_set_rx_mode for 82579
authorBruce Allan <bruce.w.allan@intel.com>
Sat, 14 Apr 2012 03:28:50 +0000 (03:28 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 2 May 2012 08:58:53 +0000 (01:58 -0700)
commit69e1e0197ce739d86ca33fd275962d6cbd1b107a
tree23b34df1c0fbe7d941146489655d26c028b0f31f
parentcb17aab916b0467faecf241c9b3b396b6da045d9
e1000e: fix .ndo_set_rx_mode for 82579

Secondary unicast and multicast addresses are added to the Receive
Address registers (RAR) for most parts supported by the driver.  For
82579, there is only one actual RAR and a number of Shared Receive Address
registers (SHRAR) that are shared among the driver and f/w which can be
reserved and write-protected by the f/w.  On this device, use the SHRARs
that are not taken by f/w for the additional addresses.

Add a MAC ops function pointer infrastructure (similar to other MAC
operations in the driver) for setting RARs, introduce a new rar_set
function for 82579 and convert the existing code that sets RARs on other
devices to a generic rar_set function.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/e1000e/80003es2lan.c
drivers/net/ethernet/intel/e1000e/82571.c
drivers/net/ethernet/intel/e1000e/e1000.h
drivers/net/ethernet/intel/e1000e/hw.h
drivers/net/ethernet/intel/e1000e/ich8lan.c
drivers/net/ethernet/intel/e1000e/mac.c
drivers/net/ethernet/intel/e1000e/netdev.c