During VF reset, the PCIE BME (bus master enable) register needs to be reconfigured to ensure proper NIC functionality.
Signed-off-by: Zaiyu Wang <[email protected]> --- drivers/net/txgbe/base/txgbe_regs.h | 2 ++ drivers/net/txgbe/base/txgbe_vf.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/drivers/net/txgbe/base/txgbe_regs.h b/drivers/net/txgbe/base/txgbe_regs.h index cfe9b94e78..638404bdff 100644 --- a/drivers/net/txgbe/base/txgbe_regs.h +++ b/drivers/net/txgbe/base/txgbe_regs.h @@ -1273,6 +1273,8 @@ enum txgbe_5tuple_protocol { #define TXGBE_BMECTL 0x012020 #define TXGBE_BMEPEND 0x000168 +#define TXGBE_BME_AML 0x0004B8 + /* P2V Mailbox */ #define TXGBE_MBMEM(i) (0x005000 + 0x40 * (i)) /* 0-63 */ #define TXGBE_MBCTL(i) (0x000600 + 4 * (i)) /* 0-63 */ diff --git a/drivers/net/txgbe/base/txgbe_vf.c b/drivers/net/txgbe/base/txgbe_vf.c index 5e41ba1a3e..efa32ca10a 100644 --- a/drivers/net/txgbe/base/txgbe_vf.c +++ b/drivers/net/txgbe/base/txgbe_vf.c @@ -133,6 +133,10 @@ s32 txgbe_reset_hw_vf(struct txgbe_hw *hw) usec_delay(5); } + /* amlite: bme */ + if (hw->mac.type == txgbe_mac_aml_vf) + wr32(hw, TXGBE_BME_AML, 0x1); + if (!timeout) return TXGBE_ERR_RESET_FAILED; -- 2.21.0.windows.1

