All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

  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.