[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<SEYPR06MB51340B307868D8D6AD1ECFAD9DABA@SEYPR06MB5134.apcprd06.prod.outlook.com>
Date: Wed, 17 Dec 2025 08:35:58 +0000
From: Jacky Chou <jacky_chou@...eedtech.com>
To: Rob Herring <robh@...nel.org>, Andrew Lunn <andrew@...n.ch>
CC: Andrew Lunn <andrew+netdev@...n.ch>, "David S. Miller"
<davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski
<kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Krzysztof Kozlowski
<krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>, Po-Yu Chuang
<ratbert@...aday-tech.com>, Joel Stanley <joel@....id.au>, Andrew Jeffery
<andrew@...econstruct.com.au>, "netdev@...r.kernel.org"
<netdev@...r.kernel.org>, "devicetree@...r.kernel.org"
<devicetree@...r.kernel.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>, "linux-aspeed@...ts.ozlabs.org"
<linux-aspeed@...ts.ozlabs.org>, "taoren@...a.com" <taoren@...a.com>
Subject: [PATCH net-next v5 3/4] net: ftgmac100: Add RGMII delay support for
AST2600
Hi Rob,
> On Sat, Dec 06, 2025 at 07:30:30PM +0100, Andrew Lunn wrote:
> > > @@ -1907,6 +2179,10 @@ static int ftgmac100_probe(struct
> platform_device *pdev)
> > > priv->rxdes0_edorr_mask = BIT(30);
> > > priv->txdes0_edotr_mask = BIT(30);
> > > priv->is_aspeed = true;
> > > + /* Configure RGMII delay if there are the corresponding
> compatibles */
> > > + err = ftgmac100_set_internal_delay(priv, &phy_intf);
> > > + if (err)
> > > + goto err_phy_connect;
> >
> > Thinking forward to when you add 2700 support, i really think you need
> > to break the probe up into helpers for 2500 and before, 2600 and in
> > the future 2700. You currently have a couple of tests on the
> > compatible which you can reduce to one.
> >
> > In fact, this driver has 10 calls to of_device_is_compatible(). I
> > think you should first refactor the code to list each compatible in
> > ftgmac100_of_match[], and add a data structure which contains an enum
> > of the MAC type. You can then transfer this to priv, and replace all
> > the of_device_is_compatible() tests to just look at the enum value.
>
> Better yet, define a structure which defines the different settings directly. Such
> as:
>
> priv->rxdes0_edorr_mask
> priv->txdes0_edotr_mask
> priv->is_aspeed
>
> And anything else needed...
>
Thanks for the feedback.
We'll take your suggestions into account and adjust the structure accordingly if needed
Thanks,
Jacky
Powered by blists - more mailing lists