All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Sit, Michael Wei Hong" <michael.wei.hong.sit@intel.com>
To: "Raczynski, Piotr" <piotr.raczynski@intel.com>
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>,
	Alexandre Torgue <alexandre.torgue@foss.st.com>,
	Jose Abreu <joabreu@synopsys.com>,
	"David S . Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	"Ong, Boon Leong" <boon.leong.ong@intel.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-stm32@st-md-mailman.stormreply.com" 
	<linux-stm32@st-md-mailman.stormreply.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Looi, Hong Aun" <hong.aun.looi@intel.com>,
	"Voon, Weifeng" <weifeng.voon@intel.com>,
	"Lai, Peter Jun Ann" <peter.jun.ann.lai@intel.com>
Subject: RE: [PATCH net 2/2] net: stmmac: move fixed-link support fixup code
Date: Wed, 15 Mar 2023 10:18:36 +0000	[thread overview]
Message-ID: <PH0PR11MB7587C279640CA9C90CC54C489DBF9@PH0PR11MB7587.namprd11.prod.outlook.com> (raw)
In-Reply-To: <ZBA3+LqAaWXDZCKZ@nimitz>



> -----Original Message-----
> From: Raczynski, Piotr <piotr.raczynski@intel.com>
> Sent: Tuesday, March 14, 2023 5:02 PM
> To: Sit, Michael Wei Hong <michael.wei.hong.sit@intel.com>
> Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>; Alexandre
> Torgue <alexandre.torgue@foss.st.com>; Jose Abreu
> <joabreu@synopsys.com>; David S . Miller <davem@davemloft.net>;
> Eric Dumazet <edumazet@google.com>; Jakub Kicinski
> <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; Maxime
> Coquelin <mcoquelin.stm32@gmail.com>; Ong, Boon Leong
> <boon.leong.ong@intel.com>; netdev@vger.kernel.org; linux-
> stm32@st-md-mailman.stormreply.com; linux-arm-
> kernel@lists.infradead.org; linux-kernel@vger.kernel.org; Looi,
> Hong Aun <hong.aun.looi@intel.com>; Voon, Weifeng
> <weifeng.voon@intel.com>; Lai, Peter Jun Ann
> <peter.jun.ann.lai@intel.com>
> Subject: Re: [PATCH net 2/2] net: stmmac: move fixed-link support
> fixup code
> 
> On Mon, Mar 13, 2023 at 04:01:35PM +0800, Michael Sit Wei Hong
> wrote:
> > xpcs_an_inband value is updated in the speed_mode_2500
> function which
> > turns on the xpcs_an_inband mode.
> >
> > Moving the fixed-link fixup code to right before phylink setup to
> > ensure no more fixup will affect the fixed-link mode configurations.
> >
> > Fixes: 72edaf39fc65 ("stmmac: intel: add phy-mode and fixed-link
> ACPI
> > _DSD setting support")
> > Signed-off-by: Michael Sit Wei Hong
> <michael.wei.hong.sit@intel.com>
> > ---
> >  drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c | 11 ---------
> --
> > drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 15
> +++++++++++++++
> >  2 files changed, 15 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c
> > b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c
> > index 7deb1f817dac..d02db2b529b9 100644
> > --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c
> > +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c
> > @@ -592,17 +592,6 @@ static int
> intel_mgbe_common_data(struct pci_dev *pdev,
> >  		plat->mdio_bus_data->xpcs_an_inband = true;
> >  	}
> >
> > -	/* For fixed-link setup, we clear xpcs_an_inband */
> > -	if (fwnode) {
> > -		struct fwnode_handle *fixed_node;
> > -
> > -		fixed_node =
> fwnode_get_named_child_node(fwnode, "fixed-link");
> > -		if (fixed_node)
> > -			plat->mdio_bus_data->xpcs_an_inband =
> false;
> > -
> > -		fwnode_handle_put(fixed_node);
> > -	}
> > -
> >  	/* Ensure mdio bus scan skips intel serdes and pcs-xpcs */
> >  	plat->mdio_bus_data->phy_mask = 1 <<
> INTEL_MGBE_ADHOC_ADDR;
> >  	plat->mdio_bus_data->phy_mask |= 1 <<
> INTEL_MGBE_XPCS_ADDR; diff
> > --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > index 398adcd68ee8..5a9abafba490 100644
> > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > @@ -7064,6 +7064,7 @@ int stmmac_dvr_probe(struct device
> *device,
> >  		     struct stmmac_resources *res)
> >  {
> >  	struct net_device *ndev = NULL;
> > +	struct fwnode_handle *fwnode;
> >  	struct stmmac_priv *priv;
> >  	u32 rxq;
> >  	int i, ret = 0;
> > @@ -7306,6 +7307,20 @@ int stmmac_dvr_probe(struct device
> *device,
> >  			goto error_xpcs_setup;
> >  	}
> >
> > +	/* For fixed-link setup, we clear xpcs_an_inband */
> > +	if (!fwnode)
> > +		fwnode = dev_fwnode(priv->device);
> > +
> > +	if (fwnode) {
> > +		struct fwnode_handle *fixed_node;
> > +
> > +		fixed_node =
> fwnode_get_named_child_node(fwnode, "fixed-link");
> > +		if (fixed_node)
> > +			priv->plat->mdio_bus_data-
> >xpcs_an_inband = false;
> > +
> > +		fwnode_handle_put(fixed_node);
> > +	}
> > +
> 
> Now you're doing similar checks here and inside stmmac_init_phy.
> Maybe you could combined this to some function?
> 
> Piotr
In stmmac_dvr_probe, the check for fixed-link  is to fixup the xpcs_an_inband
data. Whereas in stmmac_init_phy, we store the fixed_node info to
determine if we need to setup the PHY handle manually in the later code,
and will run phylink_fwnode_phy_connect which uses the fwnode variable.
The NULL check on fwnode is to ensure the functions that uses the fwnode
does not access NULL pointers. It might be difficult to combine it into a
function due to the way fixed_node is used.
> 
> >  	ret = stmmac_phy_setup(priv);
> >  	if (ret) {
> >  		netdev_err(ndev, "failed to setup phy (%d)\n", ret);
> > --
> > 2.34.1
> >

WARNING: multiple messages have this Message-ID (diff)
From: "Sit, Michael Wei Hong" <michael.wei.hong.sit@intel.com>
To: "Raczynski, Piotr" <piotr.raczynski@intel.com>
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>,
	Alexandre Torgue <alexandre.torgue@foss.st.com>,
	Jose Abreu <joabreu@synopsys.com>,
	"David S . Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	"Ong, Boon Leong" <boon.leong.ong@intel.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-stm32@st-md-mailman.stormreply.com"
	<linux-stm32@st-md-mailman.stormreply.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Looi, Hong Aun" <hong.aun.looi@intel.com>,
	"Voon, Weifeng" <weifeng.voon@intel.com>,
	"Lai, Peter Jun Ann" <peter.jun.ann.lai@intel.com>
Subject: RE: [PATCH net 2/2] net: stmmac: move fixed-link support fixup code
Date: Wed, 15 Mar 2023 10:18:36 +0000	[thread overview]
Message-ID: <PH0PR11MB7587C279640CA9C90CC54C489DBF9@PH0PR11MB7587.namprd11.prod.outlook.com> (raw)
In-Reply-To: <ZBA3+LqAaWXDZCKZ@nimitz>



> -----Original Message-----
> From: Raczynski, Piotr <piotr.raczynski@intel.com>
> Sent: Tuesday, March 14, 2023 5:02 PM
> To: Sit, Michael Wei Hong <michael.wei.hong.sit@intel.com>
> Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>; Alexandre
> Torgue <alexandre.torgue@foss.st.com>; Jose Abreu
> <joabreu@synopsys.com>; David S . Miller <davem@davemloft.net>;
> Eric Dumazet <edumazet@google.com>; Jakub Kicinski
> <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; Maxime
> Coquelin <mcoquelin.stm32@gmail.com>; Ong, Boon Leong
> <boon.leong.ong@intel.com>; netdev@vger.kernel.org; linux-
> stm32@st-md-mailman.stormreply.com; linux-arm-
> kernel@lists.infradead.org; linux-kernel@vger.kernel.org; Looi,
> Hong Aun <hong.aun.looi@intel.com>; Voon, Weifeng
> <weifeng.voon@intel.com>; Lai, Peter Jun Ann
> <peter.jun.ann.lai@intel.com>
> Subject: Re: [PATCH net 2/2] net: stmmac: move fixed-link support
> fixup code
> 
> On Mon, Mar 13, 2023 at 04:01:35PM +0800, Michael Sit Wei Hong
> wrote:
> > xpcs_an_inband value is updated in the speed_mode_2500
> function which
> > turns on the xpcs_an_inband mode.
> >
> > Moving the fixed-link fixup code to right before phylink setup to
> > ensure no more fixup will affect the fixed-link mode configurations.
> >
> > Fixes: 72edaf39fc65 ("stmmac: intel: add phy-mode and fixed-link
> ACPI
> > _DSD setting support")
> > Signed-off-by: Michael Sit Wei Hong
> <michael.wei.hong.sit@intel.com>
> > ---
> >  drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c | 11 ---------
> --
> > drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 15
> +++++++++++++++
> >  2 files changed, 15 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c
> > b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c
> > index 7deb1f817dac..d02db2b529b9 100644
> > --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c
> > +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c
> > @@ -592,17 +592,6 @@ static int
> intel_mgbe_common_data(struct pci_dev *pdev,
> >  		plat->mdio_bus_data->xpcs_an_inband = true;
> >  	}
> >
> > -	/* For fixed-link setup, we clear xpcs_an_inband */
> > -	if (fwnode) {
> > -		struct fwnode_handle *fixed_node;
> > -
> > -		fixed_node =
> fwnode_get_named_child_node(fwnode, "fixed-link");
> > -		if (fixed_node)
> > -			plat->mdio_bus_data->xpcs_an_inband =
> false;
> > -
> > -		fwnode_handle_put(fixed_node);
> > -	}
> > -
> >  	/* Ensure mdio bus scan skips intel serdes and pcs-xpcs */
> >  	plat->mdio_bus_data->phy_mask = 1 <<
> INTEL_MGBE_ADHOC_ADDR;
> >  	plat->mdio_bus_data->phy_mask |= 1 <<
> INTEL_MGBE_XPCS_ADDR; diff
> > --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > index 398adcd68ee8..5a9abafba490 100644
> > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > @@ -7064,6 +7064,7 @@ int stmmac_dvr_probe(struct device
> *device,
> >  		     struct stmmac_resources *res)
> >  {
> >  	struct net_device *ndev = NULL;
> > +	struct fwnode_handle *fwnode;
> >  	struct stmmac_priv *priv;
> >  	u32 rxq;
> >  	int i, ret = 0;
> > @@ -7306,6 +7307,20 @@ int stmmac_dvr_probe(struct device
> *device,
> >  			goto error_xpcs_setup;
> >  	}
> >
> > +	/* For fixed-link setup, we clear xpcs_an_inband */
> > +	if (!fwnode)
> > +		fwnode = dev_fwnode(priv->device);
> > +
> > +	if (fwnode) {
> > +		struct fwnode_handle *fixed_node;
> > +
> > +		fixed_node =
> fwnode_get_named_child_node(fwnode, "fixed-link");
> > +		if (fixed_node)
> > +			priv->plat->mdio_bus_data-
> >xpcs_an_inband = false;
> > +
> > +		fwnode_handle_put(fixed_node);
> > +	}
> > +
> 
> Now you're doing similar checks here and inside stmmac_init_phy.
> Maybe you could combined this to some function?
> 
> Piotr
In stmmac_dvr_probe, the check for fixed-link  is to fixup the xpcs_an_inband
data. Whereas in stmmac_init_phy, we store the fixed_node info to
determine if we need to setup the PHY handle manually in the later code,
and will run phylink_fwnode_phy_connect which uses the fwnode variable.
The NULL check on fwnode is to ensure the functions that uses the fwnode
does not access NULL pointers. It might be difficult to combine it into a
function due to the way fixed_node is used.
> 
> >  	ret = stmmac_phy_setup(priv);
> >  	if (ret) {
> >  		netdev_err(ndev, "failed to setup phy (%d)\n", ret);
> > --
> > 2.34.1
> >

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-03-15 10:20 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-13  8:01 [PATCH net 0/2] Fix PHY handle no longer parsing Michael Sit Wei Hong
2023-03-13  8:01 ` Michael Sit Wei Hong
2023-03-13  8:01 ` [PATCH net 1/2] net: stmmac: fix PHY handle parsing Michael Sit Wei Hong
2023-03-13  8:01   ` Michael Sit Wei Hong
2023-03-14  8:39   ` Piotr Raczynski
2023-03-14  8:47     ` Sit, Michael Wei Hong
2023-03-13  8:01 ` [PATCH net 2/2] net: stmmac: move fixed-link support fixup code Michael Sit Wei Hong
2023-03-13  8:01   ` Michael Sit Wei Hong
2023-03-13 11:47   ` kernel test robot
2023-03-13 11:47     ` kernel test robot
2023-03-14  9:01   ` Piotr Raczynski
2023-03-15 10:18     ` Sit, Michael Wei Hong [this message]
2023-03-15 10:18       ` Sit, Michael Wei Hong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=PH0PR11MB7587C279640CA9C90CC54C489DBF9@PH0PR11MB7587.namprd11.prod.outlook.com \
    --to=michael.wei.hong.sit@intel.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=boon.leong.ong@intel.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=hong.aun.looi@intel.com \
    --cc=joabreu@synopsys.com \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=peppe.cavallaro@st.com \
    --cc=peter.jun.ann.lai@intel.com \
    --cc=piotr.raczynski@intel.com \
    --cc=weifeng.voon@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.