Subject: Re: [PATCH v7 2/2] net: stmmac: dwc-qos: Add FSD EQoS support

From: "Russell King (Oracle)" <[email-masked]>
Date: Fri, 21 Feb 2025 11:49:44 +0000

On Fri, Feb 21, 2025 at 04:04:25PM +0530, Swathi K S wrote:
> 
> 
> > -----Original Message-----
> > From: Russell King (Oracle) <[email-masked]>
> > Sent: 20 February 2025 18:10
> > To: Swathi K S <[email-masked]>
> > Cc: [email-masked]; [email-masked]; [email-masked];
> > [email-masked]; [email-masked]; [email-masked];
> > [email-masked]; [email-masked]; [email-masked];
> > [email-masked]; [email-masked];
> > [email-masked]; [email-masked]; linux-stm32@st-md-
> > mailman.stormreply.com; [email-masked]; linux-
> > [email-masked]; [email-masked];
> > [email-masked]; [email-masked]
> > Subject: Re: [PATCH v7 2/2] net: stmmac: dwc-qos: Add FSD EQoS support
> > 
> > On Thu, Feb 20, 2025 at 10:07:12AM +0530, Swathi K S wrote:
> > > +static int fsd_eqos_probe(struct platform_device *pdev,
> > > +			  struct plat_stmmacenet_data *data,
> > > +			  struct stmmac_resources *res)
> > > +{
> > > +	struct clk *clk_rx1 = NULL;
> > > +	struct clk *clk_rx2 = NULL;
> > > +
> > > +	for (int i = 0; i < data->num_clks; i++) {
> > > +		if (strcmp(data->clks[i].id, "slave_bus") == 0)
> > > +			data->stmmac_clk = data->clks[i].clk;
> > > +		else if (strcmp(data->clks[i].id, "eqos_rxclk_mux") == 0)
> > > +			clk_rx1 = data->clks[i].clk;
> > > +		else if (strcmp(data->clks[i].id, "eqos_phyrxclk") == 0)
> > > +			clk_rx2 = data->clks[i].clk;
> > > +	}
> > > +
> > > +	/* Eth0 RX clock doesn't support MUX */
> > > +	if (clk_rx1)
> > > +		clk_set_parent(clk_rx1, clk_rx2);
> > 
> > Isn't there support in DT for automatically setting the clock tree?
> > See
> > https://protect2.fireeye.com/v1/url?k=f0089f78-90ea0225-f0091437-
> > 000babd9f1ba-cf835b8b94ccd94a&q=1&e=4ae794ec-f443-4d77-aee4-
> > 449f53a3a1a4&u=https%3A%2F%2Fgithub.com%2Fdevicetree-org%2Fdt-
> > schema%2Fblob%2Fmain%2Fdtschema%2Fschemas%2Fclock%2Fclock.yaml
> > %23L24
> > 
> > Also, I think a cleanup like the below (sorry, it's on top of other
> patches I'm
> > working on at the moment but could be rebased) would make sense.
> > 
> > With both of these, this should mean that your changes amount to:
> > 
> > 1. making data->probe optional
> > 2. providing a dwc_eth_dwmac_data structure that has .stmmac_clk_name
> >    filled in
> > 3. adding your compatible to the match data with a pointer to the
> >    above structure.
> 
> Hi Russell, 
> Thanks for your input.
> Will implement this in v8.
> But I could not find your patch 'net: stmmac: clean up clock initialisation'
> in mailing list
> Could you point me to that?
> Or do you want me to integrate the below changes into my patch series and
> post?
> 
> Please let me know

Please have patience - I'm a volunteer here, and I included the patch in
the email for you. You're not the only one whom I'm addressing issues in
the stmmac driver for. Since Sunday, I have a total of 16 new stmmac
patches plus been debugging a regression someone has reported.

Coincidentally, I just sent out the patch as a stand-alone patch, it
should be quicker to get it into net-next rather than trying to get all
the other patches I'd *already* had queued up in first.

https://lore.kernel.org/r/[email-masked]

However, I'm expecting someone to say that dwc_eth_find_clk() should be
moved into the stmmac platform code, and the other platforms need to be
converted to use it... so it may be some time before we're at a stage
where you can proceed.

Please be patient.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!