• Horatiu Vultur's avatar
    net: micrel: Change to receive timestamp in the frame for lan8841 · cc755495
    Horatiu Vultur authored
    Currently for each timestamp frame, the SW needs to go and read the
    received timestamp over the MDIO bus. But the HW has the capability
    to store the received nanoseconds part and the least significant two
    bits of the seconds in the reserved field of the PTP header. In this
    way we could save few MDIO transactions (actually a little more
    transactions because the access to the PTP registers are indirect)
    for each received frame.
    
    Instead of reading the rest of seconds part of the timestamp of the
    frame using MDIO transactions schedule PTP worker thread to read the
    seconds part every 500ms and then for each of the received frames use
    this information. Because if for example running with 512 frames per
    second, there is no point to read 512 times the second part.
    
    Doing all these changes will give a great CPU usage performance.
    Running ptp4l with logSyncInterval of -9 will give a ~60% CPU
    improvement.
    Signed-off-by: default avatarHoratiu Vultur <horatiu.vultur@microchip.com>
    Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    cc755495
micrel.c 133 KB