[dpdk-dev] ixgbe: support X540 VF
Commit Message
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 <bhong@brocade.com>
Signed-off-by: Stephen Hemminger <shemming@brocade.com>
Comments
2014-12-09 08:37, Stephen Hemminger:
> 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 <bhong@brocade.com>
> Signed-off-by: Stephen Hemminger <shemming@brocade.com>
>
> --- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c 2014-12-08 09:26:18.150170081 -0800
> +++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c 2014-12-08 09:26:18.150170081 -0800
> @@ -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?
> 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
On Thu, 11 Dec 2014 00:23:24 +0100
Thomas Monjalon <thomas.monjalon@6wind.com> wrote:
> 2014-12-09 08:37, Stephen Hemminger:
> > 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 <bhong@brocade.com>
> > Signed-off-by: Stephen Hemminger <shemming@brocade.com>
> >
> > --- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c 2014-12-08 09:26:18.150170081 -0800
> > +++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c 2014-12-08 09:26:18.150170081 -0800
> > @@ -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?
>
> > 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
Not sure, we didnt have X550 to test, and code for X550 is not in upstream
Linux kernel driver.
> 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 <bhong@brocade.com>
> Signed-off-by: Stephen Hemminger <shemming@brocade.com>
Applied
Thanks
@@ -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 =