Forráskód Böngészése

qcacld-3.0: Add Rx thread feature support for HDD module

Add resume and suspend support for rx thread, rx refill threads
in HDD module through DP componentization.

Change-Id: I0cdd0d43ac742ef55fad2155bc8df063c5bb8657
CRs-Fixed: 3316821
Roopavathi Lingampalli 2 éve
szülő
commit
81e2d7813a

+ 5 - 6
core/hdd/inc/wlan_hdd_main.h

@@ -104,7 +104,6 @@
 #include "wma_sar_public_structs.h"
 #include "wlan_mlme_ucfg_api.h"
 #include "pld_common.h"
-#include <dp_txrx.h>
 #include "wlan_cm_roam_public_struct.h"
 
 #ifdef WLAN_FEATURE_DP_BUS_BANDWIDTH
@@ -1156,7 +1155,7 @@ enum udp_qos_upgrade {
  * @motion_det_in_progress:
  * @motion_det_baseline_value:
  * @last_disconnect_reason: Last disconnected internal reason code
- *                          as per enum qca_disconnect_reason_codes
+ * as per enum qca_disconnect_reason_codes
  * @connect_req_status: Last disconnected internal status code
  *                          as per enum qca_sta_connect_fail_reason_codes
  * @peer_cleanup_done:
@@ -1168,12 +1167,12 @@ enum udp_qos_upgrade {
  * @tso_csum_feature_enabled: Indicate if TSO and checksum offload features
  *                            are enabled or not
  * @netdev_features_update_work: work for handling the netdev features update
- *				 for the adapter.
+ * for the adapter.
  * @netdev_features_update_work_status: status for netdev_features_update_work
  * @net_dev_hold_ref_count:
  * @delete_in_progress: Flag to indicate that the adapter delete is in
- *			progress, and any operation using rtnl lock inside
- *			the driver can be avoided/skipped.
+ * progress, and any operation using rtnl lock inside
+ * the driver can be avoided/skipped.
  * @is_virtual_iface: Indicates that netdev is called from virtual interface
  * @big_data_stats:
  * @mon_adapter: hdd_adapter of monitor mode.
@@ -1199,7 +1198,7 @@ struct hdd_adapter {
 
 	struct work_struct ipv4_notifier_work;
 #ifdef WLAN_NS_OFFLOAD
-	/** IPv6 notifier callback for handling NS offload on change in IP */
+	/* IPv6 notifier callback for handling NS offload on change in IP */
 	struct work_struct ipv6_notifier_work;
 #endif
 

+ 2 - 4
core/hdd/src/wlan_hdd_main.c

@@ -141,8 +141,6 @@
 #include "sme_power_save_api.h"
 #include "enet.h"
 #include <cdp_txrx_cmn_struct.h>
-#include <dp_txrx.h>
-#include <dp_rx_thread.h>
 #include "wlan_hdd_sysfs.h"
 #include "wlan_disa_ucfg_api.h"
 #include "wlan_disa_obj_mgmt_api.h"
@@ -11045,8 +11043,8 @@ int hdd_wlan_dump_stats(struct hdd_adapter *adapter, int stats_id)
 		}
 		break;
 	case CDP_DP_RX_THREAD_STATS:
-		dp_txrx_ext_dump_stats(cds_get_context(QDF_MODULE_ID_SOC),
-				       CDP_DP_RX_THREAD_STATS);
+		ucfg_dp_txrx_ext_dump_stats(cds_get_context(QDF_MODULE_ID_SOC),
+					    CDP_DP_RX_THREAD_STATS);
 		break;
 	case CDP_DISCONNECT_STATS:
 		sme_display_disconnect_stats(hdd_ctx->mac_handle,

+ 0 - 14
core/hdd/src/wlan_hdd_power.c

@@ -76,7 +76,6 @@
 #include "cds_utils.h"
 #include "wlan_hdd_packet_filter_api.h"
 #include "wlan_cfg80211_scan.h"
-#include <dp_txrx.h>
 #include "wlan_ipa_ucfg_api.h"
 #include <wlan_cfg80211_mc_cp_stats.h>
 #include "wlan_p2p_ucfg_api.h"
@@ -1866,8 +1865,6 @@ QDF_STATUS hdd_wlan_shutdown(void)
 
 	wlan_hdd_rx_thread_resume(hdd_ctx);
 
-	dp_txrx_resume(cds_get_context(QDF_MODULE_ID_SOC));
-
 	if (ucfg_pkt_capture_get_mode(hdd_ctx->psoc) !=
 						PACKET_CAPTURE_MODE_DISABLE) {
 		adapter = hdd_get_adapter(hdd_ctx, QDF_MONITOR_MODE);
@@ -2302,9 +2299,6 @@ static int __wlan_hdd_cfg80211_resume_wlan(struct wiphy *wiphy)
 	if (ucfg_dp_is_rx_common_thread_enabled(hdd_ctx->psoc))
 		wlan_hdd_rx_thread_resume(hdd_ctx);
 
-	if (ucfg_dp_is_rx_threads_enabled(hdd_ctx->psoc))
-		dp_txrx_resume(cds_get_context(QDF_MODULE_ID_SOC));
-
 	if (ucfg_pkt_capture_get_mode(hdd_ctx->psoc) !=
 						PACKET_CAPTURE_MODE_DISABLE) {
 		adapter = hdd_get_adapter(hdd_ctx, QDF_MONITOR_MODE);
@@ -2610,11 +2604,6 @@ static int __wlan_hdd_cfg80211_suspend_wlan(struct wiphy *wiphy,
 			goto resume_ol_rx;
 	}
 
-	if (ucfg_dp_is_rx_threads_enabled(hdd_ctx->psoc)) {
-		if (dp_txrx_suspend(cds_get_context(QDF_MODULE_ID_SOC)))
-			goto resume_ol_rx;
-	}
-
 	if (ucfg_pkt_capture_get_mode(hdd_ctx->psoc) !=
 						PACKET_CAPTURE_MODE_DISABLE) {
 		adapter = hdd_get_adapter(hdd_ctx, QDF_MONITOR_MODE);
@@ -2649,9 +2638,6 @@ static int __wlan_hdd_cfg80211_suspend_wlan(struct wiphy *wiphy,
 	return 0;
 
 resume_dp_thread:
-	if (ucfg_dp_is_rx_threads_enabled(hdd_ctx->psoc))
-		dp_txrx_resume(cds_get_context(QDF_MODULE_ID_SOC));
-
 	/* Resume packet capture MON thread */
 	if (ucfg_pkt_capture_get_mode(hdd_ctx->psoc) !=
 						PACKET_CAPTURE_MODE_DISABLE) {

+ 0 - 1
core/hdd/src/wlan_hdd_tx_rx.c

@@ -50,7 +50,6 @@
 #include <wlan_hdd_tsf.h>
 #include <net/tcp.h>
 
-#include "dp_txrx.h"
 #include <ol_defines.h>
 #include "cfg_ucfg_api.h"
 #include "target_type.h"

+ 1 - 1
core/hdd/src/wlan_hdd_wext.c

@@ -108,7 +108,7 @@
 #include "cfg_mlme_threshold.h"
 #include "wlan_pmo_cfg.h"
 #include "wlan_pmo_ucfg_api.h"
-#include "dp_txrx.h"
+#include "wlan_dp_rx_thread.h"
 #include "wlan_fwol_ucfg_api.h"
 #include "wlan_hdd_unit_test.h"
 #include "wlan_hdd_thermal.h"