[dpdk-test-report] |WARNING| pw66797 [PATCH 12/33] net/bnxt: add EM/EEM functionality

checkpatch at dpdk.org checkpatch at dpdk.org
Tue Mar 17 16:43:55 CET 2020


Test-Label: checkpatch
Test-Status: WARNING
http://dpdk.org/patch/66797

_coding style issues_


CHECK:MACRO_ARG_REUSE: Macro argument reuse 'x' - possible side-effects?
#144: FILE: drivers/net/bnxt/tf_core/lookup3.h:16:
+#define rot(x, k) (((x) << (k)) | ((x) >> (32 - (k))))

CHECK:MACRO_ARG_REUSE: Macro argument reuse 'k' - possible side-effects?
#144: FILE: drivers/net/bnxt/tf_core/lookup3.h:16:
+#define rot(x, k) (((x) << (k)) | ((x) >> (32 - (k))))

CHECK:MACRO_ARG_REUSE: Macro argument reuse 'a' - possible side-effects?
#187: FILE: drivers/net/bnxt/tf_core/lookup3.h:59:
+#define mix(a, b, c) \
+{ \
+	(a) -= (c); (a) ^= rot((c), 4);  (c) += b; \
+	(b) -= (a); (b) ^= rot((a), 6);  (a) += c; \
+	(c) -= (b); (c) ^= rot((b), 8);  (b) += a; \
+	(a) -= (c); (a) ^= rot((c), 16); (c) += b; \
+	(b) -= (a); (b) ^= rot((a), 19); (a) += c; \
+	(c) -= (b); (c) ^= rot((b), 4);  (b) += a; \
+}

CHECK:MACRO_ARG_REUSE: Macro argument reuse 'b' - possible side-effects?
#187: FILE: drivers/net/bnxt/tf_core/lookup3.h:59:
+#define mix(a, b, c) \
+{ \
+	(a) -= (c); (a) ^= rot((c), 4);  (c) += b; \
+	(b) -= (a); (b) ^= rot((a), 6);  (a) += c; \
+	(c) -= (b); (c) ^= rot((b), 8);  (b) += a; \
+	(a) -= (c); (a) ^= rot((c), 16); (c) += b; \
+	(b) -= (a); (b) ^= rot((a), 19); (a) += c; \
+	(c) -= (b); (c) ^= rot((b), 4);  (b) += a; \
+}

CHECK:MACRO_ARG_REUSE: Macro argument reuse 'c' - possible side-effects?
#187: FILE: drivers/net/bnxt/tf_core/lookup3.h:59:
+#define mix(a, b, c) \
+{ \
+	(a) -= (c); (a) ^= rot((c), 4);  (c) += b; \
+	(b) -= (a); (b) ^= rot((a), 6);  (a) += c; \
+	(c) -= (b); (c) ^= rot((b), 8);  (b) += a; \
+	(a) -= (c); (a) ^= rot((c), 16); (c) += b; \
+	(b) -= (a); (b) ^= rot((a), 19); (a) += c; \
+	(c) -= (b); (c) ^= rot((b), 4);  (b) += a; \
+}

CHECK:MACRO_ARG_REUSE: Macro argument reuse 'a' - possible side-effects?
#221: FILE: drivers/net/bnxt/tf_core/lookup3.h:93:
+#define final(a, b, c) \
+{ \
+	(c) ^= (b); (c) -= rot((b), 14); \
+	(a) ^= (c); (a) -= rot((c), 11); \
+	(b) ^= (a); (b) -= rot((a), 25); \
+	(c) ^= (b); (c) -= rot((b), 16); \
+	(a) ^= (c); (a) -= rot((c), 4);  \
+	(b) ^= (a); (b) -= rot((a), 14); \
+	(c) ^= (b); (c) -= rot((b), 24); \
+}

CHECK:MACRO_ARG_REUSE: Macro argument reuse 'b' - possible side-effects?
#221: FILE: drivers/net/bnxt/tf_core/lookup3.h:93:
+#define final(a, b, c) \
+{ \
+	(c) ^= (b); (c) -= rot((b), 14); \
+	(a) ^= (c); (a) -= rot((c), 11); \
+	(b) ^= (a); (b) -= rot((a), 25); \
+	(c) ^= (b); (c) -= rot((b), 16); \
+	(a) ^= (c); (a) -= rot((c), 4);  \
+	(b) ^= (a); (b) -= rot((a), 14); \
+	(c) ^= (b); (c) -= rot((b), 24); \
+}

CHECK:MACRO_ARG_REUSE: Macro argument reuse 'c' - possible side-effects?
#221: FILE: drivers/net/bnxt/tf_core/lookup3.h:93:
+#define final(a, b, c) \
+{ \
+	(c) ^= (b); (c) -= rot((b), 14); \
+	(a) ^= (c); (a) -= rot((c), 11); \
+	(b) ^= (a); (b) -= rot((a), 25); \
+	(c) ^= (b); (c) -= rot((b), 16); \
+	(a) ^= (c); (a) -= rot((c), 4);  \
+	(b) ^= (a); (b) -= rot((a), 14); \
+	(c) ^= (b); (c) -= rot((b), 24); \
+}

WARNING:MISSING_BREAK: Possible switch case/default not preceded by break or fallthrough comment
#282: FILE: drivers/net/bnxt/tf_core/lookup3.h:154:
+	case 0:	    /* case 0: nothing left to add */

CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#546: FILE: drivers/net/bnxt/tf_core/tf_core.c:306:
+	tbl_scope_cb = tbl_scope_cb_find(

CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#553: FILE: drivers/net/bnxt/tf_core/tf_core.c:313:
+	return tf_insert_eem_entry(

CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#573: FILE: drivers/net/bnxt/tf_core/tf_core.c:333:
+	tbl_scope_cb = tbl_scope_cb_find(

CHECK:MACRO_ARG_REUSE: Macro argument reuse 'crc' - possible side-effects?
#1182: FILE: drivers/net/bnxt/tf_core/tf_em.c:40:
+#define ucrc32(ch, crc) (crc32tbl[((crc) ^ (ch)) & 0xff] ^ ((crc) >> 8))

WARNING:BRACES: braces {} are not necessary for single statement blocks
#1256: FILE: drivers/net/bnxt/tf_core/tf_em.c:114:
+	for (l = (len - 1); l >= 0; l--) {
+		crc = ucrc32(buf[l], crc);
+	}

WARNING:LONG_LINE: line over 90 characters
#1530: FILE: drivers/net/bnxt/tf_core/tf_em.c:388:
+	mask = tf_em_get_key_mask(tbl_scope_cb->em_ctx_info[parms->dir].em_tables[KEY0_TABLE].num_entries);

CHECK:MACRO_ARG_REUSE: Macro argument reuse 'flow_handle' - possible side-effects?
#1816: FILE: drivers/net/bnxt/tf_core/tf_ext_flow_handle.h:29:
+#define TF_GET_FIELDS_FROM_FLOW_HANDLE(flow_handle,			\
+				       num_key_entries,			\
+				       flow_type,			\
+				       flags,				\
+				       index,				\
+				       entry_num,			\
+				       hash_type)			\
+do {									\
+	(num_key_entries) = \
+		(((flow_handle) & TF_NUM_KEY_ENTRIES_FLOW_HANDLE_MASK) >> \
+		 TF_NUM_KEY_ENTRIES_FLOW_HANDLE_SFT);			\
+	(flow_type) = (((flow_handle) & TF_FLOW_TYPE_FLOW_HANDLE_MASK) >> \
+		     TF_FLOW_TYPE_FLOW_HANDLE_SFT);			\
+	(flags) = (((flow_handle) & TF_FLAGS_FLOW_HANDLE_MASK) >>	\
+		     TF_FLAGS_FLOW_HANDLE_SFT);				\
+	(index) = (((flow_handle) & TF_INDEX_FLOW_HANDLE_MASK) >>	\
+		     TF_INDEX_FLOW_HANDLE_SFT);				\
+	(entry_num) = (((flow_handle) & TF_ENTRY_NUM_FLOW_HANDLE_MASK) >> \
+		     TF_ENTRY_NUM_FLOW_HANDLE_SFT);			\
+	(hash_type) = (((flow_handle) & TF_HASH_TYPE_FLOW_HANDLE_MASK) >> \
+		     TF_HASH_TYPE_FLOW_HANDLE_SFT);			\
+} while (0)

CHECK:MACRO_ARG_REUSE: Macro argument reuse 'flow_handle' - possible side-effects?
#1839: FILE: drivers/net/bnxt/tf_core/tf_ext_flow_handle.h:52:
+#define TF_SET_FIELDS_IN_FLOW_HANDLE(flow_handle,			\
+				     num_key_entries,			\
+				     flow_type,				\
+				     flags,				\
+				     index,				\
+				     entry_num,				\
+				     hash_type)				\
+do {									\
+	(flow_handle) &= ~TF_FLOW_HANDLE_MASK;				\
+	(flow_handle) |= \
+		(((num_key_entries) << TF_NUM_KEY_ENTRIES_FLOW_HANDLE_SFT) & \
+		 TF_NUM_KEY_ENTRIES_FLOW_HANDLE_MASK);			\
+	(flow_handle) |= (((flow_type) << TF_FLOW_TYPE_FLOW_HANDLE_SFT) & \
+			TF_FLOW_TYPE_FLOW_HANDLE_MASK);			\
+	(flow_handle) |= (((flags) << TF_FLAGS_FLOW_HANDLE_SFT) &	\
+			TF_FLAGS_FLOW_HANDLE_MASK);			\
+	(flow_handle) |= ((((uint64_t)index) << TF_INDEX_FLOW_HANDLE_SFT) & \
+			TF_INDEX_FLOW_HANDLE_MASK);			\
+	(flow_handle) |=						\
+		((((uint64_t)entry_num) << TF_ENTRY_NUM_FLOW_HANDLE_SFT) & \
+		 TF_ENTRY_NUM_FLOW_HANDLE_MASK);			\
+	(flow_handle) |=						\
+		((((uint64_t)hash_type) << TF_HASH_TYPE_FLOW_HANDLE_SFT) & \
+		 TF_HASH_TYPE_FLOW_HANDLE_MASK);			\
+} while (0)

WARNING:SINGLE_STATEMENT_DO_WHILE_MACRO: Single statement macros should not use a do {} while (0) loop
#1866: FILE: drivers/net/bnxt/tf_core/tf_ext_flow_handle.h:79:
+#define TF_GET_INDEX_FROM_FLOW_HANDLE(flow_handle,			\
+				      index)				\
+do {									\
+	index = (((flow_handle) & TF_INDEX_FLOW_HANDLE_MASK) >>		\
+		     TF_INDEX_FLOW_HANDLE_SFT);				\
+} while (0)

