Bladeren bron

qcacld-3.0: Change to set 64 bits quota bytes

IPA uC quota bytes is 64 bits long, however wma_cli_set_command
passes only 32 bit value, so only LSB is passed to FW.
To set full 64 bits to FW, pass MSB of the quota value using second
value parameter of wma_cli_set2_command.

Change-Id: Iace8c4a856fcadaa1492b843e24901ab63657550
CRs-fixed: 2007400
Yun Park 8 jaren geleden
bovenliggende
commit
327e7816d1
2 gewijzigde bestanden met toevoegingen van 8 en 3 verwijderingen
  1. 4 2
      core/hdd/src/wlan_hdd_ipa.c
  2. 4 1
      core/wma/src/wma_main.c

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

@@ -1881,10 +1881,12 @@ void hdd_ipa_uc_set_quota(hdd_adapter_t *adapter, uint8_t set_quota,
 	if ((HDD_IPA_UC_NUM_WDI_PIPE == hdd_ipa->activated_fw_pipe) &&
 		(false == hdd_ipa->resource_loading)) {
 		qdf_mutex_release(&hdd_ipa->ipa_lock);
-		wma_cli_set_command(
+		wma_cli_set2_command(
 			(int)adapter->sessionId,
 			(int)WMA_VDEV_TXRX_SET_IPA_UC_QUOTA_CMDID,
-			(set_quota ? quota_bytes : 0), VDEV_CMD);
+			(set_quota ? quota_bytes&0xffffffff : 0),
+			(set_quota ? quota_bytes>>32 : 0),
+			VDEV_CMD);
 	} else {
 		qdf_mutex_release(&hdd_ipa->ipa_lock);
 	}

+ 4 - 1
core/wma/src/wma_main.c

@@ -820,7 +820,10 @@ static int32_t wma_set_priv_cfg(tp_wma_handle wma_handle,
 	{
 		void *soc = cds_get_context(QDF_MODULE_ID_SOC);
 		struct cdp_pdev *pdev;
-		uint64_t quota_bytes = privcmd->param_value;
+		uint64_t quota_bytes = privcmd->param_sec_value;
+
+		quota_bytes <<= 32;
+		quota_bytes |= privcmd->param_value;
 
 		WMA_LOGE("%s: quota_bytes=%llu",
 			 "WMA_VDEV_TXRX_SET_IPA_UC_QUOTA_CMDID",