On 11/09/2016 06:03 PM, Florian Fainelli wrote: > On 11/09/2016 05:02 AM, Sebastian Frias wrote: >> On 11/04/2016 05:49 PM, Måns Rullgård wrote: >>>>> But when doing so, both the Atheros 8035 and the Aurora NB8800 drivers >>>>> will apply the delay. >>>>> >>>>> I think a better way of dealing with this is that both, PHY and MAC >>>>> drivers exchange information so that the delay is applied only once. >>>> >>>> Exchange what information? The PHY device interface (phydev->interface) >>>> conveys the needed information for both entities. >>> >>> There doesn't seem to be any consensus among the drivers regarding where >>> the delay should be applied. Since only a few drivers, MAC or PHY, act >>> on this property, most combinations still work by chance. It is common >>> for boards to set the delay at the PHY using external config pins so no >>> software setup is required (although I have one Sigma based board that >>> gets this wrong). I suspect if drivers/net/ethernet/broadcom/genet were >>> used with one of the four PHY drivers that also set the delay based on >>> this DT property, things would go wrong. >>> >> >> Exactly, what about a patch like (I can make a formal submission, even >> merge it with the patch discussed in this thread, consider this a RFC): > > I really don't see a point in doing this when we can just clarify what > phydev->interface does and already have the knowledge that we need > without introducing additional flags in the phy driver. >
Ok, so who can clarify what "phydev->interface" does, especially in the context of this discussion? What happens when a TX delay must be applied and: - both the PHY and the MAC support the delay - only the PHY supports the delay - only the MAC supports the delay Best regards, Sebastian