From: kbuild test robot <lkp@intel.com>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: kbuild-all@lists.01.org, Joerg Roedel <joro@8bytes.org>,
Robin Murphy <robin.murphy@arm.com>,
Jean-Philippe Brucker <jean-philippe@linaro.org>,
Eric Auger <eric.auger@redhat.com>,
Douglas Anderson <dianders@chromium.org>,
Suman Anna <s-anna@ti.com>, Tero Kristo <t-kristo@ti.com>,
iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org,
Krzysztof Kozlowski <krzk@kernel.org>
Subject: Re: [PATCH 3/3] iommu: Enable compile testing for some of drivers
Date: Tue, 31 Dec 2019 09:08:38 +0800 [thread overview]
Message-ID: <201912310916.ScYTgEyR%lkp@intel.com> (raw)
In-Reply-To: <20191230172619.17814-3-krzk@kernel.org>
[-- Attachment #1: Type: text/plain, Size: 8849 bytes --]
Hi Krzysztof,
I love your patch! Yet something to improve:
[auto build test ERROR on iommu/next]
[also build test ERROR on v5.5-rc4 next-20191219]
[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/Krzysztof-Kozlowski/iommu-omap-Fix-pointer-cast-Wpointer-to-int-cast-warnings-on-64-bit/20191231-022212
base: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next
config: sparc64-allmodconfig (attached as .config)
compiler: sparc64-linux-gcc (GCC) 7.5.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.5.0 make.cross ARCH=sparc64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/gpu/drm/rockchip/rockchip_drm_gem.c: In function 'rockchip_gem_alloc_iommu':
>> drivers/gpu/drm/rockchip/rockchip_drm_gem.c:134:20: error: implicit declaration of function 'vmap'; did you mean 'bmap'? [-Werror=implicit-function-declaration]
rk_obj->kvaddr = vmap(rk_obj->pages, rk_obj->num_pages, VM_MAP,
^~~~
bmap
>> drivers/gpu/drm/rockchip/rockchip_drm_gem.c:134:59: error: 'VM_MAP' undeclared (first use in this function); did you mean 'VM_MPX'?
rk_obj->kvaddr = vmap(rk_obj->pages, rk_obj->num_pages, VM_MAP,
^~~~~~
VM_MPX
drivers/gpu/drm/rockchip/rockchip_drm_gem.c:134:59: note: each undeclared identifier is reported only once for each function it appears in
drivers/gpu/drm/rockchip/rockchip_drm_gem.c: In function 'rockchip_gem_free_iommu':
>> drivers/gpu/drm/rockchip/rockchip_drm_gem.c:190:2: error: implicit declaration of function 'vunmap'; did you mean 'iounmap'? [-Werror=implicit-function-declaration]
vunmap(rk_obj->kvaddr);
^~~~~~
iounmap
drivers/gpu/drm/rockchip/rockchip_drm_gem.c: In function 'rockchip_gem_prime_vmap':
drivers/gpu/drm/rockchip/rockchip_drm_gem.c:547:49: error: 'VM_MAP' undeclared (first use in this function); did you mean 'VM_MPX'?
return vmap(rk_obj->pages, rk_obj->num_pages, VM_MAP,
^~~~~~
VM_MPX
cc1: some warnings being treated as errors
vim +134 drivers/gpu/drm/rockchip/rockchip_drm_gem.c
38f993b7c59e26 Tomasz Figa 2016-06-24 119
38f993b7c59e26 Tomasz Figa 2016-06-24 120 static int rockchip_gem_alloc_iommu(struct rockchip_gem_object *rk_obj,
38f993b7c59e26 Tomasz Figa 2016-06-24 121 bool alloc_kmap)
38f993b7c59e26 Tomasz Figa 2016-06-24 122 {
38f993b7c59e26 Tomasz Figa 2016-06-24 123 int ret;
38f993b7c59e26 Tomasz Figa 2016-06-24 124
38f993b7c59e26 Tomasz Figa 2016-06-24 125 ret = rockchip_gem_get_pages(rk_obj);
38f993b7c59e26 Tomasz Figa 2016-06-24 126 if (ret < 0)
38f993b7c59e26 Tomasz Figa 2016-06-24 127 return ret;
38f993b7c59e26 Tomasz Figa 2016-06-24 128
38f993b7c59e26 Tomasz Figa 2016-06-24 129 ret = rockchip_gem_iommu_map(rk_obj);
38f993b7c59e26 Tomasz Figa 2016-06-24 130 if (ret < 0)
38f993b7c59e26 Tomasz Figa 2016-06-24 131 goto err_free;
38f993b7c59e26 Tomasz Figa 2016-06-24 132
38f993b7c59e26 Tomasz Figa 2016-06-24 133 if (alloc_kmap) {
38f993b7c59e26 Tomasz Figa 2016-06-24 @134 rk_obj->kvaddr = vmap(rk_obj->pages, rk_obj->num_pages, VM_MAP,
38f993b7c59e26 Tomasz Figa 2016-06-24 135 pgprot_writecombine(PAGE_KERNEL));
38f993b7c59e26 Tomasz Figa 2016-06-24 136 if (!rk_obj->kvaddr) {
38f993b7c59e26 Tomasz Figa 2016-06-24 137 DRM_ERROR("failed to vmap() buffer\n");
38f993b7c59e26 Tomasz Figa 2016-06-24 138 ret = -ENOMEM;
38f993b7c59e26 Tomasz Figa 2016-06-24 139 goto err_unmap;
38f993b7c59e26 Tomasz Figa 2016-06-24 140 }
38f993b7c59e26 Tomasz Figa 2016-06-24 141 }
38f993b7c59e26 Tomasz Figa 2016-06-24 142
38f993b7c59e26 Tomasz Figa 2016-06-24 143 return 0;
38f993b7c59e26 Tomasz Figa 2016-06-24 144
38f993b7c59e26 Tomasz Figa 2016-06-24 145 err_unmap:
38f993b7c59e26 Tomasz Figa 2016-06-24 146 rockchip_gem_iommu_unmap(rk_obj);
38f993b7c59e26 Tomasz Figa 2016-06-24 147 err_free:
38f993b7c59e26 Tomasz Figa 2016-06-24 148 rockchip_gem_put_pages(rk_obj);
38f993b7c59e26 Tomasz Figa 2016-06-24 149
38f993b7c59e26 Tomasz Figa 2016-06-24 150 return ret;
38f993b7c59e26 Tomasz Figa 2016-06-24 151 }
38f993b7c59e26 Tomasz Figa 2016-06-24 152
38f993b7c59e26 Tomasz Figa 2016-06-24 153 static int rockchip_gem_alloc_dma(struct rockchip_gem_object *rk_obj,
f76c83b580043d Daniel Kurtz 2015-01-12 154 bool alloc_kmap)
2048e3286f347d Mark Yao 2014-08-22 155 {
2048e3286f347d Mark Yao 2014-08-22 156 struct drm_gem_object *obj = &rk_obj->base;
2048e3286f347d Mark Yao 2014-08-22 157 struct drm_device *drm = obj->dev;
2048e3286f347d Mark Yao 2014-08-22 158
00085f1efa387a Krzysztof Kozlowski 2016-08-03 159 rk_obj->dma_attrs = DMA_ATTR_WRITE_COMBINE;
2048e3286f347d Mark Yao 2014-08-22 160
f76c83b580043d Daniel Kurtz 2015-01-12 161 if (!alloc_kmap)
00085f1efa387a Krzysztof Kozlowski 2016-08-03 162 rk_obj->dma_attrs |= DMA_ATTR_NO_KERNEL_MAPPING;
f76c83b580043d Daniel Kurtz 2015-01-12 163
2048e3286f347d Mark Yao 2014-08-22 164 rk_obj->kvaddr = dma_alloc_attrs(drm->dev, obj->size,
2048e3286f347d Mark Yao 2014-08-22 165 &rk_obj->dma_addr, GFP_KERNEL,
00085f1efa387a Krzysztof Kozlowski 2016-08-03 166 rk_obj->dma_attrs);
4b9a90c0b374f8 Daniel Kurtz 2015-01-07 167 if (!rk_obj->kvaddr) {
913bb40a45f18f Brian Norris 2016-06-09 168 DRM_ERROR("failed to allocate %zu byte dma buffer", obj->size);
4b9a90c0b374f8 Daniel Kurtz 2015-01-07 169 return -ENOMEM;
2048e3286f347d Mark Yao 2014-08-22 170 }
2048e3286f347d Mark Yao 2014-08-22 171
2048e3286f347d Mark Yao 2014-08-22 172 return 0;
2048e3286f347d Mark Yao 2014-08-22 173 }
2048e3286f347d Mark Yao 2014-08-22 174
38f993b7c59e26 Tomasz Figa 2016-06-24 175 static int rockchip_gem_alloc_buf(struct rockchip_gem_object *rk_obj,
38f993b7c59e26 Tomasz Figa 2016-06-24 176 bool alloc_kmap)
38f993b7c59e26 Tomasz Figa 2016-06-24 177 {
38f993b7c59e26 Tomasz Figa 2016-06-24 178 struct drm_gem_object *obj = &rk_obj->base;
38f993b7c59e26 Tomasz Figa 2016-06-24 179 struct drm_device *drm = obj->dev;
38f993b7c59e26 Tomasz Figa 2016-06-24 180 struct rockchip_drm_private *private = drm->dev_private;
38f993b7c59e26 Tomasz Figa 2016-06-24 181
38f993b7c59e26 Tomasz Figa 2016-06-24 182 if (private->domain)
38f993b7c59e26 Tomasz Figa 2016-06-24 183 return rockchip_gem_alloc_iommu(rk_obj, alloc_kmap);
38f993b7c59e26 Tomasz Figa 2016-06-24 184 else
38f993b7c59e26 Tomasz Figa 2016-06-24 185 return rockchip_gem_alloc_dma(rk_obj, alloc_kmap);
38f993b7c59e26 Tomasz Figa 2016-06-24 186 }
38f993b7c59e26 Tomasz Figa 2016-06-24 187
38f993b7c59e26 Tomasz Figa 2016-06-24 188 static void rockchip_gem_free_iommu(struct rockchip_gem_object *rk_obj)
38f993b7c59e26 Tomasz Figa 2016-06-24 189 {
38f993b7c59e26 Tomasz Figa 2016-06-24 @190 vunmap(rk_obj->kvaddr);
38f993b7c59e26 Tomasz Figa 2016-06-24 191 rockchip_gem_iommu_unmap(rk_obj);
38f993b7c59e26 Tomasz Figa 2016-06-24 192 rockchip_gem_put_pages(rk_obj);
38f993b7c59e26 Tomasz Figa 2016-06-24 193 }
38f993b7c59e26 Tomasz Figa 2016-06-24 194
:::::: The code at line 134 was first introduced by commit
:::::: 38f993b7c59e261b8ff7deb66c96c7dff4017f7b drm/rockchip: Do not use DMA mapping API if attached to IOMMU domain
:::::: TO: Tomasz Figa <tfiga@chromium.org>
:::::: CC: Mark Yao <mark.yao@rock-chips.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 60049 bytes --]
next prev parent reply other threads:[~2019-12-31 1:09 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-30 17:26 [PATCH 1/3] iommu: omap: Fix pointer cast -Wpointer-to-int-cast warnings on 64 bit Krzysztof Kozlowski
2019-12-30 17:26 ` [PATCH 2/3] iommu: omap: Fix printing format for size_t on 64-bit Krzysztof Kozlowski
2020-01-02 22:30 ` Suman Anna
2019-12-30 17:26 ` [PATCH 3/3] iommu: Enable compile testing for some of drivers Krzysztof Kozlowski
2019-12-31 1:08 ` kbuild test robot [this message]
2019-12-31 8:14 ` Krzysztof Kozlowski
2019-12-31 7:43 ` kbuild test robot
2019-12-31 8:07 ` Krzysztof Kozlowski
2020-01-02 22:40 ` Suman Anna
2020-01-03 8:57 ` Krzysztof Kozlowski
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=201912310916.ScYTgEyR%lkp@intel.com \
--to=lkp@intel.com \
--cc=dianders@chromium.org \
--cc=eric.auger@redhat.com \
--cc=iommu@lists.linux-foundation.org \
--cc=jean-philippe@linaro.org \
--cc=joro@8bytes.org \
--cc=kbuild-all@lists.01.org \
--cc=krzk@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robin.murphy@arm.com \
--cc=s-anna@ti.com \
--cc=t-kristo@ti.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox