Re: [PATCH] drm/vmwgfx: Make sure the dirty tracker is released on surfaces

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Zack,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-exynos/exynos-drm-next]
[also build test ERROR on linus/master v6.14-rc5 next-20250305]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Zack-Rusin/drm-vmwgfx-Make-sure-the-dirty-tracker-is-released-on-surfaces/20250305-025105
base:   https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git exynos-drm-next
patch link:    https://lore.kernel.org/r/20250304184942.2127704-1-zack.rusin%40broadcom.com
patch subject: [PATCH] drm/vmwgfx: Make sure the dirty tracker is released on surfaces
config: arm64-randconfig-002-20250305 (https://download.01.org/0day-ci/archive/20250306/202503060226.Y7UvsIZE-lkp@xxxxxxxxx/config)
compiler: aarch64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250306/202503060226.Y7UvsIZE-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202503060226.Y7UvsIZE-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

   drivers/gpu/drm/vmwgfx/vmwgfx_kms.c: In function 'vmw_framebuffer_surface_destroy':
>> drivers/gpu/drm/vmwgfx/vmwgfx_kms.c:1236:39: error: invalid use of undefined type 'const struct vmw_res_func'
    1236 |                         surf->res.func->dirty_free(&surf->res);
         |                                       ^~


vim +1236 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c

  1196	
  1197	
  1198	/**
  1199	 * vmw_du_connector_destroy_state - destroy connector state
  1200	 * @connector: DRM connector
  1201	 * @state: state object to destroy
  1202	 *
  1203	 * Destroys the connector state (both common and vmw-specific) for the
  1204	 * specified plane.
  1205	 */
  1206	void
  1207	vmw_du_connector_destroy_state(struct drm_connector *connector,
  1208				  struct drm_connector_state *state)
  1209	{
  1210		drm_atomic_helper_connector_destroy_state(connector, state);
  1211	}
  1212	/*
  1213	 * Generic framebuffer code
  1214	 */
  1215	
  1216	/*
  1217	 * Surface framebuffer code
  1218	 */
  1219	
  1220	static void vmw_framebuffer_surface_destroy(struct drm_framebuffer *framebuffer)
  1221	{
  1222		struct vmw_framebuffer_surface *vfbs =
  1223			vmw_framebuffer_to_vfbs(framebuffer);
  1224		struct vmw_bo *bo = vmw_user_object_buffer(&vfbs->uo);
  1225		struct vmw_surface *surf = vmw_user_object_surface(&vfbs->uo);
  1226	
  1227		if (bo) {
  1228			vmw_bo_dirty_release(bo);
  1229			/*
  1230			 * bo->dirty is reference counted so it being NULL
  1231			 * means that the surface wasn't coherent to begin
  1232			 * with and so we have to free the dirty tracker
  1233			 * in the vmw_resource
  1234			 */
  1235			if (!bo->dirty && surf && surf->res.dirty)
> 1236				surf->res.func->dirty_free(&surf->res);
  1237		}
  1238		drm_framebuffer_cleanup(framebuffer);
  1239		vmw_user_object_unref(&vfbs->uo);
  1240	
  1241		kfree(vfbs);
  1242	}
  1243	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux