[PATCH] drm/ttm: ioremap buffer according to TTM mem caching setting
Christian König
ckoenig.leichtzumerken at gmail.com
Tue Mar 2 11:31:08 UTC 2021
Hi guys,
adding the usual suspects direct. Does anybody of hand know how to check
if an architecture supports ioremap_cache()?
For now we only need this on X86, but I would feel better if we don't
use an #ifdef here.
Regards,
Christian.
Am 02.03.21 um 05:12 schrieb kernel test robot:
> Hi Oak,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on drm-intel/for-linux-next]
> [also build test ERROR on drm-tip/drm-tip linus/master v5.12-rc1 next-20210302]
> [cannot apply to tegra-drm/drm/tegra/for-next drm-exynos/exynos-drm-next drm/drm-next]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
>
> url: https://github.com/0day-ci/linux/commits/Oak-Zeng/drm-ttm-ioremap-buffer-according-to-TTM-mem-caching-setting/20210302-064500
> base: git://anongit.freedesktop.org/drm-intel for-linux-next
> config: parisc-randconfig-r012-20210302 (attached as .config)
> compiler: hppa-linux-gcc (GCC) 9.3.0
> reproduce (this is a W=1 build):
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # https://github.com/0day-ci/linux/commit/225bb3711439ec559dd72ae5af8e62d34ea60a64
> git remote add linux-review https://github.com/0day-ci/linux
> git fetch --no-tags linux-review Oak-Zeng/drm-ttm-ioremap-buffer-according-to-TTM-mem-caching-setting/20210302-064500
> git checkout 225bb3711439ec559dd72ae5af8e62d34ea60a64
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp at intel.com>
>
> All errors (new ones prefixed by >>):
>
> drivers/gpu/drm/ttm/ttm_bo_util.c: In function 'ttm_resource_ioremap':
>>> drivers/gpu/drm/ttm/ttm_bo_util.c:95:11: error: implicit declaration of function 'ioremap_cache'; did you mean 'ioremap_uc'? [-Werror=implicit-function-declaration]
> 95 | addr = ioremap_cache(mem->bus.offset, bus_size);
> | ^~~~~~~~~~~~~
> | ioremap_uc
> drivers/gpu/drm/ttm/ttm_bo_util.c:95:9: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
> 95 | addr = ioremap_cache(mem->bus.offset, bus_size);
> | ^
> drivers/gpu/drm/ttm/ttm_bo_util.c: In function 'ttm_bo_ioremap':
> drivers/gpu/drm/ttm/ttm_bo_util.c:379:17: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
> 379 | map->virtual = ioremap_cache(bo->mem.bus.offset + offset,
> | ^
> drivers/gpu/drm/ttm/ttm_bo_util.c: In function 'ttm_bo_vmap':
> drivers/gpu/drm/ttm/ttm_bo_util.c:500:16: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
> 500 | vaddr_iomem = ioremap_cache(mem->bus.offset,
> | ^
> cc1: some warnings being treated as errors
>
>
> vim +95 drivers/gpu/drm/ttm/ttm_bo_util.c
>
> 74
> 75 static int ttm_resource_ioremap(struct ttm_bo_device *bdev,
> 76 struct ttm_resource *mem,
> 77 void **virtual)
> 78 {
> 79 int ret;
> 80 void *addr;
> 81
> 82 *virtual = NULL;
> 83 ret = ttm_mem_io_reserve(bdev, mem);
> 84 if (ret || !mem->bus.is_iomem)
> 85 return ret;
> 86
> 87 if (mem->bus.addr) {
> 88 addr = mem->bus.addr;
> 89 } else {
> 90 size_t bus_size = (size_t)mem->num_pages << PAGE_SHIFT;
> 91
> 92 if (mem->bus.caching == ttm_write_combined)
> 93 addr = ioremap_wc(mem->bus.offset, bus_size);
> 94 else if (mem->bus.caching == ttm_cached)
> > 95 addr = ioremap_cache(mem->bus.offset, bus_size);
> 96 else
> 97 addr = ioremap(mem->bus.offset, bus_size);
> 98 if (!addr) {
> 99 ttm_mem_io_free(bdev, mem);
> 100 return -ENOMEM;
> 101 }
> 102 }
> 103 *virtual = addr;
> 104 return 0;
> 105 }
> 106
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20210302/b0f77b1d/attachment.htm>
More information about the amd-gfx
mailing list