All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zhou Wang <wangzhou1@hisilicon.com>
To: kbuild-all@lists.01.org
Subject: Re: [RFC PATCH] dmaengine: hisilicon: Add Kunpeng DMA engine support
Date: Mon, 25 Nov 2019 11:09:39 +0800	[thread overview]
Message-ID: <5DDB45F3.2070806@hisilicon.com> (raw)
In-Reply-To: <201911242336.W7Py5cLy%lkp@intel.com>

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

On 2019/11/24 23:49, kbuild test robot wrote:
> Hi Zhou,

I am not sure if this email will be replied :)

> 
> [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-rc8 next-20191122]
> [cannot apply to slave-dma/next]

Thanks, will rebase on maintainer's branch in next verion.

> [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/Zhou-Wang/dmaengine-hisilicon-Add-Kunpeng-DMA-engine-support/20191124-185003
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 6b8a794678763130b7e7d049985008641dc494e8
> 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/hisi_dma.c: In function 'hisi_dma_probe':
>>> drivers//dma/hisi_dma.c:495:8: error: implicit declaration of function 'pcim_enable_device'; did you mean 'pci_enable_device'? [-Werror=implicit-function-declaration]
>      ret = pcim_enable_device(pdev);

it is pcim_enable_device, which is defined in drivers/pci/pci.c and export outside.

>            ^~~~~~~~~~~~~~~~~~
>            pci_enable_device
>    drivers//dma/hisi_dma.c: At top level:
>>> drivers//dma/hisi_dma.c:579:1: warning: data definition has no type or storage class
>     module_pci_driver(hisi_dma_pci_driver);
>     ^~~~~~~~~~~~~~~~~
>>> drivers//dma/hisi_dma.c:579:1: error: type defaults to 'int' in declaration of 'module_pci_driver' [-Werror=implicit-int]
>>> drivers//dma/hisi_dma.c:579:1: warning: parameter names (without types) in function declaration
>    drivers//dma/hisi_dma.c:573:26: warning: 'hisi_dma_pci_driver' defined but not used [-Wunused-variable]
>     static struct pci_driver hisi_dma_pci_driver = {
>                              ^~~~~~~~~~~~~~~~~~~
>    cc1: some warnings being treated as errors

Just copy the ways in other drivers, not sure that is the wrong here?
> 
> vim +495 drivers//dma/hisi_dma.c
> 
>    486	
>    487	static int hisi_dma_probe(struct pci_dev *pdev, const struct pci_device_id *id)
>    488	{
>    489		struct device *dev = &pdev->dev;
>    490		struct hisi_dma_dev *hdma_dev;
>    491		struct dma_device *dma_dev;
>    492		size_t dev_size;
>    493		int ret;
>    494	
>  > 495		ret = pcim_enable_device(pdev);
>    496		if (ret) {
>    497			dev_err(dev, "failed to enable device mem!\n");
>    498			return ret;
>    499		}
>    500	
>    501		ret = pcim_iomap_regions(pdev, 1 << PCI_BAR_2, pci_name(pdev));
>    502		if (ret) {
>    503			dev_err(dev, "failed to remap I/O region!\n");
>    504			return ret;
>    505		}
>    506	
>    507		ret = pci_set_dma_mask(pdev, DMA_BIT_MASK(64));
>    508		if (ret)
>    509			return ret;
>    510	
>    511		ret = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64));
>    512		if (ret)
>    513			return ret;
>    514	
>    515		dev_size = sizeof(struct hisi_dma_chan) * HISI_DMA_CHAN_NUM +
>    516			   sizeof(*hdma_dev);
>    517		hdma_dev = devm_kzalloc(dev, dev_size, GFP_KERNEL);
>    518		if (!hdma_dev)
>    519			return -EINVAL;
>    520	
>    521		hdma_dev->base = pcim_iomap_table(pdev)[PCI_BAR_2];
>    522		hdma_dev->pdev = pdev;
>    523		hdma_dev->chan_num = HISI_DMA_CHAN_NUM;
>    524		hdma_dev->chan_depth = HISI_DMA_Q_DEPTH_VAL;
>    525	
>    526		pci_set_drvdata(pdev, hdma_dev);
>    527		pci_set_master(pdev);
>    528	
>    529		ret = pci_alloc_irq_vectors(pdev, HISI_DMA_MSI_NUM, HISI_DMA_MSI_NUM,
>    530					    PCI_IRQ_MSI);
>    531		if (ret < 0) {
>    532			dev_err(dev, "Failed to allocate MSI vectors!\n");
>    533			return ret;
>    534		}
>    535	
>    536		dma_dev = &hdma_dev->dma_dev;
>    537		dma_cap_set(DMA_MEMCPY, dma_dev->cap_mask);
>    538		dma_dev->device_free_chan_resources = hisi_dma_free_chan_resources;
>    539		dma_dev->device_prep_dma_memcpy = hisi_dma_prep_dma_memcpy;
>    540		dma_dev->device_tx_status = hisi_dma_tx_status;
>    541		dma_dev->device_issue_pending = hisi_dma_issue_pending;
>    542		dma_dev->device_terminate_all = hisi_dma_terminate_all;
>    543		dma_dev->device_synchronize = hisi_dma_synchronize;
>    544		dma_dev->directions = BIT(DMA_MEM_TO_MEM);
>    545		dma_dev->dev = dev;
>    546		INIT_LIST_HEAD(&dma_dev->channels);
>    547	
>    548		hisi_dma_set_mode(hdma_dev, RC);
>    549	
>    550		ret = hisi_dma_enable_hw_channels(hdma_dev);
>    551		if (ret < 0) {
>    552			dev_err(dev, "failed to enable hw channel!\n");
>    553			return ret;
>    554		}
>    555	
>    556		ret = devm_add_action_or_reset(dev, hisi_dma_disable_hw_channels,
>    557					       hdma_dev);
>    558		if (ret)
>    559			return ret;
>    560	
>    561		ret = dmaenginem_async_device_register(dma_dev);
>    562		if (ret < 0)
>    563			dev_err(dev, "failed to register device!\n");
>    564	
>    565		return ret;
>    566	}
>    567	
>    568	static const struct pci_device_id hisi_dma_pci_tbl[] = {
>    569		{ PCI_DEVICE(PCI_VENDOR_ID_HUAWEI, PCI_DEVICE_ID_HISI_DMA) },
>    570		{ 0, }
>    571	};
>    572	
>    573	static struct pci_driver hisi_dma_pci_driver = {
>    574		.name		= "hisi_dma",
>    575		.id_table	= hisi_dma_pci_tbl,
>    576		.probe		= hisi_dma_probe,
>    577	};
>    578	
>  > 579	module_pci_driver(hisi_dma_pci_driver);
>    580	
> 
> ---
> 0-DAY kernel test infrastructure                 Open Source Technology Center
> https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation
> 

      reply	other threads:[~2019-11-25  3:09 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-22 11:15 [RFC PATCH] dmaengine: hisilicon: Add Kunpeng DMA engine support Zhou Wang
2019-11-24 15:49 ` kbuild test robot
2019-11-25  3:09   ` Zhou Wang [this message]

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=5DDB45F3.2070806@hisilicon.com \
    --to=wangzhou1@hisilicon.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.