Skip to contentSkip to conversation

ixgbe: support X540 VF

PATCH Applied Stephen Hemminger 2 participants 4 messages Dec 9, 2014 – Dec 17, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ixgbe: support X540 VF

Add missing setup for X540 MAC type when setting up VF. Additional check exists in Linux driver but not in DPDK.

Signed-off-yb: Bill Hong <[email protected]>

lib/librte_pmd_ixgbe/ixgbe_rxtx.c +4 -2
@@ -1911,7 +1911,8 @@ ixgbe_dev_tx_queue_setup(struct rte_eth_
 	/*
 	 * Modification to set VFTDT for virtual function if vf is detected
 	 */
-	if (hw->mac.type == ixgbe_mac_82599_vf)
+	if (hw->mac.type == ixgbe_mac_82599_vf ||
+	    hw->mac.type == ixgbe_mac_X540_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));
@@ -2198,7 +2199,8 @@ ixgbe_dev_rx_queue_setup(struct rte_eth_
 	/*
 	 * Modified to setup VFRDT for Virtual Function
 	 */
-	if (hw->mac.type == ixgbe_mac_82599_vf) {
+	if (hw->mac.type == ixgbe_mac_82599_vf ||
+	    hw->mac.type == ixgbe_mac_X540_vf) {
 		rxq->rdt_reg_addr =
 			IXGBE_PCI_REG_ADDR(hw, IXGBE_VFRDT(queue_idx));
 		rxq->rdh_reg_addr =
#1 lore raw

2014-12-09 08:37, Stephen Hemminger:

Quoted 9 lines

Add missing setup for X540 MAC type when setting up VF. Additional check exists in Linux driver but not in DPDK.

Signed-off-yb: Bill Hong <[email protected]>

lib/librte_pmd_ixgbe/ixgbe_rxtx.c ixgbe_dev_tx_queue_setup(struct rte_eth_ · line 1915

Quoted 6 lines
lib/librte_pmd_ixgbe/ixgbe_rxtx.c +2 -1
@@ -1911,7 +1911,8 @@ ixgbe_dev_tx_queue_setup(struct rte_eth_
 	/*
 	 * Modification to set VFTDT for virtual function if vf is detected
 	 */
-	if (hw->mac.type == ixgbe_mac_82599_vf)
+	if (hw->mac.type == ixgbe_mac_82599_vf ||
+	    hw->mac.type == ixgbe_mac_X540_vf)

What about X550? Should it be listed there?

lib/librte_pmd_ixgbe/ixgbe_rxtx.c ixgbe_dev_rx_queue_setup(struct rte_eth_ · line 2206

Quoted 13 lines
lib/librte_pmd_ixgbe/ixgbe_rxtx.c +2 -1
 		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));
@@ -2198,7 +2199,8 @@ ixgbe_dev_rx_queue_setup(struct rte_eth_
 	/*
 	 * Modified to setup VFRDT for Virtual Function
 	 */
-	if (hw->mac.type == ixgbe_mac_82599_vf) {
+	if (hw->mac.type == ixgbe_mac_82599_vf ||
+	    hw->mac.type == ixgbe_mac_X540_vf) {
 		rxq->rdt_reg_addr =
 			IXGBE_PCI_REG_ADDR(hw, IXGBE_VFRDT(queue_idx));
 		rxq->rdh_reg_addr =

It appears to be a fix which is candidate for 1.8.0.

Thanks

Signature · 1 line
Thomas
#2 lore raw
Quoted 35 lines · On Thu, 11 Dec 2014 00:23:24 +0100 Thomas Monjalon…

2014-12-09 08:37, Stephen Hemminger:

Quoted 9 lines

Add missing setup for X540 MAC type when setting up VF. Additional check exists in Linux driver but not in DPDK.

Signed-off-yb: Bill Hong <[email protected]>

lib/librte_pmd_ixgbe/ixgbe_rxtx.c ixgbe_dev_tx_queue_setup(struct rte_eth_ · line 1915

Quoted 6 lines
lib/librte_pmd_ixgbe/ixgbe_rxtx.c +2 -1
@@ -1911,7 +1911,8 @@ ixgbe_dev_tx_queue_setup(struct rte_eth_
 	/*
 	 * Modification to set VFTDT for virtual function if vf is detected
 	 */
-	if (hw->mac.type == ixgbe_mac_82599_vf)
+	if (hw->mac.type == ixgbe_mac_82599_vf ||
+	    hw->mac.type == ixgbe_mac_X540_vf)

What about X550? Should it be listed there?

lib/librte_pmd_ixgbe/ixgbe_rxtx.c ixgbe_dev_rx_queue_setup(struct rte_eth_ · line 2206

Quoted 13 lines
lib/librte_pmd_ixgbe/ixgbe_rxtx.c +2 -1
 		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));
@@ -2198,7 +2199,8 @@ ixgbe_dev_rx_queue_setup(struct rte_eth_
 	/*
 	 * Modified to setup VFRDT for Virtual Function
 	 */
-	if (hw->mac.type == ixgbe_mac_82599_vf) {
+	if (hw->mac.type == ixgbe_mac_82599_vf ||
+	    hw->mac.type == ixgbe_mac_X540_vf) {
 		rxq->rdt_reg_addr =
 			IXGBE_PCI_REG_ADDR(hw, IXGBE_VFRDT(queue_idx));
 		rxq->rdh_reg_addr =

It appears to be a fix which is candidate for 1.8.0.

Quoted 1 line

Thanks

Not sure, we didnt have X550 to test, and code for X550 is not in upstream Linux kernel driver.