All of lore.kernel.org
 help / color / mirror / Atom feed
* [asahilinux:nvme/dev 14/15] drivers/nvme/host/pci.c:1422:3: error: implicit declaration of function 'pci_free_irq'; did you mean 'pcibios_free_irq'?
@ 2021-07-30 20:35 ` kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-07-30 20:35 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: kbuild-all, linux-kernel, Sven Peter

[-- Attachment #1: Type: text/plain, Size: 24246 bytes --]

Hi Arnd,

First bad commit (maybe != root cause):

tree:   https://github.com/AsahiLinux/linux nvme/dev
head:   29500f6a24f557631ee621c3c4af2df9fc44cce8
commit: fac10e0660f3b90fcdb91e0636b2d5b79d47e47c [14/15] nvme: add platform driver registration
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 10.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/AsahiLinux/linux/commit/fac10e0660f3b90fcdb91e0636b2d5b79d47e47c
        git remote add asahilinux https://github.com/AsahiLinux/linux
        git fetch --no-tags asahilinux nvme/dev
        git checkout fac10e0660f3b90fcdb91e0636b2d5b79d47e47c
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=m68k 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/nvme/host/pci.c: In function 'nvme_queue_free_irq':
>> drivers/nvme/host/pci.c:1422:3: error: implicit declaration of function 'pci_free_irq'; did you mean 'pcibios_free_irq'? [-Werror=implicit-function-declaration]
    1422 |   pci_free_irq(pdev, nvmeq->cq_vector, nvmeq);
         |   ^~~~~~~~~~~~
         |   pcibios_free_irq
   drivers/nvme/host/pci.c: In function 'nvme_queue_request_irq':
>> drivers/nvme/host/pci.c:1586:10: error: implicit declaration of function 'pci_request_irq'; did you mean 'pci_request_acs'? [-Werror=implicit-function-declaration]
    1586 |   return pci_request_irq(pdev, nvmeq->cq_vector, handler,
         |          ^~~~~~~~~~~~~~~
         |          pci_request_acs
   drivers/nvme/host/pci.c: In function 'nvme_pci_map_cmb':
>> drivers/nvme/host/pci.c:1892:10: error: implicit declaration of function 'pci_bus_address' [-Werror=implicit-function-declaration]
    1892 |         (pci_bus_address(pdev, bar) + offset),
         |          ^~~~~~~~~~~~~~~
   drivers/nvme/host/pci.c: In function 'nvme_setup_irqs':
>> drivers/nvme/host/pci.c:2187:10: error: 'PCI_IRQ_ALL_TYPES' undeclared (first use in this function)
    2187 |          PCI_IRQ_ALL_TYPES | PCI_IRQ_AFFINITY, &affd);
         |          ^~~~~~~~~~~~~~~~~
   drivers/nvme/host/pci.c:2187:10: note: each undeclared identifier is reported only once for each function it appears in
   drivers/nvme/host/pci.c: In function 'nvme_pci_free_irqs':
>> drivers/nvme/host/pci.c:2199:2: error: implicit declaration of function 'pci_free_irq_vectors'; did you mean 'pci_alloc_irq_vectors'? [-Werror=implicit-function-declaration]
    2199 |  pci_free_irq_vectors(pdev);
         |  ^~~~~~~~~~~~~~~~~~~~
         |  pci_alloc_irq_vectors
   drivers/nvme/host/pci.c: In function 'nvme_pci_enable':
>> drivers/nvme/host/pci.c:2465:6: error: implicit declaration of function 'pci_enable_device_mem'; did you mean 'pci_enable_device'? [-Werror=implicit-function-declaration]
    2465 |  if (pci_enable_device_mem(pdev))
         |      ^~~~~~~~~~~~~~~~~~~~~
         |      pci_enable_device
   drivers/nvme/host/pci.c:2479:45: error: 'PCI_IRQ_ALL_TYPES' undeclared (first use in this function)
    2479 |  result = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_ALL_TYPES);
         |                                             ^~~~~~~~~~~~~~~~~
   drivers/nvme/host/pci.c: In function 'nvme_pci_dev_unmap':
>> drivers/nvme/host/pci.c:2515:2: error: implicit declaration of function 'pci_release_mem_regions'; did you mean 'pci_release_regions'? [-Werror=implicit-function-declaration]
    2515 |  pci_release_mem_regions(pdev);
         |  ^~~~~~~~~~~~~~~~~~~~~~~
         |  pci_release_regions
   drivers/nvme/host/pci.c: In function 'nvme_pci_disable':
>> drivers/nvme/host/pci.c:2522:6: error: implicit declaration of function 'pci_is_enabled'; did you mean 'pci_acs_enabled'? [-Werror=implicit-function-declaration]
    2522 |  if (pci_is_enabled(pdev)) {
         |      ^~~~~~~~~~~~~~
         |      pci_acs_enabled
   drivers/nvme/host/pci.c: In function 'nvme_setup_irqs':
   drivers/nvme/host/pci.c:2188:1: error: control reaches end of non-void function [-Werror=return-type]
    2188 | }
         | ^
   At top level:
   drivers/nvme/host/pci.c:2585:12: warning: 'nvme_disable_prepare_reset' defined but not used [-Wunused-function]
    2585 | static int nvme_disable_prepare_reset(struct nvme_dev *dev, bool shutdown)
         |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/pci.c:2511:13: warning: 'nvme_pci_dev_unmap' defined but not used [-Wunused-function]
    2511 | static void nvme_pci_dev_unmap(struct pci_dev *pdev, struct nvme_dev *dev)
         |             ^~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +1422 drivers/nvme/host/pci.c

224042742582c9 drivers/block/nvme-core.c Keith Busch            2013-07-15  1416  
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1417  static void nvme_queue_free_irq(struct nvme_queue *nvmeq)
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1418  {
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1419  	struct pci_dev *pdev = nvme_pci_dev(nvmeq->dev);
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1420  
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1421  	if (pdev)
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11 @1422  		pci_free_irq(pdev, nvmeq->cq_vector, nvmeq);
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1423  	else
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1424  		free_irq(nvmeq->dev->platform_irq, nvmeq);
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1425  }
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1426  
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1427  
4d115420707afc drivers/block/nvme-core.c Keith Busch            2013-12-10  1428  /**
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1429   * nvme_pci_suspend_queue - put queue into suspended state
40581d1a91a152 drivers/nvme/host/pci.c   Bart Van Assche        2018-10-08  1430   * @nvmeq: queue to suspend
4d115420707afc drivers/block/nvme-core.c Keith Busch            2013-12-10  1431   */
4d115420707afc drivers/block/nvme-core.c Keith Busch            2013-12-10  1432  static int nvme_suspend_queue(struct nvme_queue *nvmeq)
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1433  {
4e224106673f1e drivers/nvme/host/pci.c   Christoph Hellwig      2018-12-02  1434  	if (!test_and_clear_bit(NVMEQ_ENABLED, &nvmeq->flags))
2b25d981790b83 drivers/block/nvme-core.c Keith Busch            2014-12-22  1435  		return 1;
a09115b23e2002 drivers/block/nvme.c      Matthew Wilcox         2012-08-07  1436  
4e224106673f1e drivers/nvme/host/pci.c   Christoph Hellwig      2018-12-02  1437  	/* ensure that nvme_queue_rq() sees NVMEQ_ENABLED cleared */
d1f06f4ae0410f drivers/nvme/host/pci.c   Jens Axboe             2018-05-17  1438  	mb();
a09115b23e2002 drivers/block/nvme.c      Matthew Wilcox         2012-08-07  1439  
4e224106673f1e drivers/nvme/host/pci.c   Christoph Hellwig      2018-12-02  1440  	nvmeq->dev->online_queues--;
1c63dc66580d4b drivers/nvme/host/pci.c   Christoph Hellwig      2015-11-26  1441  	if (!nvmeq->qid && nvmeq->dev->ctrl.admin_q)
c81545f991a661 drivers/nvme/host/pci.c   Sagi Grimberg          2017-07-02  1442  		blk_mq_quiesce_queue(nvmeq->dev->ctrl.admin_q);
7c349dde26b75d drivers/nvme/host/pci.c   Keith Busch            2019-03-08  1443  	if (!test_and_clear_bit(NVMEQ_POLLED, &nvmeq->flags))
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1444  		nvme_queue_free_irq(nvmeq);
4d115420707afc drivers/block/nvme-core.c Keith Busch            2013-12-10  1445  	return 0;
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1446  }
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1447  
8fae268b40f519 drivers/nvme/host/pci.c   Keith Busch            2019-01-04  1448  static void nvme_suspend_io_queues(struct nvme_dev *dev)
8fae268b40f519 drivers/nvme/host/pci.c   Keith Busch            2019-01-04  1449  {
8fae268b40f519 drivers/nvme/host/pci.c   Keith Busch            2019-01-04  1450  	int i;
8fae268b40f519 drivers/nvme/host/pci.c   Keith Busch            2019-01-04  1451  
8fae268b40f519 drivers/nvme/host/pci.c   Keith Busch            2019-01-04  1452  	for (i = dev->ctrl.queue_count - 1; i > 0; i--)
8fae268b40f519 drivers/nvme/host/pci.c   Keith Busch            2019-01-04  1453  		nvme_suspend_queue(&dev->queues[i]);
8fae268b40f519 drivers/nvme/host/pci.c   Keith Busch            2019-01-04  1454  }
8fae268b40f519 drivers/nvme/host/pci.c   Keith Busch            2019-01-04  1455  
a5cdb68c2c10f0 drivers/nvme/host/pci.c   Keith Busch            2016-01-12  1456  static void nvme_disable_admin_queue(struct nvme_dev *dev, bool shutdown)
4d115420707afc drivers/block/nvme-core.c Keith Busch            2013-12-10  1457  {
147b27e4bd0840 drivers/nvme/host/pci.c   Sagi Grimberg          2018-01-14  1458  	struct nvme_queue *nvmeq = &dev->queues[0];
4d115420707afc drivers/block/nvme-core.c Keith Busch            2013-12-10  1459  
a5cdb68c2c10f0 drivers/nvme/host/pci.c   Keith Busch            2016-01-12  1460  	if (shutdown)
a5cdb68c2c10f0 drivers/nvme/host/pci.c   Keith Busch            2016-01-12  1461  		nvme_shutdown_ctrl(&dev->ctrl);
a5cdb68c2c10f0 drivers/nvme/host/pci.c   Keith Busch            2016-01-12  1462  	else
b5b0504878b884 drivers/nvme/host/pci.c   Sagi Grimberg          2019-07-22  1463  		nvme_disable_ctrl(&dev->ctrl);
07836e659c81ec drivers/block/nvme-core.c Keith Busch            2015-02-19  1464  
bf392a5dc02a9b drivers/nvme/host/pci.c   Keith Busch            2020-03-02  1465  	nvme_poll_irqdisable(nvmeq);
4d115420707afc drivers/block/nvme-core.c Keith Busch            2013-12-10  1466  }
4d115420707afc drivers/block/nvme-core.c Keith Busch            2013-12-10  1467  
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1468  /*
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1469   * Called only on a device that has been disabled and after all other threads
9210c075cef29c drivers/nvme/host/pci.c   Dongli Zhang           2020-05-27  1470   * that can check this device's completion queues have synced, except
9210c075cef29c drivers/nvme/host/pci.c   Dongli Zhang           2020-05-27  1471   * nvme_poll(). This is the last chance for the driver to see a natural
9210c075cef29c drivers/nvme/host/pci.c   Dongli Zhang           2020-05-27  1472   * completion before nvme_cancel_request() terminates all incomplete requests.
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1473   */
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1474  static void nvme_reap_pending_cqes(struct nvme_dev *dev)
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1475  {
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1476  	int i;
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1477  
9210c075cef29c drivers/nvme/host/pci.c   Dongli Zhang           2020-05-27  1478  	for (i = dev->ctrl.queue_count - 1; i > 0; i--) {
9210c075cef29c drivers/nvme/host/pci.c   Dongli Zhang           2020-05-27  1479  		spin_lock(&dev->queues[i].cq_poll_lock);
324b494c286298 drivers/nvme/host/pci.c   Keith Busch            2020-03-02  1480  		nvme_process_cq(&dev->queues[i]);
9210c075cef29c drivers/nvme/host/pci.c   Dongli Zhang           2020-05-27  1481  		spin_unlock(&dev->queues[i].cq_poll_lock);
9210c075cef29c drivers/nvme/host/pci.c   Dongli Zhang           2020-05-27  1482  	}
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1483  }
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1484  
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1485  static int nvme_cmb_qdepth(struct nvme_dev *dev, int nr_io_queues,
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1486  				int entry_size)
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1487  {
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1488  	int q_depth = dev->q_depth;
5fd4ce1b005bd6 drivers/nvme/host/pci.c   Christoph Hellwig      2015-11-28  1489  	unsigned q_size_aligned = roundup(q_depth * entry_size,
6c3c05b087ada8 drivers/nvme/host/pci.c   Chaitanya Kulkarni     2020-07-16  1490  					  NVME_CTRL_PAGE_SIZE);
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1491  
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1492  	if (q_size_aligned * nr_io_queues > dev->cmb_size) {
c45f5c9943ce0b drivers/block/nvme-core.c Jon Derrick            2015-07-21  1493  		u64 mem_per_q = div_u64(dev->cmb_size, nr_io_queues);
4e523547e2bf75 drivers/nvme/host/pci.c   Baolin Wang            2020-07-03  1494  
6c3c05b087ada8 drivers/nvme/host/pci.c   Chaitanya Kulkarni     2020-07-16  1495  		mem_per_q = round_down(mem_per_q, NVME_CTRL_PAGE_SIZE);
c45f5c9943ce0b drivers/block/nvme-core.c Jon Derrick            2015-07-21  1496  		q_depth = div_u64(mem_per_q, entry_size);
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1497  
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1498  		/*
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1499  		 * Ensure the reduced q_depth is above some threshold where it
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1500  		 * would be better to map queues in system memory with the
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1501  		 * original depth
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1502  		 */
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1503  		if (q_depth < 64)
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1504  			return -ENOMEM;
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1505  	}
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1506  
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1507  	return q_depth;
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1508  }
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1509  
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1510  static int nvme_pci_alloc_sq_cmds(struct nvme_dev *dev, struct nvme_queue *nvmeq,
8a1d09a668e7e2 drivers/nvme/host/pci.c   Benjamin Herrenschmidt 2019-08-07  1511  				int qid)
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1512  {
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1513  	struct pci_dev *pdev = nvme_pci_dev(dev);
815c6704bf9f1c drivers/nvme/host/pci.c   Keith Busch            2018-02-13  1514  
03b74c6102eab4 drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1515  	if (pdev && qid && dev->cmb_use_sqes && (dev->cmbsz & NVME_CMBSZ_SQS)) {
8a1d09a668e7e2 drivers/nvme/host/pci.c   Benjamin Herrenschmidt 2019-08-07  1516  		nvmeq->sq_cmds = pci_alloc_p2pmem(pdev, SQ_SIZE(nvmeq));
bfac8e9f55cf62 drivers/nvme/host/pci.c   Alan Mikhak            2019-07-08  1517  		if (nvmeq->sq_cmds) {
0f238ff5cc9255 drivers/nvme/host/pci.c   Logan Gunthorpe        2018-10-04  1518  			nvmeq->sq_dma_addr = pci_p2pmem_virt_to_bus(pdev,
0f238ff5cc9255 drivers/nvme/host/pci.c   Logan Gunthorpe        2018-10-04  1519  							nvmeq->sq_cmds);
6322307809649c drivers/nvme/host/pci.c   Christoph Hellwig      2018-12-02  1520  			if (nvmeq->sq_dma_addr) {
6322307809649c drivers/nvme/host/pci.c   Christoph Hellwig      2018-12-02  1521  				set_bit(NVMEQ_SQ_CMB, &nvmeq->flags);
6322307809649c drivers/nvme/host/pci.c   Christoph Hellwig      2018-12-02  1522  				return 0;
6322307809649c drivers/nvme/host/pci.c   Christoph Hellwig      2018-12-02  1523  			}
bfac8e9f55cf62 drivers/nvme/host/pci.c   Alan Mikhak            2019-07-08  1524  
8a1d09a668e7e2 drivers/nvme/host/pci.c   Benjamin Herrenschmidt 2019-08-07  1525  			pci_free_p2pmem(pdev, nvmeq->sq_cmds, SQ_SIZE(nvmeq));
bfac8e9f55cf62 drivers/nvme/host/pci.c   Alan Mikhak            2019-07-08  1526  		}
0f238ff5cc9255 drivers/nvme/host/pci.c   Logan Gunthorpe        2018-10-04  1527  	}
815c6704bf9f1c drivers/nvme/host/pci.c   Keith Busch            2018-02-13  1528  
8a1d09a668e7e2 drivers/nvme/host/pci.c   Benjamin Herrenschmidt 2019-08-07  1529  	nvmeq->sq_cmds = dma_alloc_coherent(dev->dev, SQ_SIZE(nvmeq),
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1530  				&nvmeq->sq_dma_addr, GFP_KERNEL);
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1531  	if (!nvmeq->sq_cmds)
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1532  		return -ENOMEM;
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1533  	return 0;
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1534  }
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1535  
a6ff7262c26c19 drivers/nvme/host/pci.c   Keith Busch            2018-04-12  1536  static int nvme_alloc_queue(struct nvme_dev *dev, int qid, int depth)
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1537  {
147b27e4bd0840 drivers/nvme/host/pci.c   Sagi Grimberg          2018-01-14  1538  	struct nvme_queue *nvmeq = &dev->queues[qid];
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1539  
62314e405fa101 drivers/nvme/host/pci.c   Keith Busch            2018-01-23  1540  	if (dev->ctrl.queue_count > qid)
62314e405fa101 drivers/nvme/host/pci.c   Keith Busch            2018-01-23  1541  		return 0;
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1542  
c1e0cc7e1d3199 drivers/nvme/host/pci.c   Benjamin Herrenschmidt 2019-08-07  1543  	nvmeq->sqes = qid ? dev->io_sqes : NVME_ADM_SQES;
8a1d09a668e7e2 drivers/nvme/host/pci.c   Benjamin Herrenschmidt 2019-08-07  1544  	nvmeq->q_depth = depth;
8a1d09a668e7e2 drivers/nvme/host/pci.c   Benjamin Herrenschmidt 2019-08-07  1545  	nvmeq->cqes = dma_alloc_coherent(dev->dev, CQ_SIZE(nvmeq),
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1546  					 &nvmeq->cq_dma_addr, GFP_KERNEL);
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1547  	if (!nvmeq->cqes)
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1548  		goto free_nvmeq;
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1549  
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1550  	if (nvme_pci_alloc_sq_cmds(dev, nvmeq, qid))
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1551  		goto free_cqdma;
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1552  
091b609258b8e0 drivers/block/nvme.c      Matthew Wilcox         2011-02-10  1553  	nvmeq->dev = dev;
1ab0cd6966fc4a drivers/nvme/host/pci.c   Jens Axboe             2018-05-17  1554  	spin_lock_init(&nvmeq->sq_lock);
3a7afd8ee42a68 drivers/nvme/host/pci.c   Christoph Hellwig      2018-12-02  1555  	spin_lock_init(&nvmeq->cq_poll_lock);
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1556  	nvmeq->cq_head = 0;
821234603b265f drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1557  	nvmeq->cq_phase = 1;
b80d5ccca3a012 drivers/block/nvme-core.c Haiyan Hu              2013-09-10  1558  	nvmeq->q_db = &dev->dbs[qid * 2 * dev->db_stride];
c30341dc3c436c drivers/block/nvme-core.c Keith Busch            2013-12-10  1559  	nvmeq->qid = qid;
d858e5f04e58a4 drivers/nvme/host/pci.c   Sagi Grimberg          2017-04-24  1560  	dev->ctrl.queue_count++;
36a7e993eedb2c drivers/block/nvme-core.c Jon Derrick            2015-05-27  1561  
147b27e4bd0840 drivers/nvme/host/pci.c   Sagi Grimberg          2018-01-14  1562  	return 0;
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1563  
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1564   free_cqdma:
8a1d09a668e7e2 drivers/nvme/host/pci.c   Benjamin Herrenschmidt 2019-08-07  1565  	dma_free_coherent(dev->dev, CQ_SIZE(nvmeq), (void *)nvmeq->cqes,
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1566  			  nvmeq->cq_dma_addr);
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1567   free_nvmeq:
147b27e4bd0840 drivers/nvme/host/pci.c   Sagi Grimberg          2018-01-14  1568  	return -ENOMEM;
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1569  }
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1570  
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1571  static int nvme_queue_request_irq(struct nvme_queue *nvmeq)
3001082cac4bf6 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1572  {
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1573  	struct pci_dev *pdev = nvme_pci_dev(nvmeq->dev);
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1574  	irq_handler_t handler, thread_fn;
0ff199cb48b4af drivers/nvme/host/pci.c   Christoph Hellwig      2017-04-13  1575  	int nr = nvmeq->dev->ctrl.instance;
0ff199cb48b4af drivers/nvme/host/pci.c   Christoph Hellwig      2017-04-13  1576  
0ff199cb48b4af drivers/nvme/host/pci.c   Christoph Hellwig      2017-04-13  1577  	if (use_threaded_interrupts) {
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1578  		handler = nvme_irq_check;
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1579  		thread_fn = nvme_irq;
0ff199cb48b4af drivers/nvme/host/pci.c   Christoph Hellwig      2017-04-13  1580  	} else {
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1581  		handler = nvme_irq;
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1582  		thread_fn = NULL;
0ff199cb48b4af drivers/nvme/host/pci.c   Christoph Hellwig      2017-04-13  1583  	}
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1584  
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1585  	if (pdev)
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13 @1586  		return pci_request_irq(pdev, nvmeq->cq_vector, handler,
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1587  				       thread_fn, nvmeq, "nvme%dq%d", nr,
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1588  				       nvmeq->qid);
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1589  
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1590  	return request_threaded_irq(nvmeq->dev->platform_irq, handler,
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1591  				    thread_fn, IRQF_SHARED, "nvme", nvmeq);
3001082cac4bf6 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1592  }
3001082cac4bf6 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1593  

:::::: The code at line 1422 was first introduced by commit
:::::: 4f8da49326219a0864f9a1a1ccb7298747e14c15 nvme: pci: rename pci specific functions

:::::: TO: Arnd Bergmann <arnd@arndb.de>
:::::: CC: Sven Peter <sven@svenpeter.dev>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 60685 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [asahilinux:nvme/dev 14/15] drivers/nvme/host/pci.c:1422:3: error: implicit declaration of function 'pci_free_irq'; did you mean 'pcibios_free_irq'?
@ 2021-07-30 20:35 ` kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-07-30 20:35 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 24518 bytes --]

