Hi Ariel,

I love your patch! Yet something to improve:

[auto build test ERROR on net-next/master]

url:    
https://github.com/0day-ci/linux/commits/Ariel-Elior/qed-Doorbell-overflow-recovery/20181022-212749
config: i386-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/net/ethernet/qlogic/qed/qed_dev.c: In function 
'qed_db_recovery_ring':
>> drivers/net/ethernet/qlogic/qed/qed_dev.c:342:4: error: implicit declaration 
>> of function 'writeq'; did you mean 'writel'? 
>> [-Werror=implicit-function-declaration]
       DIRECT_REG_WR64(db_entry->db_addr,
       ^~~~~~
       writel
   cc1: some warnings being treated as errors

vim +342 drivers/net/ethernet/qlogic/qed/qed_dev.c

   300  
   301  /* Ring the doorbell of a single doorbell recovery entry */
   302  static void qed_db_recovery_ring(struct qed_hwfn *p_hwfn,
   303                                   struct qed_db_recovery_entry *db_entry,
   304                                   enum qed_db_rec_exec db_exec)
   305  {
   306          if (db_exec != DB_REC_ONCE) {
   307                  /* Print according to width */
   308                  if (db_entry->db_width == DB_REC_WIDTH_32B) {
   309                          DP_VERBOSE(p_hwfn, QED_MSG_SPQ,
   310                                     "%s doorbell address %p data %x\n",
   311                                     db_exec == DB_REC_DRY_RUN ?
   312                                     "would have rung" : "ringing",
   313                                     db_entry->db_addr,
   314                                     *(u32 *)db_entry->db_data);
   315                  } else {
   316                          DP_VERBOSE(p_hwfn, QED_MSG_SPQ,
   317                                     "%s doorbell address %p data %llx\n",
   318                                     db_exec == DB_REC_DRY_RUN ?
   319                                     "would have rung" : "ringing",
   320                                     db_entry->db_addr,
   321                                     *(u64 *)(db_entry->db_data));
   322                  }
   323          }
   324  
   325          /* Sanity */
   326          if (!qed_db_rec_sanity(p_hwfn->cdev, db_entry->db_addr,
   327                                 db_entry->db_data))
   328                  return;
   329  
   330          /* Flush the write combined buffer. Since there are multiple 
doorbelling
   331           * entities using the same address, if we don't flush, a 
transaction
   332           * could be lost.
   333           */
   334          wmb();
   335  
   336          /* Ring the doorbell */
   337          if (db_exec == DB_REC_REAL_DEAL || db_exec == DB_REC_ONCE) {
   338                  if (db_entry->db_width == DB_REC_WIDTH_32B)
   339                          DIRECT_REG_WR(db_entry->db_addr,
   340                                        *(u32 *)(db_entry->db_data));
   341                  else
 > 342                          DIRECT_REG_WR64(db_entry->db_addr,
   343                                          *(u64 *)(db_entry->db_data));
   344          }
   345  
   346          /* Flush the write combined buffer. Next doorbell may come from 
a
   347           * different entity to the same address...
   348           */
   349          wmb();
   350  }
   351  

---
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