blob: bab24ee05b5f4f2cfd7a392d083cd827db346674 [file] [log] [blame]
/*
* Copyright (c) 2013 Quantenna Communications, Inc.
*/
#ifndef _QTN_WMM_AC_H
#define _QTN_WMM_AC_H
#define WMM_AC_BE 0
#define WMM_AC_BK 1
#define WMM_AC_VI 2
#define WMM_AC_VO 3
#define WMM_AC_NUM 4
#define QTN_AC_MGMT WMM_AC_VO
#define WMM_AC_INVALID WMM_AC_NUM
#define QTN_AC_ORDER { WMM_AC_VO, WMM_AC_VI, WMM_AC_BE, WMM_AC_BK }
#define QTN_TID_BE 0
#define QTN_TID_BK 1
#define QTN_TID_2 2
#define QTN_TID_3 3
#define QTN_TID_WLAN 4 /* 802.11 encap'ed data from wlan driver */
#define QTN_TID_VI 5
#define QTN_TID_VO 6
#define QTN_TID_MGMT 7
#define QTN_TID_IS_80211(tid) ((tid == QTN_TID_MGMT) || (tid == QTN_TID_WLAN))
#define QTN_TID_ORDER { \
QTN_TID_MGMT, \
QTN_TID_WLAN, \
QTN_TID_VO, \
QTN_TID_VI, \
QTN_TID_BE, \
QTN_TID_BK \
}
#define QTN_TID_ORDER_DATA { \
QTN_TID_VO, \
QTN_TID_VI, \
QTN_TID_BE, \
QTN_TID_BK \
}
#define QTN_TID_ORDER_POLL { \
QTN_TID_VO, \
QTN_TID_VI, \
QTN_TID_BE, \
QTN_TID_BK, \
QTN_TID_WLAN, \
QTN_TID_MGMT \
}
#define WMM_AC_TO_TID(_ac) ( \
(_ac == WMM_AC_VO) ? QTN_TID_VO : \
(_ac == WMM_AC_VI) ? QTN_TID_VI : \
(_ac == WMM_AC_BK) ? QTN_TID_BK : \
QTN_TID_BE)
#define TID_TO_WMM_AC(_tid) ( \
(_tid == QTN_TID_BK) ? WMM_AC_BK : \
(_tid == QTN_TID_VI) ? WMM_AC_VI : \
(_tid == QTN_TID_VO) ? WMM_AC_VO : \
(_tid == QTN_TID_WLAN) ? QTN_AC_MGMT : \
(_tid == QTN_TID_MGMT) ? QTN_AC_MGMT : \
WMM_AC_BE)
#define QTN_TID_COLLAPSE(_tid) WMM_AC_TO_TID(TID_TO_WMM_AC(_tid))
#define AC_TO_QTN_QNUM(_ac) \
(((_ac) == WME_AC_BE) ? 1 : \
((_ac) == WME_AC_BK) ? 0 : \
(_ac))
#define QTN_TID_MAP_UNUSED(_tid) ( \
(_tid == QTN_TID_2) ? QTN_TID_BK : \
(_tid == QTN_TID_3) ? QTN_TID_BE : \
(_tid))
#endif /* _QTN_WMM_AC_H */