Commit e1f7dedc authored by David S. Miller's avatar David S. Miller

Merge branch 'i40e'

Aaron Brown says:

====================
Intel Wired LAN Driver Updates

This series contains updates to i40e that are primarily minor fixes or
general cleanup.

Shannon fixes a bug where the VMDq queue is not associated with the
right setup within the hardware.

Mitch provides a patch adjusting where the VF is reset and another
one adding meaningful context to a message.

Jesse cleans up white space comments and parenthesis.

Catherine bumps the version.
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents b53c7336 962dd666
...@@ -93,7 +93,6 @@ ...@@ -93,7 +93,6 @@
#define I40E_CURRENT_NVM_VERSION_HI 0x2 #define I40E_CURRENT_NVM_VERSION_HI 0x2
#define I40E_CURRENT_NVM_VERSION_LO 0x30 #define I40E_CURRENT_NVM_VERSION_LO 0x30
/* magic for getting defines into strings */ /* magic for getting defines into strings */
#define STRINGIFY(foo) #foo #define STRINGIFY(foo) #foo
#define XSTRINGIFY(bar) STRINGIFY(bar) #define XSTRINGIFY(bar) STRINGIFY(bar)
......
...@@ -1195,8 +1195,8 @@ struct i40e_aqc_add_remove_cloud_filters_element_data { ...@@ -1195,8 +1195,8 @@ struct i40e_aqc_add_remove_cloud_filters_element_data {
} v4; } v4;
struct { struct {
u8 data[16]; u8 data[16];
} v6; } v6;
} ipaddr; } ipaddr;
__le16 flags; __le16 flags;
#define I40E_AQC_ADD_CLOUD_FILTER_SHIFT 0 #define I40E_AQC_ADD_CLOUD_FILTER_SHIFT 0
#define I40E_AQC_ADD_CLOUD_FILTER_MASK (0x3F << \ #define I40E_AQC_ADD_CLOUD_FILTER_MASK (0x3F << \
......
...@@ -162,7 +162,6 @@ i40e_status i40e_aq_queue_shutdown(struct i40e_hw *hw, ...@@ -162,7 +162,6 @@ i40e_status i40e_aq_queue_shutdown(struct i40e_hw *hw,
return status; return status;
} }
/** /**
* i40e_init_shared_code - Initialize the shared code * i40e_init_shared_code - Initialize the shared code
* @hw: pointer to hardware structure * @hw: pointer to hardware structure
......
...@@ -485,8 +485,7 @@ i40e_status i40e_configure_lan_hmc(struct i40e_hw *hw, ...@@ -485,8 +485,7 @@ i40e_status i40e_configure_lan_hmc(struct i40e_hw *hw,
/* Make one big object, a single SD */ /* Make one big object, a single SD */
info.count = 1; info.count = 1;
ret_code = i40e_create_lan_hmc_object(hw, &info); ret_code = i40e_create_lan_hmc_object(hw, &info);
if ((ret_code) && if (ret_code && (model == I40E_HMC_MODEL_DIRECT_PREFERRED))
(model == I40E_HMC_MODEL_DIRECT_PREFERRED))
goto try_type_paged; goto try_type_paged;
else if (ret_code) else if (ret_code)
goto configure_lan_hmc_out; goto configure_lan_hmc_out;
......
...@@ -38,7 +38,7 @@ static const char i40e_driver_string[] = ...@@ -38,7 +38,7 @@ static const char i40e_driver_string[] =
#define DRV_VERSION_MAJOR 0 #define DRV_VERSION_MAJOR 0
#define DRV_VERSION_MINOR 3 #define DRV_VERSION_MINOR 3
#define DRV_VERSION_BUILD 28 #define DRV_VERSION_BUILD 30
#define DRV_VERSION __stringify(DRV_VERSION_MAJOR) "." \ #define DRV_VERSION __stringify(DRV_VERSION_MAJOR) "." \
__stringify(DRV_VERSION_MINOR) "." \ __stringify(DRV_VERSION_MINOR) "." \
__stringify(DRV_VERSION_BUILD) DRV_KERN __stringify(DRV_VERSION_BUILD) DRV_KERN
...@@ -356,7 +356,6 @@ static struct rtnl_link_stats64 *i40e_get_netdev_stats_struct( ...@@ -356,7 +356,6 @@ static struct rtnl_link_stats64 *i40e_get_netdev_stats_struct(
struct rtnl_link_stats64 *vsi_stats = i40e_get_vsi_stats_struct(vsi); struct rtnl_link_stats64 *vsi_stats = i40e_get_vsi_stats_struct(vsi);
int i; int i;
if (test_bit(__I40E_DOWN, &vsi->state)) if (test_bit(__I40E_DOWN, &vsi->state))
return stats; return stats;
...@@ -2206,7 +2205,10 @@ static int i40e_configure_tx_ring(struct i40e_ring *ring) ...@@ -2206,7 +2205,10 @@ static int i40e_configure_tx_ring(struct i40e_ring *ring)
} }
/* Now associate this queue with this PCI function */ /* Now associate this queue with this PCI function */
qtx_ctl = I40E_QTX_CTL_PF_QUEUE; if (vsi->type == I40E_VSI_VMDQ2)
qtx_ctl = I40E_QTX_CTL_VM_QUEUE;
else
qtx_ctl = I40E_QTX_CTL_PF_QUEUE;
qtx_ctl |= ((hw->pf_id << I40E_QTX_CTL_PF_INDX_SHIFT) & qtx_ctl |= ((hw->pf_id << I40E_QTX_CTL_PF_INDX_SHIFT) &
I40E_QTX_CTL_PF_INDX_MASK); I40E_QTX_CTL_PF_INDX_MASK);
wr32(hw, I40E_QTX_CTL(pf_q), qtx_ctl); wr32(hw, I40E_QTX_CTL(pf_q), qtx_ctl);
...@@ -3600,7 +3602,7 @@ static int i40e_vsi_get_bw_info(struct i40e_vsi *vsi) ...@@ -3600,7 +3602,7 @@ static int i40e_vsi_get_bw_info(struct i40e_vsi *vsi)
/* Get the VSI level BW configuration per TC */ /* Get the VSI level BW configuration per TC */
aq_ret = i40e_aq_query_vsi_ets_sla_config(hw, vsi->seid, &bw_ets_config, aq_ret = i40e_aq_query_vsi_ets_sla_config(hw, vsi->seid, &bw_ets_config,
NULL); NULL);
if (aq_ret) { if (aq_ret) {
dev_info(&pf->pdev->dev, dev_info(&pf->pdev->dev,
"couldn't get pf vsi ets bw config, err %d, aq_err %d\n", "couldn't get pf vsi ets bw config, err %d, aq_err %d\n",
......
...@@ -977,8 +977,8 @@ static int i40e_clean_rx_irq(struct i40e_ring *rx_ring, int budget) ...@@ -977,8 +977,8 @@ static int i40e_clean_rx_irq(struct i40e_ring *rx_ring, int budget)
rx_desc = I40E_RX_DESC(rx_ring, i); rx_desc = I40E_RX_DESC(rx_ring, i);
qword = le64_to_cpu(rx_desc->wb.qword1.status_error_len); qword = le64_to_cpu(rx_desc->wb.qword1.status_error_len);
rx_status = (qword & I40E_RXD_QW1_STATUS_MASK) rx_status = (qword & I40E_RXD_QW1_STATUS_MASK) >>
>> I40E_RXD_QW1_STATUS_SHIFT; I40E_RXD_QW1_STATUS_SHIFT;
while (rx_status & (1 << I40E_RX_DESC_STATUS_DD_SHIFT)) { while (rx_status & (1 << I40E_RX_DESC_STATUS_DD_SHIFT)) {
union i40e_rx_desc *next_rxd; union i40e_rx_desc *next_rxd;
......
...@@ -75,6 +75,7 @@ typedef void (*I40E_ADMINQ_CALLBACK)(struct i40e_hw *, struct i40e_aq_desc *); ...@@ -75,6 +75,7 @@ typedef void (*I40E_ADMINQ_CALLBACK)(struct i40e_hw *, struct i40e_aq_desc *);
/* bitfields for Tx queue mapping in QTX_CTL */ /* bitfields for Tx queue mapping in QTX_CTL */
#define I40E_QTX_CTL_VF_QUEUE 0x0 #define I40E_QTX_CTL_VF_QUEUE 0x0
#define I40E_QTX_CTL_VM_QUEUE 0x1
#define I40E_QTX_CTL_PF_QUEUE 0x2 #define I40E_QTX_CTL_PF_QUEUE 0x2
/* debug masks - set these bits in hw->debug_mask to control output */ /* debug masks - set these bits in hw->debug_mask to control output */
......
...@@ -386,8 +386,8 @@ static int i40e_alloc_vsi_res(struct i40e_vf *vf, enum i40e_vsi_type type) ...@@ -386,8 +386,8 @@ static int i40e_alloc_vsi_res(struct i40e_vf *vf, enum i40e_vsi_type type)
vf->lan_vsi_index = vsi->idx; vf->lan_vsi_index = vsi->idx;
vf->lan_vsi_id = vsi->id; vf->lan_vsi_id = vsi->id;
dev_info(&pf->pdev->dev, dev_info(&pf->pdev->dev,
"LAN VSI index %d, VSI id %d\n", "VF %d assigned LAN VSI index %d, VSI id %d\n",
vsi->idx, vsi->id); vf->vf_id, vsi->idx, vsi->id);
/* If the port VLAN has been configured and then the /* If the port VLAN has been configured and then the
* VF driver was removed then the VSI port VLAN * VF driver was removed then the VSI port VLAN
* configuration was destroyed. Check if there is * configuration was destroyed. Check if there is
...@@ -1792,7 +1792,7 @@ int i40e_vc_process_vf_msg(struct i40e_pf *pf, u16 vf_id, u32 v_opcode, ...@@ -1792,7 +1792,7 @@ int i40e_vc_process_vf_msg(struct i40e_pf *pf, u16 vf_id, u32 v_opcode,
local_vf_id, v_opcode, msglen); local_vf_id, v_opcode, msglen);
return ret; return ret;
} }
wr32(hw, I40E_VFGEN_RSTAT1(local_vf_id), I40E_VFR_VFACTIVE);
switch (v_opcode) { switch (v_opcode) {
case I40E_VIRTCHNL_OP_VERSION: case I40E_VIRTCHNL_OP_VERSION:
ret = i40e_vc_get_version_msg(vf); ret = i40e_vc_get_version_msg(vf);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment