qcacmn: Correct the WMI command id for CFR

Fix the wmi command id is not right issue for
enable/disable periodic peer CFR capture if
ENABLE_HOST_TO_TARGET_CONVERSION not enabled.

Change-Id: I82ba6c781f67aa73f373a0a914838f482d86f165
CRs-Fixed: 2865389
This commit is contained in:
Chaoli Zhou
2021-01-28 14:03:36 +08:00
committato da snandini
parent ad9b0c99d0
commit bbccf20880
2 ha cambiato i file con 35 aggiunte e 12 eliminazioni

Vedi File

@@ -93,13 +93,12 @@ int target_if_cfr_enable_cfr_timer(struct wlan_objmgr_pdev *pdev,
/**
* target_if_cfr_pdev_set_param() - Function to set params for cfr config
* @pdev: pointer to pdev object
* @param_id: param id which has to be set
* @param_value: value of param being set
*
* Return: success/failure of setting param
*/
int target_if_cfr_pdev_set_param(struct wlan_objmgr_pdev *pdev,
uint32_t param_id, uint32_t param_value);
int target_if_cfr_periodic_peer_cfr_enable(struct wlan_objmgr_pdev *pdev,
uint32_t param_value);
/**
* target_if_cfr_start_capture() - Function to start cfr capture for a peer
* @pdev: pointer to pdev object

Vedi File

@@ -125,8 +125,9 @@ int target_if_cfr_start_capture(struct wlan_objmgr_pdev *pdev,
return retv;
}
int target_if_cfr_pdev_set_param(struct wlan_objmgr_pdev *pdev,
uint32_t param_id, uint32_t param_value)
#ifdef ENABLE_HOST_TO_TARGET_CONVERSION
int target_if_cfr_periodic_peer_cfr_enable(struct wlan_objmgr_pdev *pdev,
uint32_t param_value)
{
struct pdev_params pparam;
uint32_t pdev_id;
@@ -142,12 +143,37 @@ int target_if_cfr_pdev_set_param(struct wlan_objmgr_pdev *pdev,
return -EINVAL;
}
qdf_mem_set(&pparam, sizeof(pparam), 0);
pparam.param_id = param_id;
pparam.param_id = wmi_pdev_param_per_peer_prd_cfr_enable;
pparam.param_value = param_value;
return wmi_unified_pdev_param_send(pdev_wmi_handle,
&pparam, pdev_id);
}
#else
int target_if_cfr_periodic_peer_cfr_enable(struct wlan_objmgr_pdev *pdev,
uint32_t param_value)
{
struct pdev_params pparam;
uint32_t pdev_id;
struct wmi_unified *pdev_wmi_handle = NULL;
pdev_id = wlan_objmgr_pdev_get_pdev_id(pdev);
if (pdev_id < 0)
return -EINVAL;
pdev_wmi_handle = lmac_get_pdev_wmi_handle(pdev);
if (!pdev_wmi_handle) {
cfr_err("pdev wmi handle NULL");
return -EINVAL;
}
qdf_mem_set(&pparam, sizeof(pparam), 0);
pparam.param_id = WMI_PDEV_PARAM_PER_PEER_PERIODIC_CFR_ENABLE;
pparam.param_value = param_value;
return wmi_unified_pdev_param_send(pdev_wmi_handle,
&pparam, pdev_id);
}
#endif
int target_if_cfr_enable_cfr_timer(struct wlan_objmgr_pdev *pdev,
uint32_t cfr_timer)
@@ -162,18 +188,16 @@ int target_if_cfr_enable_cfr_timer(struct wlan_objmgr_pdev *pdev,
if (!cfr_timer) {
/* disable periodic cfr capture */
retval =
target_if_cfr_pdev_set_param(pdev,
wmi_pdev_param_per_peer_prd_cfr_enable,
WMI_HOST_PEER_CFR_TIMER_DISABLE);
target_if_cfr_periodic_peer_cfr_enable(pdev,
WMI_HOST_PEER_CFR_TIMER_DISABLE);
if (retval == QDF_STATUS_SUCCESS)
pa->cfr_timer_enable = 0;
} else {
/* enable periodic cfr capture (default base timer is 10ms ) */
retval =
target_if_cfr_pdev_set_param(pdev,
wmi_pdev_param_per_peer_prd_cfr_enable,
WMI_HOST_PEER_CFR_TIMER_ENABLE);
target_if_cfr_periodic_peer_cfr_enable(pdev,
WMI_HOST_PEER_CFR_TIMER_ENABLE);
if (retval == QDF_STATUS_SUCCESS)
pa->cfr_timer_enable = 1;