Content-Type: multipart/mixed; boundary="===============5524232352249843431==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: Re: [PATCH 7/7] drm/i915: Use struct vma_resource instead of struct vma_snapshot Date: Thu, 16 Dec 2021 02:50:56 +0800 Message-ID: <202112160255.Kmo6u2NC-lkp@intel.com> In-Reply-To: <20211215103611.777665-8-thomas.hellstrom@linux.intel.com> List-Id: --===============5524232352249843431== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi "Thomas, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on drm-tip/drm-tip] [also build test WARNING on next-20211214] [cannot apply to drm-exynos/exynos-drm-next drm/drm-next drm-intel/for-linu= x-next v5.16-rc5] [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/Thomas-Hellstr-m/drm-i915-= Asynchronous-vma-unbinding/20211215-183859 base: git://anongit.freedesktop.org/drm/drm-tip drm-tip config: i386-randconfig-a003-20211214 (https://download.01.org/0day-ci/arch= ive/20211216/202112160255.Kmo6u2NC-lkp(a)intel.com/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=3D1 build): # https://github.com/0day-ci/linux/commit/ede025870be746e37b5bcde12= 3cdf741aa685fab git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Thomas-Hellstr-m/drm-i915-Asynchro= nous-vma-unbinding/20211215-183859 git checkout ede025870be746e37b5bcde123cdf741aa685fab # save the config file to linux build tree mkdir build_dir make W=3D1 O=3Dbuild_dir ARCH=3Di386 SHELL=3D/bin/bash drivers/gpu/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): In file included from drivers/gpu/drm/i915/i915_request.h:43, from drivers/gpu/drm/i915/i915_active.h:13, from drivers/gpu/drm/i915/gt/intel_ggtt_fencing.h:12, from drivers/gpu/drm/i915/i915_vma.h:33, from drivers/gpu/drm/i915/display/intel_display_types.h= :50, from drivers/gpu/drm/i915/i915_driver.c:51: >> drivers/gpu/drm/i915/i915_vma_resource.h:176:15: warning: 'struct intel_= memory_region' declared inside parameter list will not be visible outside o= f this definition or declaration 176 | struct intel_memory_region *mr, | ^~~~~~~~~~~~~~~~~~~ -- In file included from drivers/gpu/drm/i915/i915_request.h:43, from drivers/gpu/drm/i915/i915_active.h:13, from drivers/gpu/drm/i915/gem/i915_gem_object_types.h:1= 6, from drivers/gpu/drm/i915/display/intel_frontbuffer.h:3= 0, from drivers/gpu/drm/i915/i915_drv.h:74, from drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c:9: >> drivers/gpu/drm/i915/i915_vma_resource.h:176:15: warning: 'struct intel_= memory_region' declared inside parameter list will not be visible outside o= f this definition or declaration 176 | struct intel_memory_region *mr, | ^~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c:464:5: warning: no previous= prototype for 'prev_deps' [-Wmissing-prototypes] 464 | int prev_deps(struct ttm_buffer_object *bo, struct ttm_operation= _ctx *ctx, | ^~~~~~~~~ -- In file included from drivers/gpu/drm/i915/i915_request.h:43, from drivers/gpu/drm/i915/i915_active.h:13, from drivers/gpu/drm/i915/gem/i915_gem_object_types.h:1= 6, from drivers/gpu/drm/i915/display/intel_frontbuffer.h:3= 0, from drivers/gpu/drm/i915/i915_vma.c:28: >> drivers/gpu/drm/i915/i915_vma_resource.h:176:15: warning: 'struct intel_= memory_region' declared inside parameter list will not be visible outside o= f this definition or declaration 176 | struct intel_memory_region *mr, | ^~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/i915/i915_vma.c: In function 'i915_vma_resource_init_fro= m_vma': drivers/gpu/drm/i915/i915_vma.c:394:48: error: passing argument 8 of 'i9= 15_vma_resource_init' from incompatible pointer type [-Werror=3Dincompatibl= e-pointer-types] 394 | i915_gem_object_is_lmem(obj), obj->mm.region, | ~~~~~~~^~~~~~~ | | | struct intel_memo= ry_region * In file included from drivers/gpu/drm/i915/i915_request.h:43, from drivers/gpu/drm/i915/i915_active.h:13, from drivers/gpu/drm/i915/gem/i915_gem_object_types.h:1= 6, from drivers/gpu/drm/i915/display/intel_frontbuffer.h:3= 0, from drivers/gpu/drm/i915/i915_vma.c:28: drivers/gpu/drm/i915/i915_vma_resource.h:176:36: note: expected 'struct = intel_memory_region *' but argument is of type 'struct intel_memory_region = *' 176 | struct intel_memory_region *mr, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ cc1: some warnings being treated as errors -- In file included from drivers/gpu/drm/i915/i915_request.h:43, from drivers/gpu/drm/i915/i915_active.h:13, from drivers/gpu/drm/i915/gem/i915_gem_object_types.h:1= 6, from drivers/gpu/drm/i915/display/intel_frontbuffer.h:3= 0, from drivers/gpu/drm/i915/i915_drv.h:74, from drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c:12: >> drivers/gpu/drm/i915/i915_vma_resource.h:176:15: warning: 'struct intel_= memory_region' declared inside parameter list will not be visible outside o= f this definition or declaration 176 | struct intel_memory_region *mr, | ^~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c:59:6: warning: no previous = prototype for 'intel_pxp_debugfs_register' [-Wmissing-prototypes] 59 | void intel_pxp_debugfs_register(struct intel_pxp *pxp, struct de= ntry *gt_root) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ vim +176 drivers/gpu/drm/i915/i915_vma_resource.h 146 = 147 /** 148 * i915_vma_resource_init - Initialize a vma resource. 149 * @vma_res: The vma resource to initialize 150 * @vm: Pointer to the vm. 151 * @pages: The pages sg-table. 152 * @page_sizes: Page sizes of the pages. 153 * @pages_rsgt: Pointer to a struct i915_refct_sgt of an object with 154 * delayed destruction. 155 * @readonly: Whether the vma should be bound read-only. 156 * @lmem: Whether the vma points to lmem. 157 * @mr: The memory region of the object the vma points to. 158 * @ops: The backend ops. 159 * @private: Bind backend private info. 160 * @start: Offset into the address space of bind range start. 161 * @node_size: Size of the allocated range manager node. 162 * @size: Bind size. 163 * 164 * Initializes a vma resource allocated using i915_vma_resource_allo= c(). 165 * The reason for having separate allocate and initialize function i= s that 166 * initialization may need to be performed from under a lock where 167 * allocation is not allowed. 168 */ 169 static inline void i915_vma_resource_init(struct i915_vma_resource *= vma_res, 170 struct i915_address_space *vm, 171 struct sg_table *pages, 172 const struct i915_page_sizes *page_sizes, 173 struct i915_refct_sgt *pages_rsgt, 174 bool readonly, 175 bool lmem, > 176 struct intel_memory_region *mr, 177 const struct i915_vma_ops *ops, 178 void *private, 179 unsigned long start, 180 unsigned long node_size, 181 unsigned long size) 182 { 183 __i915_vma_resource_init(vma_res); 184 vma_res->vm =3D vm; 185 vma_res->bi.pages =3D pages; 186 vma_res->bi.page_sizes =3D *page_sizes; 187 if (pages_rsgt) 188 vma_res->bi.pages_rsgt =3D i915_refct_sgt_get(pages_rsgt); 189 vma_res->bi.readonly =3D readonly; 190 vma_res->bi.lmem =3D lmem; 191 #if IS_ENABLED(CONFIG_DRM_I915_CAPTURE_ERROR) 192 vma_res->mr =3D mr; 193 #endif 194 vma_res->ops =3D ops; 195 vma_res->private =3D private; 196 vma_res->start =3D start; 197 vma_res->node_size =3D node_size; 198 vma_res->vma_size =3D size; 199 } 200 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============5524232352249843431==--