Hi Arnd, First bad commit (maybe != root cause): tree: https://github.com/AsahiLinux/linux nvme/dev head: 69142df77238252d5ab52d940bcff054c4dcd551 commit: bdb3ab66d08f3e95705b1e4403be6d9d9740a78e [8/9] nvme: add platform driver registration config: sh-allmodconfig (attached as .config) compiler: sh4-linux-gcc (GCC) 9.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/bdb3ab66d08f3e95705b1e4403be6d9d9740a78e git remote add asahilinux https://github.com/AsahiLinux/linux git fetch --no-tags asahilinux nvme/dev git checkout bdb3ab66d08f3e95705b1e4403be6d9d9740a78e # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): drivers/nvme/host/pci.c: In function 'nvme_queue_free_irq': >> drivers/nvme/host/pci.c:1429:3: error: implicit declaration of function 'pci_free_irq'; did you mean 'pcibios_free_irq'? [-Werror=implicit-function-declaration] 1429 | 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:1593:10: error: implicit declaration of function 'pci_request_irq'; did you mean 'pci_request_acs'? [-Werror=implicit-function-declaration] 1593 | 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:1899:10: error: implicit declaration of function 'pci_bus_address'; did you mean 'printk_address'? [-Werror=implicit-function-declaration] 1899 | (pci_bus_address(pdev, bar) + offset), | ^~~~~~~~~~~~~~~ | printk_address drivers/nvme/host/pci.c: In function 'nvme_setup_irqs': >> drivers/nvme/host/pci.c:2195:10: error: 'PCI_IRQ_ALL_TYPES' undeclared (first use in this function) 2195 | PCI_IRQ_ALL_TYPES | PCI_IRQ_AFFINITY, &affd); | ^~~~~~~~~~~~~~~~~ drivers/nvme/host/pci.c:2195: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:2207:2: error: implicit declaration of function 'pci_free_irq_vectors'; did you mean 'pci_alloc_irq_vectors'? [-Werror=implicit-function-declaration] 2207 | pci_free_irq_vectors(pdev); | ^~~~~~~~~~~~~~~~~~~~ | pci_alloc_irq_vectors drivers/nvme/host/pci.c: In function 'nvme_pci_enable': >> drivers/nvme/host/pci.c:2474:6: error: implicit declaration of function 'pci_enable_device_mem'; did you mean 'pci_enable_device'? [-Werror=implicit-function-declaration] 2474 | if (pci_enable_device_mem(pdev)) | ^~~~~~~~~~~~~~~~~~~~~ | pci_enable_device drivers/nvme/host/pci.c:2488:45: error: 'PCI_IRQ_ALL_TYPES' undeclared (first use in this function) 2488 | 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:2524:2: error: implicit declaration of function 'pci_release_mem_regions'; did you mean 'pci_release_regions'? [-Werror=implicit-function-declaration] 2524 | pci_release_mem_regions(pdev); | ^~~~~~~~~~~~~~~~~~~~~~~ | pci_release_regions drivers/nvme/host/pci.c: In function 'nvme_pci_disable': >> drivers/nvme/host/pci.c:2531:6: error: implicit declaration of function 'pci_is_enabled'; did you mean 'pci_acs_enabled'? [-Werror=implicit-function-declaration] 2531 | if (pci_is_enabled(pdev)) { | ^~~~~~~~~~~~~~ | pci_acs_enabled drivers/nvme/host/pci.c: In function 'nvme_setup_irqs': drivers/nvme/host/pci.c:2196:1: error: control reaches end of non-void function [-Werror=return-type] 2196 | } | ^ At top level: drivers/nvme/host/pci.c:2594:12: warning: 'nvme_disable_prepare_reset' defined but not used [-Wunused-function] 2594 | static int nvme_disable_prepare_reset(struct nvme_dev *dev, bool shutdown) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/nvme/host/pci.c:2520:13: warning: 'nvme_pci_dev_unmap' defined but not used [-Wunused-function] 2520 | static void nvme_pci_dev_unmap(struct pci_dev *pdev, struct nvme_dev *dev) | ^~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC Depends on SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC && HAS_DMA Selected by - SND_ATMEL_SOC_SSC && SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC - SND_ATMEL_SOC_SSC_PDC && SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC && ATMEL_SSC vim +1429 drivers/nvme/host/pci.c 224042742582c9 drivers/block/nvme-core.c Keith Busch 2013-07-15 1423 4a80db096ae7aa drivers/nvme/host/pci.c Arnd Bergmann 2021-02-11 1424 static void nvme_queue_free_irq(struct nvme_queue *nvmeq) 4a80db096ae7aa drivers/nvme/host/pci.c Arnd Bergmann 2021-02-11 1425 { 4a80db096ae7aa drivers/nvme/host/pci.c Arnd Bergmann 2021-02-11 1426 struct pci_dev *pdev = nvme_pci_dev(nvmeq->dev); 4a80db096ae7aa drivers/nvme/host/pci.c Arnd Bergmann 2021-02-11 1427 afef39cb77ec0c drivers/nvme/host/pci.c Arnd Bergmann 2021-02-13 1428 if (pdev) 4a80db096ae7aa drivers/nvme/host/pci.c Arnd Bergmann 2021-02-11 @1429 pci_free_irq(pdev, nvmeq->cq_vector, nvmeq); afef39cb77ec0c drivers/nvme/host/pci.c Arnd Bergmann 2021-02-13 1430 else afef39cb77ec0c drivers/nvme/host/pci.c Arnd Bergmann 2021-02-13 1431 free_irq(nvmeq->dev->platform_irq, nvmeq); 4a80db096ae7aa drivers/nvme/host/pci.c Arnd Bergmann 2021-02-11 1432 } 4a80db096ae7aa drivers/nvme/host/pci.c Arnd Bergmann 2021-02-11 1433 4a80db096ae7aa drivers/nvme/host/pci.c Arnd Bergmann 2021-02-11 1434 4d115420707afc drivers/block/nvme-core.c Keith Busch 2013-12-10 1435 /** 4a80db096ae7aa drivers/nvme/host/pci.c Arnd Bergmann 2021-02-11 1436 * nvme_pci_suspend_queue - put queue into suspended state 40581d1a91a152 drivers/nvme/host/pci.c Bart Van Assche 2018-10-08 1437 * @nvmeq: queue to suspend 4d115420707afc drivers/block/nvme-core.c Keith Busch 2013-12-10 1438 */ 4d115420707afc drivers/block/nvme-core.c Keith Busch 2013-12-10 1439 static int nvme_suspend_queue(struct nvme_queue *nvmeq) b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1440 { 4e224106673f1e drivers/nvme/host/pci.c Christoph Hellwig 2018-12-02 1441 if (!test_and_clear_bit(NVMEQ_ENABLED, &nvmeq->flags)) 2b25d981790b83 drivers/block/nvme-core.c Keith Busch 2014-12-22 1442 return 1; a09115b23e2002 drivers/block/nvme.c Matthew Wilcox 2012-08-07 1443 4e224106673f1e drivers/nvme/host/pci.c Christoph Hellwig 2018-12-02 1444 /* ensure that nvme_queue_rq() sees NVMEQ_ENABLED cleared */ d1f06f4ae0410f drivers/nvme/host/pci.c Jens Axboe 2018-05-17 1445 mb(); a09115b23e2002 drivers/block/nvme.c Matthew Wilcox 2012-08-07 1446 4e224106673f1e drivers/nvme/host/pci.c Christoph Hellwig 2018-12-02 1447 nvmeq->dev->online_queues--; 1c63dc66580d4b drivers/nvme/host/pci.c Christoph Hellwig 2015-11-26 1448 if (!nvmeq->qid && nvmeq->dev->ctrl.admin_q) c81545f991a661 drivers/nvme/host/pci.c Sagi Grimberg 2017-07-02 1449 blk_mq_quiesce_queue(nvmeq->dev->ctrl.admin_q); 7c349dde26b75d drivers/nvme/host/pci.c Keith Busch 2019-03-08 1450 if (!test_and_clear_bit(NVMEQ_POLLED, &nvmeq->flags)) 4a80db096ae7aa drivers/nvme/host/pci.c Arnd Bergmann 2021-02-11 1451 nvme_queue_free_irq(nvmeq); 4d115420707afc drivers/block/nvme-core.c Keith Busch 2013-12-10 1452 return 0; b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1453 } b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1454 8fae268b40f519 drivers/nvme/host/pci.c Keith Busch 2019-01-04 1455 static void nvme_suspend_io_queues(struct nvme_dev *dev) 8fae268b40f519 drivers/nvme/host/pci.c Keith Busch 2019-01-04 1456 { 8fae268b40f519 drivers/nvme/host/pci.c Keith Busch 2019-01-04 1457 int i; 8fae268b40f519 drivers/nvme/host/pci.c Keith Busch 2019-01-04 1458 8fae268b40f519 drivers/nvme/host/pci.c Keith Busch 2019-01-04 1459 for (i = dev->ctrl.queue_count - 1; i > 0; i--) 8fae268b40f519 drivers/nvme/host/pci.c Keith Busch 2019-01-04 1460 nvme_suspend_queue(&dev->queues[i]); 8fae268b40f519 drivers/nvme/host/pci.c Keith Busch 2019-01-04 1461 } 8fae268b40f519 drivers/nvme/host/pci.c Keith Busch 2019-01-04 1462 a5cdb68c2c10f0 drivers/nvme/host/pci.c Keith Busch 2016-01-12 1463 static void nvme_disable_admin_queue(struct nvme_dev *dev, bool shutdown) 4d115420707afc drivers/block/nvme-core.c Keith Busch 2013-12-10 1464 { 147b27e4bd0840 drivers/nvme/host/pci.c Sagi Grimberg 2018-01-14 1465 struct nvme_queue *nvmeq = &dev->queues[0]; 4d115420707afc drivers/block/nvme-core.c Keith Busch 2013-12-10 1466 a5cdb68c2c10f0 drivers/nvme/host/pci.c Keith Busch 2016-01-12 1467 if (shutdown) a5cdb68c2c10f0 drivers/nvme/host/pci.c Keith Busch 2016-01-12 1468 nvme_shutdown_ctrl(&dev->ctrl); a5cdb68c2c10f0 drivers/nvme/host/pci.c Keith Busch 2016-01-12 1469 else b5b0504878b884 drivers/nvme/host/pci.c Sagi Grimberg 2019-07-22 1470 nvme_disable_ctrl(&dev->ctrl); 07836e659c81ec drivers/block/nvme-core.c Keith Busch 2015-02-19 1471 bf392a5dc02a9b drivers/nvme/host/pci.c Keith Busch 2020-03-02 1472 nvme_poll_irqdisable(nvmeq); 4d115420707afc drivers/block/nvme-core.c Keith Busch 2013-12-10 1473 } 4d115420707afc drivers/block/nvme-core.c Keith Busch 2013-12-10 1474 fa46c6fb5d61b1 drivers/nvme/host/pci.c Keith Busch 2020-02-13 1475 /* fa46c6fb5d61b1 drivers/nvme/host/pci.c Keith Busch 2020-02-13 1476 * 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 1477 * that can check this device's completion queues have synced, except 9210c075cef29c drivers/nvme/host/pci.c Dongli Zhang 2020-05-27 1478 * 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 1479 * completion before nvme_cancel_request() terminates all incomplete requests. fa46c6fb5d61b1 drivers/nvme/host/pci.c Keith Busch 2020-02-13 1480 */ fa46c6fb5d61b1 drivers/nvme/host/pci.c Keith Busch 2020-02-13 1481 static void nvme_reap_pending_cqes(struct nvme_dev *dev) fa46c6fb5d61b1 drivers/nvme/host/pci.c Keith Busch 2020-02-13 1482 { fa46c6fb5d61b1 drivers/nvme/host/pci.c Keith Busch 2020-02-13 1483 int i; fa46c6fb5d61b1 drivers/nvme/host/pci.c Keith Busch 2020-02-13 1484 9210c075cef29c drivers/nvme/host/pci.c Dongli Zhang 2020-05-27 1485 for (i = dev->ctrl.queue_count - 1; i > 0; i--) { 9210c075cef29c drivers/nvme/host/pci.c Dongli Zhang 2020-05-27 1486 spin_lock(&dev->queues[i].cq_poll_lock); 324b494c286298 drivers/nvme/host/pci.c Keith Busch 2020-03-02 1487 nvme_process_cq(&dev->queues[i]); 9210c075cef29c drivers/nvme/host/pci.c Dongli Zhang 2020-05-27 1488 spin_unlock(&dev->queues[i].cq_poll_lock); 9210c075cef29c drivers/nvme/host/pci.c Dongli Zhang 2020-05-27 1489 } fa46c6fb5d61b1 drivers/nvme/host/pci.c Keith Busch 2020-02-13 1490 } fa46c6fb5d61b1 drivers/nvme/host/pci.c Keith Busch 2020-02-13 1491 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1492 static int nvme_cmb_qdepth(struct nvme_dev *dev, int nr_io_queues, 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1493 int entry_size) 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1494 { 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1495 int q_depth = dev->q_depth; 5fd4ce1b005bd6 drivers/nvme/host/pci.c Christoph Hellwig 2015-11-28 1496 unsigned q_size_aligned = roundup(q_depth * entry_size, 6c3c05b087ada8 drivers/nvme/host/pci.c Chaitanya Kulkarni 2020-07-16 1497 NVME_CTRL_PAGE_SIZE); 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1498 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1499 if (q_size_aligned * nr_io_queues > dev->cmb_size) { c45f5c9943ce0b drivers/block/nvme-core.c Jon Derrick 2015-07-21 1500 u64 mem_per_q = div_u64(dev->cmb_size, nr_io_queues); 4e523547e2bf75 drivers/nvme/host/pci.c Baolin Wang 2020-07-03 1501 6c3c05b087ada8 drivers/nvme/host/pci.c Chaitanya Kulkarni 2020-07-16 1502 mem_per_q = round_down(mem_per_q, NVME_CTRL_PAGE_SIZE); c45f5c9943ce0b drivers/block/nvme-core.c Jon Derrick 2015-07-21 1503 q_depth = div_u64(mem_per_q, entry_size); 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1504 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1505 /* 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1506 * Ensure the reduced q_depth is above some threshold where it 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1507 * would be better to map queues in system memory with the 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1508 * original depth 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1509 */ 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1510 if (q_depth < 64) 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1511 return -ENOMEM; 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1512 } 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1513 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1514 return q_depth; 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1515 } 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1516 4a80db096ae7aa drivers/nvme/host/pci.c Arnd Bergmann 2021-02-11 1517 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 1518 int qid) 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1519 { 4a80db096ae7aa drivers/nvme/host/pci.c Arnd Bergmann 2021-02-11 1520 struct pci_dev *pdev = nvme_pci_dev(dev); 815c6704bf9f1c drivers/nvme/host/pci.c Keith Busch 2018-02-13 1521 8a916939fe6b99 drivers/nvme/host/pci.c Arnd Bergmann 2021-02-13 1522 if (pdev && qid && dev->cmb_use_sqes && (dev->cmbsz & NVME_CMBSZ_SQS)) { 8a1d09a668e7e2 drivers/nvme/host/pci.c Benjamin Herrenschmidt 2019-08-07 1523 nvmeq->sq_cmds = pci_alloc_p2pmem(pdev, SQ_SIZE(nvmeq)); bfac8e9f55cf62 drivers/nvme/host/pci.c Alan Mikhak 2019-07-08 1524 if (nvmeq->sq_cmds) { 0f238ff5cc9255 drivers/nvme/host/pci.c Logan Gunthorpe 2018-10-04 1525 nvmeq->sq_dma_addr = pci_p2pmem_virt_to_bus(pdev, 0f238ff5cc9255 drivers/nvme/host/pci.c Logan Gunthorpe 2018-10-04 1526 nvmeq->sq_cmds); 6322307809649c drivers/nvme/host/pci.c Christoph Hellwig 2018-12-02 1527 if (nvmeq->sq_dma_addr) { 6322307809649c drivers/nvme/host/pci.c Christoph Hellwig 2018-12-02 1528 set_bit(NVMEQ_SQ_CMB, &nvmeq->flags); 6322307809649c drivers/nvme/host/pci.c Christoph Hellwig 2018-12-02 1529 return 0; 6322307809649c drivers/nvme/host/pci.c Christoph Hellwig 2018-12-02 1530 } bfac8e9f55cf62 drivers/nvme/host/pci.c Alan Mikhak 2019-07-08 1531 8a1d09a668e7e2 drivers/nvme/host/pci.c Benjamin Herrenschmidt 2019-08-07 1532 pci_free_p2pmem(pdev, nvmeq->sq_cmds, SQ_SIZE(nvmeq)); bfac8e9f55cf62 drivers/nvme/host/pci.c Alan Mikhak 2019-07-08 1533 } 0f238ff5cc9255 drivers/nvme/host/pci.c Logan Gunthorpe 2018-10-04 1534 } 815c6704bf9f1c drivers/nvme/host/pci.c Keith Busch 2018-02-13 1535 8a1d09a668e7e2 drivers/nvme/host/pci.c Benjamin Herrenschmidt 2019-08-07 1536 nvmeq->sq_cmds = dma_alloc_coherent(dev->dev, SQ_SIZE(nvmeq), 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1537 &nvmeq->sq_dma_addr, GFP_KERNEL); 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1538 if (!nvmeq->sq_cmds) 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1539 return -ENOMEM; 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1540 return 0; 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1541 } 8ffaadf7429270 drivers/block/nvme-core.c Jon Derrick 2015-07-20 1542 a6ff7262c26c19 drivers/nvme/host/pci.c Keith Busch 2018-04-12 1543 static int nvme_alloc_queue(struct nvme_dev *dev, int qid, int depth) b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1544 { 147b27e4bd0840 drivers/nvme/host/pci.c Sagi Grimberg 2018-01-14 1545 struct nvme_queue *nvmeq = &dev->queues[qid]; b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1546 62314e405fa101 drivers/nvme/host/pci.c Keith Busch 2018-01-23 1547 if (dev->ctrl.queue_count > qid) 62314e405fa101 drivers/nvme/host/pci.c Keith Busch 2018-01-23 1548 return 0; b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1549 c1e0cc7e1d3199 drivers/nvme/host/pci.c Benjamin Herrenschmidt 2019-08-07 1550 nvmeq->sqes = qid ? dev->io_sqes : NVME_ADM_SQES; 8a1d09a668e7e2 drivers/nvme/host/pci.c Benjamin Herrenschmidt 2019-08-07 1551 nvmeq->q_depth = depth; 8a1d09a668e7e2 drivers/nvme/host/pci.c Benjamin Herrenschmidt 2019-08-07 1552 nvmeq->cqes = dma_alloc_coherent(dev->dev, CQ_SIZE(nvmeq), b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1553 &nvmeq->cq_dma_addr, GFP_KERNEL); b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1554 if (!nvmeq->cqes) b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1555 goto free_nvmeq; b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1556 4a80db096ae7aa drivers/nvme/host/pci.c Arnd Bergmann 2021-02-11 1557 if (nvme_pci_alloc_sq_cmds(dev, nvmeq, qid)) b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1558 goto free_cqdma; b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1559 091b609258b8e0 drivers/block/nvme.c Matthew Wilcox 2011-02-10 1560 nvmeq->dev = dev; 1ab0cd6966fc4a drivers/nvme/host/pci.c Jens Axboe 2018-05-17 1561 spin_lock_init(&nvmeq->sq_lock); 3a7afd8ee42a68 drivers/nvme/host/pci.c Christoph Hellwig 2018-12-02 1562 spin_lock_init(&nvmeq->cq_poll_lock); b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1563 nvmeq->cq_head = 0; 821234603b265f drivers/block/nvme.c Matthew Wilcox 2011-01-20 1564 nvmeq->cq_phase = 1; b80d5ccca3a012 drivers/block/nvme-core.c Haiyan Hu 2013-09-10 1565 nvmeq->q_db = &dev->dbs[qid * 2 * dev->db_stride]; c30341dc3c436c drivers/block/nvme-core.c Keith Busch 2013-12-10 1566 nvmeq->qid = qid; d858e5f04e58a4 drivers/nvme/host/pci.c Sagi Grimberg 2017-04-24 1567 dev->ctrl.queue_count++; 36a7e993eedb2c drivers/block/nvme-core.c Jon Derrick 2015-05-27 1568 147b27e4bd0840 drivers/nvme/host/pci.c Sagi Grimberg 2018-01-14 1569 return 0; b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1570 b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1571 free_cqdma: 8a1d09a668e7e2 drivers/nvme/host/pci.c Benjamin Herrenschmidt 2019-08-07 1572 dma_free_coherent(dev->dev, CQ_SIZE(nvmeq), (void *)nvmeq->cqes, b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1573 nvmeq->cq_dma_addr); b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1574 free_nvmeq: 147b27e4bd0840 drivers/nvme/host/pci.c Sagi Grimberg 2018-01-14 1575 return -ENOMEM; b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1576 } b60503ba432b16 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1577 4a80db096ae7aa drivers/nvme/host/pci.c Arnd Bergmann 2021-02-11 1578 static int nvme_queue_request_irq(struct nvme_queue *nvmeq) 3001082cac4bf6 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1579 { 4a80db096ae7aa drivers/nvme/host/pci.c Arnd Bergmann 2021-02-11 1580 struct pci_dev *pdev = nvme_pci_dev(nvmeq->dev); afef39cb77ec0c drivers/nvme/host/pci.c Arnd Bergmann 2021-02-13 1581 irq_handler_t handler, thread_fn; 0ff199cb48b4af drivers/nvme/host/pci.c Christoph Hellwig 2017-04-13 1582 int nr = nvmeq->dev->ctrl.instance; 0ff199cb48b4af drivers/nvme/host/pci.c Christoph Hellwig 2017-04-13 1583 0ff199cb48b4af drivers/nvme/host/pci.c Christoph Hellwig 2017-04-13 1584 if (use_threaded_interrupts) { afef39cb77ec0c drivers/nvme/host/pci.c Arnd Bergmann 2021-02-13 1585 handler = nvme_irq_check; afef39cb77ec0c drivers/nvme/host/pci.c Arnd Bergmann 2021-02-13 1586 thread_fn = nvme_irq; 0ff199cb48b4af drivers/nvme/host/pci.c Christoph Hellwig 2017-04-13 1587 } else { afef39cb77ec0c drivers/nvme/host/pci.c Arnd Bergmann 2021-02-13 1588 handler = nvme_irq; afef39cb77ec0c drivers/nvme/host/pci.c Arnd Bergmann 2021-02-13 1589 thread_fn = NULL; 0ff199cb48b4af drivers/nvme/host/pci.c Christoph Hellwig 2017-04-13 1590 } afef39cb77ec0c drivers/nvme/host/pci.c Arnd Bergmann 2021-02-13 1591 afef39cb77ec0c drivers/nvme/host/pci.c Arnd Bergmann 2021-02-13 1592 if (pdev) afef39cb77ec0c drivers/nvme/host/pci.c Arnd Bergmann 2021-02-13 @1593 return pci_request_irq(pdev, nvmeq->cq_vector, handler, afef39cb77ec0c drivers/nvme/host/pci.c Arnd Bergmann 2021-02-13 1594 thread_fn, nvmeq, "nvme%dq%d", nr, afef39cb77ec0c drivers/nvme/host/pci.c Arnd Bergmann 2021-02-13 1595 nvmeq->qid); afef39cb77ec0c drivers/nvme/host/pci.c Arnd Bergmann 2021-02-13 1596 afef39cb77ec0c drivers/nvme/host/pci.c Arnd Bergmann 2021-02-13 1597 return request_threaded_irq(nvmeq->dev->platform_irq, handler, afef39cb77ec0c drivers/nvme/host/pci.c Arnd Bergmann 2021-02-13 1598 thread_fn, 0, "nvme", nvmeq); 3001082cac4bf6 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1599 } 3001082cac4bf6 drivers/block/nvme.c Matthew Wilcox 2011-01-20 1600 :::::: The code at line 1429 was first introduced by commit :::::: 4a80db096ae7aa82737bec490021db9523d2355d nvme: pci: rename pci specific functions :::::: TO: Arnd Bergmann :::::: CC: Sven Peter --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org