Hi Arnd,

First bad commit (maybe != root cause):

tree:   https://github.com/AsahiLinux/linux nvme/dev
head:   29500f6a24f557631ee621c3c4af2df9fc44cce8
commit: fac10e0660f3b90fcdb91e0636b2d5b79d47e47c [14/15] nvme: add platform driver registration
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 10.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/AsahiLinux/linux/commit/fac10e0660f3b90fcdb91e0636b2d5b79d47e47c
        git remote add asahilinux https://github.com/AsahiLinux/linux
        git fetch --no-tags asahilinux nvme/dev
        git checkout fac10e0660f3b90fcdb91e0636b2d5b79d47e47c
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=m68k 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/nvme/host/pci.c: In function 'nvme_queue_free_irq':
>> drivers/nvme/host/pci.c:1422:3: error: implicit declaration of function 'pci_free_irq'; did you mean 'pcibios_free_irq'? [-Werror=implicit-function-declaration]
    1422 |   pci_free_irq(pdev, nvmeq->cq_vector, nvmeq);
         |   ^~~~~~~~~~~~
         |   pcibios_free_irq
   drivers/nvme/host/pci.c: In function 'nvme_queue_request_irq':
>> drivers/nvme/host/pci.c:1586:10: error: implicit declaration of function 'pci_request_irq'; did you mean 'pci_request_acs'? [-Werror=implicit-function-declaration]
    1586 |   return pci_request_irq(pdev, nvmeq->cq_vector, handler,
         |          ^~~~~~~~~~~~~~~
         |          pci_request_acs
   drivers/nvme/host/pci.c: In function 'nvme_pci_map_cmb':
>> drivers/nvme/host/pci.c:1892:10: error: implicit declaration of function 'pci_bus_address' [-Werror=implicit-function-declaration]
    1892 |         (pci_bus_address(pdev, bar) + offset),
         |          ^~~~~~~~~~~~~~~
   drivers/nvme/host/pci.c: In function 'nvme_setup_irqs':
>> drivers/nvme/host/pci.c:2187:10: error: 'PCI_IRQ_ALL_TYPES' undeclared (first use in this function)
    2187 |          PCI_IRQ_ALL_TYPES | PCI_IRQ_AFFINITY, &affd);
         |          ^~~~~~~~~~~~~~~~~
   drivers/nvme/host/pci.c:2187:10: note: each undeclared identifier is reported only once for each function it appears in
   drivers/nvme/host/pci.c: In function 'nvme_pci_free_irqs':
