[v2] net/ixgbe: fix Rx/Tx queue interrupt for X552/557 devices
Checks
Commit Message
X552/557 devices do not enable the queue interrupt mapping,
this patch fix the issue.
Fixes: d2e72774e58c ("ixgbe/base: support X550")
Signed-off-by: Jiang JunyuX <junyux.jiang@intel.com>
---
drivers/net/ixgbe/ixgbe_ethdev.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Comments
Hi,
On 08/27, Jiang JunyuX wrote:
>X552/557 devices do not enable the queue interrupt mapping,
>this patch fix the issue.
Could you elaborate more about the issue that this patch trying to solve?
>
>Fixes: d2e72774e58c ("ixgbe/base: support X550")
Please also cc stable@dpdk.org for a fix patch.
Thanks,
Xiaolong
>
>Signed-off-by: Jiang JunyuX <junyux.jiang@intel.com>
>---
> drivers/net/ixgbe/ixgbe_ethdev.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
>index 03fc1f717..e36e1c58e 100644
>--- a/drivers/net/ixgbe/ixgbe_ethdev.c
>+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
>@@ -5896,7 +5896,8 @@ ixgbe_set_ivar_map(struct ixgbe_hw *hw, int8_t direction,
> IXGBE_WRITE_REG(hw, IXGBE_IVAR(idx), tmp);
> } else if ((hw->mac.type == ixgbe_mac_82599EB) ||
> (hw->mac.type == ixgbe_mac_X540) ||
>- (hw->mac.type == ixgbe_mac_X550)) {
>+ (hw->mac.type == ixgbe_mac_X550) ||
>+ (hw->mac.type == ixgbe_mac_X550EM_x)) {
> if (direction == -1) {
> /* other causes */
> idx = ((queue & 1) * 8);
>@@ -6026,6 +6027,7 @@ ixgbe_configure_msix(struct rte_eth_dev *dev)
> case ixgbe_mac_82599EB:
> case ixgbe_mac_X540:
> case ixgbe_mac_X550:
>+ case ixgbe_mac_X550EM_x:
> ixgbe_set_ivar_map(hw, -1, 1, IXGBE_MISC_VEC_ID);
> break;
> default:
>--
>2.17.1
>
Hi,
> Could you elaborate more about the issue that this patch trying to solve?
this issue is:start l3fwd-power with pf port0 bind to vfio-pci,there was no response when send packets to l3fwd-power in x552/x557.
> -----Original Message-----
> From: Ye, Xiaolong
> Sent: Tuesday, August 27, 2019 4:08 PM
> To: Jiang, JunyuX <junyux.jiang@intel.com>
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2] net/ixgbe: fix Rx/Tx queue interrupt for
> X552/557 devices
>
> Hi,
>
> On 08/27, Jiang JunyuX wrote:
> >X552/557 devices do not enable the queue interrupt mapping, this patch
> >fix the issue.
>
> Could you elaborate more about the issue that this patch trying to solve?
>
> >
> >Fixes: d2e72774e58c ("ixgbe/base: support X550")
>
> Please also cc stable@dpdk.org for a fix patch.
>
> Thanks,
> Xiaolong
>
> >
> >Signed-off-by: Jiang JunyuX <junyux.jiang@intel.com>
> >---
> > drivers/net/ixgbe/ixgbe_ethdev.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> >diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c
> >b/drivers/net/ixgbe/ixgbe_ethdev.c
> >index 03fc1f717..e36e1c58e 100644
> >--- a/drivers/net/ixgbe/ixgbe_ethdev.c
> >+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> >@@ -5896,7 +5896,8 @@ ixgbe_set_ivar_map(struct ixgbe_hw *hw, int8_t
> direction,
> > IXGBE_WRITE_REG(hw, IXGBE_IVAR(idx), tmp);
> > } else if ((hw->mac.type == ixgbe_mac_82599EB) ||
> > (hw->mac.type == ixgbe_mac_X540) ||
> >- (hw->mac.type == ixgbe_mac_X550)) {
> >+ (hw->mac.type == ixgbe_mac_X550) ||
> >+ (hw->mac.type == ixgbe_mac_X550EM_x)) {
> > if (direction == -1) {
> > /* other causes */
> > idx = ((queue & 1) * 8);
> >@@ -6026,6 +6027,7 @@ ixgbe_configure_msix(struct rte_eth_dev *dev)
> > case ixgbe_mac_82599EB:
> > case ixgbe_mac_X540:
> > case ixgbe_mac_X550:
> >+ case ixgbe_mac_X550EM_x:
> > ixgbe_set_ivar_map(hw, -1, 1, IXGBE_MISC_VEC_ID);
> > break;
> > default:
> >--
> >2.17.1
> >
@@ -5896,7 +5896,8 @@ ixgbe_set_ivar_map(struct ixgbe_hw *hw, int8_t direction,
IXGBE_WRITE_REG(hw, IXGBE_IVAR(idx), tmp);
} else if ((hw->mac.type == ixgbe_mac_82599EB) ||
(hw->mac.type == ixgbe_mac_X540) ||
- (hw->mac.type == ixgbe_mac_X550)) {
+ (hw->mac.type == ixgbe_mac_X550) ||
+ (hw->mac.type == ixgbe_mac_X550EM_x)) {
if (direction == -1) {
/* other causes */
idx = ((queue & 1) * 8);
@@ -6026,6 +6027,7 @@ ixgbe_configure_msix(struct rte_eth_dev *dev)
case ixgbe_mac_82599EB:
case ixgbe_mac_X540:
case ixgbe_mac_X550:
+ case ixgbe_mac_X550EM_x:
ixgbe_set_ivar_map(hw, -1, 1, IXGBE_MISC_VEC_ID);
break;
default: