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 năm trước cách đây
mục cha
commit
13046aa4c1
1 tập tin đã thay đổi với 12 bổ sung5 xóa
  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