qcacmn: Add method to configure TID queues flush

This enables the option to configure when a peer's
TID queue needs to be flushed. This is required to
discard packets that are no longer useful to the application.

Change-Id: I558debff043fc0c8038e5f5f2c815b64c90e1561
CRs-Fixed: 3130422
此提交包含在:
Madhvapathi Sriram
2022-05-06 13:56:42 +05:30
提交者 Madan Koyyalamudi
父節點 f666bb4d71
當前提交 f4bfa6616b
共有 10 個檔案被更改,包括 422 行新增2 行删除

查看文件

@@ -934,6 +934,18 @@ QDF_STATUS
wmi_unified_peer_flush_tids_send(wmi_unified_t wmi_handle,
uint8_t peer_addr[QDF_MAC_ADDR_SIZE],
struct peer_flush_params *param);
#ifdef WLAN_FEATURE_PEER_TXQ_FLUSH_CONF
/**
* wmi_unified_peer_txq_flush_config_send() - peer txq flush policy config in fw
* @wmi_handle: wmi handle
* @pr: peer txq flush config parameters
*
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
*/
QDF_STATUS
wmi_unified_peer_txq_flush_config_send(wmi_unified_t wmi_handle,
struct peer_txq_flush_config_params *pr);
#endif
/**
* wmi_unified_peer_delete_all_send() - send PEER delete all command to fw

查看文件

@@ -3696,6 +3696,34 @@ enum wmi_ratemask_type {
WMI_RATEMASK_TYPE_HE = 3,
};
/**
* enum peer_txq_flush_policy - Peer flush policy values
* @PEER_TXQ_FLUSH_POLICY_NONE: No policy configured for peer TID queues
* @PEER_TXQ_FLUSH_POLICY_TWT_SP_END: flush peer TID queues after SP end
*
* This is mapped to 'flush_policy' in WMI_PEER_FLUSH_POLICY_CMDID
*/
enum peer_txq_flush_policy {
PEER_TXQ_FLUSH_POLICY_NONE = 0,
PEER_TXQ_FLUSH_POLICY_TWT_SP_END = 1,
/*keep last */
PEER_TXQ_FLUSH_POLICY_INVALID,
};
/**
* struct peer_txq_flush_config_params: Peer TXQ flush configuration parameters
* @vdev_id: vdev id
* @peer: Peer mac address
* @tid_mask: TID queues of the peer being configured
* @policy: Policy to be applied
*/
struct peer_txq_flush_config_params {
uint8_t vdev_id;
uint8_t peer[QDF_MAC_ADDR_SIZE];
uint32_t tid_mask;
enum peer_txq_flush_policy policy;
};
/**
* enum gpio_pull_type - GPIO PULL TYPE
* @WMI_HOST_GPIO_PULL_NONE: set gpio pull type to none

查看文件

@@ -3017,6 +3017,11 @@ QDF_STATUS
(*extract_pdev_telemetry_stats)(
wmi_unified_t wmi_handle, void *evt_buf,
struct wmi_host_pdev_telemetry_stats *pdev_stats);
#ifdef WLAN_FEATURE_PEER_TXQ_FLUSH_CONF
QDF_STATUS
(*send_peer_txq_flush_config_cmd)(wmi_unified_t wmi_handle,
struct peer_txq_flush_config_params *param);
#endif
};
/* Forward declartion for psoc*/