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 05:27:12 +0800 [thread overview]
Message-ID: <201911020541.5ELjpdoJ%lkp@intel.com> (raw)
In-Reply-To: <cea86875039d0f58e5c0b19222e4e99fcb9890ea.1572441900.git.a.gordeev.box@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 4637 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: sparc64-allmodconfig (attached as .config)
compiler: sparc64-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=sparc64
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-test/avalon-sg-buf.c: In function 'dma_sg_buf_alloc':
>> drivers/dma/avalon-test/avalon-sg-buf.c:93:15: error: implicit declaration of function 'vm_map_ram'; did you mean 'vm_map_pages'? [-Werror=implicit-function-declaration]
buf->vaddr = vm_map_ram(buf->pages, buf->num_pages, -1, PAGE_KERNEL);
^~~~~~~~~~
vm_map_pages
>> drivers/dma/avalon-test/avalon-sg-buf.c:93:13: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
buf->vaddr = vm_map_ram(buf->pages, buf->num_pages, -1, PAGE_KERNEL);
^
drivers/dma/avalon-test/avalon-sg-buf.c: In function 'dma_sg_buf_free':
>> drivers/dma/avalon-test/avalon-sg-buf.c:124:2: error: implicit declaration of function 'vm_unmap_ram'; did you mean 'vm_munmap'? [-Werror=implicit-function-declaration]
vm_unmap_ram(buf->vaddr, buf->num_pages);
^~~~~~~~~~~~
vm_munmap
cc1: some warnings being treated as errors
vim +93 drivers/dma/avalon-test/avalon-sg-buf.c
51
52 struct dma_sg_buf *dma_sg_buf_alloc(struct device *dev,
53 unsigned long size,
54 enum dma_data_direction dma_dir,
55 gfp_t gfp_flags)
56 {
57 struct dma_sg_buf *buf;
58 struct sg_table *sgt;
59 int ret;
60 int num_pages;
61
62 buf = kzalloc(sizeof(*buf), GFP_KERNEL);
63 if (!buf)
64 return ERR_PTR(-ENOMEM);
65
66 buf->dma_dir = dma_dir;
67 buf->size = size;
68 buf->num_pages = size >> PAGE_SHIFT;
69
70 buf->pages = kvcalloc(buf->num_pages, sizeof(struct page *), GFP_KERNEL);
71 if (!buf->pages)
72 goto free_buf;
73
74 ret = dma_sg_alloc_compacted(buf, gfp_flags);
75 if (ret)
76 goto free_arr;
77
78 ret = sg_alloc_table_from_pages(&buf->sgt, buf->pages,
79 buf->num_pages, 0, size,
80 GFP_KERNEL);
81 if (ret)
82 goto free_pages;
83
84 buf->dev = get_device(dev);
85
86 sgt = &buf->sgt;
87
88 sgt->nents = dma_map_sg_attrs(buf->dev, sgt->sgl, sgt->orig_nents,
89 buf->dma_dir, DMA_ATTR_SKIP_CPU_SYNC);
90 if (!sgt->nents)
91 goto free_sgt;
92
> 93 buf->vaddr = vm_map_ram(buf->pages, buf->num_pages, -1, PAGE_KERNEL);
94 if (!buf->vaddr)
95 goto unmap_sg;
96
97 return buf;
98
99 unmap_sg:
100 dma_unmap_sg_attrs(buf->dev, sgt->sgl, sgt->orig_nents,
101 buf->dma_dir, DMA_ATTR_SKIP_CPU_SYNC);
102 free_sgt:
103 put_device(buf->dev);
104 sg_free_table(&buf->sgt);
105 free_pages:
106 num_pages = buf->num_pages;
107 while (num_pages--)
108 __free_page(buf->pages[num_pages]);
109 free_arr:
110 kvfree(buf->pages);
111 free_buf:
112 kfree(buf);
113
114 return ERR_PTR(-ENOMEM);
115 }
116
117 void dma_sg_buf_free(struct dma_sg_buf *buf)
118 {
119 struct sg_table *sgt = &buf->sgt;
120 int i = buf->num_pages;
121
122 dma_unmap_sg_attrs(buf->dev, sgt->sgl, sgt->orig_nents,
123 buf->dma_dir, DMA_ATTR_SKIP_CPU_SYNC);
> 124 vm_unmap_ram(buf->vaddr, buf->num_pages);
---
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: 59125 bytes --]
next prev parent reply other threads:[~2019-11-01 21:27 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 [this message]
2019-11-01 22:01 ` kbuild test robot
2019-11-03 14:58 ` kbuild test robot
2019-11-03 14:58 ` [RFC PATCH] dmaengine: avalon-test: avalon_dev_fops can be static 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=201911020541.5ELjpdoJ%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.