|
@@ -13445,6 +13445,72 @@ static int dp_set_peer_txq_flush_config(struct cdp_soc_t *soc_hdl,
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
+#ifdef CONNECTIVITY_PKTLOG
|
|
|
+/**
|
|
|
+ * dp_register_packetdump_callback() - registers
|
|
|
+ * tx data packet, tx mgmt. packet and rx data packet
|
|
|
+ * dump callback handler.
|
|
|
+ *
|
|
|
+ * @soc_hdl: Datapath soc handle
|
|
|
+ * @pdev_id: id of data path pdev handle
|
|
|
+ * @dp_tx_packetdump_cb: tx packetdump cb
|
|
|
+ * @dp_rx_packetdump_cb: rx packetdump cb
|
|
|
+ *
|
|
|
+ * This function is used to register tx data pkt, tx mgmt.
|
|
|
+ * pkt and rx data pkt dump callback
|
|
|
+ *
|
|
|
+ * Return: None
|
|
|
+ *
|
|
|
+ */
|
|
|
+static inline
|
|
|
+void dp_register_packetdump_callback(struct cdp_soc_t *soc_hdl, uint8_t pdev_id,
|
|
|
+ ol_txrx_pktdump_cb dp_tx_packetdump_cb,
|
|
|
+ ol_txrx_pktdump_cb dp_rx_packetdump_cb)
|
|
|
+{
|
|
|
+ struct dp_soc *soc = cdp_soc_t_to_dp_soc(soc_hdl);
|
|
|
+ struct dp_pdev *pdev;
|
|
|
+
|
|
|
+ pdev = dp_get_pdev_from_soc_pdev_id_wifi3(soc, pdev_id);
|
|
|
+ if (!pdev) {
|
|
|
+ dp_err("pdev is NULL!");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ pdev->dp_tx_packetdump_cb = dp_tx_packetdump_cb;
|
|
|
+ pdev->dp_rx_packetdump_cb = dp_rx_packetdump_cb;
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * dp_deregister_packetdump_callback() - deregidters
|
|
|
+ * tx data packet, tx mgmt. packet and rx data packet
|
|
|
+ * dump callback handler
|
|
|
+ * @soc_hdl: Datapath soc handle
|
|
|
+ * @pdev_id: id of data path pdev handle
|
|
|
+ *
|
|
|
+ * This function is used to deregidter tx data pkt.,
|
|
|
+ * tx mgmt. pkt and rx data pkt. dump callback
|
|
|
+ *
|
|
|
+ * Return: None
|
|
|
+ *
|
|
|
+ */
|
|
|
+static inline
|
|
|
+void dp_deregister_packetdump_callback(struct cdp_soc_t *soc_hdl,
|
|
|
+ uint8_t pdev_id)
|
|
|
+{
|
|
|
+ struct dp_soc *soc = cdp_soc_t_to_dp_soc(soc_hdl);
|
|
|
+ struct dp_pdev *pdev;
|
|
|
+
|
|
|
+ pdev = dp_get_pdev_from_soc_pdev_id_wifi3(soc, pdev_id);
|
|
|
+ if (!pdev) {
|
|
|
+ dp_err("pdev is NULL!");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ pdev->dp_tx_packetdump_cb = NULL;
|
|
|
+ pdev->dp_rx_packetdump_cb = NULL;
|
|
|
+}
|
|
|
+#endif
|
|
|
+
|
|
|
#ifdef DP_PEER_EXTENDED_API
|
|
|
static struct cdp_misc_ops dp_ops_misc = {
|
|
|
#ifdef FEATURE_WLAN_TDLS
|
|
@@ -13481,6 +13547,10 @@ static struct cdp_misc_ops dp_ops_misc = {
|
|
|
#ifdef WLAN_FEATURE_PEER_TXQ_FLUSH_CONF
|
|
|
.set_peer_txq_flush_config = dp_set_peer_txq_flush_config,
|
|
|
#endif
|
|
|
+#ifdef CONNECTIVITY_PKTLOG
|
|
|
+ .register_pktdump_cb = dp_register_packetdump_callback,
|
|
|
+ .unregister_pktdump_cb = dp_deregister_packetdump_callback,
|
|
|
+#endif
|
|
|
};
|
|
|
#endif
|
|
|
|