>> drivers/nvme/host/pci.c:2199:2: error: implicit declaration of function 'pci_free_irq_vectors'; did you mean 'pci_alloc_irq_vectors'? [-Werror=implicit-function-declaration]
    2199 |  pci_free_irq_vectors(pdev);
         |  ^~~~~~~~~~~~~~~~~~~~
         |  pci_alloc_irq_vectors
   drivers/nvme/host/pci.c: In function 'nvme_pci_enable':
>> drivers/nvme/host/pci.c:2465:6: error: implicit declaration of function 'pci_enable_device_mem'; did you mean 'pci_enable_device'? [-Werror=implicit-function-declaration]
    2465 |  if (pci_enable_device_mem(pdev))
         |      ^~~~~~~~~~~~~~~~~~~~~
         |      pci_enable_device
   drivers/nvme/host/pci.c:2479:45: error: 'PCI_IRQ_ALL_TYPES' undeclared (first use in this function)
    2479 |  result = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_ALL_TYPES);
         |                                             ^~~~~~~~~~~~~~~~~
   drivers/nvme/host/pci.c: In function 'nvme_pci_dev_unmap':
>> drivers/nvme/host/pci.c:2515:2: error: implicit declaration of function 'pci_release_mem_regions'; did you mean 'pci_release_regions'? [-Werror=implicit-function-declaration]
    2515 |  pci_release_mem_regions(pdev);
         |  ^~~~~~~~~~~~~~~~~~~~~~~
         |  pci_release_regions
   drivers/nvme/host/pci.c: In function 'nvme_pci_disable':