WARNING:SINGLE_STATEMENT_DO_WHILE_MACRO: Single statement macros should not use a do {} while (0) loop
#1873: FILE: drivers/net/bnxt/tf_core/tf_ext_flow_handle.h:86:
+#define TF_GET_HASH_TYPE_FROM_FLOW_HANDLE(flow_handle,			\
+					  hash_type)			\
+do {									\
+	hash_type = (((flow_handle) & TF_HASH_TYPE_FLOW_HANDLE_MASK) >>	\
+		     TF_HASH_TYPE_FLOW_HANDLE_SFT);			\
+} while (0)

CHECK:MACRO_ARG_REUSE: Macro argument reuse 'flow_id' - possible side-effects?
#1890: FILE: drivers/net/bnxt/tf_core/tf_ext_flow_handle.h:103:
+#define TF_SET_FLOW_ID(flow_id, gfid, flag, dir)			\
+do {									\
+	(flow_id) &= ~(TF_GFID_FLOW_ID_MASK |				\
+		     TF_FLAG_FLOW_ID_MASK |				\
+		     TF_DIR_FLOW_ID_MASK);				\
+	(flow_id) |= (((gfid) << TF_GFID_FLOW_ID_SFT) &			\
+		    TF_GFID_FLOW_ID_MASK) |				\
+		(((flag) << TF_FLAG_FLOW_ID_SFT) &			\
+		 TF_FLAG_FLOW_ID_MASK) |				\
+		(((dir) << TF_DIR_FLOW_ID_SFT) &			\
+		 TF_DIR_FLOW_ID_MASK);					\
+} while (0)

WARNING:SINGLE_STATEMENT_DO_WHILE_MACRO: Single statement macros should not use a do {} while (0) loop
#1903: FILE: drivers/net/bnxt/tf_core/tf_ext_flow_handle.h:116:
+#define TF_GET_GFID_FROM_FLOW_ID(flow_id, gfid)				\
+do {									\
+	gfid = (((flow_id) & TF_GFID_FLOW_ID_MASK) >>			\
+		TF_GFID_FLOW_ID_SFT);					\
+} while (0)

WARNING:SINGLE_STATEMENT_DO_WHILE_MACRO: Single statement macros should not use a do {} while (0) loop
#1909: FILE: drivers/net/bnxt/tf_core/tf_ext_flow_handle.h:122:
+#define TF_GET_DIR_FROM_FLOW_ID(flow_id, dir)				\
+do {									\
+	dir = (((flow_id) & TF_DIR_FLOW_ID_MASK) >>			\
+		TF_DIR_FLOW_ID_SFT);					\
+} while (0)

