* [ath6kl:ath11k-bringup 47/51] drivers/net//wireless/ath/ath11k/hal_rx.c:938:45: warning: bitwise comparison always evaluates to false
@ 2019-03-12 15:19 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2019-03-12 15:19 UTC (permalink / raw)
To: Manikanta Pubbisetty; +Cc: Kalle Valo, kbuild-all, ath10k
[-- Attachment #1: Type: text/plain, Size: 12816 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git ath11k-bringup
head: 14fca11f1ae7cb5fa1cb7bbfc9b569420aa412cf
commit: 627a418bbae46c034b1fd8739c0e94fa62190620 [47/51] ath11k: process monitor status ring for RX stats
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 8.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 627a418bbae46c034b1fd8739c0e94fa62190620
# save the attached .config to linux build tree
GCC_VERSION=8.2.0 make.cross ARCH=ia64
All warnings (new ones prefixed by >>):
drivers/net//wireless/ath/ath11k/hal_rx.c: In function 'ath11k_hal_rx_parse_mon_status_tlv':
>> drivers/net//wireless/ath/ath11k/hal_rx.c:938:45: warning: bitwise comparison always evaluates to false [-Wtautological-compare]
HAL_RX_HT_SIG_INFO_INFO1_FEC_CODING) ==
^~
drivers/net//wireless/ath/ath11k/hal_rx.c:991:50: warning: bitwise comparison always evaluates to false [-Wtautological-compare]
HAL_RX_VHT_SIG_A_INFO_INFO1_SU_MU_CODING) ==
^~
drivers/net//wireless/ath/ath11k/hal_rx.c:1032:46: warning: bitwise comparison always evaluates to false [-Wtautological-compare]
HAL_RX_HE_SIG_A_SU_INFO_INFO1_CODING) ==
^~
drivers/net//wireless/ath/ath11k/hal_rx.c:1116:51: warning: bitwise comparison always evaluates to false [-Wtautological-compare]
HAL_RX_HE_SIG_B2_MU_INFO_INFO0_STA_CODING) ==
^~
drivers/net//wireless/ath/ath11k/hal_rx.c:1137:51: warning: bitwise comparison always evaluates to false [-Wtautological-compare]
HAL_RX_HE_SIG_B2_OFDMA_INFO_INFO0_STA_CODING) ==
^~
vim +938 drivers/net//wireless/ath/ath11k/hal_rx.c
874
875 static enum hal_rx_mon_status
876 ath11k_hal_rx_parse_mon_status_tlv(struct ath11k_base *ab,
877 struct hal_rx_mon_ppdu_info *ppdu_info,
878 u32 tlv_tag, u8 *tlv_data)
879 {
880 u32 info0, info1;
881
882 switch (tlv_tag) {
883 case HAL_RX_PPDU_START: {
884 struct hal_rx_ppdu_start *ppdu_start =
885 (struct hal_rx_ppdu_start *)tlv_data;
886
887 ppdu_info->ppdu_id =
888 FIELD_GET(HAL_RX_PPDU_START_INFO0_PPDU_ID,
889 __le32_to_cpu(ppdu_start->info0));
890 ppdu_info->chan_num = __le32_to_cpu(ppdu_start->chan_num);
891 ppdu_info->ppdu_ts = __le32_to_cpu(ppdu_start->ppdu_start_ts);
892 break;
893 }
894 case HAL_RX_PPDU_END_USER_STATS: {
895 struct hal_rx_ppdu_end_user_stats *eu_stats =
896 (struct hal_rx_ppdu_end_user_stats *)tlv_data;
897
898 info0 = __le32_to_cpu(eu_stats->info0);
899 info1 = __le32_to_cpu(eu_stats->info1);
900
901 ppdu_info->tid =
902 ffs(FIELD_GET(HAL_RX_PPDU_END_USER_STATS_INFO6_TID_BITMAP,
903 __le32_to_cpu(eu_stats->info6))) - 1;
904 ppdu_info->tcp_msdu_count =
905 FIELD_GET(HAL_RX_PPDU_END_USER_STATS_INFO4_TCP_MSDU_CNT,
906 __le32_to_cpu(eu_stats->info4));
907 ppdu_info->udp_msdu_count =
908 FIELD_GET(HAL_RX_PPDU_END_USER_STATS_INFO4_UDP_MSDU_CNT,
909 __le32_to_cpu(eu_stats->info4));
910 ppdu_info->other_msdu_count =
911 FIELD_GET(HAL_RX_PPDU_END_USER_STATS_INFO5_OTHER_MSDU_CNT,
912 __le32_to_cpu(eu_stats->info5));
913 ppdu_info->tcp_ack_msdu_count =
914 FIELD_GET(HAL_RX_PPDU_END_USER_STATS_INFO5_TCP_ACK_MSDU_CNT,
915 __le32_to_cpu(eu_stats->info5));
916 ppdu_info->preamble_type =
917 FIELD_GET(HAL_RX_PPDU_END_USER_STATS_INFO1_PKT_TYPE, info1);
918 ppdu_info->num_mpdu_fcs_ok =
919 FIELD_GET(HAL_RX_PPDU_END_USER_STATS_INFO1_MPDU_CNT_FCS_OK,
920 info1);
921 ppdu_info->num_mpdu_fcs_err =
922 FIELD_GET(HAL_RX_PPDU_END_USER_STATS_INFO0_MPDU_CNT_FCS_ERR,
923 info0);
924 break;
925 }
926 case HAL_PHYRX_HT_SIG: {
927 struct hal_rx_ht_sig_info *ht_sig =
928 (struct hal_rx_ht_sig_info *)tlv_data;
929
930 info0 = __le32_to_cpu(ht_sig->info0);
931 info1 = __le32_to_cpu(ht_sig->info1);
932
933 ppdu_info->mcs = FIELD_GET(HAL_RX_HT_SIG_INFO_INFO0_MCS, info0);
934 ppdu_info->bw = FIELD_GET(HAL_RX_HT_SIG_INFO_INFO0_BW, info0);
935 ppdu_info->is_stbc = FIELD_GET(HAL_RX_HT_SIG_INFO_INFO1_STBC,
936 info1);
937 ppdu_info->ldpc = (info1 &
> 938 HAL_RX_HT_SIG_INFO_INFO1_FEC_CODING) ==
939 HAL_RX_SU_MU_CODING_LDPC;
940 ppdu_info->gi = info1 & HAL_RX_HT_SIG_INFO_INFO1_GI;
941
942 switch (ppdu_info->mcs) {
943 case 0 ... 7:
944 ppdu_info->nss = 1;
945 break;
946 case 8 ... 15:
947 ppdu_info->nss = 2;
948 break;
949 case 16 ... 23:
950 ppdu_info->nss = 3;
951 break;
952 case 24 ... 31:
953 ppdu_info->nss = 4;
954 break;
955 }
956
957 if (ppdu_info->nss > 1)
958 ppdu_info->mcs = ppdu_info->mcs % 8;
959
960 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_SU;
961 break;
962 }
963 case HAL_PHYRX_L_SIG_B: {
964 struct hal_rx_lsig_b_info *lsigb =
965 (struct hal_rx_lsig_b_info *)tlv_data;
966
967 ppdu_info->rate = FIELD_GET(HAL_RX_LSIG_B_INFO_INFO0_RATE,
968 __le32_to_cpu(lsigb->info0));
969 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_SU;
970 break;
971 }
972 case HAL_PHYRX_L_SIG_A: {
973 struct hal_rx_lsig_a_info *lsiga =
974 (struct hal_rx_lsig_a_info *)tlv_data;
975
976 ppdu_info->rate = FIELD_GET(HAL_RX_LSIG_A_INFO_INFO0_RATE,
977 __le32_to_cpu(lsiga->info0));
978 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_SU;
979 break;
980 }
981 case HAL_PHYRX_VHT_SIG_A: {
982 struct hal_rx_vht_sig_a_info *vht_sig =
983 (struct hal_rx_vht_sig_a_info *)tlv_data;
984 u32 nsts;
985 u32 group_id;
986
987 info0 = __le32_to_cpu(vht_sig->info0);
988 info1 = __le32_to_cpu(vht_sig->info1);
989
990 ppdu_info->ldpc = (info1 &
991 HAL_RX_VHT_SIG_A_INFO_INFO1_SU_MU_CODING) ==
992 HAL_RX_SU_MU_CODING_LDPC;
993 ppdu_info->mcs = FIELD_GET(HAL_RX_VHT_SIG_A_INFO_INFO1_MCS,
994 info1);
995 ppdu_info->gi =
996 FIELD_GET(HAL_RX_VHT_SIG_A_INFO_INFO1_GI_SETTING,
997 info1);
998 ppdu_info->is_stbc = info0 & HAL_RX_VHT_SIG_A_INFO_INFO0_STBC;
999 nsts = FIELD_GET(HAL_RX_VHT_SIG_A_INFO_INFO0_NSTS, info0);
1000 if (ppdu_info->is_stbc && nsts > 0)
1001 nsts = ((nsts + 1) >> 1) - 1;
1002
1003 ppdu_info->nss = (nsts & VHT_SIG_SU_NSS_MASK) + 1;
1004 ppdu_info->bw = FIELD_GET(HAL_RX_VHT_SIG_A_INFO_INFO0_BW,
1005 info0);
1006 ppdu_info->beamformed = info1 &
1007 HAL_RX_VHT_SIG_A_INFO_INFO1_BEAMFORMED;
1008 group_id = FIELD_GET(HAL_RX_VHT_SIG_A_INFO_INFO0_GROUP_ID,
1009 info0);
1010 if (group_id == 0 || group_id == 63)
1011 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_SU;
1012 else
1013 ppdu_info->reception_type =
1014 HAL_RX_RECEPTION_TYPE_MU_MIMO;
1015 break;
1016 }
1017 case HAL_PHYRX_HE_SIG_A_SU: {
1018 struct hal_rx_he_sig_a_su_info *he_sig_a =
1019 (struct hal_rx_he_sig_a_su_info *)tlv_data;
1020 u32 nsts, cp_ltf, dcm;
1021
1022 info0 = __le32_to_cpu(he_sig_a->info0);
1023 info1 = __le32_to_cpu(he_sig_a->info1);
1024
1025 ppdu_info->mcs =
1026 FIELD_GET(HAL_RX_HE_SIG_A_SU_INFO_INFO0_TRANSMIT_MCS,
1027 info0);
1028 ppdu_info->bw =
1029 FIELD_GET(HAL_RX_HE_SIG_A_SU_INFO_INFO0_TRANSMIT_BW,
1030 info0);
1031 ppdu_info->ldpc = (info1 &
1032 HAL_RX_HE_SIG_A_SU_INFO_INFO1_CODING) ==
1033 HAL_RX_SU_MU_CODING_LDPC;
1034 ppdu_info->is_stbc = info1 &
1035 HAL_RX_HE_SIG_A_SU_INFO_INFO1_STBC;
1036 ppdu_info->beamformed = info1 &
1037 HAL_RX_HE_SIG_A_SU_INFO_INFO1_TXBF;
1038 dcm = info0 & HAL_RX_HE_SIG_A_SU_INFO_INFO0_DCM;
1039 cp_ltf = FIELD_GET(HAL_RX_HE_SIG_A_SU_INFO_INFO0_CP_LTF_SIZE,
1040 info0);
1041 nsts = FIELD_GET(HAL_RX_HE_SIG_A_SU_INFO_INFO0_NSTS, info0);
1042
1043 switch (cp_ltf) {
1044 case 0:
1045 case 1:
1046 ppdu_info->gi = HAL_RX_GI_0_8_US;
1047 break;
1048 case 2:
1049 ppdu_info->gi = HAL_RX_GI_1_6_US;
1050 break;
1051 case 3:
1052 if (dcm && ppdu_info->is_stbc)
1053 ppdu_info->gi = HAL_RX_GI_0_8_US;
1054 else
1055 ppdu_info->gi = HAL_RX_GI_3_2_US;
1056 break;
1057 }
1058
1059 ppdu_info->nss = nsts + 1;
1060 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_SU;
1061 break;
1062 }
1063 case HAL_PHYRX_HE_SIG_A_MU_DL: {
1064 struct hal_rx_he_sig_a_mu_dl_info *he_sig_a_mu_dl =
1065 (struct hal_rx_he_sig_a_mu_dl_info *)tlv_data;
1066
1067 u32 cp_ltf;
1068
1069 info0 = __le32_to_cpu(he_sig_a_mu_dl->info0);
1070 info1 = __le32_to_cpu(he_sig_a_mu_dl->info1);
1071
1072 ppdu_info->bw =
1073 FIELD_GET(HAL_RX_HE_SIG_A_MU_DL_INFO_INFO0_TRANSMIT_BW,
1074 info0);
1075 cp_ltf = FIELD_GET(HAL_RX_HE_SIG_A_MU_DL_INFO_INFO0_CP_LTF_SIZE,
1076 info0);
1077
1078 switch (cp_ltf) {
1079 case 0:
1080 case 1:
1081 ppdu_info->gi = HAL_RX_GI_0_8_US;
1082 break;
1083 case 2:
1084 ppdu_info->gi = HAL_RX_GI_1_6_US;
1085 break;
1086 case 3:
1087 ppdu_info->gi = HAL_RX_GI_3_2_US;
1088 break;
1089 }
1090
1091 ppdu_info->is_stbc = info1 &
1092 HAL_RX_HE_SIG_A_MU_DL_INFO_INFO1_STBC;
1093 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_MU_MIMO;
1094 break;
1095 }
1096 case HAL_PHYRX_HE_SIG_B1_MU: {
1097 /* TODO: Check if resource unit(RU) allocation stats
1098 * are required
1099 */
1100 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_MU_MIMO;
1101 break;
1102 }
1103 case HAL_PHYRX_HE_SIG_B2_MU: {
1104 struct hal_rx_he_sig_b2_mu_info *he_sig_b2_mu =
1105 (struct hal_rx_he_sig_b2_mu_info *)tlv_data;
1106
1107 info0 = __le32_to_cpu(he_sig_b2_mu->info0);
1108
1109 ppdu_info->mcs =
1110 FIELD_GET(HAL_RX_HE_SIG_B2_MU_INFO_INFO0_STA_MCS,
1111 info0);
1112 ppdu_info->nss =
1113 FIELD_GET(HAL_RX_HE_SIG_B2_MU_INFO_INFO0_STA_NSTS,
1114 info0) + 1;
1115 ppdu_info->ldpc = (info0 &
1116 HAL_RX_HE_SIG_B2_MU_INFO_INFO0_STA_CODING) ==
1117 HAL_RX_SU_MU_CODING_LDPC;
1118 break;
1119 }
1120 case HAL_PHYRX_HE_SIG_B2_OFDMA: {
1121 struct hal_rx_he_sig_b2_ofdma_info *he_sig_b2_ofdma =
1122 (struct hal_rx_he_sig_b2_ofdma_info *)tlv_data;
1123
1124 info0 = __le32_to_cpu(he_sig_b2_ofdma->info0);
1125
1126 ppdu_info->mcs =
1127 FIELD_GET(HAL_RX_HE_SIG_B2_OFDMA_INFO_INFO0_STA_MCS,
1128 info0);
1129 ppdu_info->nss =
1130 FIELD_GET(HAL_RX_HE_SIG_B2_OFDMA_INFO_INFO0_STA_NSTS,
1131 info0) + 1;
1132 ppdu_info->beamformed =
1133 info0 &
1134 HAL_RX_HE_SIG_B2_OFDMA_INFO_INFO0_STA_TXBF;
1135 ppdu_info->ldpc =
1136 (info0 &
1137 HAL_RX_HE_SIG_B2_OFDMA_INFO_INFO0_STA_CODING) ==
1138 HAL_RX_SU_MU_CODING_LDPC;
1139 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_MU_OFDMA;
1140 break;
1141 }
1142 case HAL_PHYRX_RSSI_LEGACY: {
1143 struct hal_rx_phyrx_rssi_legacy_info *rssi =
1144 (struct hal_rx_phyrx_rssi_legacy_info *)tlv_data;
1145
1146 ppdu_info->rssi_comb =
1147 FIELD_GET(HAL_RX_PHYRX_RSSI_LEGACY_INFO_INFO1_RSSI_COMB,
1148 __le32_to_cpu(rssi->info0));
1149 break;
1150 }
1151 case HAL_RX_MPDU_START: {
1152 struct hal_rx_mpdu_info *mpdu_info =
1153 (struct hal_rx_mpdu_info *)tlv_data;
1154 u16 peer_id;
1155
1156 peer_id = FIELD_GET(HAL_RX_MPDU_INFO_INFO0_PEERID,
1157 __le32_to_cpu(mpdu_info->info0));
1158 if (peer_id)
1159 ppdu_info->peer_id = peer_id;
1160 break;
1161 }
1162 case HAL_DUMMY:
1163 return HAL_RX_MON_STATUS_BUF_DONE;
1164 case HAL_RX_PPDU_END_STATUS_DONE:
1165 case 0:
1166 return HAL_RX_MON_STATUS_PPDU_DONE;
1167 default:
1168 break;
1169 }
1170
1171 return HAL_RX_MON_STATUS_PPDU_NOT_DONE;
1172 }
1173
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 52798 bytes --]
[-- Attachment #3: Type: text/plain, Size: 146 bytes --]
_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-03-12 15:31 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-12 15:19 [ath6kl:ath11k-bringup 47/51] drivers/net//wireless/ath/ath11k/hal_rx.c:938:45: warning: bitwise comparison always evaluates to false kbuild test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.