diff options
author | Radoslaw Tyl <radoslawx.tyl@intel.com> | 2021-06-30 10:15:31 +0200 |
---|---|---|
committer | Tony Nguyen <anthony.l.nguyen@intel.com> | 2021-11-17 08:07:42 -0800 |
commit | c869259881a36fa86086efe661c74a6a9de5b169 (patch) | |
tree | a7a831ad61fbf8e1f8dcf856c8cf6a16c5d5ca82 /drivers/net/ethernet/intel/ixgbevf/vf.h | |
parent | 9c9463c29d1b957f2e4cbe31ad88a4b6a3086199 (diff) |
ixgbevf: Mailbox improvements
Improve reliability of the mailbox communication and remove
its potential flaws that may lead to the undefined or faulty behavior.
Recently some users reported issues on ESX with 10G Intel NICs which were
found to be caused by incorrect implementation of the PF-VF mailbox
communication.
Technical investigation highlighted areas to improve in the communication
between PF or VF that wants to send the message (sender) and the other
part which receives the message (receiver):
- Locking the mailbox when the sender wants to send a message
- Releasing the mailbox when the communication ends
- Returning the result of the mailbox message execution
Signed-off-by: Radoslaw Tyl <radoslawx.tyl@intel.com>
Tested-by: Tony Brelinski <tony.brelinski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/ixgbevf/vf.h')
-rw-r--r-- | drivers/net/ethernet/intel/ixgbevf/vf.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/ethernet/intel/ixgbevf/vf.h b/drivers/net/ethernet/intel/ixgbevf/vf.h index 1d8209df4162..54158dac8707 100644 --- a/drivers/net/ethernet/intel/ixgbevf/vf.h +++ b/drivers/net/ethernet/intel/ixgbevf/vf.h @@ -73,10 +73,9 @@ struct ixgbe_mac_info { struct ixgbe_mbx_operations { s32 (*init_params)(struct ixgbe_hw *hw); + void (*release)(struct ixgbe_hw *hw); s32 (*read)(struct ixgbe_hw *, u32 *, u16); s32 (*write)(struct ixgbe_hw *, u32 *, u16); - s32 (*read_posted)(struct ixgbe_hw *, u32 *, u16); - s32 (*write_posted)(struct ixgbe_hw *, u32 *, u16); s32 (*check_for_msg)(struct ixgbe_hw *); s32 (*check_for_ack)(struct ixgbe_hw *); s32 (*check_for_rst)(struct ixgbe_hw *); @@ -96,7 +95,7 @@ struct ixgbe_mbx_info { struct ixgbe_mbx_stats stats; u32 timeout; u32 udelay; - u32 v2p_mailbox; + u32 vf_mailbox; u16 size; }; |