summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h
diff options
context:
space:
mode:
authorPavan Chebbi <pavan.chebbi@broadcom.com>2021-07-28 14:11:43 -0400
committerDavid S. Miller <davem@davemloft.net>2021-07-28 20:23:33 +0100
commit9e518f25802cc13adcdb26adaaccfc7e9de80d44 (patch)
treea90a863b9fa59dc455f1408332428fba12f57917 /drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h
parentcaf3eedbcd8d326c9b789cc270b9ddcce254e0ce (diff)
downloadlinux-stable-9e518f25802cc13adcdb26adaaccfc7e9de80d44.tar.gz
linux-stable-9e518f25802cc13adcdb26adaaccfc7e9de80d44.tar.bz2
linux-stable-9e518f25802cc13adcdb26adaaccfc7e9de80d44.zip
bnxt_en: 1PPS functions to configure TSIO pins
Application will send ioctls to set/clear PPS pin functions based on user input. This patch implements the driver callbacks that will configure the TSIO pins using firmware commands. After firmware reset, the TSIO pins will be reconfigured again. 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>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h')
-rw-r--r--drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h b/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h
index 619a6a1bf9fa..84f2b06ed79a 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h
@@ -22,9 +22,13 @@
PORT_TS_QUERY_REQ_ENABLES_TS_REQ_TIMEOUT)
struct pps_pin {
+ u8 event;
u8 usage;
+ u8 state;
};
+#define TSIO_PIN_VALID(pin) ((pin) < (BNXT_MAX_TSIO_PINS))
+
#define BNXT_PPS_PIN_DISABLE 0
#define BNXT_PPS_PIN_ENABLE 1
#define BNXT_PPS_PIN_NONE 0
@@ -93,6 +97,7 @@ do { \
#endif
int bnxt_ptp_parse(struct sk_buff *skb, u16 *seq_id);
+void bnxt_ptp_reapply_pps(struct bnxt *bp);
int bnxt_hwtstamp_set(struct net_device *dev, struct ifreq *ifr);
int bnxt_hwtstamp_get(struct net_device *dev, struct ifreq *ifr);
int bnxt_get_tx_ts_p5(struct bnxt *bp, struct sk_buff *skb);