Browse Source

qcacld-3.0: set and get SRG PD min/max offest

Currently while processing SRP IE, only pd offset
of NON-SRG is updated. Add SRG pd min and max offset
in vdev mlme, so that it can be fetched while sending
enable command and while updating SR params to userspace.

Change-Id: I5d6483b5e018b036539b981021b2f32eaf02ea74
CRs-Fixed: 3309161
Sheenam Monga 2 years ago
parent
commit
13046aa4c1
1 changed files with 12 additions and 5 deletions
  1. 12 5
      core/mac/src/pe/lim/lim_api.c

+ 12 - 5
core/mac/src/pe/lim/lim_api.c

@@ -3758,7 +3758,7 @@ void lim_update_vdev_sr_elements(struct pe_session *session_entry,
 				 tpDphHashNode sta_ds)
 {
 	uint8_t sr_ctrl;
-	uint8_t max_pd_offset;
+	uint8_t non_srg_max_pd_offset, srg_min_pd_offset, srg_max_pd_offset;
 	tDot11fIEspatial_reuse *srp_ie = &sta_ds->parsed_ies.srp_ie;
 
 	sr_ctrl = srp_ie->sr_value15_allow << 4 |
@@ -3766,11 +3766,18 @@ void lim_update_vdev_sr_elements(struct pe_session *session_entry,
 		  srp_ie->non_srg_offset_present << 2 |
 		  srp_ie->non_srg_pd_sr_disallow << 1 |
 		  srp_ie->psr_disallow;
-	max_pd_offset = srp_ie->non_srg_offset.info.non_srg_pd_max_offset;
-	pe_debug("Spatial Reuse Control field: %x Non-SRG Max PD Offset: %x",
-		 sr_ctrl, max_pd_offset);
+	non_srg_max_pd_offset =
+		srp_ie->non_srg_offset.info.non_srg_pd_max_offset;
+	srg_min_pd_offset = srp_ie->srg_info.info.srg_pd_min_offset;
+	srg_max_pd_offset = srp_ie->srg_info.info.srg_pd_max_offset;
+	pe_debug("Spatial Reuse Control field: %x Non-SRG Max PD Offset: %x SRG range %d - %d",
+		 sr_ctrl, non_srg_max_pd_offset, srg_min_pd_offset,
+		 srg_max_pd_offset);
 
 	wlan_vdev_mlme_set_sr_ctrl(session_entry->vdev, sr_ctrl);
-	wlan_vdev_mlme_set_pd_offset(session_entry->vdev, max_pd_offset);
+	wlan_vdev_mlme_set_pd_offset(session_entry->vdev,
+				     non_srg_max_pd_offset);
+	wlan_vdev_mlme_set_srg_pd_offset(session_entry->vdev, srg_max_pd_offset,
+					 srg_min_pd_offset);
 }
 #endif