>> drivers/nvme/host/pci.c:2522:6: error: implicit declaration of function 'pci_is_enabled'; did you mean 'pci_acs_enabled'? [-Werror=implicit-function-declaration]
    2522 |  if (pci_is_enabled(pdev)) {
         |      ^~~~~~~~~~~~~~
         |      pci_acs_enabled
   drivers/nvme/host/pci.c: In function 'nvme_setup_irqs':
   drivers/nvme/host/pci.c:2188:1: error: control reaches end of non-void function [-Werror=return-type]
    2188 | }
         | ^
   At top level:
   drivers/nvme/host/pci.c:2585:12: warning: 'nvme_disable_prepare_reset' defined but not used [-Wunused-function]
    2585 | static int nvme_disable_prepare_reset(struct nvme_dev *dev, bool shutdown)
         |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/nvme/host/pci.c:2511:13: warning: 'nvme_pci_dev_unmap' defined but not used [-Wunused-function]
    2511 | static void nvme_pci_dev_unmap(struct pci_dev *pdev, struct nvme_dev *dev)
         |             ^~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +1422 drivers/nvme/host/pci.c

224042742582c9 drivers/block/nvme-core.c Keith Busch            2013-07-15  1416  
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1417  static void nvme_queue_free_irq(struct nvme_queue *nvmeq)
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1418  {
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1419  	struct pci_dev *pdev = nvme_pci_dev(nvmeq->dev);
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1420  
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1421  	if (pdev)
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11 @1422  		pci_free_irq(pdev, nvmeq->cq_vector, nvmeq);
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1423  	else
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1424  		free_irq(nvmeq->dev->platform_irq, nvmeq);
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1425  }
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1426  
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1427  
4d115420707afc drivers/block/nvme-core.c Keith Busch            2013-12-10  1428  /**
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1429   * nvme_pci_suspend_queue - put queue into suspended state
40581d1a91a152 drivers/nvme/host/pci.c   Bart Van Assche        2018-10-08  1430   * @nvmeq: queue to suspend
4d115420707afc drivers/block/nvme-core.c Keith Busch            2013-12-10  1431   */
4d115420707afc drivers/block/nvme-core.c Keith Busch            2013-12-10  1432  static int nvme_suspend_queue(struct nvme_queue *nvmeq)
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1433  {
4e224106673f1e drivers/nvme/host/pci.c   Christoph Hellwig      2018-12-02  1434  	if (!test_and_clear_bit(NVMEQ_ENABLED, &nvmeq->flags))
2b25d981790b83 drivers/block/nvme-core.c Keith Busch            2014-12-22  1435  		return 1;
a09115b23e2002 drivers/block/nvme.c      Matthew Wilcox         2012-08-07  1436  
4e224106673f1e drivers/nvme/host/pci.c   Christoph Hellwig      2018-12-02  1437  	/* ensure that nvme_queue_rq() sees NVMEQ_ENABLED cleared */
d1f06f4ae0410f drivers/nvme/host/pci.c   Jens Axboe             2018-05-17  1438  	mb();
a09115b23e2002 drivers/block/nvme.c      Matthew Wilcox         2012-08-07  1439  
4e224106673f1e drivers/nvme/host/pci.c   Christoph Hellwig      2018-12-02  1440  	nvmeq->dev->online_queues--;
1c63dc66580d4b drivers/nvme/host/pci.c   Christoph Hellwig      2015-11-26  1441  	if (!nvmeq->qid && nvmeq->dev->ctrl.admin_q)
c81545f991a661 drivers/nvme/host/pci.c   Sagi Grimberg          2017-07-02  1442  		blk_mq_quiesce_queue(nvmeq->dev->ctrl.admin_q);
7c349dde26b75d drivers/nvme/host/pci.c   Keith Busch            2019-03-08  1443  	if (!test_and_clear_bit(NVMEQ_POLLED, &nvmeq->flags))
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1444  		nvme_queue_free_irq(nvmeq);
4d115420707afc drivers/block/nvme-core.c Keith Busch            2013-12-10  1445  	return 0;
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1446  }
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1447  
8fae268b40f519 drivers/nvme/host/pci.c   Keith Busch            2019-01-04  1448  static void nvme_suspend_io_queues(struct nvme_dev *dev)
8fae268b40f519 drivers/nvme/host/pci.c   Keith Busch            2019-01-04  1449  {
8fae268b40f519 drivers/nvme/host/pci.c   Keith Busch            2019-01-04  1450  	int i;
8fae268b40f519 drivers/nvme/host/pci.c   Keith Busch            2019-01-04  1451  
8fae268b40f519 drivers/nvme/host/pci.c   Keith Busch            2019-01-04  1452  	for (i = dev->ctrl.queue_count - 1; i > 0; i--)
8fae268b40f519 drivers/nvme/host/pci.c   Keith Busch            2019-01-04  1453  		nvme_suspend_queue(&dev->queues[i]);
8fae268b40f519 drivers/nvme/host/pci.c   Keith Busch            2019-01-04  1454  }
8fae268b40f519 drivers/nvme/host/pci.c   Keith Busch            2019-01-04  1455  
a5cdb68c2c10f0 drivers/nvme/host/pci.c   Keith Busch            2016-01-12  1456  static void nvme_disable_admin_queue(struct nvme_dev *dev, bool shutdown)
4d115420707afc drivers/block/nvme-core.c Keith Busch            2013-12-10  1457  {
147b27e4bd0840 drivers/nvme/host/pci.c   Sagi Grimberg          2018-01-14  1458  	struct nvme_queue *nvmeq = &dev->queues[0];
4d115420707afc drivers/block/nvme-core.c Keith Busch            2013-12-10  1459  
a5cdb68c2c10f0 drivers/nvme/host/pci.c   Keith Busch            2016-01-12  1460  	if (shutdown)
a5cdb68c2c10f0 drivers/nvme/host/pci.c   Keith Busch            2016-01-12  1461  		nvme_shutdown_ctrl(&dev->ctrl);
a5cdb68c2c10f0 drivers/nvme/host/pci.c   Keith Busch            2016-01-12  1462  	else
b5b0504878b884 drivers/nvme/host/pci.c   Sagi Grimberg          2019-07-22  1463  		nvme_disable_ctrl(&dev->ctrl);
07836e659c81ec drivers/block/nvme-core.c Keith Busch            2015-02-19  1464  
bf392a5dc02a9b drivers/nvme/host/pci.c   Keith Busch            2020-03-02  1465  	nvme_poll_irqdisable(nvmeq);
4d115420707afc drivers/block/nvme-core.c Keith Busch            2013-12-10  1466  }
4d115420707afc drivers/block/nvme-core.c Keith Busch            2013-12-10  1467  
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1468  /*
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1469   * Called only on a device that has been disabled and after all other threads
9210c075cef29c drivers/nvme/host/pci.c   Dongli Zhang           2020-05-27  1470   * that can check this device's completion queues have synced, except
9210c075cef29c drivers/nvme/host/pci.c   Dongli Zhang           2020-05-27  1471   * nvme_poll(). This is the last chance for the driver to see a natural
9210c075cef29c drivers/nvme/host/pci.c   Dongli Zhang           2020-05-27  1472   * completion before nvme_cancel_request() terminates all incomplete requests.
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1473   */
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1474  static void nvme_reap_pending_cqes(struct nvme_dev *dev)
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1475  {
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1476  	int i;
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1477  
9210c075cef29c drivers/nvme/host/pci.c   Dongli Zhang           2020-05-27  1478  	for (i = dev->ctrl.queue_count - 1; i > 0; i--) {
9210c075cef29c drivers/nvme/host/pci.c   Dongli Zhang           2020-05-27  1479  		spin_lock(&dev->queues[i].cq_poll_lock);
324b494c286298 drivers/nvme/host/pci.c   Keith Busch            2020-03-02  1480  		nvme_process_cq(&dev->queues[i]);
9210c075cef29c drivers/nvme/host/pci.c   Dongli Zhang           2020-05-27  1481  		spin_unlock(&dev->queues[i].cq_poll_lock);
9210c075cef29c drivers/nvme/host/pci.c   Dongli Zhang           2020-05-27  1482  	}
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1483  }
fa46c6fb5d61b1 drivers/nvme/host/pci.c   Keith Busch            2020-02-13  1484  
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1485  static int nvme_cmb_qdepth(struct nvme_dev *dev, int nr_io_queues,
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1486  				int entry_size)
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1487  {
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1488  	int q_depth = dev->q_depth;
5fd4ce1b005bd6 drivers/nvme/host/pci.c   Christoph Hellwig      2015-11-28  1489  	unsigned q_size_aligned = roundup(q_depth * entry_size,
6c3c05b087ada8 drivers/nvme/host/pci.c   Chaitanya Kulkarni     2020-07-16  1490  					  NVME_CTRL_PAGE_SIZE);
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1491  
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1492  	if (q_size_aligned * nr_io_queues > dev->cmb_size) {
c45f5c9943ce0b drivers/block/nvme-core.c Jon Derrick            2015-07-21  1493  		u64 mem_per_q = div_u64(dev->cmb_size, nr_io_queues);
4e523547e2bf75 drivers/nvme/host/pci.c   Baolin Wang            2020-07-03  1494  
6c3c05b087ada8 drivers/nvme/host/pci.c   Chaitanya Kulkarni     2020-07-16  1495  		mem_per_q = round_down(mem_per_q, NVME_CTRL_PAGE_SIZE);
c45f5c9943ce0b drivers/block/nvme-core.c Jon Derrick            2015-07-21  1496  		q_depth = div_u64(mem_per_q, entry_size);
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1497  
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1498  		/*
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1499  		 * Ensure the reduced q_depth is above some threshold where it
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1500  		 * would be better to map queues in system memory with the
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1501  		 * original depth
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1502  		 */
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1503  		if (q_depth < 64)
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1504  			return -ENOMEM;
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1505  	}
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1506  
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1507  	return q_depth;
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1508  }
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1509  
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1510  static int nvme_pci_alloc_sq_cmds(struct nvme_dev *dev, struct nvme_queue *nvmeq,
8a1d09a668e7e2 drivers/nvme/host/pci.c   Benjamin Herrenschmidt 2019-08-07  1511  				int qid)
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1512  {
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1513  	struct pci_dev *pdev = nvme_pci_dev(dev);
815c6704bf9f1c drivers/nvme/host/pci.c   Keith Busch            2018-02-13  1514  
03b74c6102eab4 drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1515  	if (pdev && qid && dev->cmb_use_sqes && (dev->cmbsz & NVME_CMBSZ_SQS)) {
8a1d09a668e7e2 drivers/nvme/host/pci.c   Benjamin Herrenschmidt 2019-08-07  1516  		nvmeq->sq_cmds = pci_alloc_p2pmem(pdev, SQ_SIZE(nvmeq));
bfac8e9f55cf62 drivers/nvme/host/pci.c   Alan Mikhak            2019-07-08  1517  		if (nvmeq->sq_cmds) {
0f238ff5cc9255 drivers/nvme/host/pci.c   Logan Gunthorpe        2018-10-04  1518  			nvmeq->sq_dma_addr = pci_p2pmem_virt_to_bus(pdev,
0f238ff5cc9255 drivers/nvme/host/pci.c   Logan Gunthorpe        2018-10-04  1519  							nvmeq->sq_cmds);
6322307809649c drivers/nvme/host/pci.c   Christoph Hellwig      2018-12-02  1520  			if (nvmeq->sq_dma_addr) {
6322307809649c drivers/nvme/host/pci.c   Christoph Hellwig      2018-12-02  1521  				set_bit(NVMEQ_SQ_CMB, &nvmeq->flags);
6322307809649c drivers/nvme/host/pci.c   Christoph Hellwig      2018-12-02  1522  				return 0;
6322307809649c drivers/nvme/host/pci.c   Christoph Hellwig      2018-12-02  1523  			}
bfac8e9f55cf62 drivers/nvme/host/pci.c   Alan Mikhak            2019-07-08  1524  
8a1d09a668e7e2 drivers/nvme/host/pci.c   Benjamin Herrenschmidt 2019-08-07  1525  			pci_free_p2pmem(pdev, nvmeq->sq_cmds, SQ_SIZE(nvmeq));
bfac8e9f55cf62 drivers/nvme/host/pci.c   Alan Mikhak            2019-07-08  1526  		}
0f238ff5cc9255 drivers/nvme/host/pci.c   Logan Gunthorpe        2018-10-04  1527  	}
815c6704bf9f1c drivers/nvme/host/pci.c   Keith Busch            2018-02-13  1528  
8a1d09a668e7e2 drivers/nvme/host/pci.c   Benjamin Herrenschmidt 2019-08-07  1529  	nvmeq->sq_cmds = dma_alloc_coherent(dev->dev, SQ_SIZE(nvmeq),
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1530  				&nvmeq->sq_dma_addr, GFP_KERNEL);
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1531  	if (!nvmeq->sq_cmds)
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1532  		return -ENOMEM;
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1533  	return 0;
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1534  }
8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick            2015-07-20  1535  
a6ff7262c26c19 drivers/nvme/host/pci.c   Keith Busch            2018-04-12  1536  static int nvme_alloc_queue(struct nvme_dev *dev, int qid, int depth)
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1537  {
147b27e4bd0840 drivers/nvme/host/pci.c   Sagi Grimberg          2018-01-14  1538  	struct nvme_queue *nvmeq = &dev->queues[qid];
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1539  
62314e405fa101 drivers/nvme/host/pci.c   Keith Busch            2018-01-23  1540  	if (dev->ctrl.queue_count > qid)
62314e405fa101 drivers/nvme/host/pci.c   Keith Busch            2018-01-23  1541  		return 0;
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1542  
c1e0cc7e1d3199 drivers/nvme/host/pci.c   Benjamin Herrenschmidt 2019-08-07  1543  	nvmeq->sqes = qid ? dev->io_sqes : NVME_ADM_SQES;
8a1d09a668e7e2 drivers/nvme/host/pci.c   Benjamin Herrenschmidt 2019-08-07  1544  	nvmeq->q_depth = depth;
8a1d09a668e7e2 drivers/nvme/host/pci.c   Benjamin Herrenschmidt 2019-08-07  1545  	nvmeq->cqes = dma_alloc_coherent(dev->dev, CQ_SIZE(nvmeq),
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1546  					 &nvmeq->cq_dma_addr, GFP_KERNEL);
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1547  	if (!nvmeq->cqes)
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1548  		goto free_nvmeq;
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1549  
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1550  	if (nvme_pci_alloc_sq_cmds(dev, nvmeq, qid))
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1551  		goto free_cqdma;
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1552  
091b609258b8e0 drivers/block/nvme.c      Matthew Wilcox         2011-02-10  1553  	nvmeq->dev = dev;
1ab0cd6966fc4a drivers/nvme/host/pci.c   Jens Axboe             2018-05-17  1554  	spin_lock_init(&nvmeq->sq_lock);
3a7afd8ee42a68 drivers/nvme/host/pci.c   Christoph Hellwig      2018-12-02  1555  	spin_lock_init(&nvmeq->cq_poll_lock);
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1556  	nvmeq->cq_head = 0;
821234603b265f drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1557  	nvmeq->cq_phase = 1;
b80d5ccca3a012 drivers/block/nvme-core.c Haiyan Hu              2013-09-10  1558  	nvmeq->q_db = &dev->dbs[qid * 2 * dev->db_stride];
c30341dc3c436c drivers/block/nvme-core.c Keith Busch            2013-12-10  1559  	nvmeq->qid = qid;
d858e5f04e58a4 drivers/nvme/host/pci.c   Sagi Grimberg          2017-04-24  1560  	dev->ctrl.queue_count++;
36a7e993eedb2c drivers/block/nvme-core.c Jon Derrick            2015-05-27  1561  
147b27e4bd0840 drivers/nvme/host/pci.c   Sagi Grimberg          2018-01-14  1562  	return 0;
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1563  
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1564   free_cqdma:
8a1d09a668e7e2 drivers/nvme/host/pci.c   Benjamin Herrenschmidt 2019-08-07  1565  	dma_free_coherent(dev->dev, CQ_SIZE(nvmeq), (void *)nvmeq->cqes,
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1566  			  nvmeq->cq_dma_addr);
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1567   free_nvmeq:
147b27e4bd0840 drivers/nvme/host/pci.c   Sagi Grimberg          2018-01-14  1568  	return -ENOMEM;
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1569  }
b60503ba432b16 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1570  
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1571  static int nvme_queue_request_irq(struct nvme_queue *nvmeq)
3001082cac4bf6 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1572  {
4f8da49326219a drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-11  1573  	struct pci_dev *pdev = nvme_pci_dev(nvmeq->dev);
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1574  	irq_handler_t handler, thread_fn;
0ff199cb48b4af drivers/nvme/host/pci.c   Christoph Hellwig      2017-04-13  1575  	int nr = nvmeq->dev->ctrl.instance;
0ff199cb48b4af drivers/nvme/host/pci.c   Christoph Hellwig      2017-04-13  1576  
0ff199cb48b4af drivers/nvme/host/pci.c   Christoph Hellwig      2017-04-13  1577  	if (use_threaded_interrupts) {
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1578  		handler = nvme_irq_check;
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1579  		thread_fn = nvme_irq;
0ff199cb48b4af drivers/nvme/host/pci.c   Christoph Hellwig      2017-04-13  1580  	} else {
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1581  		handler = nvme_irq;
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1582  		thread_fn = NULL;
0ff199cb48b4af drivers/nvme/host/pci.c   Christoph Hellwig      2017-04-13  1583  	}
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1584  
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1585  	if (pdev)
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13 @1586  		return pci_request_irq(pdev, nvmeq->cq_vector, handler,
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1587  				       thread_fn, nvmeq, "nvme%dq%d", nr,
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1588  				       nvmeq->qid);
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1589  
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1590  	return request_threaded_irq(nvmeq->dev->platform_irq, handler,
aa65dffc7fb59d drivers/nvme/host/pci.c   Arnd Bergmann          2021-02-13  1591  				    thread_fn, IRQF_SHARED, "nvme", nvmeq);
3001082cac4bf6 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1592  }
3001082cac4bf6 drivers/block/nvme.c      Matthew Wilcox         2011-01-20  1593  

:::::: The code at line 1422 was first introduced by commit
:::::: 4f8da49326219a0864f9a1a1ccb7298747e14c15 nvme: pci: rename pci specific functions

:::::: TO: Arnd Bergmann <arnd@arndb.de>
:::::: CC: Sven Peter <sven@svenpeter.dev>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 60685 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-07-30 20:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-30 20:35 [asahilinux:nvme/dev 14/15] drivers/nvme/host/pci.c:1422:3: error: implicit declaration of function 'pci_free_irq'; did you mean 'pcibios_free_irq'? kernel test robot
2021-07-30 20:35 ` kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.