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
这个提交包含在:
@@ -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, ¶ms, 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;
|
||||
}
|
||||
|
在新工单中引用
屏蔽一个用户