enum i40e_status_code i40e_read_nvm_word(struct i40e_hw *hw, u16 offset,
u16 *data)
{
+ enum i40e_status_code ret_code = I40E_SUCCESS;
+
#ifdef X722_SUPPORT
- if (hw->mac.type == I40E_MAC_X722)
- return i40e_read_nvm_word_aq(hw, offset, data);
+ if (hw->mac.type == I40E_MAC_X722) {
+ ret_code = i40e_acquire_nvm(hw, I40E_RESOURCE_READ);
+ if (!ret_code) {
+ ret_code = i40e_read_nvm_word_aq(hw, offset, data);
+ i40e_release_nvm(hw);
+ }
+ } else {
+ ret_code = i40e_read_nvm_word_srctl(hw, offset, data);
+ }
+#else
+ ret_code = i40e_read_nvm_word_srctl(hw, offset, data);
#endif
- return i40e_read_nvm_word_srctl(hw, offset, data);
+ return ret_code;
}
/**
enum i40e_status_code i40e_read_nvm_buffer(struct i40e_hw *hw, u16 offset,
u16 *words, u16 *data)
{
+ enum i40e_status_code ret_code = I40E_SUCCESS;
+
#ifdef X722_SUPPORT
- if (hw->mac.type == I40E_MAC_X722)
- return i40e_read_nvm_buffer_aq(hw, offset, words, data);
+ if (hw->mac.type == I40E_MAC_X722) {
+ ret_code = i40e_acquire_nvm(hw, I40E_RESOURCE_READ);
+ if (!ret_code) {
+ ret_code = i40e_read_nvm_buffer_aq(hw, offset, words,
+ data);
+ i40e_release_nvm(hw);
+ }
+ } else {
+ ret_code = i40e_read_nvm_buffer_srctl(hw, offset, words, data);
+ }
+#else
+ ret_code = i40e_read_nvm_buffer_srctl(hw, offset, words, data);
#endif
- return i40e_read_nvm_buffer_srctl(hw, offset, words, data);
+ return ret_code;
}
/**