Hi Tomer, Thank you for the patch! Yet something to improve: [auto build test ERROR on net-next/master] url: https://github.com/0day-ci/linux/commits/Tomer-Tayar/qed-Refactoring-and-rearranging-FW-API-with-no-functional-impact/20171227-110607 config: i386-randconfig-h0-12271326 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.o: In function `qed_calc_cdu_validation_byte': >> drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:1322: undefined reference to `crc8_populate_msb' >> drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c:1343: undefined reference to `crc8' vim +1322 drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c 1311 1312 /* Calculate and return CDU validation byte per connection type/region/cid */ 1313 static u8 qed_calc_cdu_validation_byte(u8 conn_type, u8 region, u32 cid) 1314 { 1315 const u8 validation_cfg = CDU_VALIDATION_DEFAULT_CFG; 1316 u8 crc, validation_byte = 0; 1317 static u8 crc8_table_valid; /* automatically initialized to 0 */ 1318 u32 validation_string = 0; 1319 u32 data_to_crc; 1320 1321 if (!crc8_table_valid) { > 1322 crc8_populate_msb(cdu_crc8_table, 0x07); 1323 crc8_table_valid = 1; 1324 } 1325 1326 /* The CRC is calculated on the String-to-compress: 1327 * [31:8] = {CID[31:20],CID[11:0]} 1328 * [7:4] = Region 1329 * [3:0] = Type 1330 */ 1331 if ((validation_cfg >> CDU_CONTEXT_VALIDATION_CFG_USE_CID) & 1) 1332 validation_string |= (cid & 0xFFF00000) | ((cid & 0xFFF) << 8); 1333 1334 if ((validation_cfg >> CDU_CONTEXT_VALIDATION_CFG_USE_REGION) & 1) 1335 validation_string |= ((region & 0xF) << 4); 1336 1337 if ((validation_cfg >> CDU_CONTEXT_VALIDATION_CFG_USE_TYPE) & 1) 1338 validation_string |= (conn_type & 0xF); 1339 1340 /* Convert to big-endian and calculate CRC8 */ 1341 data_to_crc = be32_to_cpu(validation_string); 1342 > 1343 crc = crc8(cdu_crc8_table, 1344 (u8 *)&data_to_crc, sizeof(data_to_crc), CRC8_INIT_VALUE); 1345 1346 /* The validation byte [7:0] is composed: 1347 * for type A validation 1348 * [7] = active configuration bit 1349 * [6:0] = crc[6:0] 1350 * 1351 * for type B validation 1352 * [7] = active configuration bit 1353 * [6:3] = connection_type[3:0] 1354 * [2:0] = crc[2:0] 1355 */ 1356 validation_byte |= 1357 ((validation_cfg >> 1358 CDU_CONTEXT_VALIDATION_CFG_USE_ACTIVE) & 1) << 7; 1359 1360 if ((validation_cfg >> 1361 CDU_CONTEXT_VALIDATION_CFG_VALIDATION_TYPE_SHIFT) & 1) 1362 validation_byte |= ((conn_type & 0xF) << 3) | (crc & 0x7); 1363 else 1364 validation_byte |= crc & 0x7F; 1365 1366 return validation_byte; 1367 } 1368 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip