public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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 --]

  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