• Matt Carlson's avatar
    tg3: PTP - Implement the ptp api and ethtool functions · 7d41e49a
    Matt Carlson authored
    This patch adds the ptp_caps structure, ptp api implementation,
    reference clock read and register/unregister functions.  All the basic
    clock operations as described in Documentation/ptp/ptp.txt are
    supported.
    
    Frequency adjustment is performed using hardware with a 24 bit
    accumulator and a programmable correction value. On each clk, the
    correction value gets added to the accumulator and when it overflows,
    the time counter is incremented/decremented and the accumulator reset.
    
    So conversion from ppb to correction value is
    	ppb * (1 << 24) / 1000000000
    
    [Re-organized to put the ptp_clock_info struct declaration in one patch,
     added ptp_clock_info.name, and added locking to tg3_ptp_adjtime() based
     on input from Richard Cochran.]
    Signed-off-by: default avatarNithin Nayak Sujir <nsujir@broadcom.com>
    Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
    Cc: Richard Cochran <richardcochran@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    7d41e49a
tg3.c 434 KB