Subject: Re: [PATCH v1 net] net: mscc: ocelot: remove buggy and useless write to ANA_PFC_PFC_CFG

From: Colin Foster <[email-masked]>
Date: Thu, 16 Sep 2021 20:38:02 -0700

On Fri, Sep 17, 2021 at 02:34:37AM +0000, Joakim Zhang wrote:
> 
> Hi Vladimir,
> 
> > -----Original Message-----
> > From: Vladimir Oltean <[email-masked]>
> > Sent: 2021年9月16日 19:49
> > To: Colin Foster <[email-masked]>
> > Cc: Claudiu Manoil <[email-masked]>; Alexandre Belloni
> > <[email-masked]>; [email-masked]; David S.
> > Miller <[email-masked]>; Jakub Kicinski <[email-masked]>;
> > [email-masked]; [email-masked]
> > Subject: Re: [PATCH v1 net] net: mscc: ocelot: remove buggy and useless write
> > to ANA_PFC_PFC_CFG
> > 
> > On Wed, Sep 15, 2021 at 06:09:37PM -0700, Colin Foster wrote:
> > > A useless write to ANA_PFC_PFC_CFG was left in while refactoring
> > > ocelot to phylink. Since priority flow control is disabled, writing
> > > the speed has no effect.
> > >
> > > Further, it was using ethtool.h SPEED_ instead of OCELOT_SPEED_
> > > macros, which are incorrectly offset for GENMASK.
> > >
> > > Lastly, for priority flow control to properly function, some scenarios
> > > would rely on the rate adaptation from the PCS while the MAC speed
> > > would be fixed. So it isn't used, and even if it was, neither "speed"
> > > nor "mac_speed" are necessarily the correct values to be used.
> > >
> > > Fixes: e6e12df625f2 ("net: mscc: ocelot: convert to phylink")
> > > Signed-off-by: Colin Foster <[email-masked]>
> > > ---
> > >  drivers/net/ethernet/mscc/ocelot.c | 4 ----
> > >  1 file changed, 4 deletions(-)
> > >
> > > diff --git a/drivers/net/ethernet/mscc/ocelot.c
> > > b/drivers/net/ethernet/mscc/ocelot.c
> > > index c581b955efb3..08be0440af28 100644
> > > --- a/drivers/net/ethernet/mscc/ocelot.c
> > > +++ b/drivers/net/ethernet/mscc/ocelot.c
> > > @@ -569,10 +569,6 @@ void ocelot_phylink_mac_link_up(struct ocelot
> > *ocelot, int port,
> > >  	ocelot_port_writel(ocelot_port, DEV_CLOCK_CFG_LINK_SPEED(speed),
> > >  			   DEV_CLOCK_CFG);
> > >
> > > -	/* No PFC */
> > > -	ocelot_write_gix(ocelot, ANA_PFC_PFC_CFG_FC_LINK_SPEED(speed),
> > > -			 ANA_PFC_PFC_CFG, port);
> > > -
> > 
> > This will conflict with the other patch.... why didn't you send both as part of a
> > series? By not doing that, you are telling patchwork to build-test them in
> > parallel, which of course does not work:
> > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatchw
> > ork.kernel.org%2Fproject%2Fnetdevbpf%2Fpatch%2F20210916012341.518512-
> > 1-colin.foster%40in-advantage.com%2F&amp;data=04%7C01%7Cqiangqing.zh
> > ang%40nxp.com%7C546aa03ab17b45f0891a08d97908095f%7C686ea1d3bc2b
> > 4c6fa92cd99c5c301635%7C0%7C0%7C637673897688805938%7CUnknown%7
> > CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiL
> > CJXVCI6Mn0%3D%7C1000&amp;sdata=fmGI6K2dS36tm5xuuKLKdVF1pEj9umv
> > FLA8kyfXWD3A%3D&amp;reserved=0
> > 
> > Also, why didn't you bump the version counter of the patch, and we're still at v1
> > despite the earlier attempt?
> > 
> > git format-patch -2 --cover-letter --subject-prefix="PATCH v3 net" -o
> > /opt/patches/linux/ocelot-phylink-fixes/v3/
> > ./scripts/get_maintainer.pl /opt/patches/linux/ocelot-phylink-fixes/v3/*.patch
> > ./scripts/checkpatch.pl --strict
> > /opt/patches/linux/ocelot-phylink-fixes/v3/*.patch
> > # Go through patches, write change log compared to v2 using vimdiff, meld, git
> > range-diff, whatever # Write cover letter summarizing what changes and why.
> > If fixing bugs explain the impact.
> > git send-email \
> > 	--to=[email-masked]' \
> > 	--to=[email-masked]' \
> > 	--cc='Vladimir Oltean <[email-masked]>' \
> > 	--cc='Claudiu Manoil <[email-masked]>' \
> > 	--cc='Alexandre Belloni <[email-masked]>' \
> > 	--cc=[email-masked]' \
> > 	--cc='"David S. Miller" <[email-masked]>' \
> > 	--cc='Jakub Kicinski <[email-masked]>' \
> > 	/opt/patches/linux/ocelot-phylink-fixes/v3/*.patch
> > 
> > Reviewed-by: Vladimir Oltean <[email-masked]>
> > 
> > Please keep this tag but resend a new version. You can download the patch
> > with the review tags automatically using:
> > git b4 [email-masked]
> > git b4 [email-masked]
> > 
> > where "git b4" is an alias configured like this in ~/.gitconfig:
> > 
> > [b4]
> > 	midmask =
> > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.ker
> > nel.org%2Fr%2F%2525s&amp;data=04%7C01%7Cqiangqing.zhang%40nxp.co
> > m%7C546aa03ab17b45f0891a08d97908095f%7C686ea1d3bc2b4c6fa92cd99c5
> > c301635%7C0%7C0%7C637673897688815892%7CUnknown%7CTWFpbGZsb3d
> > 8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3
> > D%7C1000&amp;sdata=t8N%2F%2FAnLVLtoMDzNDL%2Fv7ixEkBeiIqB6Go%2F
> > zD19gisE%3D&amp;reserved=0
> > [alias]
> > 	b4 = "!f() { b4 am -t -o - $@ | git am -3; }; f"
> 
> I came across this detailed suggestions, sometime we need download the patch from the patchwork,
> so I have a try with above method(adding these two symbol in my .gitconfig), but I met below error,
> could you please tell me what I am missing? Thanks.

One that I can answer.

b4 is a Python command.
"pip install b4" should install it, then export
/home/username/.local/bin into PATH
"export PATH=/home/colin/.local/bin:$PATH"

You can add this path to ~/.profile if you want it to persist.

> 
> $ git b4 [email-masked]
> f() { b4 am -t -o - $@ | git am -3; }; f: 1: f() { b4 am -t -o - $@ | git am -3; }; f: b4: not found
> 
> Best Regards,
> Joakim Zhang