[PATCH 5/5] drm/i915: Add drm_panic support

kernel test robot lkp at intel.com
Sat Nov 30 10:48:02 UTC 2024


Hi Jocelyn,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 44cff6c5b0b17a78bc0b30372bcd816cf6dd282a]

url:    https://github.com/intel-lab-lkp/linux/commits/Jocelyn-Falempe/drm-i915-fbdev-Add-intel_fbdev_getvaddr/20241130-002536
base:   44cff6c5b0b17a78bc0b30372bcd816cf6dd282a
patch link:    https://lore.kernel.org/r/20241129162232.7594-6-jfalempe%40redhat.com
patch subject: [PATCH 5/5] drm/i915: Add drm_panic support
config: i386-randconfig-061-20241130 (https://download.01.org/0day-ci/archive/20241130/202411302022.wlwTKMBh-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241130/202411302022.wlwTKMBh-lkp@intel.com/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 at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202411302022.wlwTKMBh-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/i915/display/intel_atomic_plane.c:1273:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void [noderef] __iomem *vaddr_iomem @@     got void *[assigned] ptr @@
   drivers/gpu/drm/i915/display/intel_atomic_plane.c:1273:55: sparse:     expected void [noderef] __iomem *vaddr_iomem
   drivers/gpu/drm/i915/display/intel_atomic_plane.c:1273:55: sparse:     got void *[assigned] ptr

vim +1273 drivers/gpu/drm/i915/display/intel_atomic_plane.c

  1228	
  1229	static int intel_get_scanout_buffer(struct drm_plane *plane,
  1230					    struct drm_scanout_buffer *sb)
  1231	{
  1232		struct intel_plane_state *plane_state;
  1233		struct drm_gem_object *gem_obj;
  1234		struct drm_i915_gem_object *obj;
  1235		struct drm_framebuffer *fb;
  1236		struct drm_i915_private *dev_priv = to_i915(plane->dev);
  1237		void *ptr;
  1238		enum i915_map_type has_type;
  1239	
  1240		if (!plane->state || !plane->state->fb || !plane->state->visible)
  1241			return -ENODEV;
  1242	
  1243		plane_state = to_intel_plane_state(plane->state);
  1244		fb = plane_state->hw.fb;
  1245		gem_obj = intel_fb_bo(fb);
  1246		if (!gem_obj)
  1247			return -ENODEV;
  1248	
  1249		obj = to_intel_bo(gem_obj);
  1250	
  1251		if (to_intel_framebuffer(fb) == intel_fbdev_framebuffer(dev_priv->display.fbdev.fbdev)) {
  1252			ptr = intel_fbdev_getvaddr(dev_priv->display.fbdev.fbdev);
  1253			if (!ptr)
  1254				return -ENOMEM;
  1255		} else {
  1256			/* can't disable tiling if DPT is in use */
  1257			if (fb->modifier && HAS_DPT(dev_priv))
  1258				return -EOPNOTSUPP;
  1259	
  1260			/* Taken from i915_gem_object_pin_map() */
  1261			ptr = page_unpack_bits(obj->mm.mapping, &has_type);
  1262			if (!ptr) {
  1263				if (i915_gem_object_has_struct_page(obj))
  1264					ptr = i915_gem_object_map_page(obj, I915_MAP_WB);
  1265				else
  1266					ptr = i915_gem_object_map_pfn(obj, I915_MAP_WB);
  1267				if (IS_ERR(ptr))
  1268					return -ENOMEM;
  1269			}
  1270		}
  1271	
  1272		if (i915_gem_object_has_iomem(obj))
> 1273			iosys_map_set_vaddr_iomem(&panic_map, ptr);
  1274		else
  1275			iosys_map_set_vaddr(&panic_map, ptr);
  1276	
  1277		sb->map[0] = panic_map;
  1278		sb->width = fb->width;
  1279		sb->height = fb->height;
  1280		sb->format = fb->format;
  1281		sb->pitch[0] = fb->pitches[0];
  1282	
  1283		return 0;
  1284	}
  1285	

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


More information about the dri-devel mailing list