qcacld-3.0: Add traffic end indication support in DP component

Add ucfg APIs to set/get feature status and dscp
values and structure to store values

Change-Id: I839c89696581b8aefd873a120d938a5cbbc32899
CRs-Fixed: 3255692
This commit is contained in:
nakul kachhwaha
2022-05-19 12:52:54 +05:30
committed by Madan Koyyalamudi
parent c41b646825
commit 49baf5f10c
6 changed files with 265 additions and 0 deletions

View File

@@ -720,4 +720,16 @@ struct wlan_dp_user_config {
uint32_t arp_connectivity_map;
};
/**
* struct dp_traffic_end_indication - Trafic end indication
* @enabled: Feature enabled/disabled config
* @def_dscp: Default DSCP value in regular packets in traffic
* @spl_dscp: Special DSCP value to be used by packet to mark
* end of data stream
*/
struct dp_traffic_end_indication {
bool enabled;
uint8_t def_dscp;
uint8_t spl_dscp;
};
#endif /* end of _WLAN_DP_PUBLIC_STRUCT_H_ */

View File

@@ -1231,4 +1231,59 @@ dp_ucfg_enable_link_monitoring(struct wlan_objmgr_psoc *psoc,
void
dp_ucfg_disable_link_monitoring(struct wlan_objmgr_psoc *psoc,
struct wlan_objmgr_vdev *vdev);
#ifdef DP_TRAFFIC_END_INDICATION
/**
* ucfg_dp_traffic_end_indication_get() - Get data end indication info
* @vdev: vdev handle
* @info: variable to hold stored data end indication info
*
* Return: QDF_STATUS
*/
QDF_STATUS
ucfg_dp_traffic_end_indication_get(struct wlan_objmgr_vdev *vdev,
struct dp_traffic_end_indication *info);
/**
* ucfg_dp_traffic_end_indication_set() - Store data end indication info
* @vdev: vdev handle
* @info: variable holding new data end indication info
*
* Return: QDF_STATUS
*/
QDF_STATUS
ucfg_dp_traffic_end_indication_set(struct wlan_objmgr_vdev *vdev,
struct dp_traffic_end_indication info);
/**
* ucfg_dp_traffic_end_indication_update_dscp() - update dscp value to default
* @psoc: psoc handle
* @vdev_id: vdev id
* @dscp: dscp value to be updated
*
* Return: void
*/
void
ucfg_dp_traffic_end_indication_update_dscp(struct wlan_objmgr_psoc *psoc,
uint8_t vdev_id,
unsigned char *dscp);
#else
static inline QDF_STATUS
ucfg_dp_traffic_end_indication_get(struct wlan_objmgr_vdev *vdev,
struct dp_traffic_end_indication *info)
{
return QDF_STATUS_SUCCESS;
}
static inline QDF_STATUS
ucfg_dp_traffic_end_indication_set(struct wlan_objmgr_vdev *vdev,
struct dp_traffic_end_indication info)
{
return QDF_STATUS_SUCCESS;
}
static inline void
ucfg_dp_traffic_end_indication_update_dscp(struct wlan_objmgr_psoc *psoc,
uint8_t vdev_id,
unsigned char *dscp)
{}
#endif
#endif /* _WLAN_DP_UCFG_API_H_ */