qcacld-3.0: Fix kernel checkpatch warnings in sme_qos_api.h

Fix kernel checkpaitch warnings in sme_qos_api.h

Change-Id: Ib811dcf0b664a2677343a276708d852f4bb67346
CRs-Fixed: 2025503
This commit is contained in:
Abhishek Singh
2017-08-11 13:52:42 +05:30
committed by Anjaneedevi Kapparapu
parent d084adb90f
commit 12be60f54b
11 changed files with 231 additions and 239 deletions

View File

@@ -11664,28 +11664,28 @@ struct hdd_config {
bool bImplicitQosEnabled; bool bImplicitQosEnabled;
/* default TSPEC parameters for AC_VO */ /* default TSPEC parameters for AC_VO */
sme_qos_wmm_dir_type InfraDirAcVo; enum sme_qos_wmm_dir_type InfraDirAcVo;
uint16_t InfraNomMsduSizeAcVo; uint16_t InfraNomMsduSizeAcVo;
uint32_t InfraMeanDataRateAcVo; uint32_t InfraMeanDataRateAcVo;
uint32_t InfraMinPhyRateAcVo; uint32_t InfraMinPhyRateAcVo;
uint16_t InfraSbaAcVo; uint16_t InfraSbaAcVo;
/* default TSPEC parameters for AC_VI */ /* default TSPEC parameters for AC_VI */
sme_qos_wmm_dir_type InfraDirAcVi; enum sme_qos_wmm_dir_type InfraDirAcVi;
uint16_t InfraNomMsduSizeAcVi; uint16_t InfraNomMsduSizeAcVi;
uint32_t InfraMeanDataRateAcVi; uint32_t InfraMeanDataRateAcVi;
uint32_t InfraMinPhyRateAcVi; uint32_t InfraMinPhyRateAcVi;
uint16_t InfraSbaAcVi; uint16_t InfraSbaAcVi;
/* default TSPEC parameters for AC_BE */ /* default TSPEC parameters for AC_BE */
sme_qos_wmm_dir_type InfraDirAcBe; enum sme_qos_wmm_dir_type InfraDirAcBe;
uint16_t InfraNomMsduSizeAcBe; uint16_t InfraNomMsduSizeAcBe;
uint32_t InfraMeanDataRateAcBe; uint32_t InfraMeanDataRateAcBe;
uint32_t InfraMinPhyRateAcBe; uint32_t InfraMinPhyRateAcBe;
uint16_t InfraSbaAcBe; uint16_t InfraSbaAcBe;
/* default TSPEC parameters for AC_BK */ /* default TSPEC parameters for AC_BK */
sme_qos_wmm_dir_type InfraDirAcBk; enum sme_qos_wmm_dir_type InfraDirAcBk;
uint16_t InfraNomMsduSizeAcBk; uint16_t InfraNomMsduSizeAcBk;
uint32_t InfraMeanDataRateAcBk; uint32_t InfraMeanDataRateAcBk;
uint32_t InfraMinPhyRateAcBk; uint32_t InfraMinPhyRateAcBk;

View File

@@ -1176,7 +1176,7 @@ struct hdd_adapter {
bool offloads_configured; bool offloads_configured;
/* DSCP to UP QoS Mapping */ /* DSCP to UP QoS Mapping */
sme_QosWmmUpType hddWmmDscpToUpMap[WLAN_HDD_MAX_DSCP + 1]; enum sme_qos_wmmuptype hddWmmDscpToUpMap[WLAN_HDD_MAX_DSCP + 1];
#ifdef WLAN_FEATURE_LINK_LAYER_STATS #ifdef WLAN_FEATURE_LINK_LAYER_STATS
bool isLinkLayerStatsSet; bool isLinkLayerStatsSet;

View File

@@ -158,11 +158,11 @@ struct hdd_wmm_ac_status {
bool wmmAcAccessAllowed; bool wmmAcAccessAllowed;
bool wmmAcTspecValid; bool wmmAcTspecValid;
bool wmmAcUapsdInfoValid; bool wmmAcUapsdInfoValid;
sme_QosWmmTspecInfo wmmAcTspecInfo; struct sme_qos_wmmtspecinfo wmmAcTspecInfo;
bool wmmAcIsUapsdEnabled; bool wmmAcIsUapsdEnabled;
uint32_t wmmAcUapsdServiceInterval; uint32_t wmmAcUapsdServiceInterval;
uint32_t wmmAcUapsdSuspensionInterval; uint32_t wmmAcUapsdSuspensionInterval;
sme_qos_wmm_dir_type wmmAcUapsdDirection; enum sme_qos_wmm_dir_type wmmAcUapsdDirection;
#ifdef FEATURE_WLAN_ESE #ifdef FEATURE_WLAN_ESE
uint32_t wmmInactivityTime; uint32_t wmmInactivityTime;
@@ -364,7 +364,7 @@ bool hdd_wmm_is_acm_allowed(struct wlan_objmgr_vdev **vdev);
*/ */
hdd_wlan_wmm_status_e hdd_wmm_addts(hdd_adapter_t *pAdapter, hdd_wlan_wmm_status_e hdd_wmm_addts(hdd_adapter_t *pAdapter,
uint32_t handle, uint32_t handle,
sme_QosWmmTspecInfo *pTspec); struct sme_qos_wmmtspecinfo *pTspec);
/** /**
* hdd_wmm_delts() - Function which will delete a traffic spec at the * hdd_wmm_delts() - Function which will delete a traffic spec at the

View File

@@ -527,7 +527,7 @@ static int __hdd_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
{ {
QDF_STATUS status; QDF_STATUS status;
sme_ac_enum_type ac; sme_ac_enum_type ac;
sme_QosWmmUpType up; enum sme_qos_wmmuptype up;
hdd_adapter_t *pAdapter = WLAN_HDD_GET_PRIV_PTR(dev); hdd_adapter_t *pAdapter = WLAN_HDD_GET_PRIV_PTR(dev);
bool granted; bool granted;
uint8_t STAId; uint8_t STAId;

View File

@@ -11138,7 +11138,7 @@ static int __iw_add_tspec(struct net_device *dev, struct iw_request_info *info,
hdd_station_ctx_t *pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter); hdd_station_ctx_t *pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter);
hdd_wlan_wmm_status_e *pStatus = (hdd_wlan_wmm_status_e *) extra; hdd_wlan_wmm_status_e *pStatus = (hdd_wlan_wmm_status_e *) extra;
int params[HDD_WLAN_WMM_PARAM_COUNT]; int params[HDD_WLAN_WMM_PARAM_COUNT];
sme_QosWmmTspecInfo tSpec; struct sme_qos_wmmtspecinfo tSpec;
uint32_t handle; uint32_t handle;
struct iw_point s_priv_data; struct iw_point s_priv_data;
hdd_context_t *hdd_ctx; hdd_context_t *hdd_ctx;

View File

@@ -145,7 +145,7 @@ static void hdd_wmm_enable_tl_uapsd(struct hdd_wmm_qos_context *pQosContext)
QDF_STATUS status; QDF_STATUS status;
uint32_t service_interval; uint32_t service_interval;
uint32_t suspension_interval; uint32_t suspension_interval;
sme_qos_wmm_dir_type direction; enum sme_qos_wmm_dir_type direction;
bool psb; bool psb;
/* The TSPEC must be valid */ /* The TSPEC must be valid */
@@ -501,10 +501,10 @@ hdd_wmm_disable_inactivity_timer(struct hdd_wmm_qos_context *pQosContext)
* Return: QDF_STATUS enumeration * Return: QDF_STATUS enumeration
*/ */
static QDF_STATUS hdd_wmm_sme_callback(tHalHandle hHal, static QDF_STATUS hdd_wmm_sme_callback(tHalHandle hHal,
void *hddCtx, void *hddCtx,
sme_QosWmmTspecInfo *pCurrentQosInfo, struct sme_qos_wmmtspecinfo *pCurrentQosInfo,
sme_QosStatusType smeStatus, enum sme_qos_statustype smeStatus,
uint32_t qosFlowId) uint32_t qosFlowId)
{ {
struct hdd_wmm_qos_context *pQosContext = hddCtx; struct hdd_wmm_qos_context *pQosContext = hddCtx;
hdd_adapter_t *pAdapter; hdd_adapter_t *pAdapter;
@@ -1017,9 +1017,9 @@ static void __hdd_wmm_do_implicit_qos(struct work_struct *work)
sme_ac_enum_type acType; sme_ac_enum_type acType;
struct hdd_wmm_ac_status *pAc; struct hdd_wmm_ac_status *pAc;
#ifndef WLAN_MDM_CODE_REDUCTION_OPT #ifndef WLAN_MDM_CODE_REDUCTION_OPT
sme_QosStatusType smeStatus; enum sme_qos_statustype smeStatus;
#endif #endif
sme_QosWmmTspecInfo qosInfo; struct sme_qos_wmmtspecinfo qosInfo;
hdd_context_t *hdd_ctx; hdd_context_t *hdd_ctx;
hdd_debug("Entered, context %p", pQosContext); hdd_debug("Entered, context %p", pQosContext);
@@ -1277,7 +1277,7 @@ static void hdd_wmm_do_implicit_qos(struct work_struct *work)
*/ */
QDF_STATUS hdd_wmm_init(hdd_adapter_t *pAdapter) QDF_STATUS hdd_wmm_init(hdd_adapter_t *pAdapter)
{ {
sme_QosWmmUpType *hddWmmDscpToUpMap = pAdapter->hddWmmDscpToUpMap; enum sme_qos_wmmuptype *hddWmmDscpToUpMap = pAdapter->hddWmmDscpToUpMap;
uint8_t dscp; uint8_t dscp;
ENTER(); ENTER();
@@ -1410,7 +1410,7 @@ QDF_STATUS hdd_wmm_adapter_close(hdd_adapter_t *pAdapter)
static static
void hdd_wmm_classify_pkt(hdd_adapter_t *adapter, void hdd_wmm_classify_pkt(hdd_adapter_t *adapter,
struct sk_buff *skb, struct sk_buff *skb,
sme_QosWmmUpType *user_pri, enum sme_qos_wmmuptype *user_pri,
bool *is_eapol) bool *is_eapol)
{ {
unsigned char dscp; unsigned char dscp;
@@ -1581,7 +1581,7 @@ uint16_t hdd_hostapd_select_queue(struct net_device *dev, struct sk_buff *skb
) )
{ {
sme_QosWmmUpType up = SME_QOS_WMM_UP_BE; enum sme_qos_wmmuptype up = SME_QOS_WMM_UP_BE;
uint16_t queueIndex; uint16_t queueIndex;
hdd_adapter_t *adapter = (hdd_adapter_t *) netdev_priv(dev); hdd_adapter_t *adapter = (hdd_adapter_t *) netdev_priv(dev);
hdd_context_t *hddctx = WLAN_HDD_GET_CTX(adapter); hdd_context_t *hddctx = WLAN_HDD_GET_CTX(adapter);
@@ -1613,7 +1613,7 @@ uint16_t hdd_hostapd_select_queue(struct net_device *dev, struct sk_buff *skb
*/ */
uint16_t hdd_wmm_select_queue(struct net_device *dev, struct sk_buff *skb) uint16_t hdd_wmm_select_queue(struct net_device *dev, struct sk_buff *skb)
{ {
sme_QosWmmUpType up = SME_QOS_WMM_UP_BE; enum sme_qos_wmmuptype up = SME_QOS_WMM_UP_BE;
uint16_t queueIndex; uint16_t queueIndex;
hdd_adapter_t *pAdapter = WLAN_HDD_GET_PRIV_PTR(dev); hdd_adapter_t *pAdapter = WLAN_HDD_GET_PRIV_PTR(dev);
bool is_eapol = false; bool is_eapol = false;
@@ -2096,12 +2096,12 @@ bool hdd_wmm_is_acm_allowed(struct wlan_objmgr_vdev **vdev)
*/ */
hdd_wlan_wmm_status_e hdd_wmm_addts(hdd_adapter_t *pAdapter, hdd_wlan_wmm_status_e hdd_wmm_addts(hdd_adapter_t *pAdapter,
uint32_t handle, uint32_t handle,
sme_QosWmmTspecInfo *pTspec) struct sme_qos_wmmtspecinfo *pTspec)
{ {
struct hdd_wmm_qos_context *pQosContext; struct hdd_wmm_qos_context *pQosContext;
hdd_wlan_wmm_status_e status = HDD_WLAN_WMM_STATUS_SETUP_SUCCESS; hdd_wlan_wmm_status_e status = HDD_WLAN_WMM_STATUS_SETUP_SUCCESS;
#ifndef WLAN_MDM_CODE_REDUCTION_OPT #ifndef WLAN_MDM_CODE_REDUCTION_OPT
sme_QosStatusType smeStatus; enum sme_qos_statustype smeStatus;
#endif #endif
bool found = false; bool found = false;
@@ -2273,7 +2273,7 @@ hdd_wlan_wmm_status_e hdd_wmm_delts(hdd_adapter_t *pAdapter, uint32_t handle)
uint32_t qosFlowId = 0; uint32_t qosFlowId = 0;
hdd_wlan_wmm_status_e status = HDD_WLAN_WMM_STATUS_SETUP_SUCCESS; hdd_wlan_wmm_status_e status = HDD_WLAN_WMM_STATUS_SETUP_SUCCESS;
#ifndef WLAN_MDM_CODE_REDUCTION_OPT #ifndef WLAN_MDM_CODE_REDUCTION_OPT
sme_QosStatusType smeStatus; enum sme_qos_statustype smeStatus;
#endif #endif
hdd_debug("Entered with handle 0x%x", handle); hdd_debug("Entered with handle 0x%x", handle);

View File

@@ -194,18 +194,16 @@ typedef enum {
SME_AC_VO = 3 SME_AC_VO = 3
} sme_ac_enum_type; } sme_ac_enum_type;
/*--------------------------------------------------------------------------- /*
Enumeration of the various TSPEC directions * Enumeration of the various TSPEC directions
* From 802.11e/WMM specifications
From 802.11e/WMM specifications */
---------------------------------------------------------------------------*/ enum sme_qos_wmm_dir_type {
typedef enum {
SME_QOS_WMM_TS_DIR_UPLINK = 0, SME_QOS_WMM_TS_DIR_UPLINK = 0,
SME_QOS_WMM_TS_DIR_DOWNLINK = 1, SME_QOS_WMM_TS_DIR_DOWNLINK = 1,
SME_QOS_WMM_TS_DIR_RESV = 2, /* Reserved */ SME_QOS_WMM_TS_DIR_RESV = 2, /* Reserved */
SME_QOS_WMM_TS_DIR_BOTH = 3, SME_QOS_WMM_TS_DIR_BOTH = 3,
} sme_qos_wmm_dir_type; };
/** /**
* struct sme_oem_capability - OEM capability to be exchanged between host * struct sme_oem_capability - OEM capability to be exchanged between host
@@ -969,7 +967,7 @@ QDF_STATUS sme_enable_uapsd_for_ac(void *cds_ctx, uint8_t sta_id,
sme_ac_enum_type ac, uint8_t tid, sme_ac_enum_type ac, uint8_t tid,
uint8_t pri, uint32_t srvc_int, uint8_t pri, uint32_t srvc_int,
uint32_t sus_int, uint32_t sus_int,
sme_qos_wmm_dir_type dir, enum sme_qos_wmm_dir_type dir,
uint8_t psb, uint32_t sessionId, uint8_t psb, uint32_t sessionId,
uint32_t delay_interval); uint32_t delay_interval);

View File

@@ -75,7 +75,7 @@ typedef struct sGenericPmcCmd {
} tGenericPmcCmd; } tGenericPmcCmd;
typedef struct sGenericQosCmd { typedef struct sGenericQosCmd {
sme_QosWmmTspecInfo tspecInfo; struct sme_qos_wmmtspecinfo tspecInfo;
sme_QosEdcaAcType ac; sme_QosEdcaAcType ac;
uint8_t tspec_mask; uint8_t tspec_mask;
} tGenericQosCmd; } tGenericQosCmd;

View File

@@ -34,9 +34,7 @@
* \brief prototype for SME QoS APIs * \brief prototype for SME QoS APIs
*/ */
/*-------------------------------------------------------------------------- /* Include Files */
Include Files
------------------------------------------------------------------------*/
#include "qdf_lock.h" #include "qdf_lock.h"
#include "qdf_trace.h" #include "qdf_trace.h"
#include "qdf_mem.h" #include "qdf_mem.h"
@@ -44,18 +42,14 @@
#include "ani_global.h" #include "ani_global.h"
#include "sir_api.h" #include "sir_api.h"
/*-------------------------------------------------------------------------- /* Pre-processor Definitions */
Pre-processor Definitions
------------------------------------------------------------------------*/
#define SME_QOS_UAPSD_VO 0x01 #define SME_QOS_UAPSD_VO 0x01
#define SME_QOS_UAPSD_VI 0x02 #define SME_QOS_UAPSD_VI 0x02
#define SME_QOS_UAPSD_BE 0x08 #define SME_QOS_UAPSD_BE 0x08
#define SME_QOS_UAPSD_BK 0x04 #define SME_QOS_UAPSD_BK 0x04
/*--------------------------------------------------------------------------- /* Enumeration of the various QoS status types that would be reported to HDD */
Enumeration of the various QoS status types that would be reported to HDD enum sme_qos_statustype {
---------------------------------------------------------------------------*/
typedef enum {
/* /*
* async: once PE notifies successful TSPEC negotiation, or CSR notifies * async: once PE notifies successful TSPEC negotiation, or CSR notifies
* for successful reassoc, notifies HDD with current QoS Params * for successful reassoc, notifies HDD with current QoS Params
@@ -146,14 +140,13 @@ typedef enum {
/* async:powersave mode changed by PMC from Full power to UAPSD */ /* async:powersave mode changed by PMC from Full power to UAPSD */
SME_QOS_STATUS_INTO_APSD_POWER_MODE_IND, SME_QOS_STATUS_INTO_APSD_POWER_MODE_IND,
} sme_QosStatusType; };
/*--------------------------------------------------------------------------- /*
Enumeration of the various User priority (UP) types * Enumeration of the various User priority (UP) types
* From 802.1D/802.11e/WMM specifications (all refer to same table)
From 802.1D/802.11e/WMM specifications (all refer to same table) */
---------------------------------------------------------------------------*/ enum sme_qos_wmmuptype {
typedef enum {
SME_QOS_WMM_UP_BE = 0, SME_QOS_WMM_UP_BE = 0,
SME_QOS_WMM_UP_BK = 1, SME_QOS_WMM_UP_BK = 1,
SME_QOS_WMM_UP_RESV = 2, /* Reserved */ SME_QOS_WMM_UP_RESV = 2, /* Reserved */
@@ -163,41 +156,36 @@ typedef enum {
SME_QOS_WMM_UP_VO = 6, SME_QOS_WMM_UP_VO = 6,
SME_QOS_WMM_UP_NC = 7, SME_QOS_WMM_UP_NC = 7,
SME_QOS_WMM_UP_MAX SME_QOS_WMM_UP_MAX
} sme_QosWmmUpType; };
/*--------------------------------------------------------------------------- /*
Enumeration of the various TSPEC ack policies. * Enumeration of the various TSPEC ack policies.
* From 802.11 WMM specification
From 802.11 WMM specification */
---------------------------------------------------------------------------*/ enum sme_qos_wmmack_policytype {
typedef enum {
SME_QOS_WMM_TS_ACK_POLICY_NORMAL_ACK = 0, SME_QOS_WMM_TS_ACK_POLICY_NORMAL_ACK = 0,
SME_QOS_WMM_TS_ACK_POLICY_RESV1 = 1, SME_QOS_WMM_TS_ACK_POLICY_RESV1 = 1,
SME_QOS_WMM_TS_ACK_POLICY_RESV2 = 2, /* Reserved */ SME_QOS_WMM_TS_ACK_POLICY_RESV2 = 2, /* Reserved */
SME_QOS_WMM_TS_ACK_POLICY_HT_IMMEDIATE_BLOCK_ACK = 3, SME_QOS_WMM_TS_ACK_POLICY_HT_IMMEDIATE_BLOCK_ACK = 3,
} sme_QosWmmAckPolicyType; };
/*--------------------------------------------------------------------------- /*
TS Info field in the WMM TSPEC * TS Info field in the WMM TSPEC
* See suggestive values above
See suggestive values above */
---------------------------------------------------------------------------*/ struct sme_qos_wmmts_infotype {
typedef struct {
uint8_t burst_size_defn; uint8_t burst_size_defn;
sme_QosWmmAckPolicyType ack_policy; enum sme_qos_wmmack_policytype ack_policy;
sme_QosWmmUpType up; /* User priority */ enum sme_qos_wmmuptype up; /* User priority */
uint8_t psb; /* power-save bit */ uint8_t psb; /* power-save bit */
sme_qos_wmm_dir_type direction; /* Direction */ enum sme_qos_wmm_dir_type direction; /* Direction */
uint8_t tid; /* TID : To be filled up by SME-QoS */ uint8_t tid; /* TID : To be filled up by SME-QoS */
} sme_QosWmmTsInfoType; };
/*--------------------------------------------------------------------------- /* The WMM TSPEC Element (from the WMM spec)*/
The WMM TSPEC Element (from the WMM spec) struct sme_qos_wmmtspecinfo {
---------------------------------------------------------------------------*/ struct sme_qos_wmmts_infotype ts_info;
typedef struct {
sme_QosWmmTsInfoType ts_info;
uint16_t nominal_msdu_size; uint16_t nominal_msdu_size;
uint16_t maximum_msdu_size; uint16_t maximum_msdu_size;
uint32_t min_service_interval; uint32_t min_service_interval;
@@ -213,27 +201,25 @@ typedef struct {
uint32_t min_phy_rate; uint32_t min_phy_rate;
uint16_t surplus_bw_allowance; uint16_t surplus_bw_allowance;
uint16_t medium_time; uint16_t medium_time;
} sme_QosWmmTspecInfo; };
/*-------------------------------------------------------------------------- /* External APIs */
External APIs
------------------------------------------------------------------------*/
typedef QDF_STATUS (*sme_QosCallback)(tHalHandle hHal, void *HDDcontext, typedef QDF_STATUS (*sme_QosCallback)(tHalHandle hHal, void *HDDcontext,
sme_QosWmmTspecInfo *pCurrentQoSInfo, struct sme_qos_wmmtspecinfo *pCurrentQoSInfo,
sme_QosStatusType status, uint32_t QosFlowID); enum sme_qos_statustype status, uint32_t QosFlowID);
sme_QosStatusType sme_qos_setup_req(tHalHandle hHal, uint32_t sessionId, enum sme_qos_statustype sme_qos_setup_req(tHalHandle hHal, uint32_t sessionId,
sme_QosWmmTspecInfo *pQoSInfo, struct sme_qos_wmmtspecinfo *pQoSInfo,
sme_QosCallback QoSCallback, void *HDDcontext, sme_QosCallback QoSCallback, void *HDDcontext,
sme_QosWmmUpType UPType, uint32_t *pQosFlowID); enum sme_qos_wmmuptype UPType, uint32_t *pQosFlowID);
sme_QosStatusType sme_qos_modify_req(tHalHandle hHal, enum sme_qos_statustype sme_qos_modify_req(tHalHandle hHal,
sme_QosWmmTspecInfo *pQoSInfo, uint32_t QosFlowID); struct sme_qos_wmmtspecinfo *pQoSInfo, uint32_t QosFlowID);
sme_QosStatusType sme_qos_release_req(tHalHandle hHal, uint8_t session_id, enum sme_qos_statustype sme_qos_release_req(tHalHandle hHal, uint8_t session_id,
uint32_t QosFlowID); uint32_t QosFlowID);
bool sme_qos_is_ts_info_ack_policy_valid(tpAniSirGlobal pMac, bool sme_qos_is_ts_info_ack_policy_valid(tpAniSirGlobal pMac,
sme_QosWmmTspecInfo *pQoSInfo, uint8_t sessionId); struct sme_qos_wmmtspecinfo *pQoSInfo, uint8_t sessionId);
void sme_qos_update_hand_off(uint8_t sessionId, bool updateHandOff); void sme_qos_update_hand_off(uint8_t sessionId, bool updateHandOff);
QDF_STATUS sme_update_dsc_pto_up_mapping(tHalHandle hHal, QDF_STATUS sme_update_dsc_pto_up_mapping(tHalHandle hHal,
sme_QosWmmUpType *dscpmapping, uint8_t sessionId); enum sme_qos_wmmuptype *dscpmapping, uint8_t sessionId);
QDF_STATUS sme_offload_qos_process_out_of_uapsd_mode(tpAniSirGlobal mac_ctx, QDF_STATUS sme_offload_qos_process_out_of_uapsd_mode(tpAniSirGlobal mac_ctx,
uint32_t session_id); uint32_t session_id);

View File

@@ -12187,7 +12187,7 @@ QDF_STATUS sme_update_add_ie(tHalHandle hHal,
* Return: QDF_STATUS * Return: QDF_STATUS
*/ */
QDF_STATUS sme_update_dsc_pto_up_mapping(tHalHandle hHal, QDF_STATUS sme_update_dsc_pto_up_mapping(tHalHandle hHal,
sme_QosWmmUpType *dscpmapping, enum sme_qos_wmmuptype *dscpmapping,
uint8_t sessionId) uint8_t sessionId)
{ {
tpAniSirGlobal pMac = PMAC_STRUCT(hHal); tpAniSirGlobal pMac = PMAC_STRUCT(hHal);
@@ -13959,7 +13959,7 @@ QDF_STATUS sme_enable_uapsd_for_ac(void *cds_ctx, uint8_t sta_id,
sme_ac_enum_type ac, uint8_t tid, sme_ac_enum_type ac, uint8_t tid,
uint8_t pri, uint32_t srvc_int, uint8_t pri, uint32_t srvc_int,
uint32_t sus_int, uint32_t sus_int,
sme_qos_wmm_dir_type dir, enum sme_qos_wmm_dir_type dir,
uint8_t psb, uint32_t sessionId, uint8_t psb, uint32_t sessionId,
uint32_t delay_interval) uint32_t delay_interval)
{ {

View File

@@ -162,7 +162,7 @@ sme_QosEdcaAcType sme_qos_u_pto_ac_map[SME_QOS_WMM_UP_MAX] = {
Note: there is a quantization loss here because 4 ACs are mapped to 8 UPs Note: there is a quantization loss here because 4 ACs are mapped to 8 UPs
Mapping is done for consistency Mapping is done for consistency
---------------------------------------------------------------------------*/ ---------------------------------------------------------------------------*/
sme_QosWmmUpType sme_qos_a_cto_up_map[SME_QOS_EDCA_AC_MAX] = { enum sme_qos_wmmuptype sme_qos_a_cto_up_map[SME_QOS_EDCA_AC_MAX] = {
SME_QOS_WMM_UP_BE, /* AC BE */ SME_QOS_WMM_UP_BE, /* AC BE */
SME_QOS_WMM_UP_BK, /* AC BK */ SME_QOS_WMM_UP_BK, /* AC BK */
SME_QOS_WMM_UP_VI, /* AC VI */ SME_QOS_WMM_UP_VI, /* AC VI */
@@ -181,7 +181,7 @@ typedef struct sme_QosFlowInfoEntry_s {
sme_QosReasonType reason; sme_QosReasonType reason;
uint32_t QosFlowID; uint32_t QosFlowID;
sme_QosEdcaAcType ac_type; sme_QosEdcaAcType ac_type;
sme_QosWmmTspecInfo QoSInfo; struct sme_qos_wmmtspecinfo QoSInfo;
void *HDDcontext; void *HDDcontext;
sme_QosCallback QoSCallback; sme_QosCallback QoSCallback;
bool hoRenewal; /* set to true while re-negotiating flows after */ bool hoRenewal; /* set to true while re-negotiating flows after */
@@ -195,10 +195,10 @@ typedef struct sme_QosFlowInfoEntry_s {
---------------------------------------------------------------------------*/ ---------------------------------------------------------------------------*/
typedef struct sme_qos_setupCmdInfo_s { typedef struct sme_qos_setupCmdInfo_s {
uint32_t QosFlowID; uint32_t QosFlowID;
sme_QosWmmTspecInfo QoSInfo; struct sme_qos_wmmtspecinfo QoSInfo;
void *HDDcontext; void *HDDcontext;
sme_QosCallback QoSCallback; sme_QosCallback QoSCallback;
sme_QosWmmUpType UPType; enum sme_qos_wmmuptype UPType;
bool hoRenewal; /* set to true while re-negotiating flows after */ bool hoRenewal; /* set to true while re-negotiating flows after */
/* handoff, will set to false once done with */ /* handoff, will set to false once done with */
/* the process. Helps SME to decide if at all */ /* the process. Helps SME to decide if at all */
@@ -211,7 +211,7 @@ typedef struct sme_qos_setupCmdInfo_s {
typedef struct sme_QosModifyCmdInfo_s { typedef struct sme_QosModifyCmdInfo_s {
uint32_t QosFlowID; uint32_t QosFlowID;
sme_QosEdcaAcType ac; sme_QosEdcaAcType ac;
sme_QosWmmTspecInfo QoSInfo; struct sme_qos_wmmtspecinfo QoSInfo;
} sme_QosModifyCmdInfo; } sme_QosModifyCmdInfo;
/*--------------------------------------------------------------------------- /*---------------------------------------------------------------------------
DESCRIPTION DESCRIPTION
@@ -220,7 +220,7 @@ typedef struct sme_QosModifyCmdInfo_s {
typedef struct sme_QosResendCmdInfo_s { typedef struct sme_QosResendCmdInfo_s {
uint8_t tspecMask; uint8_t tspecMask;
sme_QosEdcaAcType ac; sme_QosEdcaAcType ac;
sme_QosWmmTspecInfo QoSInfo; struct sme_qos_wmmtspecinfo QoSInfo;
} sme_QosResendCmdInfo; } sme_QosResendCmdInfo;
/*--------------------------------------------------------------------------- /*---------------------------------------------------------------------------
DESCRIPTION DESCRIPTION
@@ -262,8 +262,8 @@ typedef struct sme_QosACInfo_s {
uint8_t num_flows[SME_QOS_TSPEC_INDEX_MAX]; uint8_t num_flows[SME_QOS_TSPEC_INDEX_MAX];
sme_QosStates curr_state; sme_QosStates curr_state;
sme_QosStates prev_state; sme_QosStates prev_state;
sme_QosWmmTspecInfo curr_QoSInfo[SME_QOS_TSPEC_INDEX_MAX]; struct sme_qos_wmmtspecinfo curr_QoSInfo[SME_QOS_TSPEC_INDEX_MAX];
sme_QosWmmTspecInfo requested_QoSInfo[SME_QOS_TSPEC_INDEX_MAX]; struct sme_qos_wmmtspecinfo requested_QoSInfo[SME_QOS_TSPEC_INDEX_MAX];
/* reassoc requested for APSD */ /* reassoc requested for APSD */
bool reassoc_pending; bool reassoc_pending;
/* /*
@@ -342,7 +342,7 @@ typedef struct sme_QosSearchInfo_s {
uint8_t sessionId; uint8_t sessionId;
uint8_t index; uint8_t index;
sme_QosSearchKey key; sme_QosSearchKey key;
sme_qos_wmm_dir_type direction; enum sme_qos_wmm_dir_type direction;
uint8_t tspec_mask; uint8_t tspec_mask;
} sme_QosSearchInfo; } sme_QosSearchInfo;
/*--------------------------------------------------------------------------- /*---------------------------------------------------------------------------
@@ -357,7 +357,7 @@ struct sme_qos_cb_s {
/* All FLOW info */ /* All FLOW info */
tDblLinkList flow_list; tDblLinkList flow_list;
/* default TSPEC params */ /* default TSPEC params */
sme_QosWmmTspecInfo def_QoSInfo[SME_QOS_EDCA_AC_MAX]; struct sme_qos_wmmtspecinfo def_QoSInfo[SME_QOS_EDCA_AC_MAX];
/* counter for assigning Flow IDs */ /* counter for assigning Flow IDs */
uint32_t nextFlowId; uint32_t nextFlowId;
/* counter for assigning Dialog Tokens */ /* counter for assigning Dialog Tokens */
@@ -366,29 +366,30 @@ struct sme_qos_cb_s {
typedef QDF_STATUS (*sme_QosProcessSearchEntry)(tpAniSirGlobal pMac, typedef QDF_STATUS (*sme_QosProcessSearchEntry)(tpAniSirGlobal pMac,
tListElem *pEntry); tListElem *pEntry);
sme_QosStatusType sme_qos_internal_setup_req(tpAniSirGlobal pMac, enum sme_qos_statustype sme_qos_internal_setup_req(
uint8_t sessionId, tpAniSirGlobal pMac,
sme_QosWmmTspecInfo *pQoSInfo, uint8_t sessionId,
sme_QosCallback QoSCallback, struct sme_qos_wmmtspecinfo *pQoSInfo,
void *HDDcontext, sme_QosCallback QoSCallback,
sme_QosWmmUpType UPType, void *HDDcontext,
uint32_t QosFlowID, enum sme_qos_wmmuptype UPType,
bool buffered_cmd, bool hoRenewal); uint32_t QosFlowID,
sme_QosStatusType sme_qos_internal_modify_req(tpAniSirGlobal pMac, bool buffered_cmd, bool hoRenewal);
sme_QosWmmTspecInfo *pQoSInfo, enum sme_qos_statustype sme_qos_internal_modify_req(tpAniSirGlobal pMac,
uint32_t QosFlowID, struct sme_qos_wmmtspecinfo *pQoSInfo,
bool buffered_cmd); uint32_t QosFlowID,
sme_QosStatusType sme_qos_internal_release_req(tpAniSirGlobal pMac, bool buffered_cmd);
enum sme_qos_statustype sme_qos_internal_release_req(tpAniSirGlobal pMac,
uint8_t session_id, uint8_t session_id,
uint32_t QosFlowID, uint32_t QosFlowID,
bool buffered_cmd); bool buffered_cmd);
sme_QosStatusType sme_qos_setup(tpAniSirGlobal pMac, enum sme_qos_statustype sme_qos_setup(tpAniSirGlobal pMac,
uint8_t sessionId, uint8_t sessionId,
sme_QosWmmTspecInfo *pTspec_Info, struct sme_qos_wmmtspecinfo *pTspec_Info,
sme_QosEdcaAcType ac); sme_QosEdcaAcType ac);
QDF_STATUS sme_qos_add_ts_req(tpAniSirGlobal pMac, QDF_STATUS sme_qos_add_ts_req(tpAniSirGlobal pMac,
uint8_t sessionId, uint8_t sessionId,
sme_QosWmmTspecInfo *pTspec_Info, struct sme_qos_wmmtspecinfo *pTspec_Info,
sme_QosEdcaAcType ac); sme_QosEdcaAcType ac);
QDF_STATUS sme_qos_del_ts_req(tpAniSirGlobal pMac, QDF_STATUS sme_qos_del_ts_req(tpAniSirGlobal pMac,
uint8_t sessionId, uint8_t sessionId,
@@ -428,15 +429,16 @@ QDF_STATUS sme_qos_process_add_ts_success_rsp(tpAniSirGlobal pMac,
QDF_STATUS sme_qos_process_add_ts_failure_rsp(tpAniSirGlobal pMac, QDF_STATUS sme_qos_process_add_ts_failure_rsp(tpAniSirGlobal pMac,
uint8_t sessionId, uint8_t sessionId,
tSirAddtsRspInfo *pRsp); tSirAddtsRspInfo *pRsp);
QDF_STATUS sme_qos_aggregate_params(sme_QosWmmTspecInfo *pInput_Tspec_Info, QDF_STATUS sme_qos_aggregate_params(
sme_QosWmmTspecInfo *pCurrent_Tspec_Info, struct sme_qos_wmmtspecinfo *pInput_Tspec_Info,
sme_QosWmmTspecInfo *pUpdated_Tspec_Info); struct sme_qos_wmmtspecinfo *pCurrent_Tspec_Info,
struct sme_qos_wmmtspecinfo *pUpdated_Tspec_Info);
static QDF_STATUS sme_qos_update_params(uint8_t sessionId, static QDF_STATUS sme_qos_update_params(uint8_t sessionId,
sme_QosEdcaAcType ac, sme_QosEdcaAcType ac,
uint8_t tspec_mask, uint8_t tspec_mask,
sme_QosWmmTspecInfo *pTspec_Info); struct sme_qos_wmmtspecinfo *pTspec_Info);
sme_QosWmmUpType sme_qos_ac_to_up(sme_QosEdcaAcType ac); enum sme_qos_wmmuptype sme_qos_ac_to_up(sme_QosEdcaAcType ac);
sme_QosEdcaAcType sme_qos_up_to_ac(sme_QosWmmUpType up); sme_QosEdcaAcType sme_qos_up_to_ac(enum sme_qos_wmmuptype up);
bool sme_qos_is_acm(tpAniSirGlobal pMac, tSirBssDescription *pSirBssDesc, bool sme_qos_is_acm(tpAniSirGlobal pMac, tSirBssDescription *pSirBssDesc,
sme_QosEdcaAcType ac, tDot11fBeaconIEs *pIes); sme_QosEdcaAcType ac, tDot11fBeaconIEs *pIes);
tListElem *sme_qos_find_in_flow_list(sme_QosSearchInfo search_key); tListElem *sme_qos_find_in_flow_list(sme_QosSearchInfo search_key);
@@ -474,23 +476,23 @@ static void sme_qos_cleanup_ctrl_blk_for_handoff(tpAniSirGlobal pMac,
static QDF_STATUS sme_qos_delete_buffered_requests(tpAniSirGlobal pMac, static QDF_STATUS sme_qos_delete_buffered_requests(tpAniSirGlobal pMac,
uint8_t sessionId); uint8_t sessionId);
bool sme_qos_validate_requested_params(tpAniSirGlobal pMac, bool sme_qos_validate_requested_params(tpAniSirGlobal pMac,
sme_QosWmmTspecInfo *pQoSInfo, struct sme_qos_wmmtspecinfo *pQoSInfo,
uint8_t sessionId); uint8_t sessionId);
extern QDF_STATUS sme_acquire_global_lock(tSmeStruct *psSme); extern QDF_STATUS sme_acquire_global_lock(tSmeStruct *psSme);
extern QDF_STATUS sme_release_global_lock(tSmeStruct *psSme); extern QDF_STATUS sme_release_global_lock(tSmeStruct *psSme);
static QDF_STATUS qos_issue_command(tpAniSirGlobal pMac, uint8_t sessionId, static QDF_STATUS qos_issue_command(tpAniSirGlobal pMac, uint8_t sessionId,
eSmeCommandType cmdType, eSmeCommandType cmdType,
sme_QosWmmTspecInfo *pQoSInfo, struct sme_qos_wmmtspecinfo *pQoSInfo,
sme_QosEdcaAcType ac, uint8_t tspec_mask); sme_QosEdcaAcType ac, uint8_t tspec_mask);
/* /*
sme_qos_re_request_add_ts to re-send AddTS for the combined QoS request sme_qos_re_request_add_ts to re-send AddTS for the combined QoS request
*/ */
static sme_QosStatusType sme_qos_re_request_add_ts(tpAniSirGlobal pMac, static enum sme_qos_statustype sme_qos_re_request_add_ts(tpAniSirGlobal pMac,
uint8_t sessionId, uint8_t sessionId,
sme_QosWmmTspecInfo *pQoSInfo, struct sme_qos_wmmtspecinfo *pQoSInfo,
sme_QosEdcaAcType ac, sme_QosEdcaAcType ac,
uint8_t tspecMask); uint8_t tspecMask);
static void sme_qos_init_a_cs(tpAniSirGlobal pMac, uint8_t sessionId); static void sme_qos_init_a_cs(tpAniSirGlobal pMac, uint8_t sessionId);
static QDF_STATUS sme_qos_request_reassoc(tpAniSirGlobal pMac, uint8_t sessionId, static QDF_STATUS sme_qos_request_reassoc(tpAniSirGlobal pMac, uint8_t sessionId,
tCsrRoamModifyProfileFields * tCsrRoamModifyProfileFields *
@@ -617,8 +619,8 @@ QDF_STATUS sme_qos_close(tpAniSirGlobal pMac)
* on a particular AC. * on a particular AC.
* @hHal: The handle returned by mac_open. * @hHal: The handle returned by mac_open.
* @sessionId: sessionId returned by sme_open_session. * @sessionId: sessionId returned by sme_open_session.
* @pQoSInfo: Pointer to sme_QosWmmTspecInfo which contains the WMM TSPEC * @pQoSInfo: Pointer to struct sme_qos_wmmtspecinfo which contains the
* related info as defined above, provided by HDD * WMM TSPEC related info as defined above, provided by HDD
* @QoSCallback: The callback which is registered per flow while * @QoSCallback: The callback which is registered per flow while
* requesting for QoS. Used for any notification for the * requesting for QoS. Used for any notification for the
* flow (i.e. setup success/failure/release) which needs to * flow (i.e. setup success/failure/release) which needs to
@@ -640,17 +642,17 @@ QDF_STATUS sme_qos_close(tpAniSirGlobal pMac)
* Return: QDF_STATUS_SUCCESS - Setup is successful. * Return: QDF_STATUS_SUCCESS - Setup is successful.
* Other status means Setup request failed * Other status means Setup request failed
*/ */
sme_QosStatusType sme_qos_setup_req(tHalHandle hHal, uint32_t sessionId, enum sme_qos_statustype sme_qos_setup_req(tHalHandle hHal, uint32_t sessionId,
sme_QosWmmTspecInfo *pQoSInfo, struct sme_qos_wmmtspecinfo *pQoSInfo,
sme_QosCallback QoSCallback, sme_QosCallback QoSCallback,
void *HDDcontext, void *HDDcontext,
sme_QosWmmUpType UPType, enum sme_qos_wmmuptype UPType,
uint32_t *pQosFlowID) uint32_t *pQosFlowID)
{ {
sme_QosSessionInfo *pSession; sme_QosSessionInfo *pSession;
QDF_STATUS lock_status = QDF_STATUS_E_FAILURE; QDF_STATUS lock_status = QDF_STATUS_E_FAILURE;
tpAniSirGlobal pMac = PMAC_STRUCT(hHal); tpAniSirGlobal pMac = PMAC_STRUCT(hHal);
sme_QosStatusType status; enum sme_qos_statustype status;
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
"%s: %d: QoS Setup requested by client on session %d", "%s: %d: QoS Setup requested by client on session %d",
__func__, __LINE__, sessionId); __func__, __LINE__, sessionId);
@@ -701,8 +703,8 @@ sme_QosStatusType sme_qos_setup_req(tHalHandle hHal, uint32_t sessionId,
* sme_qos_modify_req() - The SME QoS API exposed to HDD to request for * sme_qos_modify_req() - The SME QoS API exposed to HDD to request for
* modification of certain QoS params on a flow running on a particular AC. * modification of certain QoS params on a flow running on a particular AC.
* @hHal: The handle returned by mac_open. * @hHal: The handle returned by mac_open.
* @pQoSInfo: Pointer to sme_QosWmmTspecInfo which contains the WMM TSPEC * @pQoSInfo: Pointer to struct sme_qos_wmmtspecinfo which contains the
* related info as defined above, provided by HDD * WMM TSPEC related info as defined above, provided by HDD
* @QosFlowID: Identification per flow running on each AC generated by * @QosFlowID: Identification per flow running on each AC generated by
* SME. It is only meaningful if the QoS setup for the flow has * SME. It is only meaningful if the QoS setup for the flow has
* been successful already * been successful already
@@ -716,13 +718,13 @@ sme_QosStatusType sme_qos_setup_req(tHalHandle hHal, uint32_t sessionId,
* Return: SME_QOS_STATUS_SETUP_SUCCESS_RSP - Modification is successful. * Return: SME_QOS_STATUS_SETUP_SUCCESS_RSP - Modification is successful.
* Other status means request failed * Other status means request failed
*/ */
sme_QosStatusType sme_qos_modify_req(tHalHandle hHal, enum sme_qos_statustype sme_qos_modify_req(tHalHandle hHal,
sme_QosWmmTspecInfo *pQoSInfo, struct sme_qos_wmmtspecinfo *pQoSInfo,
uint32_t QosFlowID) uint32_t QosFlowID)
{ {
QDF_STATUS lock_status = QDF_STATUS_E_FAILURE; QDF_STATUS lock_status = QDF_STATUS_E_FAILURE;
tpAniSirGlobal pMac = PMAC_STRUCT(hHal); tpAniSirGlobal pMac = PMAC_STRUCT(hHal);
sme_QosStatusType status; enum sme_qos_statustype status;
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
"%s: %d: QoS Modify requested by client for Flow %d", "%s: %d: QoS Modify requested by client for Flow %d",
__func__, __LINE__, QosFlowID); __func__, __LINE__, QosFlowID);
@@ -756,12 +758,12 @@ sme_QosStatusType sme_qos_modify_req(tHalHandle hHal,
* *
* Return: QDF_STATUS_SUCCESS - Release is successful. * Return: QDF_STATUS_SUCCESS - Release is successful.
*/ */
sme_QosStatusType sme_qos_release_req(tHalHandle hHal, uint8_t session_id, enum sme_qos_statustype sme_qos_release_req(tHalHandle hHal, uint8_t session_id,
uint32_t QosFlowID) uint32_t QosFlowID)
{ {
QDF_STATUS lock_status = QDF_STATUS_E_FAILURE; QDF_STATUS lock_status = QDF_STATUS_E_FAILURE;
tpAniSirGlobal pMac = PMAC_STRUCT(hHal); tpAniSirGlobal pMac = PMAC_STRUCT(hHal);
sme_QosStatusType status; enum sme_qos_statustype status;
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
"%s: %d: QoS Release requested by client for Flow %d", "%s: %d: QoS Release requested by client for Flow %d",
__func__, __LINE__, QosFlowID); __func__, __LINE__, QosFlowID);
@@ -1039,8 +1041,8 @@ uint8_t sme_qos_get_acm_mask(tpAniSirGlobal pMac, tSirBssDescription *pSirBssDes
* function. * function.
* *
* @pMac: Pointer to the global MAC parameter structure. * @pMac: Pointer to the global MAC parameter structure.
* @pQoSInfo: Pointer to sme_QosWmmTspecInfo which contains the WMM TSPEC * @pQoSInfo: Pointer to struct sme_qos_wmmtspecinfo which contains the
* related info as defined above, provided by HDD * WMM TSPEC related info as defined above, provided by HDD
* @QoSCallback: The callback which is registered per flow while * @QoSCallback: The callback which is registered per flow while
* requesting for QoS. Used for any notification for the * requesting for QoS. Used for any notification for the
* flow (i.e. setup success/failure/release) which needs to * flow (i.e. setup success/failure/release) which needs to
@@ -1064,23 +1066,23 @@ uint8_t sme_qos_get_acm_mask(tpAniSirGlobal pMac, tSirBssDescription *pSirBssDes
* Return: QDF_STATUS_SUCCESS - Setup is successful. * Return: QDF_STATUS_SUCCESS - Setup is successful.
* Other status means Setup request failed * Other status means Setup request failed
*/ */
sme_QosStatusType sme_qos_internal_setup_req(tpAniSirGlobal pMac, enum sme_qos_statustype sme_qos_internal_setup_req(tpAniSirGlobal pMac,
uint8_t sessionId, uint8_t sessionId,
sme_QosWmmTspecInfo *pQoSInfo, struct sme_qos_wmmtspecinfo *pQoSInfo,
sme_QosCallback QoSCallback, sme_QosCallback QoSCallback,
void *HDDcontext, void *HDDcontext,
sme_QosWmmUpType UPType, enum sme_qos_wmmuptype UPType,
uint32_t QosFlowID, uint32_t QosFlowID,
bool buffered_cmd, bool hoRenewal) bool buffered_cmd, bool hoRenewal)
{ {
sme_QosSessionInfo *pSession; sme_QosSessionInfo *pSession;
sme_QosACInfo *pACInfo; sme_QosACInfo *pACInfo;
sme_QosEdcaAcType ac; sme_QosEdcaAcType ac;
sme_QosWmmTspecInfo Tspec_Info; struct sme_qos_wmmtspecinfo Tspec_Info;
sme_QosStates new_state = SME_QOS_CLOSED; sme_QosStates new_state = SME_QOS_CLOSED;
sme_QosFlowInfoEntry *pentry = NULL; sme_QosFlowInfoEntry *pentry = NULL;
sme_QosCmdInfo cmd; sme_QosCmdInfo cmd;
sme_QosStatusType status = SME_QOS_STATUS_SETUP_FAILURE_RSP; enum sme_qos_statustype status = SME_QOS_STATUS_SETUP_FAILURE_RSP;
uint8_t tmask = 0; uint8_t tmask = 0;
uint8_t new_tmask = 0; uint8_t new_tmask = 0;
sme_QosSearchInfo search_key; sme_QosSearchInfo search_key;
@@ -1644,8 +1646,8 @@ sme_QosStatusType sme_qos_internal_setup_req(tpAniSirGlobal pMac,
* sme_qos_internal_modify_req() - The SME QoS internal function to request * sme_qos_internal_modify_req() - The SME QoS internal function to request
* for modification of certain QoS params on a flow running on a particular AC. * for modification of certain QoS params on a flow running on a particular AC.
* @pMac: Pointer to the global MAC parameter structure. * @pMac: Pointer to the global MAC parameter structure.
* @pQoSInfo: Pointer to sme_QosWmmTspecInfo which contains the WMM TSPEC * @pQoSInfo: Pointer to struct sme_qos_wmmtspecinfo which contains the
* related info as defined above, provided by HDD * WMM TSPEC related info as defined above, provided by HDD
* @QosFlowID: Identification per flow running on each AC generated by * @QosFlowID: Identification per flow running on each AC generated by
* SME. It is only meaningful if the QoS setup for the flow has * SME. It is only meaningful if the QoS setup for the flow has
* been successful already * been successful already
@@ -1657,10 +1659,10 @@ sme_QosStatusType sme_qos_internal_setup_req(tpAniSirGlobal pMac,
* Return: SME_QOS_STATUS_SETUP_SUCCESS_RSP - Modification is successful. * Return: SME_QOS_STATUS_SETUP_SUCCESS_RSP - Modification is successful.
* Other status means request failed * Other status means request failed
*/ */
sme_QosStatusType sme_qos_internal_modify_req(tpAniSirGlobal pMac, enum sme_qos_statustype sme_qos_internal_modify_req(tpAniSirGlobal pMac,
sme_QosWmmTspecInfo *pQoSInfo, struct sme_qos_wmmtspecinfo *pQoSInfo,
uint32_t QosFlowID, uint32_t QosFlowID,
bool buffered_cmd) bool buffered_cmd)
{ {
tListElem *pEntry = NULL; tListElem *pEntry = NULL;
sme_QosSessionInfo *pSession; sme_QosSessionInfo *pSession;
@@ -1669,8 +1671,9 @@ sme_QosStatusType sme_qos_internal_modify_req(tpAniSirGlobal pMac,
sme_QosFlowInfoEntry *flow_info = NULL; sme_QosFlowInfoEntry *flow_info = NULL;
sme_QosEdcaAcType ac; sme_QosEdcaAcType ac;
sme_QosStates new_state = SME_QOS_CLOSED; sme_QosStates new_state = SME_QOS_CLOSED;
sme_QosStatusType status = SME_QOS_STATUS_MODIFY_SETUP_FAILURE_RSP; enum sme_qos_statustype status =
sme_QosWmmTspecInfo Aggr_Tspec_Info; SME_QOS_STATUS_MODIFY_SETUP_FAILURE_RSP;
struct sme_qos_wmmtspecinfo Aggr_Tspec_Info;
sme_QosSearchInfo search_key; sme_QosSearchInfo search_key;
sme_QosCmdInfo cmd; sme_QosCmdInfo cmd;
uint8_t sessionId; uint8_t sessionId;
@@ -2003,7 +2006,7 @@ sme_QosStatusType sme_qos_internal_modify_req(tpAniSirGlobal pMac,
* Return: QDF_STATUS_SUCCESS - Release is successful. * Return: QDF_STATUS_SUCCESS - Release is successful.
*/ */
sme_QosStatusType sme_qos_internal_release_req(tpAniSirGlobal pMac, enum sme_qos_statustype sme_qos_internal_release_req(tpAniSirGlobal pMac,
uint8_t sessionId, uint8_t sessionId,
uint32_t QosFlowID, uint32_t QosFlowID,
bool buffered_cmd) bool buffered_cmd)
@@ -2015,8 +2018,8 @@ sme_QosStatusType sme_qos_internal_release_req(tpAniSirGlobal pMac,
sme_QosFlowInfoEntry *pDeletedFlow = NULL; sme_QosFlowInfoEntry *pDeletedFlow = NULL;
sme_QosEdcaAcType ac; sme_QosEdcaAcType ac;
sme_QosStates new_state = SME_QOS_CLOSED; sme_QosStates new_state = SME_QOS_CLOSED;
sme_QosStatusType status = SME_QOS_STATUS_RELEASE_FAILURE_RSP; enum sme_qos_statustype status = SME_QOS_STATUS_RELEASE_FAILURE_RSP;
sme_QosWmmTspecInfo Aggr_Tspec_Info; struct sme_qos_wmmtspecinfo Aggr_Tspec_Info;
sme_QosSearchInfo search_key; sme_QosSearchInfo search_key;
sme_QosCmdInfo cmd; sme_QosCmdInfo cmd;
tCsrRoamModifyProfileFields modifyProfileFields; tCsrRoamModifyProfileFields modifyProfileFields;
@@ -2574,14 +2577,14 @@ sme_QosStatusType sme_qos_internal_release_req(tpAniSirGlobal pMac,
if (false == deltsIssued) { if (false == deltsIssued) {
qdf_mem_zero(&pACInfo-> qdf_mem_zero(&pACInfo->
curr_QoSInfo[flow_info-> curr_QoSInfo[flow_info->
tspec_mask - 1], tspec_mask - 1],
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
} }
qdf_mem_zero(&pACInfo-> qdf_mem_zero(&pACInfo->
requested_QoSInfo[flow_info->tspec_mask - requested_QoSInfo[flow_info->tspec_mask -
1], 1],
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
pACInfo->num_flows[flow_info->tspec_mask - 1]--; pACInfo->num_flows[flow_info->tspec_mask - 1]--;
/* delete the entry from Flow List */ /* delete the entry from Flow List */
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
@@ -2650,7 +2653,7 @@ sme_QosStatusType sme_qos_internal_release_req(tpAniSirGlobal pMac,
* sme_qos_setup() - internal SME QOS setup function. * sme_qos_setup() - internal SME QOS setup function.
* @pMac: Pointer to the global MAC parameter structure. * @pMac: Pointer to the global MAC parameter structure.
* @sessionId: Session upon which setup is being performed * @sessionId: Session upon which setup is being performed
* @pTspec_Info: Pointer to sme_QosWmmTspecInfo which contains the WMM * @pTspec_Info: Pointer to struct sme_qos_wmmtspecinfo which contains the WMM
* TSPEC related info as defined above * TSPEC related info as defined above
* @ac: Enumeration of the various EDCA Access Categories. * @ac: Enumeration of the various EDCA Access Categories.
* *
@@ -2680,14 +2683,14 @@ sme_QosStatusType sme_qos_internal_release_req(tpAniSirGlobal pMac,
* *
* Return: SME_QOS_STATUS_SETUP_SUCCESS_RSP if the setup is successful' * Return: SME_QOS_STATUS_SETUP_SUCCESS_RSP if the setup is successful'
*/ */
sme_QosStatusType sme_qos_setup(tpAniSirGlobal pMac, enum sme_qos_statustype sme_qos_setup(tpAniSirGlobal pMac,
uint8_t sessionId, uint8_t sessionId,
sme_QosWmmTspecInfo *pTspec_Info, struct sme_qos_wmmtspecinfo *pTspec_Info,
sme_QosEdcaAcType ac) sme_QosEdcaAcType ac)
{ {
sme_QosSessionInfo *pSession; sme_QosSessionInfo *pSession;
sme_QosACInfo *pACInfo; sme_QosACInfo *pACInfo;
sme_QosStatusType status = SME_QOS_STATUS_SETUP_FAILURE_RSP; enum sme_qos_statustype status = SME_QOS_STATUS_SETUP_FAILURE_RSP;
tDot11fBeaconIEs *pIes = NULL; tDot11fBeaconIEs *pIes = NULL;
tCsrRoamModifyProfileFields modifyProfileFields; tCsrRoamModifyProfileFields modifyProfileFields;
QDF_STATUS hstatus; QDF_STATUS hstatus;
@@ -3072,7 +3075,7 @@ QDF_STATUS sme_qos_ese_process_reassoc_tspec_rsp(tpAniSirGlobal pMac,
* Return: None * Return: None
*/ */
static void sme_qos_copy_tspec_info(tpAniSirGlobal pMac, static void sme_qos_copy_tspec_info(tpAniSirGlobal pMac,
sme_QosWmmTspecInfo *pTspec_Info, struct sme_qos_wmmtspecinfo *pTspec_Info,
tSirMacTspecIE *pTspec) tSirMacTspecIE *pTspec)
{ {
/* As per WMM_AC_testplan_v0.39 Minimum Service Interval, Maximum Service /* As per WMM_AC_testplan_v0.39 Minimum Service Interval, Maximum Service
@@ -3187,7 +3190,7 @@ uint8_t sme_qos_ese_retrieve_tspec_info(tpAniSirGlobal mac_ctx,
static static
QDF_STATUS sme_qos_create_tspec_ricie(tpAniSirGlobal pMac, QDF_STATUS sme_qos_create_tspec_ricie(tpAniSirGlobal pMac,
sme_QosWmmTspecInfo *pTspec_Info, struct sme_qos_wmmtspecinfo *pTspec_Info,
uint8_t *pRICBuffer, uint32_t *pRICLength, uint8_t *pRICBuffer, uint32_t *pRICLength,
uint8_t *pRICIdentifier) uint8_t *pRICIdentifier)
{ {
@@ -3342,7 +3345,7 @@ static QDF_STATUS sme_qos_process_ft_reassoc_req_ev(
ac_info->curr_QoSInfo[tspec_index]; ac_info->curr_QoSInfo[tspec_index];
qdf_mem_zero( qdf_mem_zero(
&ac_info->curr_QoSInfo[tspec_index], &ac_info->curr_QoSInfo[tspec_index],
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
qos_requested = true; qos_requested = true;
} }
} }
@@ -3418,7 +3421,7 @@ static QDF_STATUS sme_qos_process_ft_reassoc_req_ev(
* Return: None * Return: None
*/ */
static void sme_qos_fill_aggr_info(int ac_id, int ts_id, static void sme_qos_fill_aggr_info(int ac_id, int ts_id,
sme_qos_wmm_dir_type direction, enum sme_qos_wmm_dir_type direction,
tSirAggrQosReq *msg, tSirAggrQosReq *msg,
sme_QosSessionInfo *session) sme_QosSessionInfo *session)
{ {
@@ -3755,7 +3758,7 @@ static QDF_STATUS sme_qos_find_matching_tspec_lfr3(tpAniSirGlobal mac_ctx,
sme_QosACInfo *ac_info; sme_QosACInfo *ac_info;
uint8_t tspec_flow_idx; uint8_t tspec_flow_idx;
bool found = false; bool found = false;
sme_qos_wmm_dir_type direction, qos_dir; enum sme_qos_wmm_dir_type direction, qos_dir;
uint8_t ac1; uint8_t ac1;
tDot11fIERICDataDesc *ric_data = NULL; tDot11fIERICDataDesc *ric_data = NULL;
uint32_t ric_len; uint32_t ric_len;
@@ -3894,7 +3897,7 @@ QDF_STATUS sme_qos_process_ft_reassoc_rsp_ev(tpAniSirGlobal mac_ctx,
* sme_qos_add_ts_req() - send ADDTS request. * sme_qos_add_ts_req() - send ADDTS request.
* @pMac: Pointer to the global MAC parameter structure. * @pMac: Pointer to the global MAC parameter structure.
* @sessionId: Session upon which the TSPEC should be added * @sessionId: Session upon which the TSPEC should be added
* @pTspec_Info: Pointer to sme_QosWmmTspecInfo which contains the WMM * @pTspec_Info: Pointer to struct sme_qos_wmmtspecinfo which contains the WMM
* TSPEC related info as defined above * TSPEC related info as defined above
* @ac: Enumeration of the various EDCA Access Categories. * @ac: Enumeration of the various EDCA Access Categories.
* *
@@ -3904,7 +3907,7 @@ QDF_STATUS sme_qos_process_ft_reassoc_rsp_ev(tpAniSirGlobal mac_ctx,
*/ */
QDF_STATUS sme_qos_add_ts_req(tpAniSirGlobal pMac, QDF_STATUS sme_qos_add_ts_req(tpAniSirGlobal pMac,
uint8_t sessionId, uint8_t sessionId,
sme_QosWmmTspecInfo *pTspec_Info, struct sme_qos_wmmtspecinfo *pTspec_Info,
sme_QosEdcaAcType ac) sme_QosEdcaAcType ac)
{ {
tSirAddtsReq *pMsg = NULL; tSirAddtsReq *pMsg = NULL;
@@ -4036,7 +4039,7 @@ QDF_STATUS sme_qos_del_ts_req(tpAniSirGlobal pMac,
sme_QosSessionInfo *pSession; sme_QosSessionInfo *pSession;
sme_QosACInfo *pACInfo; sme_QosACInfo *pACInfo;
tSirDeltsReq *pMsg; tSirDeltsReq *pMsg;
sme_QosWmmTspecInfo *pTspecInfo; struct sme_qos_wmmtspecinfo *pTspecInfo;
QDF_STATUS status = QDF_STATUS_E_FAILURE; QDF_STATUS status = QDF_STATUS_E_FAILURE;
#ifdef FEATURE_WLAN_DIAG_SUPPORT #ifdef FEATURE_WLAN_DIAG_SUPPORT
WLAN_HOST_DIAG_EVENT_DEF(qos, host_event_wlan_qos_payload_type); WLAN_HOST_DIAG_EVENT_DEF(qos, host_event_wlan_qos_payload_type);
@@ -4105,7 +4108,7 @@ QDF_STATUS sme_qos_del_ts_req(tpAniSirGlobal pMac,
__func__, __LINE__, __func__, __LINE__,
pTspecInfo->ts_info.up, pTspecInfo->ts_info.tid); pTspecInfo->ts_info.up, pTspecInfo->ts_info.tid);
qdf_mem_zero(&pACInfo->curr_QoSInfo[tspec_mask - 1], qdf_mem_zero(&pACInfo->curr_QoSInfo[tspec_mask - 1],
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
if (QDF_IS_STATUS_SUCCESS(umac_send_mb_message_to_mac(pMsg))) { if (QDF_IS_STATUS_SUCCESS(umac_send_mb_message_to_mac(pMsg))) {
status = QDF_STATUS_SUCCESS; status = QDF_STATUS_SUCCESS;
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
@@ -4143,8 +4146,9 @@ QDF_STATUS sme_qos_process_add_ts_rsp(tpAniSirGlobal pMac, void *pMsgBuf)
sme_QosSessionInfo *pSession; sme_QosSessionInfo *pSession;
uint8_t sessionId = paddts_rsp->sessionId; uint8_t sessionId = paddts_rsp->sessionId;
QDF_STATUS status = QDF_STATUS_E_FAILURE; QDF_STATUS status = QDF_STATUS_E_FAILURE;
sme_QosWmmUpType up = enum sme_qos_wmmuptype up =
(sme_QosWmmUpType) paddts_rsp->rsp.tspec.tsinfo.traffic.userPrio; (enum sme_qos_wmmuptype)
paddts_rsp->rsp.tspec.tsinfo.traffic.userPrio;
sme_QosACInfo *pACInfo; sme_QosACInfo *pACInfo;
sme_QosEdcaAcType ac; sme_QosEdcaAcType ac;
#ifdef FEATURE_WLAN_DIAG_SUPPORT #ifdef FEATURE_WLAN_DIAG_SUPPORT
@@ -4251,8 +4255,9 @@ QDF_STATUS sme_qos_process_del_ts_ind(tpAniSirGlobal pMac, void *pMsgBuf)
sme_QosEdcaAcType ac; sme_QosEdcaAcType ac;
sme_QosSearchInfo search_key; sme_QosSearchInfo search_key;
tSirMacTSInfo *tsinfo; tSirMacTSInfo *tsinfo;
sme_QosWmmUpType up = enum sme_qos_wmmuptype up =
(sme_QosWmmUpType) pdeltsind->rsp.tspec.tsinfo.traffic.userPrio; (enum sme_qos_wmmuptype)
pdeltsind->rsp.tspec.tsinfo.traffic.userPrio;
#ifdef FEATURE_WLAN_DIAG_SUPPORT #ifdef FEATURE_WLAN_DIAG_SUPPORT
WLAN_HOST_DIAG_EVENT_DEF(qos, host_event_wlan_qos_payload_type); WLAN_HOST_DIAG_EVENT_DEF(qos, host_event_wlan_qos_payload_type);
#endif #endif
@@ -4617,7 +4622,7 @@ QDF_STATUS sme_qos_handle_handoff_state(tpAniSirGlobal mac_ctx,
} }
ac_info->hoRenewal = false; ac_info->hoRenewal = false;
qdf_mem_zero(&ac_info->requested_QoSInfo[SME_QOS_TSPEC_INDEX_0], qdf_mem_zero(&ac_info->requested_QoSInfo[SME_QOS_TSPEC_INDEX_0],
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
return status; return status;
} }
@@ -4780,16 +4785,16 @@ QDF_STATUS sme_qos_process_reassoc_failure_ev(tpAniSirGlobal pMac,
} }
qdf_mem_zero(&pACInfo-> qdf_mem_zero(&pACInfo->
curr_QoSInfo[SME_QOS_TSPEC_INDEX_0], curr_QoSInfo[SME_QOS_TSPEC_INDEX_0],
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
qdf_mem_zero(&pACInfo-> qdf_mem_zero(&pACInfo->
requested_QoSInfo[SME_QOS_TSPEC_INDEX_0], requested_QoSInfo[SME_QOS_TSPEC_INDEX_0],
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
qdf_mem_zero(&pACInfo-> qdf_mem_zero(&pACInfo->
curr_QoSInfo[SME_QOS_TSPEC_INDEX_1], curr_QoSInfo[SME_QOS_TSPEC_INDEX_1],
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
qdf_mem_zero(&pACInfo-> qdf_mem_zero(&pACInfo->
requested_QoSInfo[SME_QOS_TSPEC_INDEX_1], requested_QoSInfo[SME_QOS_TSPEC_INDEX_1],
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
pACInfo->tspec_mask_status = SME_QOS_TSPEC_MASK_CLEAR; pACInfo->tspec_mask_status = SME_QOS_TSPEC_MASK_CLEAR;
pACInfo->tspec_pending = 0; pACInfo->tspec_pending = 0;
pACInfo->num_flows[SME_QOS_TSPEC_INDEX_0] = 0; pACInfo->num_flows[SME_QOS_TSPEC_INDEX_0] = 0;
@@ -4967,16 +4972,16 @@ QDF_STATUS sme_qos_process_handoff_failure_ev(tpAniSirGlobal pMac,
/* need to clean up flows: TODO */ /* need to clean up flows: TODO */
qdf_mem_zero(&pACInfo-> qdf_mem_zero(&pACInfo->
curr_QoSInfo[SME_QOS_TSPEC_INDEX_0], curr_QoSInfo[SME_QOS_TSPEC_INDEX_0],
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
qdf_mem_zero(&pACInfo-> qdf_mem_zero(&pACInfo->
requested_QoSInfo[SME_QOS_TSPEC_INDEX_0], requested_QoSInfo[SME_QOS_TSPEC_INDEX_0],
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
qdf_mem_zero(&pACInfo-> qdf_mem_zero(&pACInfo->
curr_QoSInfo[SME_QOS_TSPEC_INDEX_1], curr_QoSInfo[SME_QOS_TSPEC_INDEX_1],
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
qdf_mem_zero(&pACInfo-> qdf_mem_zero(&pACInfo->
requested_QoSInfo[SME_QOS_TSPEC_INDEX_1], requested_QoSInfo[SME_QOS_TSPEC_INDEX_1],
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
pACInfo->tspec_mask_status = SME_QOS_TSPEC_MASK_CLEAR; pACInfo->tspec_mask_status = SME_QOS_TSPEC_MASK_CLEAR;
pACInfo->tspec_pending = 0; pACInfo->tspec_pending = 0;
pACInfo->num_flows[SME_QOS_TSPEC_INDEX_0] = 0; pACInfo->num_flows[SME_QOS_TSPEC_INDEX_0] = 0;
@@ -5269,8 +5274,8 @@ QDF_STATUS sme_qos_process_add_ts_failure_rsp(tpAniSirGlobal pMac,
sme_QosEdcaAcType ac; sme_QosEdcaAcType ac;
sme_QosSearchInfo search_key; sme_QosSearchInfo search_key;
uint8_t tspec_pending; uint8_t tspec_pending;
sme_QosWmmUpType up = enum sme_qos_wmmuptype up =
(sme_QosWmmUpType) pRsp->tspec.tsinfo.traffic.userPrio; (enum sme_qos_wmmuptype) pRsp->tspec.tsinfo.traffic.userPrio;
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
"%s: %d: invoked on session %d for UP %d", __func__, __LINE__, "%s: %d: invoked on session %d for UP %d", __func__, __LINE__,
sessionId, up); sessionId, up);
@@ -5308,7 +5313,7 @@ QDF_STATUS sme_qos_process_add_ts_failure_rsp(tpAniSirGlobal pMac,
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
qdf_mem_zero(&pACInfo->requested_QoSInfo[tspec_pending - 1], qdf_mem_zero(&pACInfo->requested_QoSInfo[tspec_pending - 1],
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
if ((!pACInfo->num_flows[0]) && (!pACInfo->num_flows[1])) { if ((!pACInfo->num_flows[0]) && (!pACInfo->num_flows[1])) {
pACInfo->tspec_mask_status &= SME_QOS_TSPEC_MASK_BIT_1_2_SET & pACInfo->tspec_mask_status &= SME_QOS_TSPEC_MASK_BIT_1_2_SET &
@@ -5431,8 +5436,8 @@ QDF_STATUS sme_qos_process_add_ts_success_rsp(tpAniSirGlobal pMac,
uint8_t tspec_pending; uint8_t tspec_pending;
tListElem *pEntry = NULL; tListElem *pEntry = NULL;
sme_QosFlowInfoEntry *flow_info = NULL; sme_QosFlowInfoEntry *flow_info = NULL;
sme_QosWmmUpType up = enum sme_qos_wmmuptype up =
(sme_QosWmmUpType) pRsp->tspec.tsinfo.traffic.userPrio; (enum sme_qos_wmmuptype) pRsp->tspec.tsinfo.traffic.userPrio;
#ifdef FEATURE_WLAN_DIAG_SUPPORT #ifdef FEATURE_WLAN_DIAG_SUPPORT
WLAN_HOST_DIAG_EVENT_DEF(qos, host_event_wlan_qos_payload_type); WLAN_HOST_DIAG_EVENT_DEF(qos, host_event_wlan_qos_payload_type);
host_log_qos_tspec_pkt_type *log_ptr = NULL; host_log_qos_tspec_pkt_type *log_ptr = NULL;
@@ -5583,7 +5588,7 @@ QDF_STATUS sme_qos_process_add_ts_success_rsp(tpAniSirGlobal pMac,
} }
pACInfo->hoRenewal = false; pACInfo->hoRenewal = false;
qdf_mem_zero(&pACInfo->requested_QoSInfo[tspec_pending - 1], qdf_mem_zero(&pACInfo->requested_QoSInfo[tspec_pending - 1],
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
/* event: EVENT_WLAN_QOS */ /* event: EVENT_WLAN_QOS */
#ifdef FEATURE_WLAN_DIAG_SUPPORT #ifdef FEATURE_WLAN_DIAG_SUPPORT
qos.eventId = SME_QOS_DIAG_ADDTS_RSP; qos.eventId = SME_QOS_DIAG_ADDTS_RSP;
@@ -5663,9 +5668,10 @@ QDF_STATUS sme_qos_process_add_ts_success_rsp(tpAniSirGlobal pMac,
\brief sme_qos_aggregate_params() - Utiltity function to increament the TSPEC \brief sme_qos_aggregate_params() - Utiltity function to increament the TSPEC
params per AC. Typical usage while using flow aggregation or deletion of flows params per AC. Typical usage while using flow aggregation or deletion of flows
\param pInput_Tspec_Info - Pointer to sme_QosWmmTspecInfo which contains the \param pInput_Tspec_Info - Pointer to struct sme_qos_wmmtspecinfo which
WMM TSPEC related info with which pCurrent_Tspec_Info will be updated contains the WMM TSPEC related info with which pCurrent_Tspec_Info will
\param pCurrent_Tspec_Info - Pointer to sme_QosWmmTspecInfo which contains be updated
\param pCurrent_Tspec_Info - Pointer to struct sme_qos_wmmtspecinfo which contains
current the WMM TSPEC related info current the WMM TSPEC related info
\return QDF_STATUS \return QDF_STATUS
@@ -5673,11 +5679,12 @@ QDF_STATUS sme_qos_process_add_ts_success_rsp(tpAniSirGlobal pMac,
\sa \sa
--------------------------------------------------------------------------*/ --------------------------------------------------------------------------*/
QDF_STATUS sme_qos_aggregate_params(sme_QosWmmTspecInfo *pInput_Tspec_Info, QDF_STATUS sme_qos_aggregate_params(
sme_QosWmmTspecInfo *pCurrent_Tspec_Info, struct sme_qos_wmmtspecinfo *pInput_Tspec_Info,
sme_QosWmmTspecInfo *pUpdated_Tspec_Info) struct sme_qos_wmmtspecinfo *pCurrent_Tspec_Info,
struct sme_qos_wmmtspecinfo *pUpdated_Tspec_Info)
{ {
sme_QosWmmTspecInfo TspecInfo; struct sme_qos_wmmtspecinfo TspecInfo;
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
"%s: %d: invoked", __func__, __LINE__); "%s: %d: invoked", __func__, __LINE__);
if (!pInput_Tspec_Info) { if (!pInput_Tspec_Info) {
@@ -5693,7 +5700,7 @@ QDF_STATUS sme_qos_aggregate_params(sme_QosWmmTspecInfo *pInput_Tspec_Info,
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
qdf_mem_copy(&TspecInfo, pCurrent_Tspec_Info, qdf_mem_copy(&TspecInfo, pCurrent_Tspec_Info,
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
TspecInfo.ts_info.psb = pInput_Tspec_Info->ts_info.psb; TspecInfo.ts_info.psb = pInput_Tspec_Info->ts_info.psb;
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
APSD preference is only meaningful if service interval was set by app APSD preference is only meaningful if service interval was set by app
@@ -5825,10 +5832,10 @@ QDF_STATUS sme_qos_aggregate_params(sme_QosWmmTspecInfo *pInput_Tspec_Info,
} }
if (pUpdated_Tspec_Info) { if (pUpdated_Tspec_Info) {
qdf_mem_copy(pUpdated_Tspec_Info, &TspecInfo, qdf_mem_copy(pUpdated_Tspec_Info, &TspecInfo,
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
} else { } else {
qdf_mem_copy(pCurrent_Tspec_Info, &TspecInfo, qdf_mem_copy(pCurrent_Tspec_Info, &TspecInfo,
sizeof(sme_QosWmmTspecInfo)); sizeof(struct sme_qos_wmmtspecinfo));
} }
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
@@ -5848,15 +5855,15 @@ QDF_STATUS sme_qos_aggregate_params(sme_QosWmmTspecInfo *pInput_Tspec_Info,
--------------------------------------------------------------------------*/ --------------------------------------------------------------------------*/
static QDF_STATUS sme_qos_update_params(uint8_t sessionId, static QDF_STATUS sme_qos_update_params(uint8_t sessionId,
sme_QosEdcaAcType ac, sme_QosEdcaAcType ac,
uint8_t tspec_mask, uint8_t tspec_mask,
sme_QosWmmTspecInfo *pTspec_Info) struct sme_qos_wmmtspecinfo *pTspec_Info)
{ {
tListElem *pEntry = NULL, *pNextEntry = NULL; tListElem *pEntry = NULL, *pNextEntry = NULL;
sme_QosSessionInfo *pSession; sme_QosSessionInfo *pSession;
sme_QosACInfo *pACInfo; sme_QosACInfo *pACInfo;
sme_QosFlowInfoEntry *flow_info = NULL; sme_QosFlowInfoEntry *flow_info = NULL;
sme_QosWmmTspecInfo Tspec_Info; struct sme_qos_wmmtspecinfo Tspec_Info;
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
"%s: %d: invoked on session %d for AC %d TSPEC %d", "%s: %d: invoked on session %d for AC %d TSPEC %d",
__func__, __LINE__, sessionId, ac, tspec_mask); __func__, __LINE__, sessionId, ac, tspec_mask);
@@ -5866,7 +5873,7 @@ static QDF_STATUS sme_qos_update_params(uint8_t sessionId,
__func__, __LINE__); __func__, __LINE__);
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
qdf_mem_zero(&Tspec_Info, sizeof(sme_QosWmmTspecInfo)); qdf_mem_zero(&Tspec_Info, sizeof(struct sme_qos_wmmtspecinfo));
pEntry = csr_ll_peek_head(&sme_qos_cb.flow_list, false); pEntry = csr_ll_peek_head(&sme_qos_cb.flow_list, false);
if (!pEntry) { if (!pEntry) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
@@ -5929,9 +5936,9 @@ static QDF_STATUS sme_qos_update_params(uint8_t sessionId,
\sa \sa
--------------------------------------------------------------------------*/ --------------------------------------------------------------------------*/
sme_QosWmmUpType sme_qos_ac_to_up(sme_QosEdcaAcType ac) enum sme_qos_wmmuptype sme_qos_ac_to_up(sme_QosEdcaAcType ac)
{ {
sme_QosWmmUpType up = SME_QOS_WMM_UP_MAX; enum sme_qos_wmmuptype up = SME_QOS_WMM_UP_MAX;
if (ac >= 0 && ac < SME_QOS_EDCA_AC_MAX) { if (ac >= 0 && ac < SME_QOS_EDCA_AC_MAX) {
up = sme_qos_a_cto_up_map[ac]; up = sme_qos_a_cto_up_map[ac];
} }
@@ -5949,7 +5956,7 @@ sme_QosWmmUpType sme_qos_ac_to_up(sme_QosEdcaAcType ac)
\sa \sa
--------------------------------------------------------------------------*/ --------------------------------------------------------------------------*/
sme_QosEdcaAcType sme_qos_up_to_ac(sme_QosWmmUpType up) sme_QosEdcaAcType sme_qos_up_to_ac(enum sme_qos_wmmuptype up)
{ {
sme_QosEdcaAcType ac = SME_QOS_EDCA_AC_MAX; sme_QosEdcaAcType ac = SME_QOS_EDCA_AC_MAX;
if (up >= 0 && up < SME_QOS_WMM_UP_MAX) { if (up >= 0 && up < SME_QOS_WMM_UP_MAX) {
@@ -6432,7 +6439,7 @@ static QDF_STATUS sme_qos_process_buffered_cmd(uint8_t session_id)
sme_QosSessionInfo *qos_session; sme_QosSessionInfo *qos_session;
sme_QosCmdInfoEntry *pcmd = NULL; sme_QosCmdInfoEntry *pcmd = NULL;
tListElem *list_elt = NULL; tListElem *list_elt = NULL;
sme_QosStatusType hdd_status = SME_QOS_STATUS_SETUP_FAILURE_RSP; enum sme_qos_statustype hdd_status = SME_QOS_STATUS_SETUP_FAILURE_RSP;
QDF_STATUS qdf_ret_status = QDF_STATUS_SUCCESS; QDF_STATUS qdf_ret_status = QDF_STATUS_SUCCESS;
sme_QosCmdInfo *qos_cmd = NULL; sme_QosCmdInfo *qos_cmd = NULL;
@@ -6637,7 +6644,7 @@ QDF_STATUS sme_qos_setup_fnp(tpAniSirGlobal pMac, tListElem *pEntry)
sme_QosSessionInfo *pSession; sme_QosSessionInfo *pSession;
sme_QosACInfo *pACInfo; sme_QosACInfo *pACInfo;
sme_QosFlowInfoEntry *flow_info = NULL; sme_QosFlowInfoEntry *flow_info = NULL;
sme_QosStatusType hdd_status = SME_QOS_STATUS_SETUP_MODIFIED_IND; enum sme_qos_statustype hdd_status = SME_QOS_STATUS_SETUP_MODIFIED_IND;
sme_QosEdcaAcType ac; sme_QosEdcaAcType ac;
if (!pEntry) { if (!pEntry) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
@@ -6677,7 +6684,7 @@ QDF_STATUS sme_qos_modification_notify_fnp(tpAniSirGlobal pMac, tListElem *pEntr
sme_QosSessionInfo *pSession; sme_QosSessionInfo *pSession;
sme_QosACInfo *pACInfo; sme_QosACInfo *pACInfo;
sme_QosFlowInfoEntry *flow_info = NULL; sme_QosFlowInfoEntry *flow_info = NULL;
sme_QosStatusType hdd_status = SME_QOS_STATUS_SETUP_MODIFIED_IND; enum sme_qos_statustype hdd_status = SME_QOS_STATUS_SETUP_MODIFIED_IND;
sme_QosEdcaAcType ac; sme_QosEdcaAcType ac;
if (!pEntry) { if (!pEntry) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
@@ -6763,7 +6770,7 @@ QDF_STATUS sme_qos_del_ts_ind_fnp(tpAniSirGlobal pMac, tListElem *pEntry)
sme_QosFlowInfoEntry *flow_info = NULL; sme_QosFlowInfoEntry *flow_info = NULL;
sme_QosEdcaAcType ac; sme_QosEdcaAcType ac;
QDF_STATUS lock_status = QDF_STATUS_E_FAILURE; QDF_STATUS lock_status = QDF_STATUS_E_FAILURE;
sme_QosStatusType status; enum sme_qos_statustype status;
if (!pEntry) { if (!pEntry) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
@@ -6815,7 +6822,7 @@ sme_qos_reassoc_success_ev_fnp(tpAniSirGlobal mac_ctx,
sme_QosACInfo *ac_info; sme_QosACInfo *ac_info;
sme_QosFlowInfoEntry *flow_info = NULL; sme_QosFlowInfoEntry *flow_info = NULL;
bool delete_entry = false; bool delete_entry = false;
sme_QosStatusType hdd_status = SME_QOS_STATUS_SETUP_FAILURE_RSP; enum sme_qos_statustype hdd_status = SME_QOS_STATUS_SETUP_FAILURE_RSP;
sme_QosEdcaAcType ac; sme_QosEdcaAcType ac;
QDF_STATUS pmc_status = QDF_STATUS_E_FAILURE; QDF_STATUS pmc_status = QDF_STATUS_E_FAILURE;
if (!entry) { if (!entry) {
@@ -6946,7 +6953,7 @@ QDF_STATUS sme_qos_add_ts_failure_fnp(tpAniSirGlobal pMac, tListElem *pEntry)
sme_QosACInfo *pACInfo; sme_QosACInfo *pACInfo;
sme_QosFlowInfoEntry *flow_info = NULL; sme_QosFlowInfoEntry *flow_info = NULL;
bool inform_hdd = false; bool inform_hdd = false;
sme_QosStatusType hdd_status = SME_QOS_STATUS_SETUP_FAILURE_RSP; enum sme_qos_statustype hdd_status = SME_QOS_STATUS_SETUP_FAILURE_RSP;
sme_QosEdcaAcType ac; sme_QosEdcaAcType ac;
if (!pEntry) { if (!pEntry) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
@@ -7037,7 +7044,7 @@ QDF_STATUS sme_qos_add_ts_success_fnp(tpAniSirGlobal mac_ctx,
sme_QosFlowInfoEntry *flow_info = NULL; sme_QosFlowInfoEntry *flow_info = NULL;
bool inform_hdd = false; bool inform_hdd = false;
bool delete_entry = false; bool delete_entry = false;
sme_QosStatusType hdd_status = SME_QOS_STATUS_SETUP_FAILURE_RSP; enum sme_qos_statustype hdd_status = SME_QOS_STATUS_SETUP_FAILURE_RSP;
sme_QosEdcaAcType ac; sme_QosEdcaAcType ac;
QDF_STATUS pmc_status = QDF_STATUS_E_FAILURE; QDF_STATUS pmc_status = QDF_STATUS_E_FAILURE;
tCsrRoamModifyProfileFields profile_fields; tCsrRoamModifyProfileFields profile_fields;
@@ -7383,10 +7390,10 @@ void sme_qos_cleanup_ctrl_blk_for_handoff(tpAniSirGlobal pMac, uint8_t sessionId
for (ac = SME_QOS_EDCA_AC_BE; ac < SME_QOS_EDCA_AC_MAX; ac++) { for (ac = SME_QOS_EDCA_AC_BE; ac < SME_QOS_EDCA_AC_MAX; ac++) {
pACInfo = &pSession->ac_info[ac]; pACInfo = &pSession->ac_info[ac];
qdf_mem_zero(pACInfo->curr_QoSInfo, qdf_mem_zero(pACInfo->curr_QoSInfo,
sizeof(sme_QosWmmTspecInfo) * sizeof(struct sme_qos_wmmtspecinfo) *
SME_QOS_TSPEC_INDEX_MAX); SME_QOS_TSPEC_INDEX_MAX);
qdf_mem_zero(pACInfo->requested_QoSInfo, qdf_mem_zero(pACInfo->requested_QoSInfo,
sizeof(sme_QosWmmTspecInfo) * sizeof(struct sme_qos_wmmtspecinfo) *
SME_QOS_TSPEC_INDEX_MAX); SME_QOS_TSPEC_INDEX_MAX);
pACInfo->num_flows[0] = 0; pACInfo->num_flows[0] = 0;
pACInfo->num_flows[1] = 0; pACInfo->num_flows[1] = 0;
@@ -7401,8 +7408,8 @@ void sme_qos_cleanup_ctrl_blk_for_handoff(tpAniSirGlobal pMac, uint8_t sessionId
/** /**
* sme_qos_is_ts_info_ack_policy_valid() - check if ACK policy is allowed. * sme_qos_is_ts_info_ack_policy_valid() - check if ACK policy is allowed.
* @pMac: The handle returned by mac_open. * @pMac: The handle returned by mac_open.
* @pQoSInfo: Pointer to sme_QosWmmTspecInfo which contains the WMM TSPEC * @pQoSInfo: Pointer to struct sme_qos_wmmtspecinfo which contains the
* @ related info, provided by HDD * @ WMM TSPEC related info, provided by HDD
* @sessionId: sessionId returned by sme_open_session. * @sessionId: sessionId returned by sme_open_session.
* *
* The SME QoS API exposed to HDD to check if TS info ack policy field can be * The SME QoS API exposed to HDD to check if TS info ack policy field can be
@@ -7412,7 +7419,7 @@ void sme_qos_cleanup_ctrl_blk_for_handoff(tpAniSirGlobal pMac, uint8_t sessionId
* policy can be set to "HT-immediate block acknowledgement" * policy can be set to "HT-immediate block acknowledgement"
*/ */
bool sme_qos_is_ts_info_ack_policy_valid(tpAniSirGlobal pMac, bool sme_qos_is_ts_info_ack_policy_valid(tpAniSirGlobal pMac,
sme_QosWmmTspecInfo *pQoSInfo, struct sme_qos_wmmtspecinfo *pQoSInfo,
uint8_t sessionId) uint8_t sessionId)
{ {
tDot11fBeaconIEs *pIes = NULL; tDot11fBeaconIEs *pIes = NULL;
@@ -7469,7 +7476,7 @@ bool sme_qos_is_ts_info_ack_policy_valid(tpAniSirGlobal pMac,
} }
bool sme_qos_validate_requested_params(tpAniSirGlobal pMac, bool sme_qos_validate_requested_params(tpAniSirGlobal pMac,
sme_QosWmmTspecInfo *pQoSInfo, struct sme_qos_wmmtspecinfo *pQoSInfo,
uint8_t sessionId) uint8_t sessionId)
{ {
bool rc = false; bool rc = false;
@@ -7487,7 +7494,7 @@ bool sme_qos_validate_requested_params(tpAniSirGlobal pMac,
static QDF_STATUS qos_issue_command(tpAniSirGlobal pMac, uint8_t sessionId, static QDF_STATUS qos_issue_command(tpAniSirGlobal pMac, uint8_t sessionId,
eSmeCommandType cmdType, eSmeCommandType cmdType,
sme_QosWmmTspecInfo *pQoSInfo, struct sme_qos_wmmtspecinfo *pQoSInfo,
sme_QosEdcaAcType ac, uint8_t tspec_mask) sme_QosEdcaAcType ac, uint8_t tspec_mask)
{ {
QDF_STATUS status = QDF_STATUS_E_RESOURCES; QDF_STATUS status = QDF_STATUS_E_RESOURCES;
@@ -7584,13 +7591,14 @@ bool qos_process_command(tpAniSirGlobal pMac, tSmeCmd *pCommand)
* Return: status * Return: status
*/ */
static static
sme_QosStatusType sme_qos_re_request_add_ts(tpAniSirGlobal mac_ctx, enum sme_qos_statustype sme_qos_re_request_add_ts(tpAniSirGlobal mac_ctx,
uint8_t session_id, sme_QosWmmTspecInfo *qos_info, uint8_t session_id, struct sme_qos_wmmtspecinfo *qos_info,
sme_QosEdcaAcType ac, uint8_t tspec_mask) sme_QosEdcaAcType ac, uint8_t tspec_mask)
{ {
sme_QosSessionInfo *session; sme_QosSessionInfo *session;
sme_QosACInfo *ac_info; sme_QosACInfo *ac_info;
sme_QosStatusType status = SME_QOS_STATUS_MODIFY_SETUP_FAILURE_RSP; enum sme_qos_statustype status =
SME_QOS_STATUS_MODIFY_SETUP_FAILURE_RSP;
sme_QosCmdInfo cmd; sme_QosCmdInfo cmd;
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,