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 <l...@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-...@lists.01.org

_______________________________________________
amd-gfx mailing list
amd-...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to