Переглянути джерело

qcacld-3.0: Relocate and rename cds_flush_cache_rx_queue()

API cds_flush_cache_rx_queue() is added as part of propagation
from qcacld-2.0. This function does not belong in CDS but
instead belongs in TXRX because corresponding function in
qcacld-2.0 is tl_shim_flush_cache_rx_queue() which is a datapath
function.

CRs-Fixed: 1106306
Change-Id: I6ca10fa9ebb7ad7cdc0b54ff7ed2cc0595b7d82d
Poddar, Siddarth 8 роки тому
батько
коміт
a78cac3fe6

+ 0 - 7
core/cds/inc/cds_api.h

@@ -207,13 +207,6 @@ QDF_STATUS cds_enable(struct wlan_objmgr_psoc *psoc, v_CONTEXT_t cds_context);
 
 QDF_STATUS cds_disable(struct wlan_objmgr_psoc *psoc, v_CONTEXT_t cds_context);
 
-/**
- * cds_flush_cache_rx_queue() - flush cache rx queue frame
- *
- * Return: None
- */
-void cds_flush_cache_rx_queue(void);
-
 QDF_STATUS cds_post_disable(v_CONTEXT_t cds_context);
 
 QDF_STATUS cds_close(struct wlan_objmgr_psoc *psoc, v_CONTEXT_t cds_context);

+ 0 - 19
core/cds/src/cds_api.c

@@ -983,25 +983,6 @@ QDF_STATUS cds_close(struct wlan_objmgr_psoc *psoc, v_CONTEXT_t cds_context)
 	return QDF_STATUS_SUCCESS;
 }
 
-void cds_flush_cache_rx_queue(void)
-{
-	uint8_t sta_id;
-	void *peer;
-	void *pdev = cds_get_context(QDF_MODULE_ID_TXRX);
-
-	for (sta_id = 0; sta_id < WLAN_MAX_STA_COUNT; sta_id++) {
-		peer = cdp_peer_find_by_local_id(
-				cds_get_context(QDF_MODULE_ID_SOC),
-				pdev, sta_id);
-		if (!peer)
-			continue;
-		cdp_flush_rx_frames(cds_get_context(QDF_MODULE_ID_SOC),
-				peer, 1);
-	}
-	return;
-}
-
-
 /**
  * cds_get_context() - get context data area
  *

+ 7 - 1
core/dp/ol/inc/ol_txrx_osif_api.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2014-2016 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012, 2014-2017 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -89,5 +89,11 @@ void ol_rx_data_process(struct ol_txrx_peer_t *peer,
 
 void ol_txrx_flush_rx_frames(struct ol_txrx_peer_t *peer,
 			     bool drop);
+/**
+ * ol_txrx_flush_cache_rx_queue() - flush cache rx queue frame
+ *
+ * Return: None
+ */
+void ol_txrx_flush_cache_rx_queue(void);
 
 #endif /* _OL_TXRX_OSIF_API__H_ */

+ 18 - 0
core/dp/txrx/ol_txrx.c

@@ -2096,6 +2096,24 @@ void ol_txrx_flush_rx_frames(struct ol_txrx_peer_t *peer,
 	qdf_atomic_dec(&peer->flush_in_progress);
 }
 
+void ol_txrx_flush_cache_rx_queue(void)
+{
+	uint8_t sta_id;
+	struct ol_txrx_peer_t *peer;
+	struct ol_txrx_pdev_t *pdev;
+
+	pdev = cds_get_context(QDF_MODULE_ID_TXRX);
+	if (!pdev)
+		return;
+
+	for (sta_id = 0; sta_id < WLAN_MAX_STA_COUNT; sta_id++) {
+		peer = ol_txrx_peer_find_by_local_id(pdev, sta_id);
+		if (!peer)
+			continue;
+		ol_txrx_flush_rx_frames(peer, 1);
+	}
+}
+
 /**
  * ol_txrx_peer_attach - Allocate and set up references for a
  * data peer object.

+ 3 - 2
core/hdd/src/wlan_hdd_power.c

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -70,6 +70,7 @@
 #include <wlan_hdd_lpass.h>
 
 #include <wma_types.h>
+#include <ol_txrx_osif_api.h>
 #include "hif.h"
 #include "sme_power_save_api.h"
 #include "cds_concurrency.h"
@@ -1471,7 +1472,7 @@ QDF_STATUS hdd_wlan_shutdown(void)
 	hdd_reset_all_adapters(pHddCtx);
 
 	/* Flush cached rx frame queue */
-	cds_flush_cache_rx_queue();
+	ol_txrx_flush_cache_rx_queue();
 
 	/* De-register the HDD callbacks */
 	hdd_deregister_cb(pHddCtx);