diff options
author | David Ertman <davidx.m.ertman@intel.com> | 2014-03-05 02:54:19 -0500 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2014-03-08 02:48:58 -0500 |
commit | ad40064e88df1a95a3532a35071e46d8db1fbe74 (patch) | |
tree | 246abb850c0cf7c104b117ee39a17edb94b4bf26 /drivers/net | |
parent | 5bb731760810b30d67096cbdded96addba4f1292 (diff) |
e1000e: Fix ethtool offline tests for 82579 parts
Changes to the rar_entry_count value require a change to the indexing
used to access the SHRA[H|L] registers when testing them with
'ethtool -t <iface> offline'
Signed-off-by: Dave Ertman <davidx.m.ertman@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/ethernet/intel/e1000e/ethtool.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/ethernet/intel/e1000e/ethtool.c b/drivers/net/ethernet/intel/e1000e/ethtool.c index 7a479022a8c6..3c2898d0c2aa 100644 --- a/drivers/net/ethernet/intel/e1000e/ethtool.c +++ b/drivers/net/ethernet/intel/e1000e/ethtool.c | |||
@@ -917,15 +917,21 @@ static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data) | |||
917 | } | 917 | } |
918 | if (mac->type == e1000_pch2lan) { | 918 | if (mac->type == e1000_pch2lan) { |
919 | /* SHRAH[0,1,2] different than previous */ | 919 | /* SHRAH[0,1,2] different than previous */ |
920 | if (i == 7) | 920 | if (i == 1) |
921 | mask &= 0xFFF4FFFF; | 921 | mask &= 0xFFF4FFFF; |
922 | /* SHRAH[3] different than SHRAH[0,1,2] */ | 922 | /* SHRAH[3] different than SHRAH[0,1,2] */ |
923 | if (i == 10) | 923 | if (i == 4) |
924 | mask |= (1 << 30); | 924 | mask |= (1 << 30); |
925 | /* RAR[1-6] owned by management engine - skipping */ | ||
926 | if (i > 0) | ||
927 | i += 6; | ||
925 | } | 928 | } |
926 | 929 | ||
927 | REG_PATTERN_TEST_ARRAY(E1000_RA, ((i << 1) + 1), mask, | 930 | REG_PATTERN_TEST_ARRAY(E1000_RA, ((i << 1) + 1), mask, |
928 | 0xFFFFFFFF); | 931 | 0xFFFFFFFF); |
932 | /* reset index to actual value */ | ||
933 | if ((mac->type == e1000_pch2lan) && (i > 6)) | ||
934 | i -= 6; | ||
929 | } | 935 | } |
930 | 936 | ||
931 | for (i = 0; i < mac->mta_reg_count; i++) | 937 | for (i = 0; i < mac->mta_reg_count; i++) |