qcacmn: populate qos_null in rx state
sw_frame_group_id decides process for frame. USER_STATS tlv case uses sw_frame_group_id to add qos_null frame control to rx_status. Change-Id: Ia3da8dbe4fc4c2d0f21fa8864e6b4e87170ba8f6
Este cometimento está contido em:

cometido por
nshrivas

ascendente
ab6b497e6d
cometimento
fadeef890b
@@ -486,6 +486,8 @@ struct hal_rx_ppdu_info {
|
||||
uint32_t hdr_len;
|
||||
/* MPDU FCS error */
|
||||
bool fcs_err;
|
||||
/* Id to indicate how to process mpdu */
|
||||
uint8_t sw_frame_group_id;
|
||||
struct hal_rx_ppdu_msdu_info rx_msdu_info[HAL_MAX_UL_MU_USERS];
|
||||
/* first msdu payload for all mpdus in ppdu */
|
||||
struct hal_rx_msdu_payload_info ppdu_msdu_info[HAL_RX_MAX_MPDU];
|
||||
|
@@ -485,14 +485,18 @@ hal_rx_status_get_tlv_info_generic(void *rx_tlv_hdr, void *ppduinfo,
|
||||
HAL_RX_GET(rx_tlv, RX_PPDU_END_USER_STATS_10,
|
||||
OTHER_MSDU_COUNT);
|
||||
|
||||
if (ppdu_info->sw_frame_group_id
|
||||
!= HAL_MPDU_SW_FRAME_GROUP_NULL_DATA) {
|
||||
ppdu_info->rx_status.frame_control_info_valid =
|
||||
HAL_RX_GET(rx_tlv, RX_PPDU_END_USER_STATS_3,
|
||||
FRAME_CONTROL_INFO_VALID);
|
||||
|
||||
if (ppdu_info->rx_status.frame_control_info_valid)
|
||||
ppdu_info->rx_status.frame_control =
|
||||
HAL_RX_GET(rx_tlv, RX_PPDU_END_USER_STATS_4,
|
||||
HAL_RX_GET(rx_tlv,
|
||||
RX_PPDU_END_USER_STATS_4,
|
||||
FRAME_CONTROL_FIELD);
|
||||
}
|
||||
|
||||
ppdu_info->rx_status.data_sequence_control_info_valid =
|
||||
HAL_RX_GET(rx_tlv, RX_PPDU_END_USER_STATS_3,
|
||||
@@ -1368,6 +1372,17 @@ hal_rx_status_get_tlv_info_generic(void *rx_tlv_hdr, void *ppduinfo,
|
||||
RX_MPDU_INFO_14,
|
||||
MPDU_FRAME_CONTROL_FIELD);
|
||||
|
||||
ppdu_info->sw_frame_group_id =
|
||||
HAL_RX_GET_SW_FRAME_GROUP_ID(rx_mpdu_start);
|
||||
|
||||
if (ppdu_info->sw_frame_group_id ==
|
||||
HAL_MPDU_SW_FRAME_GROUP_NULL_DATA) {
|
||||
ppdu_info->rx_status.frame_control_info_valid =
|
||||
ppdu_info->nac_info.fc_valid;
|
||||
ppdu_info->rx_status.frame_control =
|
||||
ppdu_info->nac_info.frame_control;
|
||||
}
|
||||
|
||||
ppdu_info->nac_info.mac_addr2_valid =
|
||||
HAL_RX_GET_MAC_ADDR2_VALID(rx_mpdu_start);
|
||||
|
||||
|
@@ -264,6 +264,9 @@
|
||||
#define HAL_RX_GET_PPDU_ID(rx_mpdu_start) \
|
||||
HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, PHY_PPDU_ID)
|
||||
|
||||
#define HAL_RX_GET_SW_FRAME_GROUP_ID(rx_mpdu_start) \
|
||||
HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, SW_FRAME_GROUP_ID)
|
||||
|
||||
#define HAL_REO_R0_CONFIG(soc, reg_val, reo_params) \
|
||||
do { \
|
||||
(reg_val) &= \
|
||||
|
@@ -270,6 +270,9 @@
|
||||
#define HAL_RX_GET_PPDU_ID(rx_mpdu_start) \
|
||||
HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, PHY_PPDU_ID)
|
||||
|
||||
#define HAL_RX_GET_SW_FRAME_GROUP_ID(rx_mpdu_start) \
|
||||
HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, SW_FRAME_GROUP_ID)
|
||||
|
||||
#define HAL_REO_R0_CONFIG(soc, reg_val, reo_params) \
|
||||
do { \
|
||||
reg_val &= \
|
||||
|
@@ -273,6 +273,9 @@
|
||||
#define HAL_RX_GET_PPDU_ID(rx_mpdu_start) \
|
||||
HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_9, PHY_PPDU_ID)
|
||||
|
||||
#define HAL_RX_GET_SW_FRAME_GROUP_ID(rx_mpdu_start) \
|
||||
HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_9, SW_FRAME_GROUP_ID)
|
||||
|
||||
#define HAL_REO_R0_CONFIG(soc, reg_val, reo_params) \
|
||||
do { \
|
||||
reg_val &= \
|
||||
|
@@ -253,6 +253,9 @@
|
||||
#define HAL_RX_GET_PPDU_ID(rx_mpdu_start) \
|
||||
HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, PHY_PPDU_ID)
|
||||
|
||||
#define HAL_RX_GET_SW_FRAME_GROUP_ID(rx_mpdu_start) \
|
||||
HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, SW_FRAME_GROUP_ID)
|
||||
|
||||
#define HAL_REO_R0_CONFIG(soc, reg_val, reo_params) \
|
||||
do { \
|
||||
reg_val &= \
|
||||
|
@@ -262,6 +262,9 @@
|
||||
#define HAL_RX_GET_PPDU_ID(rx_mpdu_start) \
|
||||
HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, PHY_PPDU_ID)
|
||||
|
||||
#define HAL_RX_GET_SW_FRAME_GROUP_ID(rx_mpdu_start) \
|
||||
HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0, SW_FRAME_GROUP_ID)
|
||||
|
||||
#define HAL_REO_R0_CONFIG(soc, reg_val, reo_params) \
|
||||
do { \
|
||||
reg_val &= \
|
||||
|
@@ -47,6 +47,9 @@
|
||||
#define HAL_RX_GET_PPDU_ID(rx_mpdu_start) \
|
||||
HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_9, PHY_PPDU_ID)
|
||||
|
||||
#define HAL_RX_GET_SW_FRAME_GROUP_ID(rx_mpdu_start) \
|
||||
HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_9, SW_FRAME_GROUP_ID)
|
||||
|
||||
#define HAL_REO_R0_CONFIG(soc, reg_val, reo_params) \
|
||||
do { \
|
||||
reg_val &= \
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador