mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 01:04:19 +08:00
i40e/i40evf: set headwb Tx context flags and use them
Set appropriate fields in Tx queue configuration virtchnl message to pf to enable headwb and setup headwb addr. Then use that info from the VF to set headwb and headwb_addr instead of always enabling them. Change-ID: I7d393d1b2b07f0f3355b3a4f7c2d3c6ee3b0d622 Signed-off-by: Ashish Shah <ashish.n.shah@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
9f62ecf425
commit
5d29896a81
@ -248,9 +248,8 @@ static int i40e_config_vsi_tx_queue(struct i40e_vf *vf, u16 vsi_idx,
|
||||
tx_ctx.qlen = info->ring_len;
|
||||
tx_ctx.rdylist = le16_to_cpu(pf->vsi[vsi_idx]->info.qs_handle[0]);
|
||||
tx_ctx.rdylist_act = 0;
|
||||
tx_ctx.head_wb_ena = 1;
|
||||
tx_ctx.head_wb_addr = info->dma_ring_addr +
|
||||
(info->ring_len * sizeof(struct i40e_tx_desc));
|
||||
tx_ctx.head_wb_ena = info->headwb_enabled;
|
||||
tx_ctx.head_wb_addr = info->dma_headwb_addr;
|
||||
|
||||
/* clear the context in the HMC */
|
||||
ret = i40e_clear_lan_tx_queue_context(hw, pf_queue_id);
|
||||
|
@ -233,6 +233,9 @@ void i40evf_configure_queues(struct i40evf_adapter *adapter)
|
||||
vqpi->txq.queue_id = i;
|
||||
vqpi->txq.ring_len = adapter->tx_rings[i]->count;
|
||||
vqpi->txq.dma_ring_addr = adapter->tx_rings[i]->dma;
|
||||
vqpi->txq.headwb_enabled = 1;
|
||||
vqpi->txq.dma_headwb_addr = vqpi->txq.dma_ring_addr +
|
||||
(vqpi->txq.ring_len * sizeof(struct i40e_tx_desc));
|
||||
|
||||
vqpi->rxq.vsi_id = vqci->vsi_id;
|
||||
vqpi->rxq.queue_id = i;
|
||||
|
Loading…
Reference in New Issue
Block a user