bnxt_en: Add PTP clock APIs, ioctls, and ethtool methods
authorMichael Chan <michael.chan@broadcom.com>
Sun, 27 Jun 2021 17:19:46 +0000 (13:19 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jun 2021 20:41:05 +0000 (13:41 -0700)
commit118612d519d83b98ead11195a5c818f5e8904654
tree2692fc0a83eceaf885b6ead153923603f7a62213
parentae5c42f0b92ca0abefe2e3930a14fc2e716c81a2
bnxt_en: Add PTP clock APIs, ioctls, and ethtool methods

Add the clock APIs to set/get/adjust the hw clock, and the related
ioctls and ethtool methods.

v2: Propagate error code from ptp_clock_register().
    Add spinlock to serialize access to the timecounter.  The
    timecounter is accessed in process context and the RX datapath.
    Read the PHC using direct registers.

Reviewed-by: Edwin Peer <edwin.peer@broadcom.com>
Signed-off-by: Pavan Chebbi <pavan.chebbi@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/Kconfig
drivers/net/ethernet/broadcom/bnxt/Makefile
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c [new file with mode: 0644]
drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h