WARNING:SINGLE_STATEMENT_DO_WHILE_MACRO: Single statement macros should not use a do {} while (0) loop
#1915: FILE: drivers/net/bnxt/tf_core/tf_ext_flow_handle.h:128:
+#define TF_GET_FLAG_FROM_FLOW_ID(flow_id, flag)				\
+do {									\
+	flag = (((flow_id) & TF_FLAG_FLOW_ID_MASK) >>			\
+		TF_FLAG_FLOW_ID_SFT);					\
+} while (0)

WARNING:SINGLE_STATEMENT_DO_WHILE_MACRO: Single statement macros should not use a do {} while (0) loop
#1932: FILE: drivers/net/bnxt/tf_core/tf_ext_flow_handle.h:145:
+#define TF_SET_GFID(gfid, index, type)					\
+do {									\
+	gfid = (((index) << TF_HASH_INDEX_GFID_SFT) &			\
+		TF_HASH_INDEX_GFID_MASK) |				\
+		(((type) << TF_HASH_TYPE_GFID_SFT) &			\
+		 TF_HASH_TYPE_GFID_MASK);				\
+} while (0)

WARNING:SINGLE_STATEMENT_DO_WHILE_MACRO: Single statement macros should not use a do {} while (0) loop
#1940: FILE: drivers/net/bnxt/tf_core/tf_ext_flow_handle.h:153:
+#define TF_GET_HASH_INDEX_FROM_GFID(gfid, index)			\
+do {									\
+	index = (((gfid) & TF_HASH_INDEX_GFID_MASK) >>			\
+		TF_HASH_INDEX_GFID_SFT);				\
+} while (0)

WARNING:SINGLE_STATEMENT_DO_WHILE_MACRO: Single statement macros should not use a do {} while (0) loop
#1946: FILE: drivers/net/bnxt/tf_core/tf_ext_flow_handle.h:159:
+#define TF_GET_HASH_TYPE_FROM_GFID(gfid, type)				\
+do {									\
+	type = (((gfid) & TF_HASH_TYPE_GFID_MASK) >>			\
+		TF_HASH_TYPE_GFID_SFT);					\
+} while (0)

CHECK:CAMELCASE: Avoid CamelCase: <PRIu64>
#2232: FILE: drivers/net/bnxt/tf_core/tf_tbl.c:61:
+				    "No mapping for page: %d table: %016" PRIu64 "
",

CHECK:ASSIGNMENT_CONTINUATIONS: Assignment operator '=' should be on the previous line
#2887: FILE: drivers/net/bnxt/tf_core/tf_tbl.c:716:
+	tbl_scope_cb->em_ctx_info[TF_DIR_RX].em_tables[RECORD_TABLE].num_entries
+		= parms->rx_num_flows_in_k * TF_KILOBYTE;

CHECK:ASSIGNMENT_CONTINUATIONS: Assignment operator '=' should be on the previous line
#2889: FILE: drivers/net/bnxt/tf_core/tf_tbl.c:718:
+	tbl_scope_cb->em_ctx_info[TF_DIR_RX].em_tables[RECORD_TABLE].entry_size
+		= parms->tx_max_action_entry_sz_in_bits / 8;

CHECK:ASSIGNMENT_CONTINUATIONS: Assignment operator '=' should be on the previous line
#2892: FILE: drivers/net/bnxt/tf_core/tf_tbl.c:721:
+	tbl_scope_cb->em_ctx_info[TF_DIR_RX].em_tables[EFC_TABLE].num_entries
+		= 0;

CHECK:ASSIGNMENT_CONTINUATIONS: Assignment operator '=' should be on the previous line
#2906: FILE: drivers/net/bnxt/tf_core/tf_tbl.c:735:
+	tbl_scope_cb->em_ctx_info[TF_DIR_TX].em_tables[RECORD_TABLE].num_entries
+		= parms->tx_num_flows_in_k * TF_KILOBYTE;

CHECK:ASSIGNMENT_CONTINUATIONS: Assignment operator '=' should be on the previous line
#2908: FILE: drivers/net/bnxt/tf_core/tf_tbl.c:737:
+	tbl_scope_cb->em_ctx_info[TF_DIR_TX].em_tables[RECORD_TABLE].entry_size
+		= parms->tx_max_action_entry_sz_in_bits / 8;

CHECK:ASSIGNMENT_CONTINUATIONS: Assignment operator '=' should be on the previous line
#2911: FILE: drivers/net/bnxt/tf_core/tf_tbl.c:740:
+	tbl_scope_cb->em_ctx_info[TF_DIR_TX].em_tables[EFC_TABLE].num_entries
+		= 0;

total: 0 errors, 11 warnings, 22 checks, 3920 lines checked


More information about the test-report mailing list