|
|
@@ -330,9 +330,14 @@ int ixgbevf_get_reta_locked(struct ixgbe_hw *hw, u32 *reta, int num_rx_queues)
|
|
|
* Thus return an error if API doesn't support RETA querying or querying
|
|
|
* is not supported for this device type.
|
|
|
*/
|
|
|
- if (hw->api_version != ixgbe_mbox_api_12 ||
|
|
|
- hw->mac.type >= ixgbe_mac_X550_vf)
|
|
|
+ switch (hw->api_version) {
|
|
|
+ case ixgbe_mbox_api_13:
|
|
|
+ case ixgbe_mbox_api_12:
|
|
|
+ if (hw->mac.type >= ixgbe_mac_X550_vf)
|
|
|
+ break;
|
|
|
+ default:
|
|
|
return -EOPNOTSUPP;
|
|
|
+ }
|
|
|
|
|
|
msgbuf[0] = IXGBE_VF_GET_RETA;
|
|
|
|
|
|
@@ -391,9 +396,14 @@ int ixgbevf_get_rss_key_locked(struct ixgbe_hw *hw, u8 *rss_key)
|
|
|
* Thus return an error if API doesn't support RSS Random Key retrieval
|
|
|
* or if the operation is not supported for this device type.
|
|
|
*/
|
|
|
- if (hw->api_version != ixgbe_mbox_api_12 ||
|
|
|
- hw->mac.type >= ixgbe_mac_X550_vf)
|
|
|
+ switch (hw->api_version) {
|
|
|
+ case ixgbe_mbox_api_13:
|
|
|
+ case ixgbe_mbox_api_12:
|
|
|
+ if (hw->mac.type >= ixgbe_mac_X550_vf)
|
|
|
+ break;
|
|
|
+ default:
|
|
|
return -EOPNOTSUPP;
|
|
|
+ }
|
|
|
|
|
|
msgbuf[0] = IXGBE_VF_GET_RSS_KEY;
|
|
|
err = hw->mbx.ops.write_posted(hw, msgbuf, 1);
|
|
|
@@ -545,6 +555,11 @@ static s32 ixgbevf_update_xcast_mode(struct ixgbe_hw *hw, int xcast_mode)
|
|
|
|
|
|
switch (hw->api_version) {
|
|
|
case ixgbe_mbox_api_12:
|
|
|
+ /* promisc introduced in 1.3 version */
|
|
|
+ if (xcast_mode == IXGBEVF_XCAST_MODE_PROMISC)
|
|
|
+ return -EOPNOTSUPP;
|
|
|
+ /* Fall threw */
|
|
|
+ case ixgbe_mbox_api_13:
|
|
|
break;
|
|
|
default:
|
|
|
return -EOPNOTSUPP;
|
|
|
@@ -884,6 +899,7 @@ int ixgbevf_get_queues(struct ixgbe_hw *hw, unsigned int *num_tcs,
|
|
|
switch (hw->api_version) {
|
|
|
case ixgbe_mbox_api_11:
|
|
|
case ixgbe_mbox_api_12:
|
|
|
+ case ixgbe_mbox_api_13:
|
|
|
break;
|
|
|
default:
|
|
|
return 0;
|