diff options
author | Igor Russkikh <igor.russkikh@aquantia.com> | 2018-03-20 14:40:33 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-03-22 12:02:49 -0400 |
commit | 47203b3426a6d0ac8b7a96259ed6784158b6d74b (patch) | |
tree | c68df4bb78daf637325949900e767b0b1fd15a19 /drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.h | |
parent | net: aquantia: Fix a regression with reset on old firmware (diff) | |
download | linux-dev-47203b3426a6d0ac8b7a96259ed6784158b6d74b.tar.xz linux-dev-47203b3426a6d0ac8b7a96259ed6784158b6d74b.zip |
net: aquantia: Change inefficient wait loop on fw data reads
B1 hardware changes behavior of mailbox interface, it has busy bit
always raised. Data ready condition should be detected by increment
of address register.
Old code has empty `for` loop, and that caused cpu overloads on B1
hardware. aq_nic_service_timer_cb consumed ~100ms because of that.
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r-- | drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.h b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.h index 2c690947910a..cd8f18f39c61 100644 --- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.h +++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.h @@ -161,6 +161,7 @@ struct __packed hw_aq_atl_utils_mbox { #define HAL_ATLANTIC_UTILS_CHIP_MPI_AQ 0x00000010U #define HAL_ATLANTIC_UTILS_CHIP_REVISION_A0 0x01000000U #define HAL_ATLANTIC_UTILS_CHIP_REVISION_B0 0x02000000U +#define HAL_ATLANTIC_UTILS_CHIP_REVISION_B1 0x04000000U #define IS_CHIP_FEATURE(_F_) (HAL_ATLANTIC_UTILS_CHIP_##_F_ & \ self->chip_features) |