Re: [RFC PATCH 0/2] AT8031 PHY timestamping support
From: Michael Walle <hidden>
Date: 2020-02-26 00:07:34
Also in:
lkml
Am 26. Februar 2020 00:50:40 MEZ schrieb Andrew Lunn [off-list ref]:
On Wed, Feb 26, 2020 at 12:08:17AM +0100, Michael Walle wrote:quoted
This patchset is the current state of my work for adding PHYtimestampingquoted
support. I just wanted to post this to the mailinglist before I neverdoquoted
it. Maybe its a starting point for other people. That being said, I wouldn't mind comments ;) The code basically works but there arethreequoted
major caveats: (1) The reading of timestamps via MDIO sometimes return wrongvalues. Whatquoted
I see is that a part of the timestamp corresponds to the newtimestampquoted
while another part still contains old values. Thus at the moment,I'mquoted
reading the registers twice. I don't know if the reading actually affects the update of the timestamp or the different timing (myMDIOquoted
bus is rather slow, so reading the timestamp a second time takesomequoted
amount of time; but I've also tested with some delays and it didn't had any effects). There is also no possibility to read thetimestampquoted
atomically :(Hi Michael That sounds fundamentally broken. Which would be odd. Sometimes there is a way to take a snapshot of the value. Reading the first word could trigger this snapshot. Or the last word, or some status register. One would hope the datasheet would talk about this.
Hi Andrew This might be the case, but the datasheet (some older revision can be found on the internet, maybe you find something) doesn't mention it. Nor does the PTP "guide" (I don't know the exact name, I'd have to check at work) of this PHY. Besides the timestamp there's also the sequence number and the source port id which would need to be read atomically together with the timestamp. I might give it a try reading the whole tx or rx block (sequenceId, sourcePortId, timestamp) sequentially. -michael