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

Reply via email to