Răsfoiți Sursa

qcacmn: Move partial offload dfs code under macro

Move partial offload dfs code under WLAN_DFS_PARTIAL_OFFLOAD macro.

Change-Id: Ibbda6b5935deb3e165aa26a01b1ee32f40ee8a6f
Amith Ajith 3 ani în urmă
părinte
comite
f3c393d735

+ 43 - 155
umac/dfs/core/src/dfs.h

@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2013, 2016-2021 The Linux Foundation.  All rights reserved.
  * Copyright (c) 2005-2006 Atheros Communications, Inc.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. 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 above
@@ -1004,9 +1005,7 @@ struct dfs_rcac_params {
  *                                   test.
  * @wlan_dfs_cac_time:               CAC period.
  * @wlan_dfstesttime:                Time to stay off chan during dfs test.
- * @wlan_dfswaittimer:               Dfs wait timer.
  * @wlan_dfstesttimer:               Dfs mute test timer.
- * @wlan_dfs_debug_timer:            Dfs debug timer.
  * @dfs_bangradar_type:              Radar simulation type.
  * @is_radar_found_on_secondary_seg: Radar on second segment.
  * @is_radar_during_precac:          Radar found during precac.
@@ -1022,7 +1021,6 @@ struct dfs_rcac_params {
  *                                   which will be prioritized for preCAC.
  * @dfs_autoswitch_des_mode:         Desired PHY mode which has to be used
  *                                   after precac.
- * @dfs_pre_cac_timeout_channel_change: Channel change due to precac timeout.
  * @wlan_dfs_task_timer:             Dfs wait timer.
  * @dur_multiplier:                  Duration multiplier.
  * @wlan_dfs_isdfsregdomain:         True when AP is in DFS domain
@@ -1044,8 +1042,6 @@ struct dfs_rcac_params {
  * @wlan_dfs_nol_timeout:            NOL timeout.
  * @update_nol:                      Update NOL.
  * @dfs_seq_num:                     Sequence number.
- * @dfs_nol_event[]:                 NOL event.
- * @dfs_nol_timer:                   NOL list processing.
  * @dfs_nol_free_list:               NOL free list.
  * @dfs_nol_elem_free_work:          The work queue to free an NOL element.
  * @dfs_cac_timer:                   CAC timer.
@@ -1059,7 +1055,6 @@ struct dfs_rcac_params {
  * @dfs_cac_valid_time:              Time for which CAC will be valid and will
  *                                   not be re-done.
  * @dfs_precac_timeout_override:     Overridden precac timeout.
- * @dfs_num_precac_freqs:            Number of PreCAC VHT80 frequencies.
  * @dfs_precac_list:                 PreCAC list (contains individual trees).
  * @dfs_precac_chwidth:              PreCAC channel width enum.
  * @dfs_curchan:                     DFS current channel.
@@ -1145,54 +1140,74 @@ struct dfs_rcac_params {
  *                                   CAC REQUIRED, CAC COMPLETED, NOL,
  *                                   PRECAC STARTED, PRECAC COMPLETED etc. of
  *                                   all the DFS channels.
- * @dfs_precac_max_root_bw:          Stores the max bandwidth (in MHz) to be
- *                                   included in the precac forest as per the
- *                                   regulatory current channel list.
  */
 struct wlan_dfs {
 	uint32_t       dfs_debug_mask;
+#ifdef WLAN_DFS_PARTIAL_OFFLOAD
 	int16_t        dfs_curchan_radindex;
 	int16_t        dfs_extchan_radindex;
+	struct dfs_ar_state   dfs_ar_state;
+	struct dfs_state      dfs_radar[DFS_NUM_RADAR_STATES];
+	struct dfs_filtertype *dfs_radarf[DFS_MAX_RADAR_TYPES];
+	struct dfs_info       dfs_rinfo;
+	struct dfs_bin5radars *dfs_b5radars;
+	int8_t                **dfs_ftindextable;
+	struct wlan_dfs_phyerr_param dfs_defaultparams;
+	struct dfs_event      *events;
+	struct wlan_dfs_caps dfs_caps;
+	qdf_timer_t    wlan_dfs_task_timer;
+	int            dur_multiplier;
+	uint16_t       wlan_dfs_isdfsregdomain;
+	int            dfs_phyerr_w53_counter;
+	uint32_t       dfs_seq_num;
+	int32_t        dfs_min_sidx;
+	int32_t        dfs_max_sidx;
+	qdf_spinlock_t dfs_data_struct_lock;
+	uint16_t       dfs_lowest_pri_limit;
+
+	STAILQ_HEAD(, dfs_event) dfs_eventq;
+	STAILQ_HEAD(, dfs_event) dfs_radarq;
+	STAILQ_HEAD(, dfs_event) dfs_arq;
+
+#ifdef HOST_DFS_SPOOF_TEST
+	qdf_timer_t    dfs_host_wait_timer;
+	uint32_t       dfs_average_pri;
+	uint32_t       dfs_average_duration;
+	uint32_t       dfs_average_sidx;
+	uint8_t        dfs_is_host_wait_running:1,
+				   dfs_average_params_sent:1,
+				   dfs_no_res_from_fw:1,
+				   dfs_spoof_check_failed:1;
+	struct dfs_channel dfs_radar_found_chan;
+	int            dfs_status_timeout_override;
+#endif
+#ifdef WLAN_DFS_SYNTHETIC_RADAR
+	bool           dfs_allow_hw_pulses;
+#endif
+#endif /* WLAN_DFS_PARTIAL_OFFLOAD */
 	uint32_t       dfsdomain;
 	uint32_t       dfs_proc_phyerr;
 
-	STAILQ_HEAD(, dfs_event) dfs_eventq;
 	qdf_spinlock_t dfs_eventqlock;
 
-	STAILQ_HEAD(, dfs_event) dfs_radarq;
 	qdf_spinlock_t dfs_radarqlock;
 
-	STAILQ_HEAD(, dfs_event) dfs_arq;
 	qdf_spinlock_t dfs_arqlock;
-
-	struct dfs_ar_state   dfs_ar_state;
-	struct dfs_state      dfs_radar[DFS_NUM_RADAR_STATES];
-	struct dfs_filtertype *dfs_radarf[DFS_MAX_RADAR_TYPES];
-	struct dfs_info       dfs_rinfo;
-	struct dfs_bin5radars *dfs_b5radars;
-	int8_t                **dfs_ftindextable;
 	struct dfs_nolelem    *dfs_nol;
 	int                   dfs_nol_count;
-	struct wlan_dfs_phyerr_param dfs_defaultparams;
 	struct dfs_stats      wlan_dfs_stats;
 	struct dfs_pulseline  *pulses;
-	struct dfs_event      *events;
-
 	uint32_t       wlan_radar_tasksched:1,
-				   wlan_dfswait:1,
-				   wlan_dfstest:1;
-	struct wlan_dfs_caps dfs_caps;
+		       wlan_dfswait:1,
+		       wlan_dfstest:1;
 	uint8_t        wlan_dfstest_ieeechan;
 	uint32_t       wlan_dfs_cac_time;
 	uint32_t       wlan_dfstesttime;
-	qdf_timer_t    wlan_dfswaittimer;
 	qdf_timer_t    wlan_dfstesttimer;
-	qdf_timer_t    wlan_dfs_debug_timer;
 	enum dfs_bangradar_types dfs_bangradar_type;
 	bool           is_radar_found_on_secondary_seg;
 	bool           is_radar_during_precac;
 	qdf_spinlock_t dfs_precac_lock;
-	bool           dfs_precac_enable;
 #ifdef CONFIG_CHAN_FREQ_API
 	uint16_t        dfs_precac_secondary_freq_mhz;
 	uint16_t        dfs_precac_primary_freq_mhz;
@@ -1207,10 +1222,6 @@ struct wlan_dfs {
 	uint16_t       dfs_precac_inter_chan_freq;
 #endif
 #endif
-	uint8_t        dfs_pre_cac_timeout_channel_change:1;
-	qdf_timer_t    wlan_dfs_task_timer;
-	int            dur_multiplier;
-	uint16_t       wlan_dfs_isdfsregdomain;
 	int            wlan_dfs_false_rssi_thres;
 	int            wlan_dfs_peak_mag;
 	struct dfs_event_log radar_log[DFS_EVENT_LOG_SIZE];
@@ -1221,13 +1232,9 @@ struct wlan_dfs {
 	int            dfs_phyerr_queued_count;
 	int            dfs_phyerr_freq_min;
 	int            dfs_phyerr_freq_max;
-	int            dfs_phyerr_w53_counter;
 	int            dfs_pri_multiplier;
 	int            wlan_dfs_nol_timeout;
 	bool           update_nol;
-	uint32_t       dfs_seq_num;
-	int            dfs_nol_event[DFS_CHAN_MAX];
-	qdf_timer_t    dfs_nol_timer;
 
 	TAILQ_HEAD(, dfs_nolelem) dfs_nol_free_list;
 	qdf_work_t     dfs_nol_elem_free_work;
@@ -1242,7 +1249,6 @@ struct wlan_dfs {
 				   dfs_cac_valid:1;
 	uint32_t       dfs_cac_valid_time;
 	int            dfs_precac_timeout_override;
-	uint8_t        dfs_num_precac_freqs;
 #if defined(WLAN_DFS_FULL_OFFLOAD) && defined(QCA_DFS_NOL_OFFLOAD)
 	uint8_t        dfs_disable_radar_marking;
 #endif
@@ -1267,27 +1273,12 @@ struct wlan_dfs {
 	uint16_t tx_leakage_threshold;
 	bool dfs_use_nol_subchannel_marking;
 	uint8_t        dfs_spoof_test_done:1;
-#if defined(WLAN_DFS_PARTIAL_OFFLOAD) && defined(HOST_DFS_SPOOF_TEST)
-	qdf_timer_t    dfs_host_wait_timer;
-	uint32_t       dfs_average_pri;
-	uint32_t       dfs_average_duration;
-	uint32_t       dfs_average_sidx;
-	uint8_t        dfs_is_host_wait_running:1,
-				   dfs_average_params_sent:1,
-				   dfs_no_res_from_fw:1,
-				   dfs_spoof_check_failed:1;
-	struct dfs_channel dfs_radar_found_chan;
-	int            dfs_status_timeout_override;
-#endif
 	bool           dfs_is_stadfs_enabled;
-	int32_t        dfs_min_sidx;
-	int32_t        dfs_max_sidx;
 	uint8_t        dfs_seg_id;
 	uint8_t        dfs_is_chirp;
 	bool           dfs_bw_reduced;
 	int32_t        dfs_freq_offset;
 	bool           dfs_cac_aborted;
-	qdf_spinlock_t dfs_data_struct_lock;
 #if defined(QCA_DFS_RCSA_SUPPORT)
 	uint8_t        dfs_nol_ie_bandwidth;
 	uint16_t       dfs_nol_ie_startfreq;
@@ -1302,16 +1293,12 @@ struct wlan_dfs {
 #endif
 		       dfs_fw_adfs_support_non_160:1,
 		       dfs_fw_adfs_support_160:1;
-#if defined(WLAN_DFS_PARTIAL_OFFLOAD) && defined(WLAN_DFS_SYNTHETIC_RADAR)
-	bool           dfs_allow_hw_pulses;
-#endif
 	struct dfs_mode_switch_defer_params dfs_defer_params;
 	uint8_t        dfs_agile_detector_id;
 #if defined(QCA_SUPPORT_ADFS_RCAC)
 	uint16_t       dfs_agile_rcac_freq_ucfg;
 	struct dfs_rcac_params dfs_rcac_param;
 #endif
-	uint16_t       dfs_lowest_pri_limit;
 #if defined(QCA_SUPPORT_DFS_CHAN_POSTNOL)
 	qdf_freq_t     dfs_chan_postnol_freq;
 	enum phy_ch_width dfs_chan_postnol_mode;
@@ -1321,7 +1308,6 @@ struct wlan_dfs {
 	enum channel_dfs_state dfs_channel_state_array[NUM_DFS_CHANS];
 #endif /* WLAN_DISP_CHAN_INFO */
 #ifdef QCA_SUPPORT_AGILE_DFS
-	uint16_t       dfs_precac_max_root_bw;
 #endif
 };
 
@@ -2643,104 +2629,6 @@ void dfs_get_nol_chfreq_and_chwidth(struct dfsreq_nolelem *dfs_nol,
 		uint32_t *nol_chwidth,
 		int index);
 
-/**
- * dfs_process_phyerr_owl() - Process an Owl-style phy error.
- * @dfs: Pointer to wlan_dfs structure.
- * @buf: Phyerr buffer
- * @datalen: Phyerr buf len
- * @rssi: RSSI
- * @ext_rssi: Extension RSSI.
- * @rs_tstamp: Time stamp.
- * @fulltsf: TSF64.
- * @e: Pointer to dfs_phy_err structure.
- *
- * Return: Returns 1.
- */
-int dfs_process_phyerr_owl(struct wlan_dfs *dfs,
-		void *buf,
-		uint16_t datalen,
-		uint8_t rssi,
-		uint8_t ext_rssi,
-		uint32_t rs_tstamp,
-		uint64_t fulltsf,
-		struct dfs_phy_err *e);
-
-/**
- * dfs_process_phyerr_sowl() -Process a Sowl/Howl style phy error.
- * @dfs: Pointer to wlan_dfs structure.
- * @buf: Phyerr buffer
- * @datalen: Phyerr buf len
- * @rssi: RSSI
- * @ext_rssi: Extension RSSI.
- * @rs_tstamp: Time stamp.
- * @fulltsf: TSF64.
- * @e: Pointer to dfs_phy_err structure.
- *
- * Return: Returns 1.
- */
-int dfs_process_phyerr_sowl(struct wlan_dfs *dfs,
-		void *buf,
-		uint16_t datalen,
-		uint8_t rssi,
-		uint8_t ext_rssi,
-		uint32_t rs_tstamp,
-		uint64_t fulltsf,
-		struct dfs_phy_err *e);
-
-/**
- * dfs_process_phyerr_merlin() - Process a Merlin/Osprey style phy error.
- *                               dfs_phy_err struct.
- * @dfs: Pointer to wlan_dfs structure.
- * @buf: Phyerr buffer
- * @datalen: Phyerr buf len
- * @rssi: RSSI
- * @ext_rssi: Extension RSSI.
- * @rs_tstamp: Time stamp.
- * @fulltsf: TSF64.
- * @e: Pointer to dfs_phy_err structure.
- *
- * Return: Returns 1.
- */
-int dfs_process_phyerr_merlin(struct wlan_dfs *dfs,
-		void *buf,
-		uint16_t datalen,
-		uint8_t rssi,
-		uint8_t ext_rssi,
-		uint32_t rs_tstamp,
-		uint64_t fulltsf,
-		struct dfs_phy_err *e);
-
-/*
- * __dfs_process_radarevent() - Continuation of process a radar event function.
- * @dfs: Pointer to wlan_dfs structure.
- * @ft: Pointer to dfs_filtertype structure.
- * @re: Pointer to dfs_event structure.
- * @this_ts: Timestamp.
- *
- * There is currently no way to specify that a radar event has occurred on
- * a specific channel, so the current methodology is to mark both the pri
- * and ext channels as being unavailable.  This should be fixed for 802.11ac
- * or we'll quickly run out of valid channels to use.
- *
- * Return: If a radar event is found, return 1.  Otherwise, return 0.
- */
-void __dfs_process_radarevent(struct wlan_dfs *dfs,
-		struct dfs_filtertype *ft,
-		struct dfs_event *re,
-		uint64_t this_ts,
-		int *found,
-		int *false_radar_found);
-
-/**
- * dfs_radar_found_action() - Radar found action
- * @dfs: Pointer to wlan_dfs structure.
- * @bangradar: true if radar is due to bangradar command.
- * @seg_id: Segment id.
- */
-void dfs_radar_found_action(struct wlan_dfs *dfs,
-			    bool bangradar,
-			    uint8_t seg_id);
-
 /**
  * bin5_rules_check_internal() - This is a extension of dfs_bin5_check().
  * @dfs: Pointer to wlan_dfs structure.

+ 67 - 24
umac/dfs/core/src/filtering/dfs_process_phyerr.c

@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
  * Copyright (c) 2002-2010, Atheros Communications Inc.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. 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 above
@@ -28,6 +29,7 @@
 #include "wlan_dfs_mlme_api.h"
 #include "../dfs_internal.h"
 
+#ifdef WLAN_DFS_PARTIAL_OFFLOAD
 /**
  * dfs_get_event_freqwidth() - Get frequency width.
  * @dfs: Pointer to wlan_dfs structure.
@@ -112,14 +114,27 @@ static inline uint16_t dfs_get_event_freqcentre(struct wlan_dfs *dfs,
 	return dfs_chan2freq(dfs->dfs_curchan);
 }
 
-int dfs_process_phyerr_owl(struct wlan_dfs *dfs,
-		void *buf,
-		uint16_t datalen,
-		uint8_t rssi,
-		uint8_t ext_rssi,
-		uint32_t rs_tstamp,
-		uint64_t fulltsf,
-		struct dfs_phy_err *e)
+/**
+ * dfs_process_phyerr_owl() - Process an Owl-style phy error.
+ * @dfs: Pointer to wlan_dfs structure.
+ * @buf: Phyerr buffer
+ * @datalen: Phyerr buf len
+ * @rssi: RSSI
+ * @ext_rssi: Extension RSSI.
+ * @rs_tstamp: Time stamp.
+ * @fulltsf: TSF64.
+ * @e: Pointer to dfs_phy_err structure.
+ *
+ * Return: Returns 1.
+ */
+static int dfs_process_phyerr_owl(struct wlan_dfs *dfs,
+				  void *buf,
+				  uint16_t datalen,
+				  uint8_t rssi,
+				  uint8_t ext_rssi,
+				  uint32_t rs_tstamp,
+				  uint64_t fulltsf,
+				  struct dfs_phy_err *e)
 {
 	const char *cbuf = (const char *) buf;
 	uint8_t dur;
@@ -170,14 +185,27 @@ int dfs_process_phyerr_owl(struct wlan_dfs *dfs,
 	return 1;
 }
 
-int dfs_process_phyerr_sowl(struct wlan_dfs *dfs,
-		void *buf,
-		uint16_t datalen,
-		uint8_t rssi,
-		uint8_t ext_rssi,
-		uint32_t rs_tstamp,
-		uint64_t fulltsf,
-		struct dfs_phy_err *e)
+/**
+ * dfs_process_phyerr_sowl() -Process a Sowl/Howl style phy error.
+ * @dfs: Pointer to wlan_dfs structure.
+ * @buf: Phyerr buffer
+ * @datalen: Phyerr buf len
+ * @rssi: RSSI
+ * @ext_rssi: Extension RSSI.
+ * @rs_tstamp: Time stamp.
+ * @fulltsf: TSF64.
+ * @e: Pointer to dfs_phy_err structure.
+ *
+ * Return: Returns 1.
+ */
+static int dfs_process_phyerr_sowl(struct wlan_dfs *dfs,
+				   void *buf,
+				   uint16_t datalen,
+				   uint8_t rssi,
+				   uint8_t ext_rssi,
+				   uint32_t rs_tstamp,
+				   uint64_t fulltsf,
+				   struct dfs_phy_err *e)
 {
 #define EXT_CH_RADAR_FOUND 0x02
 #define PRI_CH_RADAR_FOUND 0x01
@@ -310,14 +338,28 @@ int dfs_process_phyerr_sowl(struct wlan_dfs *dfs,
 	return 1;
 }
 
-int dfs_process_phyerr_merlin(struct wlan_dfs *dfs,
-		void *buf,
-		uint16_t datalen,
-		uint8_t rssi,
-		uint8_t ext_rssi,
-		uint32_t rs_tstamp,
-		uint64_t fulltsf,
-		struct dfs_phy_err *e)
+/**
+ * dfs_process_phyerr_merlin() - Process a Merlin/Osprey style phy error.
+ *                               dfs_phy_err struct.
+ * @dfs: Pointer to wlan_dfs structure.
+ * @buf: Phyerr buffer
+ * @datalen: Phyerr buf len
+ * @rssi: RSSI
+ * @ext_rssi: Extension RSSI.
+ * @rs_tstamp: Time stamp.
+ * @fulltsf: TSF64.
+ * @e: Pointer to dfs_phy_err structure.
+ *
+ * Return: Returns 1.
+ */
+static int dfs_process_phyerr_merlin(struct wlan_dfs *dfs,
+				     void *buf,
+				     uint16_t datalen,
+				     uint8_t rssi,
+				     uint8_t ext_rssi,
+				     uint32_t rs_tstamp,
+				     uint64_t fulltsf,
+				     struct dfs_phy_err *e)
 {
 	const char *cbuf = (const char *) buf;
 	uint8_t pulse_bw_info = 0;
@@ -850,6 +892,7 @@ void dfs_process_phyerr(struct wlan_dfs *dfs, void *buf, uint16_t datalen,
 #undef PRI_CH_RADAR_FOUND
 #undef EXT_CH_RADAR_EARLY_FOUND
 }
+#endif /* WLAN_DFS_PARTIAL_OFFLOAD */
 
 #ifdef MOBILE_DFS_SUPPORT
 void dfs_process_phyerr_filter_offload(struct wlan_dfs *dfs,

+ 30 - 9
umac/dfs/core/src/filtering/dfs_process_radarevent.c

@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2013, 2016-2021 The Linux Foundation. All rights reserved.
  * Copyright (c) 2002-2010, Atheros Communications Inc.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. 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 above
@@ -447,12 +448,26 @@ static inline void dfs_confirm_radar_check(
 	}
 }
 
-void __dfs_process_radarevent(struct wlan_dfs *dfs,
-		struct dfs_filtertype *ft,
-		struct dfs_event *re,
-		uint64_t this_ts,
-		int *found,
-		int *false_radar_found)
+/*
+ * __dfs_process_radarevent() - Continuation of process a radar event function.
+ * @dfs: Pointer to wlan_dfs structure.
+ * @ft: Pointer to dfs_filtertype structure.
+ * @re: Pointer to dfs_event structure.
+ * @this_ts: Timestamp.
+ *
+ * There is currently no way to specify that a radar event has occurred on
+ * a specific channel, so the current methodology is to mark both the pri
+ * and ext channels as being unavailable.  This should be fixed for 802.11ac
+ * or we'll quickly run out of valid channels to use.
+ *
+ * Return: If a radar event is found, return 1.  Otherwise, return 0.
+ */
+static void __dfs_process_radarevent(struct wlan_dfs *dfs,
+				     struct dfs_filtertype *ft,
+				     struct dfs_event *re,
+				     uint64_t this_ts,
+				     int *found,
+				     int *false_radar_found)
 {
 	int p;
 	uint64_t deltaT = 0;
@@ -1405,9 +1420,15 @@ void dfs_radarfound_action_generic(struct wlan_dfs *dfs, uint8_t seg_id)
 	qdf_mem_free(radar_found);
 }
 
-void dfs_radar_found_action(struct wlan_dfs *dfs,
-			    bool bangradar,
-			    uint8_t seg_id)
+/**
+ * dfs_radar_found_action() - Radar found action
+ * @dfs: Pointer to wlan_dfs structure.
+ * @bangradar: true if radar is due to bangradar command.
+ * @seg_id: Segment id.
+ */
+static void dfs_radar_found_action(struct wlan_dfs *dfs,
+				   bool bangradar,
+				   uint8_t seg_id)
 {
 	/* If Host DFS confirmation is supported, save the curchan as
 	 * radar found chan, send radar found indication along with

+ 14 - 0
umac/dfs/dispatcher/inc/wlan_dfs_tgt_api.h

@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  *
  * Permission to use, copy, modify, and/or distribute this software for
@@ -236,6 +237,7 @@ static inline QDF_STATUS tgt_dfs_process_radar_ind(
 }
 #endif
 
+#ifdef WLAN_DFS_PARTIAL_OFFLOAD
 /**
  * tgt_dfs_process_phyerr() - Process phyerr.
  * @pdev: Pointer to DFS pdev object.
@@ -256,6 +258,18 @@ QDF_STATUS tgt_dfs_process_phyerr(struct wlan_objmgr_pdev *pdev,
 	uint8_t r_ext_rssi,
 	uint32_t r_rs_tstamp,
 	uint64_t r_fulltsf);
+#else
+static inline QDF_STATUS tgt_dfs_process_phyerr(struct wlan_objmgr_pdev *pdev,
+						void *buf,
+						uint16_t datalen,
+						uint8_t r_rssi,
+						uint8_t r_ext_rssi,
+						uint32_t r_rs_tstamp,
+						uint64_t r_fulltsf)
+{
+	return QDF_STATUS_SUCCESS;
+}
+#endif
 
 /**
  * tgt_dfs_process_phyerr_filter_offload() - Process radar event.

+ 1 - 8
umac/dfs/dispatcher/inc/wlan_dfs_utils_api.h

@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  *
  * Permission to use, copy, modify, and/or distribute this software for
@@ -683,14 +684,6 @@ utils_dfs_can_ignore_radar_event(struct wlan_objmgr_pdev *pdev)
  */
 int utils_get_dfsdomain(struct wlan_objmgr_pdev *pdev);
 
-/**
- * utils_dfs_get_cur_rd() - Get current regdomain.
- * @pdev: pdev ptr
- *
- * Return: Regdomain pair id.
- */
-uint16_t utils_dfs_get_cur_rd(struct wlan_objmgr_pdev *pdev);
-
 /**
  * utils_dfs_is_spoof_check_failed() - get spoof check status.
  * @pdev: pdev ptr

+ 3 - 0
umac/dfs/dispatcher/src/wlan_dfs_tgt_api.c

@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  *
  * Permission to use, copy, modify, and/or distribute this software for
@@ -195,6 +196,7 @@ void tgt_dfs_is_radar_enabled(struct wlan_objmgr_pdev *pdev, int *ignore_dfs)
 
 qdf_export_symbol(tgt_dfs_is_radar_enabled);
 
+#ifdef WLAN_DFS_PARTIAL_OFFLOAD
 QDF_STATUS tgt_dfs_process_phyerr(struct wlan_objmgr_pdev *pdev,
 				  void *buf,
 				  uint16_t datalen,
@@ -222,6 +224,7 @@ QDF_STATUS tgt_dfs_process_phyerr(struct wlan_objmgr_pdev *pdev,
 	return QDF_STATUS_SUCCESS;
 }
 qdf_export_symbol(tgt_dfs_process_phyerr);
+#endif
 
 #ifdef MOBILE_DFS_SUPPORT
 QDF_STATUS tgt_dfs_process_phyerr_filter_offload(struct wlan_objmgr_pdev *pdev,

+ 1 - 10
umac/dfs/dispatcher/src/wlan_dfs_utils_api.c

@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  *
  * Permission to use, copy, modify, and/or distribute this software for
@@ -1242,15 +1242,6 @@ int utils_get_dfsdomain(struct wlan_objmgr_pdev *pdev)
 	return dfsdomain;
 }
 
-uint16_t utils_dfs_get_cur_rd(struct wlan_objmgr_pdev *pdev)
-{
-	struct cur_regdmn_info cur_regdmn;
-
-	wlan_reg_get_curr_regdomain(pdev, &cur_regdmn);
-
-	return cur_regdmn.regdmn_pair_id;
-}
-
 #if defined(WLAN_DFS_PARTIAL_OFFLOAD) && defined(HOST_DFS_SPOOF_TEST)
 QDF_STATUS utils_dfs_is_spoof_check_failed(struct wlan_objmgr_pdev *pdev,
 					   bool *is_spoof_check_failed)