Re: [PATCH v2 net-next 3/4] qed*: Utilize FW 8.33.1.0
From: kbuild test robot <hidden>
Date: 2017-12-27 08:09:02
Also in:
linux-rdma, linux-scsi
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':
quoted
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
Attachments
- .config.gz [application/gzip] 27141 bytes