i40evf: track outstanding client request
The iWarp client cannot continue until this operation has been completed by the PF driver. Sleep (with timeout) until the reply from the PF driver has been received. Change-ID: I5dc41b857bba32d0218b7ce167b5da122dadf349 Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
d7ce6422d6
commit
e5f77f4a2f
|
@ -81,6 +81,7 @@ enum i40e_virtchnl_ops {
|
|||
I40E_VIRTCHNL_OP_GET_STATS = 15,
|
||||
I40E_VIRTCHNL_OP_FCOE = 16,
|
||||
I40E_VIRTCHNL_OP_EVENT = 17, /* must ALWAYS be 17 */
|
||||
I40E_VIRTCHNL_OP_CONFIG_IWARP_IRQ_MAP = 21,
|
||||
I40E_VIRTCHNL_OP_CONFIG_RSS_KEY = 23,
|
||||
I40E_VIRTCHNL_OP_CONFIG_RSS_LUT = 24,
|
||||
I40E_VIRTCHNL_OP_GET_RSS_HENA_CAPS = 25,
|
||||
|
|
|
@ -195,6 +195,7 @@ struct i40evf_adapter {
|
|||
u64 hw_csum_rx_error;
|
||||
u32 rx_desc_count;
|
||||
int num_msix_vectors;
|
||||
u32 client_pending;
|
||||
struct msix_entry *msix_entries;
|
||||
|
||||
u32 flags;
|
||||
|
|
|
@ -999,6 +999,10 @@ void i40evf_virtchnl_completion(struct i40evf_adapter *adapter,
|
|||
if (v_opcode != adapter->current_op)
|
||||
return;
|
||||
break;
|
||||
case I40E_VIRTCHNL_OP_CONFIG_IWARP_IRQ_MAP:
|
||||
adapter->client_pending &=
|
||||
~(BIT(I40E_VIRTCHNL_OP_CONFIG_IWARP_IRQ_MAP));
|
||||
break;
|
||||
case I40E_VIRTCHNL_OP_GET_RSS_HENA_CAPS: {
|
||||
struct i40e_virtchnl_rss_hena *vrh =
|
||||
(struct i40e_virtchnl_rss_hena *)msg;
|
||||
|
|
Loading…
Reference in New Issue