qcacmn: Update TID value in skb priority from the MPDU buffer
Update TID value in skb priority from the MPDU buffer. Change-Id: I707190f0c3095b4c47bd4b3cffd4a94f5952939c CRs-Fixed: 3037067
This commit is contained in:

committed by
Madan Koyyalamudi

parent
5479ef4492
commit
ba3f9c04c8
@@ -129,6 +129,16 @@
|
||||
RX_MPDU_DESC_INFO_BAR_FRAME_MASK) >> \
|
||||
RX_MPDU_DESC_INFO_BAR_FRAME_LSB)
|
||||
|
||||
#define HAL_RX_MPDU_TID_GET(mpdu_info_ptr) \
|
||||
((mpdu_info_ptr[RX_MPDU_DESC_INFO_TID_OFFSET >> 2] & \
|
||||
RX_MPDU_DESC_INFO_TID_MASK) >> \
|
||||
RX_MPDU_DESC_INFO_TID_LSB)
|
||||
|
||||
#define HAL_RX_MPDU_MPDU_QOS_CONTROL_VALID_GET(mpdu_info_ptr) \
|
||||
((mpdu_info_ptr[RX_MPDU_DESC_INFO_MPDU_QOS_CONTROL_VALID_OFFSET >> 2] &\
|
||||
RX_MPDU_DESC_INFO_MPDU_QOS_CONTROL_VALID_MASK) >> \
|
||||
RX_MPDU_DESC_INFO_MPDU_QOS_CONTROL_VALID_LSB)
|
||||
|
||||
/*
|
||||
* NOTE: None of the following _GET macros need a right
|
||||
* shift by the corresponding _LSB. This is because, they are
|
||||
@@ -243,6 +253,9 @@ static inline uint32_t hal_rx_get_mpdu_flags(uint32_t *mpdu_info)
|
||||
if (HAL_RX_MPDU_RAW_MPDU_GET(mpdu_info))
|
||||
mpdu_flags |= HAL_MPDU_F_RAW_AMPDU;
|
||||
|
||||
if (HAL_RX_MPDU_MPDU_QOS_CONTROL_VALID_GET(mpdu_info))
|
||||
mpdu_flags |= HAL_MPDU_F_QOS_CONTROL_VALID;
|
||||
|
||||
return mpdu_flags;
|
||||
}
|
||||
|
||||
@@ -255,11 +268,6 @@ static inline uint32_t hal_rx_get_mpdu_flags(uint32_t *mpdu_info)
|
||||
REO_DESTINATION_RING_REO_DEST_BUFFER_TYPE_MASK) >> \
|
||||
REO_DESTINATION_RING_REO_DEST_BUFFER_TYPE_LSB)
|
||||
|
||||
#define HAL_RX_REO_QUEUE_NUMBER_GET(reo_desc) (((*(((uint32_t *)reo_desc) + \
|
||||
(REO_DESTINATION_RING_RX_MPDU_DESC_INFO_DETAILS_TID_OFFSET >> 2))) & \
|
||||
REO_DESTINATION_RING_RX_MPDU_DESC_INFO_DETAILS_TID_MASK) >> \
|
||||
REO_DESTINATION_RING_RX_MPDU_DESC_INFO_DETAILS_TID_LSB)
|
||||
|
||||
#define HAL_RX_REO_ERROR_GET(reo_desc) (((*(((uint32_t *)reo_desc) + \
|
||||
(REO_DESTINATION_RING_REO_ERROR_CODE_OFFSET >> 2))) & \
|
||||
REO_DESTINATION_RING_REO_ERROR_CODE_MASK) >> \
|
||||
@@ -396,6 +404,7 @@ void hal_rx_mpdu_desc_info_get_be(void *desc_addr,
|
||||
mpdu_desc_info->peer_meta_data =
|
||||
HAL_RX_MPDU_DESC_PEER_META_DATA_GET(mpdu_info);
|
||||
mpdu_desc_info->bar_frame = HAL_RX_MPDU_BAR_FRAME_GET(mpdu_info);
|
||||
mpdu_desc_info->tid = HAL_RX_MPDU_TID_GET(mpdu_info);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@@ -216,6 +216,7 @@ enum hal_rx_msdu_desc_flags {
|
||||
* [3] raw_ampdu
|
||||
* @peer_meta_data: Upper bits containing peer id, vdev id
|
||||
* @bar_frame: indicates if received frame is a bar frame
|
||||
* @tid: tid value of received MPDU
|
||||
*/
|
||||
struct hal_rx_mpdu_desc_info {
|
||||
uint16_t msdu_count;
|
||||
@@ -223,6 +224,8 @@ struct hal_rx_mpdu_desc_info {
|
||||
uint32_t mpdu_flags;
|
||||
uint32_t peer_meta_data; /* sw progamed meta-data:MAC Id & peer Id */
|
||||
uint16_t bar_frame;
|
||||
uint8_t tid:4,
|
||||
reserved:4;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -232,12 +235,14 @@ struct hal_rx_mpdu_desc_info {
|
||||
* @ HAL_MPDU_F_RETRY_BIT: Retry bit is set in FC of MPDU
|
||||
* @ HAL_MPDU_F_AMPDU_FLAG: MPDU received as part of A-MPDU
|
||||
* @ HAL_MPDU_F_RAW_AMPDU: MPDU is a Raw MDPU
|
||||
* @ HAL_MPDU_F_QOS_CONTROL_VALID: MPDU has a QoS control field
|
||||
*/
|
||||
enum hal_rx_mpdu_desc_flags {
|
||||
HAL_MPDU_F_FRAGMENT = (0x1 << 20),
|
||||
HAL_MPDU_F_RETRY_BIT = (0x1 << 21),
|
||||
HAL_MPDU_F_AMPDU_FLAG = (0x1 << 22),
|
||||
HAL_MPDU_F_RAW_AMPDU = (0x1 << 30)
|
||||
HAL_MPDU_F_RAW_AMPDU = (0x1 << 30),
|
||||
HAL_MPDU_F_QOS_CONTROL_VALID = (0x1 << 31)
|
||||
};
|
||||
|
||||
/* Return Buffer manager ID */
|
||||
|
Reference in New Issue
Block a user