Răsfoiți Sursa

qcacmn: Set retry_limit_ext for MGMT frame send WMI command

Some p2p action frame needs big retry count than the default
max 15 retry count to get high tx successful ratio.
FW allocates 3 extra bits for retry count setup.
To use this field needs FW change in CR 3082533.
Set the extra 3 bits "retry_limit_ext" to "tx_param_dword0"
field for WMI MGMT send command. Existing 4 bits
"retry_limit" combines with this new 3 bits
"retry_limit_ext" to create a 7 bits retry count:
bit 0 - 3: retry_limit
bit 4 - 6: retry_limit_ext.
So Maximum 127 retries can be specified to a certain mgmt
frame.
To use this field needs FW change in CR 3082533.

Change-Id: I889933ea1750c03701ba8a60340f27e6c2594c1b
CRs-Fixed: 3082534
Liangwei Dong 3 ani în urmă
părinte
comite
b6e8d7a2ce
2 a modificat fișierele cu 8 adăugiri și 1 ștergeri
  1. 6 1
      wmi/inc/wmi_unified_param.h
  2. 2 0
      wmi/src/wmi_unified_tlv.c

+ 6 - 1
wmi/inc/wmi_unified_param.h

@@ -1325,6 +1325,10 @@ struct seg_hdr_info {
  *              0:disable 1:enable
  * @en_beamforming: flag to enable tx beamforming
  *              0:disable 1:enable
+ * @retry_limit_ext: 3 bits of extended retry limit.
+ *              Combined with 4 bits "retry_limit"
+ *              to create 7 bits hw retry count.
+ *              Maximum 127 retries for specific frames.
  */
 struct tx_send_params {
 	uint32_t pwr:8,
@@ -1337,7 +1341,8 @@ struct tx_send_params {
 		 frame_type:1,
 		 cfr_enable:1,
 		 en_beamforming:1,
-		 reserved:9;
+		 retry_limit_ext:3,
+		 reserved:6;
 };
 
 /**

+ 2 - 0
wmi/src/wmi_unified_tlv.c

@@ -3685,6 +3685,8 @@ static inline QDF_STATUS populate_tx_send_params(uint8_t *bufp,
 					  param.cfr_enable);
 	WMI_TX_SEND_PARAM_BEAMFORM_SET(tx_param->tx_param_dword1,
 				       param.en_beamforming);
+	WMI_TX_SEND_PARAM_RETRY_LIMIT_EXT_SET(tx_param->tx_param_dword1,
+					      param.retry_limit_ext);
 
 	return status;
 }