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
.config.gz
Description: application/gzip