Hi Alistair,

[auto build test ERROR on powerpc/next]
[also build test ERROR on next-20170907]
[cannot apply to v4.13]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Alistair-Popple/powerpc-npu-Use-flush_all_mm-instead-of-flush_tlb_mm/20170908-080828
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-allmodconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=powerpc 

All errors (new ones prefixed by >>):

   arch/powerpc/platforms/powernv/npu-dma.c: In function 'mmio_invalidate':
>> arch/powerpc/platforms/powernv/npu-dma.c:552:2: error: implicit declaration 
>> of function 'flush_all_mm' [-Werror=implicit-function-declaration]
     flush_all_mm(npu_context->mm);
     ^~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/flush_all_mm +552 arch/powerpc/platforms/powernv/npu-dma.c

   533  
   534  /*
   535   * Invalidate either a single address or an entire PID depending on
   536   * the value of va.
   537   */
   538  static void mmio_invalidate(struct npu_context *npu_context, int va,
   539                          unsigned long address, bool flush)
   540  {
   541          int i, j;
   542          struct npu *npu;
   543          struct pnv_phb *nphb;
   544          struct pci_dev *npdev;
   545          struct mmio_atsd_reg mmio_atsd_reg[NV_MAX_NPUS];
   546          unsigned long pid = npu_context->mm->context.id;
   547  
   548          /*
   549           * Unfortunately the nest mmu does not support flushing specific
   550           * addresses so we have to flush the whole mm.
   551           */
 > 552          flush_all_mm(npu_context->mm);
   553  
   554          /*
   555           * Loop over all the NPUs this process is active on and launch
   556           * an invalidate.
   557           */
   558          for (i = 0; i <= max_npu2_index; i++) {
   559                  mmio_atsd_reg[i].reg = -1;
   560                  for (j = 0; j < NV_MAX_LINKS; j++) {
   561                          npdev = npu_context->npdev[i][j];
   562                          if (!npdev)
   563                                  continue;
   564  
   565                          nphb = 
pci_bus_to_host(npdev->bus)->private_data;
   566                          npu = &nphb->npu;
   567                          mmio_atsd_reg[i].npu = npu;
   568  
   569                          if (va)
   570                                  mmio_atsd_reg[i].reg =
   571                                          mmio_invalidate_va(npu, 
address, pid,
   572                                                          flush);
   573                          else
   574                                  mmio_atsd_reg[i].reg =
   575                                          mmio_invalidate_pid(npu, pid, 
flush);
   576  
   577                          /*
   578                           * The NPU hardware forwards the shootdown to 
all GPUs
   579                           * so we only have to launch one shootdown per 
NPU.
   580                           */
   581                          break;
   582                  }
   583          }
   584  
   585          mmio_invalidate_wait(mmio_atsd_reg, flush);
   586          if (flush)
   587                  /* Wait for the flush to complete */
   588                  mmio_invalidate_wait(mmio_atsd_reg, false);
   589  }
   590  

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