Browse Source

qcacmn: Add cdp call to set peer_unmap_sync callback

Add CDP support to set peer_unmap_sync call back in
pdev struct.

Change-Id: Ia685e7e225baff03ba73bafc89d5dfd818f7f03a
CRs-Fixed: 2398850
Alok Kumar 6 years ago
parent
commit
14b3ba0647
2 changed files with 28 additions and 0 deletions
  1. 22 0
      dp/inc/cdp_txrx_cmn.h
  2. 6 0
      dp/inc/cdp_txrx_ops.h

+ 22 - 0
dp/inc/cdp_txrx_cmn.h

@@ -799,6 +799,28 @@ cdp_mgmt_tx_cb_set(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
 			(pdev, type, download_cb, ota_ack_cb, ctxt);
 }
 
+static inline void
+cdp_peer_unmap_sync_cb_set(ol_txrx_soc_handle soc,
+			   struct cdp_pdev *pdev,
+			   QDF_STATUS(*unmap_resp_cb)(
+					uint8_t vdev_id,
+					uint32_t peerid_cnt,
+					uint16_t *peerid_list))
+{
+	if (!soc || !soc->ops) {
+		QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG,
+			  "%s: Invalid Instance:", __func__);
+		QDF_BUG(0);
+		return;
+	}
+
+	if (!soc->ops->cmn_drv_ops ||
+	    !soc->ops->cmn_drv_ops->txrx_peer_unmap_sync_cb_set)
+		return;
+
+	soc->ops->cmn_drv_ops->txrx_peer_unmap_sync_cb_set(pdev, unmap_resp_cb);
+}
+
 static inline int cdp_get_tx_pending(ol_txrx_soc_handle soc,
 struct cdp_pdev *pdev)
 {

+ 6 - 0
dp/inc/cdp_txrx_ops.h

@@ -144,6 +144,12 @@ struct cdp_cmn_ops {
 						uint16_t *peerid_list),
 				      uint32_t bitmap);
 
+	void (*txrx_peer_unmap_sync_cb_set)(struct cdp_pdev *pdev,
+					    QDF_STATUS(*unmap_resp_cb)(
+						uint8_t vdev_id,
+						uint32_t peerid_cnt,
+						uint16_t *peerid_list));
+
 	uint8_t (*txrx_get_pdev_id_frm_pdev)(struct cdp_pdev *pdev);
 	bool (*txrx_get_vow_config_frm_pdev)(struct cdp_pdev *pdev);