Просмотр исходного кода

qcacmn: Add PTP timestamp socket options support(cdp part)

Add tsf64 enable/disable related functions and definitions.

Change-Id: Ieea0d8f905eb57629d279f8da0e811857b760b1f
CRs-Fixed: 2454513
Jiani Liu 6 лет назад
Родитель
Сommit
7067cd4d3e
2 измененных файлов с 56 добавлено и 14 удалено
  1. 32 1
      dp/inc/cdp_txrx_cfg.h
  2. 24 13
      dp/inc/cdp_txrx_ops.h

+ 32 - 1
dp/inc/cdp_txrx_cfg.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2017, 2018 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-2019 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -384,4 +384,35 @@ cdp_cfg_get_peer_unmap_conf_support(ol_txrx_soc_handle soc)
 	return soc->ops->cfg_ops->get_peer_unmap_conf_support();
 }
 
+static inline void
+cdp_cfg_set_tx_compl_tsf64(ol_txrx_soc_handle soc,
+			   uint8_t val)
+{
+	if (!soc || !soc->ops) {
+		dp_debug("invalid instance");
+		return;
+	}
+
+	if (!soc->ops->cfg_ops ||
+	    !soc->ops->cfg_ops->set_tx_compl_tsf64)
+		return;
+
+	soc->ops->cfg_ops->set_tx_compl_tsf64(val);
+}
+
+static inline bool
+cdp_cfg_get_tx_compl_tsf64(ol_txrx_soc_handle soc)
+{
+	if (!soc || !soc->ops) {
+		dp_debug("invalid instance");
+		return false;
+	}
+
+	if (!soc->ops->cfg_ops ||
+	    !soc->ops->cfg_ops->get_tx_compl_tsf64)
+		return false;
+
+	return soc->ops->cfg_ops->get_tx_compl_tsf64();
+}
+
 #endif /* _CDP_TXRX_CFG_H_ */

+ 24 - 13
dp/inc/cdp_txrx_ops.h

@@ -1055,19 +1055,28 @@ struct cdp_pmf_ops {
 
 /**
  * struct cdp_cfg_ops - mcl configuration ops
- * @set_cfg_rx_fwd_disabled:
- * @set_cfg_packet_log_enabled:
- * @cfg_attach:
- * @vdev_rx_set_intrabss_fwd:
- * @is_rx_fwd_disabled:
- * @tx_set_is_mgmt_over_wmi_enabled:
- * @is_high_latency:
- * @set_flow_control_parameters:
- * @set_flow_steering:
- * @set_ptp_rx_opt_enabled:
- * @set_new_htt_msg_format:
- * @set_peer_unmap_conf_support:
- * @get_peer_unmap_conf_support:
+ * @set_cfg_rx_fwd_disabled: set rx_fwd_disabled flag
+ * @set_cfg_packet_log_enabled: set is_packet_log_enabled flag
+ * @cfg_attach: hardcode the configuration parameters
+ * @vdev_rx_set_intrabss_fwd: set disable_intrabss_fwd flag
+ * @is_rx_fwd_disabled: get the rx_fwd_disabled flag,
+ *                      1 enabled, 0 disabled.
+ * @tx_set_is_mgmt_over_wmi_enabled: set is_mgmt_over_wmi_enabled flag to
+ *                                   indicate that mgmt over wmi is enabled
+ *                                   or not,
+ *                                   1 for enabled, 0 for disable
+ * @is_high_latency: get device is high or low latency device,
+ *                   1 high latency bus, 0 low latency bus
+ * @set_flow_control_parameters: set flow control parameters
+ * @set_flow_steering: set flow_steering_enabled flag
+ * @set_ptp_rx_opt_enabled: set is_ptp_rx_opt_enabled flag
+ * @set_new_htt_msg_format: set new_htt_msg_format flag
+ * @set_peer_unmap_conf_support: set enable_peer_unmap_conf_support flag
+ * @get_peer_unmap_conf_support: get enable_peer_unmap_conf_support flag
+ * @set_tx_compl_tsf64: set enable_tx_compl_tsf64 flag,
+ *                      1 enabled, 0 disabled.
+ * @get_tx_compl_tsf64: get enable_tx_compl_tsf64 flag,
+ *                      1 enabled, 0 disabled.
  */
 struct cdp_cfg_ops {
 	void (*set_cfg_rx_fwd_disabled)(struct cdp_cfg *cfg_pdev,
@@ -1086,6 +1095,8 @@ struct cdp_cfg_ops {
 	void (*set_new_htt_msg_format)(uint8_t val);
 	void (*set_peer_unmap_conf_support)(bool val);
 	bool (*get_peer_unmap_conf_support)(void);
+	void (*set_tx_compl_tsf64)(bool val);
+	bool (*get_tx_compl_tsf64)(void);
 };
 
 /**