Hi Richard, On Mon, Jan 2, 2017 at 9:43 PM, Richard Cochran <richardcoch...@gmail.com> wrote: > On Mon, Jan 02, 2017 at 03:47:07PM +0100, Nicolas Ferre wrote: >> Le 02/01/2017 à 12:31, Richard Cochran a écrit : >> > This Cadence IP core is a complete disaster. >> >> Well, it evolved and propose several options to different SoC >> integrators. This is not something unusual... >> I suspect as well that some other network adapters have the same >> weakness concerning PTP timestamp in single register as the early >> revisions of this IP. > > It appears that this core can neither latch the time on read or write, > or even latch time stamps. I have worked with many different PTP HW > implementations, even early ones like on the ixp4xx, and it is no > exaggeration to say that this one is uniquely broken. > >> I suspect that Rafal tend to jump too quickly to the latest IP revisions >> and add more options to this series: let's not try to pour too much >> things into this code right now. > > Why can't you check the IP version in the driver?
There is an IP revision register but it would be probably be better to rely on "caps" from the compatibility strings - to cover SoC specific implementations. Also, when this extended BD is added (with timestamp), additional words will need to be added statically which will be consistent with Andrei's CONFIG_ checks. > > And is it really true that the registers don't latch the time stamps, > as Rafal said? If so, then we cannot accept the non-descriptor driver > version, since it cannot possibly work correctly. > AFAIK, the two sets of registers only hold the timestamp till the next event (or peer event) packet comes in. I understand that it is not accurate - it is an initial version. Regards, Harini