From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH RFC v4 2/2] dmaengine: avalon-test: Intel Avalon-MM DMA Interface for PCIe test
Date: Sat, 02 Nov 2019 06:01:21 +0800 [thread overview]
Message-ID: <201911020532.IrpxexBw%lkp@intel.com> (raw)
In-Reply-To: <cea86875039d0f58e5c0b19222e4e99fcb9890ea.1572441900.git.a.gordeev.box@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 12020 bytes --]
Hi Alexander,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on linus/master]
[also build test ERROR on v5.4-rc5]
[cannot apply to next-20191031]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Alexander-Gordeev/dmaengine-avalon-Intel-Avalon-MM-DMA-Interface-for-PCIe/20191102-044059
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 0dbe6cb8f7e05bc9611602ef45980a6c57b245a3
config: sh-allmodconfig (attached as .config)
compiler: sh4-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
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=sh
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
drivers/dma/avalon/avalon-pci.c: In function 'init_interrupts':
>> drivers/dma/avalon/avalon-pci.c:52:2: error: implicit declaration of function 'pci_disable_msi'; did you mean 'pci_disable_ats'? [-Werror=implicit-function-declaration]
pci_disable_msi(pci_dev);
^~~~~~~~~~~~~~~
pci_disable_ats
drivers/dma/avalon/avalon-pci.c: In function 'avalon_pci_probe':
>> drivers/dma/avalon/avalon-pci.c:102:2: error: implicit declaration of function 'pci_iounmap'; did you mean 'pcim_iounmap'? [-Werror=implicit-function-declaration]
pci_iounmap(pci_dev, regs);
^~~~~~~~~~~
pcim_iounmap
drivers/dma/avalon/avalon-pci.c: At top level:
>> drivers/dma/avalon/avalon-pci.c:140:1: warning: data definition has no type or storage class
module_pci_driver(avalon_pci_driver);
^~~~~~~~~~~~~~~~~
>> drivers/dma/avalon/avalon-pci.c:140:1: error: type defaults to 'int' in declaration of 'module_pci_driver' [-Werror=implicit-int]
>> drivers/dma/avalon/avalon-pci.c:140:1: warning: parameter names (without types) in function declaration
drivers/dma/avalon/avalon-pci.c:133:26: warning: 'avalon_pci_driver' defined but not used [-Wunused-variable]
static struct pci_driver avalon_pci_driver = {
^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +52 drivers/dma/avalon/avalon-pci.c
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 15
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 16 static unsigned int pci_bar = 0;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 17 module_param(pci_bar, uint, 0644);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 18 MODULE_PARM_DESC(pci_bar,
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 19 "PCI BAR number the controller is mapped to (default: 0)");
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 20
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 21 static unsigned int pci_msi_vector = 0;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 22 module_param(pci_msi_vector, uint, 0644);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 23 MODULE_PARM_DESC(pci_msi_vector,
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 24 "MSI vector number used for the controller (default: 0)");
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 25
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 26 static unsigned int pci_msi_count_order = 5;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 27 module_param(pci_msi_count_order, uint, 0644);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 28 MODULE_PARM_DESC(pci_msi_count_order,
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 29 "Number of MSI vectors (order) device uses (default: 5)");
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 30
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 31 static int init_interrupts(struct pci_dev *pci_dev)
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 32 {
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 33 unsigned int nr_vecs = BIT(pci_msi_count_order);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 34 int ret;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 35
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 36 ret = pci_alloc_irq_vectors(pci_dev, nr_vecs, nr_vecs, PCI_IRQ_MSI);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 37 if (ret < 0) {
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 38 return ret;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 39
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 40 } else if (ret != nr_vecs) {
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 41 ret = -ENOSPC;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 42 goto disable_msi;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 43 }
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 44
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 45 ret = pci_irq_vector(pci_dev, pci_msi_vector);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 46 if (ret < 0)
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 47 goto disable_msi;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 48
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 49 return ret;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 50
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 51 disable_msi:
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 @52 pci_disable_msi(pci_dev);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 53
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 54 return ret;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 55 }
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 56
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 57 static void term_interrupts(struct pci_dev *pci_dev)
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 58 {
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 59 pci_disable_msi(pci_dev);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 60 }
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 61
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 62 static int avalon_pci_probe(struct pci_dev *pci_dev,
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 63 const struct pci_device_id *id)
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 64 {
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 65 void *adma;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 66 void __iomem *regs;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 67 int ret;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 68
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 69 ret = pci_enable_device(pci_dev);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 70 if (ret)
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 71 return ret;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 72
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 73 ret = pci_request_regions(pci_dev, DRIVER_NAME);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 74 if (ret)
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 75 goto disable_device;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 76
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 77 regs = pci_ioremap_bar(pci_dev, pci_bar);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 78 if (!regs) {
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 79 ret = -ENOMEM;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 80 goto release_regions;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 81 }
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 82
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 83 ret = init_interrupts(pci_dev);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 84 if (ret < 0)
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 85 goto unmap_bars;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 86
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 87 adma = avalon_dma_register(&pci_dev->dev, regs, ret);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 88 if (IS_ERR(adma)) {
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 89 ret = PTR_ERR(adma);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 90 goto terminate_interrupts;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 91 }
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 92
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 93 pci_set_master(pci_dev);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 94 pci_set_drvdata(pci_dev, adma);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 95
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 96 return 0;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 97
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 98 terminate_interrupts:
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 99 term_interrupts(pci_dev);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 100
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 101 unmap_bars:
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 @102 pci_iounmap(pci_dev, regs);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 103
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 104 release_regions:
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 105 pci_release_regions(pci_dev);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 106
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 107 disable_device:
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 108 pci_disable_device(pci_dev);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 109
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 110 return ret;
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 111 }
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 112
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 113 static void avalon_pci_remove(struct pci_dev *pci_dev)
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 114 {
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 115 void *adma = pci_get_drvdata(pci_dev);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 116 void __iomem *regs = avalon_dma_mmio(adma);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 117
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 118 pci_set_drvdata(pci_dev, NULL);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 119
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 120 avalon_dma_unregister(adma);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 121 term_interrupts(pci_dev);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 122
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 123 pci_iounmap(pci_dev, regs);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 124 pci_release_regions(pci_dev);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 125 pci_disable_device(pci_dev);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 126 }
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 127
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 128 static struct pci_device_id avalon_pci_ids[] = {
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 129 { PCI_DEVICE(PCI_VENDOR_ID_ALTERA, 0xe003) },
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 130 { 0 }
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 131 };
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 132
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 133 static struct pci_driver avalon_pci_driver = {
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 134 .name = DRIVER_NAME,
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 135 .id_table = avalon_pci_ids,
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 136 .probe = avalon_pci_probe,
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 137 .remove = avalon_pci_remove,
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 138 };
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 139
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 @140 module_pci_driver(avalon_pci_driver);
eb0a1b5edfc55d Alexander Gordeev 2019-10-30 141
:::::: The code at line 52 was first introduced by commit
:::::: eb0a1b5edfc55dd6463793ae7b3ddde0f6a97063 dmaengine: avalon: Intel Avalon-MM DMA Interface for PCIe
:::::: TO: Alexander Gordeev <a.gordeev.box@gmail.com>
:::::: CC: 0day robot <lkp@intel.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 52239 bytes --]
next prev parent reply other threads:[~2019-11-01 22:01 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-30 13:32 [PATCH v4 0/2] dmaengine: avalon: Intel Avalon-MM DMA Interface for PCIe Alexander Gordeev
2019-10-30 13:32 ` [PATCH v4 1/2] " Alexander Gordeev
2019-11-01 23:05 ` kbuild test robot
2019-11-01 23:05 ` kbuild test robot
2019-11-03 14:34 ` kbuild test robot
2019-11-03 14:34 ` kbuild test robot
2019-10-30 13:32 ` [PATCH RFC v4 2/2] dmaengine: avalon-test: Intel Avalon-MM DMA Interface for PCIe test Alexander Gordeev
2019-11-01 21:27 ` kbuild test robot
2019-11-01 22:01 ` kbuild test robot [this message]
2019-11-03 14:58 ` [RFC PATCH] dmaengine: avalon-test: avalon_dev_fops can be static kbuild test robot
2019-11-03 14:58 ` [PATCH RFC v4 2/2] dmaengine: avalon-test: Intel Avalon-MM DMA Interface for PCIe test kbuild test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201911020532.IrpxexBw%lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.