Hi Andrey,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-exynos/exynos-drm-next]
[also build test WARNING on drm-intel/for-linux-next 
tegra-drm/drm/tegra/for-next drm-tip/drm-tip linus/master v5.10-rc7 
next-20201208]
[cannot apply to 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/Andrey-Grodzovsky/drm-amdgpu-Initialise-drm_gem_object_funcs-for-imported-BOs/20201209-041733
base:   https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git 
exynos-drm-next
config: xtensa-randconfig-r004-20201208 (attached as .config)
compiler: xtensa-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/a7b4d98b3660452b6787b39dc59980606b462ff3
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Andrey-Grodzovsky/drm-amdgpu-Initialise-drm_gem_object_funcs-for-imported-BOs/20201209-041733
        git checkout a7b4d98b3660452b6787b39dc59980606b462ff3
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross 
ARCH=xtensa 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All warnings (new ones prefixed by >>):

   In file included from include/drm/drm_mm.h:49,
                    from include/drm/drm_vma_manager.h:26,
                    from include/drm/drm_gem.h:40,
                    from include/drm/drm_gem_ttm_helper.h:8,
                    from drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c:36:
   drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c: In function 
'amdgpu_gem_create_ioctl':
>> drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c:288:14: warning: format '%ld' 
>> expects argument of type 'long int', but argument 3 has type 'uint64_t' {aka 
>> 'long long unsigned int'} [-Wformat=]
     288 |    DRM_DEBUG("Failed to allocate GEM object (%ld, %d, %u, %d)\n",
         |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     289 |       size, initial_domain, args->in.alignment, r);
         |       ~~~~    
         |       |
         |       uint64_t {aka long long unsigned int}
   include/drm/drm_print.h:504:25: note: in definition of macro 'DRM_DEBUG'
     504 |  __drm_dbg(DRM_UT_CORE, fmt, ##__VA_ARGS__)
         |                         ^~~
   drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c:288:48: note: format string is 
defined here
     288 |    DRM_DEBUG("Failed to allocate GEM object (%ld, %d, %u, %d)\n",
         |                                              ~~^
         |                                                |
         |                                                long int
         |                                              %lld
   In file included from include/drm/drm_mm.h:49,
                    from include/drm/drm_vma_manager.h:26,
                    from include/drm/drm_gem.h:40,
                    from include/drm/drm_gem_ttm_helper.h:8,
                    from drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c:36:
>> drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c:288:14: warning: format '%u' expects 
>> argument of type 'unsigned int', but argument 5 has type '__u64' {aka 'long 
>> long unsigned int'} [-Wformat=]
     288 |    DRM_DEBUG("Failed to allocate GEM object (%ld, %d, %u, %d)\n",
         |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     289 |       size, initial_domain, args->in.alignment, r);
         |                             ~~~~~~~~~~~~~~~~~~
         |                                     |
         |                                     __u64 {aka long long unsigned 
int}
   include/drm/drm_print.h:504:25: note: in definition of macro 'DRM_DEBUG'
     504 |  __drm_dbg(DRM_UT_CORE, fmt, ##__VA_ARGS__)
         |                         ^~~
   drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c:288:56: note: format string is 
defined here
     288 |    DRM_DEBUG("Failed to allocate GEM object (%ld, %d, %u, %d)\n",
         |                                                       ~^
         |                                                        |
         |                                                        unsigned int
         |                                                       %llu
   In file included from drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c:38:
   At top level:
   drivers/gpu/drm/amd/amdgpu/amdgpu.h:198:19: warning: 'no_system_mem_limit' 
defined but not used [-Wunused-const-variable=]
     198 | static const bool no_system_mem_limit;
         |                   ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/amdgpu.h:197:19: warning: 'debug_evictions' 
defined but not used [-Wunused-const-variable=]
     197 | static const bool debug_evictions; /* = false */
         |                   ^~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/amdgpu.h:196:18: warning: 'sched_policy' defined 
but not used [-Wunused-const-variable=]
     196 | static const int sched_policy = KFD_SCHED_POLICY_HWS;
         |                  ^~~~~~~~~~~~
   In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/dc_types.h:33,
                    from 
drivers/gpu/drm/amd/amdgpu/../display/dc/dm_services_types.h:30,
                    from 
drivers/gpu/drm/amd/amdgpu/../include/dm_pp_interface.h:26,
                    from drivers/gpu/drm/amd/amdgpu/amdgpu.h:67,
                    from drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c:38:
   drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:76:32: warning: 
'dc_fixpt_ln2_div_2' defined but not used [-Wunused-const-variable=]
      76 | static const struct fixed31_32 dc_fixpt_ln2_div_2 = { 1488522236LL };
         |                                ^~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:75:32: warning: 
'dc_fixpt_ln2' defined but not used [-Wunused-const-variable=]
      75 | static const struct fixed31_32 dc_fixpt_ln2 = { 2977044471LL };
         |                                ^~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:74:32: warning: 
'dc_fixpt_e' defined but not used [-Wunused-const-variable=]
      74 | static const struct fixed31_32 dc_fixpt_e = { 11674931555LL };
         |                                ^~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:73:32: warning: 
'dc_fixpt_two_pi' defined but not used [-Wunused-const-variable=]
      73 | static const struct fixed31_32 dc_fixpt_two_pi = { 26986075409LL };
         |                                ^~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:72:32: warning: 
'dc_fixpt_pi' defined but not used [-Wunused-const-variable=]
      72 | static const struct fixed31_32 dc_fixpt_pi = { 13493037705LL };
         |                                ^~~~~~~~~~~

vim +288 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c

   213  
   214  /*
   215   * GEM ioctls.
   216   */
   217  int amdgpu_gem_create_ioctl(struct drm_device *dev, void *data,
   218                              struct drm_file *filp)
   219  {
   220          struct amdgpu_device *adev = drm_to_adev(dev);
   221          struct amdgpu_fpriv *fpriv = filp->driver_priv;
   222          struct amdgpu_vm *vm = &fpriv->vm;
   223          union drm_amdgpu_gem_create *args = data;
   224          uint64_t flags = args->in.domain_flags;
   225          uint64_t size = args->in.bo_size;
   226          struct dma_resv *resv = NULL;
   227          struct drm_gem_object *gobj;
   228          uint32_t handle, initial_domain;
   229          int r;
   230  
   231          /* reject invalid gem flags */
   232          if (flags & ~(AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
   233                        AMDGPU_GEM_CREATE_NO_CPU_ACCESS |
   234                        AMDGPU_GEM_CREATE_CPU_GTT_USWC |
   235                        AMDGPU_GEM_CREATE_VRAM_CLEARED |
   236                        AMDGPU_GEM_CREATE_VM_ALWAYS_VALID |
   237                        AMDGPU_GEM_CREATE_EXPLICIT_SYNC |
   238                        AMDGPU_GEM_CREATE_ENCRYPTED))
   239  
   240                  return -EINVAL;
   241  
   242          /* reject invalid gem domains */
   243          if (args->in.domains & ~AMDGPU_GEM_DOMAIN_MASK)
   244                  return -EINVAL;
   245  
   246          if (!amdgpu_is_tmz(adev) && (flags & 
AMDGPU_GEM_CREATE_ENCRYPTED)) {
   247                  DRM_NOTE_ONCE("Cannot allocate secure buffer since TMZ 
is disabled\n");
   248                  return -EINVAL;
   249          }
   250  
   251          /* create a gem object to contain this object in */
   252          if (args->in.domains & (AMDGPU_GEM_DOMAIN_GDS |
   253              AMDGPU_GEM_DOMAIN_GWS | AMDGPU_GEM_DOMAIN_OA)) {
   254                  if (flags & AMDGPU_GEM_CREATE_VM_ALWAYS_VALID) {
   255                          /* if gds bo is created from user space, it 
must be
   256                           * passed to bo list
   257                           */
   258                          DRM_ERROR("GDS bo cannot be per-vm-bo\n");
   259                          return -EINVAL;
   260                  }
   261                  flags |= AMDGPU_GEM_CREATE_NO_CPU_ACCESS;
   262          }
   263  
   264          if (flags & AMDGPU_GEM_CREATE_VM_ALWAYS_VALID) {
   265                  r = amdgpu_bo_reserve(vm->root.base.bo, false);
   266                  if (r)
   267                          return r;
   268  
   269                  resv = vm->root.base.bo->tbo.base.resv;
   270          }
   271  
   272  retry:
   273          initial_domain = (u32)(0xffffffff & args->in.domains);
   274          r = amdgpu_gem_object_create(adev, size, args->in.alignment,
   275                                       initial_domain,
   276                                       flags, ttm_bo_type_device, resv, 
&gobj);
   277          if (r) {
   278                  if (r != -ERESTARTSYS) {
   279                          if (flags & 
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED) {
   280                                  flags &= 
~AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED;
   281                                  goto retry;
   282                          }
   283  
   284                          if (initial_domain == AMDGPU_GEM_DOMAIN_VRAM) {
   285                                  initial_domain |= AMDGPU_GEM_DOMAIN_GTT;
   286                                  goto retry;
   287                          }
 > 288                          DRM_DEBUG("Failed to allocate GEM object (%ld, 
 > %d, %u, %d)\n",
   289                                    size, initial_domain, 
args->in.alignment, r);
   290                  }
   291                  return r;
   292          }
   293  
   294          if (flags & AMDGPU_GEM_CREATE_VM_ALWAYS_VALID) {
   295                  if (!r) {
   296                          struct amdgpu_bo *abo = gem_to_amdgpu_bo(gobj);
   297  
   298                          abo->parent = amdgpu_bo_ref(vm->root.base.bo);
   299                  }
   300                  amdgpu_bo_unreserve(vm->root.base.bo);
   301          }
   302          if (r)
   303                  return r;
   304  
   305          r = drm_gem_handle_create(filp, gobj, &handle);
   306          /* drop reference from allocate - handle holds it now */
   307          drm_gem_object_put(gobj);
   308          if (r)
   309                  return r;
   310  
   311          memset(args, 0, sizeof(*args));
   312          args->out.handle = handle;
   313          return 0;
   314  }
   315  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

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

Reply via email to