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
This commit is contained in:
Madhvapathi Sriram
2022-05-06 13:56:42 +05:30
committed by Madan Koyyalamudi
parent f666bb4d71
commit f4bfa6616b
10 changed files with 422 additions and 2 deletions

View File

@@ -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