Re: [PATCH v2 net-next 3/4] qed*: Utilize FW 8.33.1.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux