qcacld-3.0: Add support for QCA_WLAN_TWT_SET_PARAM command

Add support for QCA_WLAN_TWT_SET_PARAM command to configure
QCA_WLAN_VENDOR_ATTR_TWT_SET_PARAM_AP_AC_VALUE attribute.
This attribute provides access category value for
WMI_PDEV_PARAM_TWT_AC_CONFIG. This is used by firmware to
configure access category for TWT HW queue in TWT Responder
mode(SAP).

Change-Id: I5131967ff2061bf6afad7bc5f091a7eb5ee01b8a
CRs-Fixed: 3168197
这个提交包含在:
Vishal Miskin
2022-04-05 00:34:01 +05:30
提交者 Madan Koyyalamudi
父节点 ad770886cb
当前提交 d75a1c786c
修改 10 个文件,包含 245 行新增5 行删除

查看文件

@@ -99,6 +99,50 @@ target_if_twt_nudge_req(struct wlan_objmgr_psoc *psoc,
return wmi_unified_twt_nudge_dialog_cmd(wmi_handle, req);
}
/**
* target_if_twt_convert_ac_value() - map ac setting to the value to be used in FW.
* @ac_value: ac value to be mapped.
*
* Return: enum wmi_traffic_ac
*/
static inline
wmi_traffic_ac target_if_twt_convert_ac_value(enum twt_traffic_ac ac_value)
{
switch (ac_value) {
case TWT_AC_BE:
return WMI_AC_BE;
case TWT_AC_BK:
return WMI_AC_BK;
case TWT_AC_VI:
return WMI_AC_VI;
case TWT_AC_VO:
return WMI_AC_VO;
case TWT_AC_MAX:
return WMI_AC_MAX;
}
target_if_err("invalid enum: %u", ac_value);
return WMI_AC_MAX;
}
QDF_STATUS
target_if_twt_ac_param_send(struct wlan_objmgr_psoc *psoc,
enum twt_traffic_ac twt_ac, uint8_t mac_id)
{
struct wmi_unified *wmi_handle;
struct pdev_params params = {0};
wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);
if (!wmi_handle) {
target_if_err("wmi_handle is null");
return QDF_STATUS_E_NULL_VALUE;
}
params.param_id = WMI_PDEV_PARAM_TWT_AC_CONFIG;
params.param_value = target_if_twt_convert_ac_value(twt_ac);
return wmi_unified_pdev_param_send(wmi_handle, &params, mac_id);
}
QDF_STATUS
target_if_twt_register_ext_tx_ops(struct wlan_lmac_if_twt_tx_ops *twt_tx_ops)
{
@@ -107,6 +151,7 @@ target_if_twt_register_ext_tx_ops(struct wlan_lmac_if_twt_tx_ops *twt_tx_ops)
twt_tx_ops->pause_req = target_if_twt_pause_req;
twt_tx_ops->resume_req = target_if_twt_resume_req;
twt_tx_ops->nudge_req = target_if_twt_nudge_req;
twt_tx_ops->set_ac_param = target_if_twt_ac_param_send;
return QDF_STATUS_SUCCESS;
}