Re: 回覆: [PATCH net-next v6 3/5] net: ftgmac100: Add RGMII delay support for AST2600

From: Andrew Lunn

Date: Wed Mar 04 2026 - 15:16:34 EST


> > > Therefore, we calculate the delay stage from the rx-internal-delay-ps
> > > of MAC2/3 to add 26. If the stage is equel to or bigger than 32, the
> > > delay stage will be mask 0x1f to get the correct setting.
> >
> > Please return -EINVAL. Asking for more than 7.75ns is clearly broken.
>
> ...
> tx_delay_index = DIV_ROUND_CLOSEST(rgmii_tx_delay, rgmii_delay_unit);
> if (tx_delay_index >= 32) {
> dev_err(dev, "The %u ps of TX delay is out of range\n",
> rgmii_tx_delay);
> return -EINVAL;
> }
>
> rx_delay_index = DIV_ROUND_CLOSEST(rgmii_rx_delay, rgmii_delay_unit);
> if (rx_delay_index >= 32) {
> dev_err(dev, "The %u ps of RX delay is out of range\n",
> rgmii_rx_delay);
> return -EINVAL;
> }
> ...
>
> These codes will calculate the ns delay to MAC delay index.
> (rgmii_delay_unit is 250 ps on MAC2/3)
> If set tx delay to 8 ns on MAC2 or MAC3, it will get index is 32.
> It is over the delay configuration range, here will return -EINVAL.

So is the comment wrong? No masking is actually done?

Andrew