On Wed, Jul 15, 2020 at 08:38:43PM +0200, Andrew Lunn wrote:
> > Getting the Kconfig for this correct has been a struggle - particularly
> > the combination where PTP support is modular. It's rather odd to have
> > the Marvell PTP support asked before the Marvell PHY support. I
> > couldn't work out any other reasonable way to ensure that we always
> > have a valid configuration, without leading to stupidities such as
> > having the PTP and Marvell PTP support modular, but non-functional
> > because Marvell PHY is built-in.
>
> Hi Russell
>
> How much object code is this adding? All the other PHYs which support
> PTP just make it part of the PHY driver, not a standalone module. That
> i guess simplifies the conditions.
Taking an arm64 build, the PHY driver is 16k and the PTP driver comes
in just under 8k.
> Looking at DSDT, it lists
>
> case MAD_88E1340S:
> case MAD_88E1340:
> case MAD_88E1340M:
> case MAD_SWG65G :
> case MAD_88E151x:
>
> as being MAD_PHY_PTP_TAI_CAPABLE;
>
> and
>
> case MAD_88E1548
> case MAD_88E1680:
> case MAD_88E1680M:
>
> as MAD_PHY_1STEP_PTP_CAPABLE;
>
> So maybe we can wire this up to a few more PHYs to 'lower' the
> overhead a bit?
That's interesting, the 1548 information (covering 1543 and 1545 as
well) I have doesn't mention anything about PTP.
> > It seems that the Marvell PHY PTP is very similar to that found in
> > their DSA chips, which suggests maybe we should share the code, but
> > different access methods would be required.
>
> That makes the Kconfig even more complex :-(
We already have that complexity due to the fact that we are interacting
with two subsystems. The 88e6xxx Kconfig entry has:
config NET_DSA_MV88E6XXX_PTP
bool "PTP support for Marvell 88E6xxx"
default n
depends on NET_DSA_MV88E6XXX_GLOBAL2
depends on PTP_1588_CLOCK
imply NETWORK_PHY_TIMESTAMPING
and I've been wondering what that means when PTP_1588_CLOCK=m while
NET_DSA_MV88E6XXX_GLOBAL2=y and NET_DSA_MV88E6XXX=y. If this is
selectable, then it seems to be misleading the user - you can't have
the PTP subsystem modular, and have PTP drivers built-in to the
kernel.
Yes, we have the inteligence to be able to make the various PTP calls
be basically no-ops, but it's not nice.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!