[<prev] [next>] [day] [month] [year] [list]
Message-ID: <109c30c7-f269-4ad4-887c-c69b6f4cfab4@oracle.com>
Date: Mon, 11 Mar 2024 17:22:36 -0700
From: yifei.l.liu@...cle.com
To: Paul Menzel <pmenzel@...gen.mpg.de>
Cc: "jesse.brandeburg@...el.com" <jesse.brandeburg@...el.com>,
"anthony.l.nguyen@...el.com" <anthony.l.nguyen@...el.com>,
"davem@...emloft.net" <davem@...emloft.net>,
"edumazet@...gle.com" <edumazet@...gle.com>,
"kuba@...nel.org" <kuba@...nel.org>,
"pabeni@...hat.com"
<pabeni@...hat.com>,
"lihong.yang@...el.com" <lihong.yang@...el.com>,
Harshit Mogalapalli <harshit.m.mogalapalli@...cle.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"intel-wired-lan@...ts.osuosl.org" <intel-wired-lan@...ts.osuosl.org>,
Jack Vogel <jack.vogel@...cle.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
Ramanan Govindarajan <ramanan.govindarajan@...cle.com>
Subject: Re: [Intel-wired-lan] [PATCH Linux-6.8-rc5 1/1] ixgbevf: start
negotiate with api version 1.4
> Hi Paul,
> I apologize for possible html text in the previous email. I cleared
> the format and resend them as plain text.
> Thank you.
> Yifei
>
> From: Yifei Liu <yifei.l.liu@...cle.com>
> Sent: Monday, March 4, 2024 1:48 PM
> To: Paul Menzel <pmenzel@...gen.mpg.de>
> Cc: jesse.brandeburg@...el.com <jesse.brandeburg@...el.com>;
> anthony.l.nguyen@...el.com <anthony.l.nguyen@...el.com>;
> davem@...emloft.net <davem@...emloft.net>; edumazet@...gle.com
> <edumazet@...gle.com>; kuba@...nel.org <kuba@...nel.org>;
> pabeni@...hat.com <pabeni@...hat.com>; lihong.yang@...el.com
> <lihong.yang@...el.com>; Harshit Mogalapalli
> <harshit.m.mogalapalli@...cle.com>; linux-kernel@...r.kernel.org
> <linux-kernel@...r.kernel.org>; intel-wired-lan@...ts.osuosl.org
> <intel-wired-lan@...ts.osuosl.org>; Jack Vogel
> <jack.vogel@...cle.com>; netdev@...r.kernel.org
> <netdev@...r.kernel.org>; Ramanan Govindarajan
> <ramanan.govindarajan@...cle.com>
> Subject: Re: [Intel-wired-lan] [PATCH Linux-6.8-rc5 1/1] ixgbevf:
> start negotiate with api version 1.4
> Hi Paul
> Thank you for your replay. Please see inline.
> From: Paul Menzel <pmenzel@...gen.mpg.de>
> Date: Saturday, March 2, 2024 at 12:20 AM
> To: Yifei Liu <yifei.l.liu@...cle.com>
> Cc: jesse.brandeburg@...el.com <jesse.brandeburg@...el.com>,
> anthony.l.nguyen@...el.com <anthony.l.nguyen@...el.com>,
> davem@...emloft.net <davem@...emloft.net>, edumazet@...gle.com
> <edumazet@...gle.com>, kuba@...nel.org <kuba@...nel.org>,
> pabeni@...hat.com <pabeni@...hat.com>, lihong.yang@...el.com
> <lihong.yang@...el.com>, Harshit Mogalapalli
> <harshit.m.mogalapalli@...cle.com>, linux-kernel@...r.kernel.org
> <linux-kernel@...r.kernel.org>, intel-wired-lan@...ts.osuosl.org
> <intel-wired-lan@...ts.osuosl.org>, Jack Vogel
> <jack.vogel@...cle.com>, netdev@...r.kernel.org
> <netdev@...r.kernel.org>, Ramanan Govindarajan
> <ramanan.govindarajan@...cle.com>
> Subject: Re: [Intel-wired-lan] [PATCH Linux-6.8-rc5 1/1] ixgbevf:
> start negotiate with api version 1.4
> Dear Yifei,
>
>
> Thank you very much for your patch.
>
> Am 02.03.24 um 00:58 schrieb Yifei Liu:
> > ixgbevf updates to api version to 1.5 via
> > commit 339f28964147d ("ixgbevf: Add support for new mailbox
> > communication between PF and VF")
> > while the pf side is not updated to 1.5 properly. It will lead to a
> > failure of negotiation of api version 1.5 This commit will enforce
> > the negotiation to start with 1.4 which is working fine.
> >
> > Normally the pf and vf side should be updated together. Example:
> > commit adef9a26d6c39 ("ixgbevf: add defines for IPsec offload
> request")
> > commit 7269824046376 ("ixgbe: add VF IPsec offload request
> message handling")
>
> Why can’t the PF side not be updated to version 1.5 too?
>
> I tried to add the new api version to the switch in pf side. However,
> that would lead to another issue. Function ixgbe_read_mbx_pf() returns
> an error code -100, which should be IXGBE_ERR_MBX. The root cause of
> this is function ixgbe_obtain_mbx_lock_pf returns that error code. It
> is likely to be a hardware issue communicating with the Ethernet card
> (IXGBE_READ_REG returns a failure)
>
> If you don’t mind, I’d format the commit message like below.
>
> Sure thanks
>
> Commit 339f28964147d ("ixgbevf: Add support for new mailbox communication
> between PF and VF") updates the driver ixgbevf to API version 1.5
> while the
> pf side is not updated to 1.5 properly. This leads to a negotiation
> failure
> of api version 1.5. So, enforce the negotiation to start with 1.4 which is
> working fine.
>
> Normally the pf and vf side should be updated together. Example:
>
> 1. commit adef9a26d6c39 ("ixgbevf: add defines for IPsec offload
> request")
> 2. commit 7269824046376 ("ixgbe: add VF IPsec offload request message
> handling")
>
> > Reported-by: Manjunatha Gowda <manjunatha.gowda@...cle.com>
> > Signed-off-by: Yifei Liu <yifei.l.liu@...cle.com>
> > Reviewed-by: Jack Vogel <jack.vogel@...cle.com>
>
> Please add a Fixes: tag.
>
> Fixes: 39f28964147d ("ixgbevf: Add support for new mailbox communication
> between PF and VF")
>
> Sure. Do I need to resend the patch with the fixes tag and new commit
> message?
>
> Unfortunately, I am unable to find this commit hash. What archive/tree
> is it from?
> The commit message is 339f28964147d. It seems you missed the one of
> the double 3 at the very beginning. It is in linux-stable from Linux
> 5.17.y
>
> > ---
> > drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> > index a44e4bd56142..a1b9b789d1d4 100644
> > --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> > +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> > @@ -2286,6 +2286,12 @@ static void ixgbevf_negotiate_api(struct
> ixgbevf_adapter *adapter)
> >
> > spin_lock_bh(&adapter->mbx_lock);
> >
> > + /* There is no corresponding drivers in pf for
> > + * api version 1.5. Try to negociate with version
>
> negotiate
>
> > + * 1.5 will always fail. Start to negociate with
> > + * version 1.4.
>
> Could you please use the fully allowed line length, so less lines are
> used?
>
> > + */
> > + idx = 1; > while (api[idx] != ixgbe_mbox_api_unknown) {
> > err = hw->mac.ops.negotiate_api_version(hw, api[idx]);
> > if (!err)
>
> Where is `idx` set before?
>
> idx was 0 before in line 2285.
> int err, idx = 0;
>
> Unrelated to the problem at hand, but enums or macros should be used for
> the API version.
>
> I agree. But for this case, there is an integer array defined before
> with a reversed sequence of the api version enum. (the desired attempt
> sequence is from newest to oldest) It may be more readable to use
> index of the api array. (e.g. api[0] means ixgbe_mbox_api_15, which is
> enum 6)
> FYI, the api array starting from line 2276 in
> /drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> static const int api[] = {
> ixgbe_mbox_api_15,
> ixgbe_mbox_api_14,
> ixgbe_mbox_api_13,
> ixgbe_mbox_api_12,
> ixgbe_mbox_api_11,
> ixgbe_mbox_api_10,
> ixgbe_mbox_api_unknown
> };
>
>
> Kind regards,
>
> Paul
> Thank you again.
> Yifei
Powered by blists - more mailing lists