[dpdk-dev,v2] ixgbe: Fix vf tx issue

Message ID 1425299145-25147-1-git-send-email-changchun.ouyang@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Ouyang Changchun March 2, 2015, 12:25 p.m. UTC
  X550 should use the correct macro to set the VFTDT and VFRDT register address.
This patch fixes the VF TX issue for Sageville.

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
---

Change in v2
  -- Fix one more mac type: ixgbe_mac_X550EM_x_vf.

 lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
  

Comments

Cunming Liang March 6, 2015, 3:46 a.m. UTC | #1
Hi,

On 3/2/2015 8:25 PM, Ouyang Changchun wrote:
> X550 should use the correct macro to set the VFTDT and VFRDT register address.
> This patch fixes the VF TX issue for Sageville.
>
> Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
> ---
>
> Change in v2
>    -- Fix one more mac type: ixgbe_mac_X550EM_x_vf.
>
>   lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> index 3059375..9217cbe 100644
> --- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> +++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> @@ -1935,7 +1935,9 @@ ixgbe_dev_tx_queue_setup(struct rte_eth_dev *dev,
>   	 * Modification to set VFTDT for virtual function if vf is detected
>   	 */
>   	if (hw->mac.type == ixgbe_mac_82599_vf ||
> -	    hw->mac.type == ixgbe_mac_X540_vf)
> +	    hw->mac.type == ixgbe_mac_X540_vf ||
> +	    hw->mac.type == ixgbe_mac_X550_vf ||
> +	    hw->mac.type == ixgbe_mac_X550EM_x_vf)
>   		txq->tdt_reg_addr = IXGBE_PCI_REG_ADDR(hw, IXGBE_VFTDT(queue_idx));
>   	else
>   		txq->tdt_reg_addr = IXGBE_PCI_REG_ADDR(hw, IXGBE_TDT(txq->reg_idx));
> @@ -2200,7 +2202,9 @@ ixgbe_dev_rx_queue_setup(struct rte_eth_dev *dev,
>   	 * Modified to setup VFRDT for Virtual Function
>   	 */
>   	if (hw->mac.type == ixgbe_mac_82599_vf ||
> -	    hw->mac.type == ixgbe_mac_X540_vf) {
> +	    hw->mac.type == ixgbe_mac_X540_vf ||
> +	    hw->mac.type == ixgbe_mac_X550_vf ||
> +	    hw->mac.type == ixgbe_mac_X550EM_x_vf) {
>   		rxq->rdt_reg_addr =
>   			IXGBE_PCI_REG_ADDR(hw, IXGBE_VFRDT(queue_idx));
>   		rxq->rdh_reg_addr =

Acked-by:Cunming Liang <cunming.liang@intel.com 
<mailto:cunming.liang@intel.com>>
  
Thomas Monjalon March 9, 2015, 8:18 a.m. UTC | #2
> > X550 should use the correct macro to set the VFTDT and VFRDT register address.
> > This patch fixes the VF TX issue for Sageville.
> >
> > Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
> 
> Acked-by:Cunming Liang <cunming.liang@intel.com 
> <mailto:cunming.liang@intel.com>>

Applied, thanks
  

Patch

diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
index 3059375..9217cbe 100644
--- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
+++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
@@ -1935,7 +1935,9 @@  ixgbe_dev_tx_queue_setup(struct rte_eth_dev *dev,
 	 * Modification to set VFTDT for virtual function if vf is detected
 	 */
 	if (hw->mac.type == ixgbe_mac_82599_vf ||
-	    hw->mac.type == ixgbe_mac_X540_vf)
+	    hw->mac.type == ixgbe_mac_X540_vf ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf)
 		txq->tdt_reg_addr = IXGBE_PCI_REG_ADDR(hw, IXGBE_VFTDT(queue_idx));
 	else
 		txq->tdt_reg_addr = IXGBE_PCI_REG_ADDR(hw, IXGBE_TDT(txq->reg_idx));
@@ -2200,7 +2202,9 @@  ixgbe_dev_rx_queue_setup(struct rte_eth_dev *dev,
 	 * Modified to setup VFRDT for Virtual Function
 	 */
 	if (hw->mac.type == ixgbe_mac_82599_vf ||
-	    hw->mac.type == ixgbe_mac_X540_vf) {
+	    hw->mac.type == ixgbe_mac_X540_vf ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf) {
 		rxq->rdt_reg_addr =
 			IXGBE_PCI_REG_ADDR(hw, IXGBE_VFRDT(queue_idx));
 		rxq->rdh_reg_addr =