[powerpc:next-test 188/234] arch/powerpc/platforms/powernv/npu-dma.c:126:13: error: 'pnv_npu_set_window' defined but not used

kbuild test robot lkp at intel.com
Fri Sep 13 14:20:55 AEST 2019


tree:   https://kernel.googlesource.com/pub/scm/linux/kernel/git/powerpc/linux.git next-test
head:   4fead715c62a5196fa57218a1992e5eb8437dd8a
commit: b4d37a7b6934c0c16930c73f43c08e9a6af22f1a [188/234] powerpc/powernv: Remove unused pnv_npu_try_dma_set_bypass() function
config: powerpc-skiroot_defconfig (attached as .config)
compiler: powerpc64le-linux-gcc (GCC) 7.4.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout b4d37a7b6934c0c16930c73f43c08e9a6af22f1a
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp at intel.com>

All errors (new ones prefixed by >>):

>> arch/powerpc/platforms/powernv/npu-dma.c:126:13: error: 'pnv_npu_set_window' defined but not used [-Werror=unused-function]
    static long pnv_npu_set_window(struct iommu_table_group *table_group, int num,
                ^~~~~~~~~~~~~~~~~~
>> arch/powerpc/platforms/powernv/npu-dma.c:96:28: error: 'get_gpu_pci_dev_and_pe' defined but not used [-Werror=unused-function]
    static struct pnv_ioda_pe *get_gpu_pci_dev_and_pe(struct pnv_ioda_pe *npe,
                               ^~~~~~~~~~~~~~~~~~~~~~
   cc1: all warnings being treated as errors

vim +/pnv_npu_set_window +126 arch/powerpc/platforms/powernv/npu-dma.c

5d2aa710e69724 Alistair Popple      2015-12-17   91  
5d2aa710e69724 Alistair Popple      2015-12-17   92  /*
5d2aa710e69724 Alistair Popple      2015-12-17   93   * Returns the PE assoicated with the PCI device of the given
5d2aa710e69724 Alistair Popple      2015-12-17   94   * NPU. Returns the linked pci device if pci_dev != NULL.
5d2aa710e69724 Alistair Popple      2015-12-17   95   */
5d2aa710e69724 Alistair Popple      2015-12-17  @96  static struct pnv_ioda_pe *get_gpu_pci_dev_and_pe(struct pnv_ioda_pe *npe,
5d2aa710e69724 Alistair Popple      2015-12-17   97  						  struct pci_dev **gpdev)
5d2aa710e69724 Alistair Popple      2015-12-17   98  {
5d2aa710e69724 Alistair Popple      2015-12-17   99  	struct pnv_phb *phb;
5d2aa710e69724 Alistair Popple      2015-12-17  100  	struct pci_controller *hose;
5d2aa710e69724 Alistair Popple      2015-12-17  101  	struct pci_dev *pdev;
5d2aa710e69724 Alistair Popple      2015-12-17  102  	struct pnv_ioda_pe *pe;
5d2aa710e69724 Alistair Popple      2015-12-17  103  	struct pci_dn *pdn;
5d2aa710e69724 Alistair Popple      2015-12-17  104  
5d2aa710e69724 Alistair Popple      2015-12-17  105  	pdev = pnv_pci_get_gpu_dev(npe->pdev);
5d2aa710e69724 Alistair Popple      2015-12-17  106  	if (!pdev)
5d2aa710e69724 Alistair Popple      2015-12-17  107  		return NULL;
5d2aa710e69724 Alistair Popple      2015-12-17  108  
5d2aa710e69724 Alistair Popple      2015-12-17  109  	pdn = pci_get_pdn(pdev);
5d2aa710e69724 Alistair Popple      2015-12-17  110  	if (WARN_ON(!pdn || pdn->pe_number == IODA_INVALID_PE))
5d2aa710e69724 Alistair Popple      2015-12-17  111  		return NULL;
5d2aa710e69724 Alistair Popple      2015-12-17  112  
5d2aa710e69724 Alistair Popple      2015-12-17  113  	hose = pci_bus_to_host(pdev->bus);
5d2aa710e69724 Alistair Popple      2015-12-17  114  	phb = hose->private_data;
5d2aa710e69724 Alistair Popple      2015-12-17  115  	pe = &phb->ioda.pe_array[pdn->pe_number];
5d2aa710e69724 Alistair Popple      2015-12-17  116  
5d2aa710e69724 Alistair Popple      2015-12-17  117  	if (gpdev)
5d2aa710e69724 Alistair Popple      2015-12-17  118  		*gpdev = pdev;
5d2aa710e69724 Alistair Popple      2015-12-17  119  
5d2aa710e69724 Alistair Popple      2015-12-17  120  	return pe;
5d2aa710e69724 Alistair Popple      2015-12-17  121  }
5d2aa710e69724 Alistair Popple      2015-12-17  122  
83fb8ccf975138 Alexey Kardashevskiy 2018-12-19  123  static long pnv_npu_unset_window(struct iommu_table_group *table_group,
83fb8ccf975138 Alexey Kardashevskiy 2018-12-19  124  		int num);
83fb8ccf975138 Alexey Kardashevskiy 2018-12-19  125  
83fb8ccf975138 Alexey Kardashevskiy 2018-12-19 @126  static long pnv_npu_set_window(struct iommu_table_group *table_group, int num,
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  127  		struct iommu_table *tbl)
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  128  {
83fb8ccf975138 Alexey Kardashevskiy 2018-12-19  129  	struct pnv_ioda_pe *npe = container_of(table_group, struct pnv_ioda_pe,
83fb8ccf975138 Alexey Kardashevskiy 2018-12-19  130  			table_group);
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  131  	struct pnv_phb *phb = npe->phb;
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  132  	int64_t rc;
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  133  	const unsigned long size = tbl->it_indirect_levels ?
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  134  		tbl->it_level_size : tbl->it_size;
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  135  	const __u64 start_addr = tbl->it_offset << tbl->it_page_shift;
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  136  	const __u64 win_size = tbl->it_size << tbl->it_page_shift;
b04149c2dd85ac Alexey Kardashevskiy 2018-12-19  137  	int num2 = (num == 0) ? 1 : 0;
b04149c2dd85ac Alexey Kardashevskiy 2018-12-19  138  
b04149c2dd85ac Alexey Kardashevskiy 2018-12-19  139  	/* NPU has just one TVE so if there is another table, remove it first */
b04149c2dd85ac Alexey Kardashevskiy 2018-12-19  140  	if (npe->table_group.tables[num2])
83fb8ccf975138 Alexey Kardashevskiy 2018-12-19  141  		pnv_npu_unset_window(&npe->table_group, num2);
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  142  
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  143  	pe_info(npe, "Setting up window %llx..%llx pg=%lx\n",
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  144  			start_addr, start_addr + win_size - 1,
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  145  			IOMMU_PAGE_SIZE(tbl));
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  146  
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  147  	rc = opal_pci_map_pe_dma_window(phb->opal_id,
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  148  			npe->pe_number,
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  149  			npe->pe_number,
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  150  			tbl->it_indirect_levels + 1,
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  151  			__pa(tbl->it_base),
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  152  			size << 3,
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  153  			IOMMU_PAGE_SIZE(tbl));
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  154  	if (rc) {
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  155  		pe_err(npe, "Failed to configure TCE table, err %lld\n", rc);
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  156  		return rc;
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  157  	}
6b3d12a948d279 Alistair Popple      2017-05-03  158  	pnv_pci_ioda2_tce_invalidate_entire(phb, false);
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  159  
85674868cecebd Alexey Kardashevskiy 2016-04-29  160  	/* Add the table to the list so its TCE cache will get invalidated */
b5cb9ab1a00b11 Alexey Kardashevskiy 2016-04-29  161  	pnv_pci_link_table_and_group(phb->hose->node, num,
85674868cecebd Alexey Kardashevskiy 2016-04-29  162  			tbl, &npe->table_group);
85674868cecebd Alexey Kardashevskiy 2016-04-29  163  
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  164  	return 0;
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  165  }
b575c731fe58c1 Alexey Kardashevskiy 2016-04-29  166  

:::::: The code at line 126 was first introduced by commit
:::::: 83fb8ccf975138283c7f6d3685d9c5e2292381dd powerpc/powernv/npu: Convert NPU IOMMU helpers to iommu_table_group_ops

:::::: TO: Alexey Kardashevskiy <aik at ozlabs.ru>
:::::: CC: Michael Ellerman <mpe at ellerman.id.au>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 20466 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20190913/bcfa5fd7/attachment-0001.gz>


More information about the Linuxppc-dev mailing list