[dpdk-stable] patch 'net/i40e: fix exception with multi-driver' has been queued to LTS release 17.11.10
Luca Boccassi
bluca at debian.org
Tue Dec 24 12:16:01 CET 2019
Hi,
Thanks for checking, removed.
On Fri, 2019-12-20 at 01:45 +0000, Zhang, AlvinX wrote:
> Hi,
>
> This patch does not need to be integrated into version 17.11, it
> only valid for versions 18.02 and later.
>
> BR,
> Alvin
>
> > -----Original Message-----
> > From:
> > luca.boccassi at gmail.com
> > [mailto:
> > luca.boccassi at gmail.com
> > ]
> > Sent: Thursday, December 19, 2019 10:34 PM
> > To: Zhang, AlvinX <
> > alvinx.zhang at intel.com
> > >
> > Cc: Ye, Xiaolong <
> > xiaolong.ye at intel.com
> > >; dpdk stable <
> > stable at dpdk.org
> > >
> > Subject: patch 'net/i40e: fix exception with multi-driver' has been
> > queued to
> > LTS release 17.11.10
> >
> > Hi,
> >
> > FYI, your patch has been queued to LTS release 17.11.10
> >
> > Note it hasn't been pushed to
> > http://dpdk.org/browse/dpdk-stable
> > yet.
> > It will be pushed if I get no objections before 12/21/19. So please
> > shout if
> > anyone has objections.
> >
> > Also note that after the patch there's a diff of the upstream
> > commit vs the
> > patch applied to the branch. This will indicate if there was any
> > rebasing
> > needed to apply to the stable branch. If there were code changes
> > for
> > rebasing
> > (ie: not only metadata diffs), please double check that the rebase
> > was
> > correctly done.
> >
> > Thanks.
> >
> > Luca Boccassi
> >
> > ---
> > From 97d3af2037014e15165aaf5fafe5c24ab61d7805 Mon Sep 17 00:00:00
> > 2001
> > From: Alvin Zhang <
> > alvinx.zhang at intel.com
> > >
> > Date: Tue, 8 Oct 2019 18:52:31 +0800
> > Subject: [PATCH] net/i40e: fix exception with multi-driver
> >
> > [ upstream commit 39de80b267e05d6f3322044e5851306acc84f892 ]
> >
> > If support-multi-driver is enabled, the global registers should not
> > be
> > configured. But with the current code base, if creating a flow with
> > rte_flow
> > API, the global register GLQF_FD_MSK may be changed.
> >
> > Fixes: cfdfca493cae ("net/i40e: fix multiple driver support")
> >
> > Signed-off-by: Alvin Zhang <
> > alvinx.zhang at intel.com
> > >
> > Reviewed-by: Xiaolong Ye <
> > xiaolong.ye at intel.com
> > >
> > ---
> > drivers/net/i40e/i40e_flow.c | 38 +++++++++++++++++++++++++++++---
> > --
> > --
> > 1 file changed, 31 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/net/i40e/i40e_flow.c
> > b/drivers/net/i40e/i40e_flow.c
> > index 4ebf925a68..4fa099481a 100644
> > --- a/drivers/net/i40e/i40e_flow.c
> > +++ b/drivers/net/i40e/i40e_flow.c
> > @@ -2366,6 +2366,37 @@ i40e_flow_set_fdir_inset(struct i40e_pf *pf,
> > if (num < 0)
> > return -EINVAL;
> >
> > + if (pf->support_multi_driver) {
> > + for (i = 0; i < num; i++)
> > + if (i40e_read_rx_ctl(hw,
> > + I40E_GLQF_FD_MSK(i, pctype)) !=
> > + mask_reg[i]) {
> > + PMD_DRV_LOG(ERR, "Input set setting is
> > not"
> > + " supported with"
> > + " `support-multi-
> > driver`"
> > + " enabled!");
> > + return -EPERM;
> > + }
> > + for (i = num; i < I40E_INSET_MASK_NUM_REG; i++)
> > + if (i40e_read_rx_ctl(hw,
> > + I40E_GLQF_FD_MSK(i, pctype)) !=
> > 0)
> > {
> > + PMD_DRV_LOG(ERR, "Input set setting is
> > not"
> > + " supported with"
> > + " `support-multi-
> > driver`"
> > + " enabled!");
> > + return -EPERM;
> > + }
> > +
> > + } else {
> > + for (i = 0; i < num; i++)
> > + i40e_check_write_reg(hw, I40E_GLQF_FD_MSK(i,
> > pctype),
> > + mask_reg[i]);
> > + /*clear unused mask registers of the pctype */
> > + for (i = num; i < I40E_INSET_MASK_NUM_REG; i++)
> > + i40e_check_write_reg(hw,
> > + I40E_GLQF_FD_MSK(i, pctype),
> > 0);
> > + }
> > +
> > inset_reg |= i40e_translate_input_set_reg(hw->mac.type,
> > input_set);
> >
> > i40e_check_write_reg(hw, I40E_PRTQF_FD_INSET(pctype, 0), @@ -
> > 2374,13 +2405,6 @@ i40e_flow_set_fdir_inset(struct i40e_pf *pf,
> > (uint32_t)((inset_reg >>
> > I40E_32_BIT_WIDTH) &
> > UINT32_MAX));
> >
> > - for (i = 0; i < num; i++)
> > - i40e_check_write_reg(hw, I40E_GLQF_FD_MSK(i, pctype),
> > - mask_reg[i]);
> > -
> > - /*clear unused mask registers of the pctype */
> > - for (i = num; i < I40E_INSET_MASK_NUM_REG; i++)
> > - i40e_check_write_reg(hw, I40E_GLQF_FD_MSK(i, pctype),
> > 0);
> > I40E_WRITE_FLUSH(hw);
> >
> > pf->fdir.input_set[pctype] = input_set;
> > --
> > 2.20.1
> >
> > ---
> > Diff of the applied patch vs upstream commit (please double-check
> > if non-
> > empty:
> > ---
> > --- - 2019-12-19 14:32:29.667640280 +0000
> > +++ 0083-net-i40e-fix-exception-with-multi-driver.patch 2019-
> > 12-19
> > 14:32:26.201299729 +0000
> > @@ -1,14 +1,15 @@
> > -From 39de80b267e05d6f3322044e5851306acc84f892 Mon Sep 17 00:00:00
> > 2001
> > +From 97d3af2037014e15165aaf5fafe5c24ab61d7805 Mon Sep 17 00:00:00
> > 2001
> > From: Alvin Zhang <
> > alvinx.zhang at intel.com
> > >
> > Date: Tue, 8 Oct 2019 18:52:31 +0800
> > Subject: [PATCH] net/i40e: fix exception with multi-driver
> >
> > +[ upstream commit 39de80b267e05d6f3322044e5851306acc84f892 ]
> > +
> > If support-multi-driver is enabled, the global registers should
> > not be
> > configured. But with the current code base, if creating a
> > flow with rte_flow
> > API, the global register GLQF_FD_MSK may be changed.
> >
> > Fixes: cfdfca493cae ("net/i40e: fix multiple driver support")
> > -Cc:
> > stable at dpdk.org
> >
> >
> > Signed-off-by: Alvin Zhang <
> > alvinx.zhang at intel.com
> > >
> > Reviewed-by: Xiaolong Ye <
> > xiaolong.ye at intel.com
> > > @@ -17,10 +18,10 @@
> > 1 file changed, 31 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/net/i40e/i40e_flow.c
> > b/drivers/net/i40e/i40e_flow.c -
> > index 9e038fa48f..61021037c8 100644
> > +index 4ebf925a68..4fa099481a 100644
> > --- a/drivers/net/i40e/i40e_flow.c
> > +++ b/drivers/net/i40e/i40e_flow.c
> > -@@ -2349,6 +2349,37 @@ i40e_flow_set_fdir_inset(struct i40e_pf
> > *pf,
> > +@@ -2366,6 +2366,37 @@ i40e_flow_set_fdir_inset(struct i40e_pf
> > *pf,
> > if (num < 0)
> > return -EINVAL;
> >
> > @@ -58,7 +59,7 @@
> > inset_reg |= i40e_translate_input_set_reg(hw->mac.type,
> > input_set);
> >
> > i40e_check_write_reg(hw, I40E_PRTQF_FD_INSET(pctype, 0), -@@ -
> > 2357,13 +2388,6 @@ i40e_flow_set_fdir_inset(struct i40e_pf *pf,
> > +@@ -2374,13 +2405,6 @@ i40e_flow_set_fdir_inset(struct i40e_pf
> > *pf,
> > (uint32_t)((inset_reg >>
> > I40E_32_BIT_WIDTH) &
> > UINT32_MAX));
> >
--
Kind regards,
Luca Boccassi
More information about the stable
mailing list