[PATCH 04/19] drm: Pass the format info to .fb_create()
kernel test robot
lkp at intel.com
Thu Apr 10 21:26:10 UTC 2025
Hi Ville,
kernel test robot noticed the following build warnings:
[auto build test WARNING on linus/master]
[also build test WARNING on v6.15-rc1 next-20250410]
[cannot apply to drm-exynos/exynos-drm-next tegra/for-next rmk-arm/drm-armada-devel rmk-arm/drm-armada-fixes]
[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/Ville-Syrjala/drm-Pass-pixel_format-modifier-to-get_format_info/20250411-005845
base: linus/master
patch link: https://lore.kernel.org/r/20250410163218.15130-5-ville.syrjala%40linux.intel.com
patch subject: [PATCH 04/19] drm: Pass the format info to .fb_create()
config: hexagon-randconfig-001-20250411 (https://download.01.org/0day-ci/archive/20250411/202504110434.QQdqu4gU-lkp@intel.com/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project f819f46284f2a79790038e1f6649172789734ae8)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250411/202504110434.QQdqu4gU-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/202504110434.QQdqu4gU-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/gpu/drm/drm_gem_framebuffer_helper.c:287: warning: Function parameter or struct member 'info' not described in 'drm_gem_fb_create'
>> drivers/gpu/drm/drm_gem_framebuffer_helper.c:326: warning: Function parameter or struct member 'info' not described in 'drm_gem_fb_create_with_dirty'
vim +287 drivers/gpu/drm/drm_gem_framebuffer_helper.c
4c3dbb2c312c9fa Noralf Trønnes 2017-08-13 260
4c3dbb2c312c9fa Noralf Trønnes 2017-08-13 261 /**
2e187b2099034a2 Noralf Trønnes 2017-09-22 262 * drm_gem_fb_create() - Helper function for the
2e187b2099034a2 Noralf Trønnes 2017-09-22 263 * &drm_mode_config_funcs.fb_create callback
4c3dbb2c312c9fa Noralf Trønnes 2017-08-13 264 * @dev: DRM device
2e187b2099034a2 Noralf Trønnes 2017-09-22 265 * @file: DRM file that holds the GEM handle(s) backing the framebuffer
2e187b2099034a2 Noralf Trønnes 2017-09-22 266 * @mode_cmd: Metadata from the userspace framebuffer creation request
2e187b2099034a2 Noralf Trønnes 2017-09-22 267 *
2e187b2099034a2 Noralf Trønnes 2017-09-22 268 * This function creates a new framebuffer object described by
2e187b2099034a2 Noralf Trønnes 2017-09-22 269 * &drm_mode_fb_cmd2. This description includes handles for the buffer(s)
2e187b2099034a2 Noralf Trønnes 2017-09-22 270 * backing the framebuffer.
4c3dbb2c312c9fa Noralf Trønnes 2017-08-13 271 *
4c3dbb2c312c9fa Noralf Trønnes 2017-08-13 272 * If your hardware has special alignment or pitch requirements these should be
4c3dbb2c312c9fa Noralf Trønnes 2017-08-13 273 * checked before calling this function. The function does buffer size
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 274 * validation. Use drm_gem_fb_create_with_dirty() if you need framebuffer
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 275 * flushing.
2e187b2099034a2 Noralf Trønnes 2017-09-22 276 *
2e187b2099034a2 Noralf Trønnes 2017-09-22 277 * Drivers can use this as their &drm_mode_config_funcs.fb_create callback.
2e187b2099034a2 Noralf Trønnes 2017-09-22 278 * The ADDFB2 IOCTL calls into this callback.
2e187b2099034a2 Noralf Trønnes 2017-09-22 279 *
2e187b2099034a2 Noralf Trønnes 2017-09-22 280 * Returns:
2e187b2099034a2 Noralf Trønnes 2017-09-22 281 * Pointer to a &drm_framebuffer on success or an error pointer on failure.
4c3dbb2c312c9fa Noralf Trønnes 2017-08-13 282 */
4c3dbb2c312c9fa Noralf Trønnes 2017-08-13 283 struct drm_framebuffer *
4c3dbb2c312c9fa Noralf Trønnes 2017-08-13 284 drm_gem_fb_create(struct drm_device *dev, struct drm_file *file,
7b2bf36de2fd436 Ville Syrjälä 2025-04-10 285 const struct drm_format_info *info,
4c3dbb2c312c9fa Noralf Trønnes 2017-08-13 286 const struct drm_mode_fb_cmd2 *mode_cmd)
4c3dbb2c312c9fa Noralf Trønnes 2017-08-13 @287 {
4c3dbb2c312c9fa Noralf Trønnes 2017-08-13 288 return drm_gem_fb_create_with_funcs(dev, file, mode_cmd,
4c3dbb2c312c9fa Noralf Trønnes 2017-08-13 289 &drm_gem_fb_funcs);
4c3dbb2c312c9fa Noralf Trønnes 2017-08-13 290 }
4c3dbb2c312c9fa Noralf Trønnes 2017-08-13 291 EXPORT_SYMBOL_GPL(drm_gem_fb_create);
4c3dbb2c312c9fa Noralf Trønnes 2017-08-13 292
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 293 static const struct drm_framebuffer_funcs drm_gem_fb_funcs_dirtyfb = {
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 294 .destroy = drm_gem_fb_destroy,
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 295 .create_handle = drm_gem_fb_create_handle,
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 296 .dirty = drm_atomic_helper_dirtyfb,
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 297 };
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 298
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 299 /**
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 300 * drm_gem_fb_create_with_dirty() - Helper function for the
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 301 * &drm_mode_config_funcs.fb_create callback
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 302 * @dev: DRM device
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 303 * @file: DRM file that holds the GEM handle(s) backing the framebuffer
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 304 * @mode_cmd: Metadata from the userspace framebuffer creation request
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 305 *
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 306 * This function creates a new framebuffer object described by
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 307 * &drm_mode_fb_cmd2. This description includes handles for the buffer(s)
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 308 * backing the framebuffer. drm_atomic_helper_dirtyfb() is used for the dirty
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 309 * callback giving framebuffer flushing through the atomic machinery. Use
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 310 * drm_gem_fb_create() if you don't need the dirty callback.
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 311 * The function does buffer size validation.
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 312 *
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 313 * Drivers should also call drm_plane_enable_fb_damage_clips() on all planes
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 314 * to enable userspace to use damage clips also with the ATOMIC IOCTL.
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 315 *
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 316 * Drivers can use this as their &drm_mode_config_funcs.fb_create callback.
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 317 * The ADDFB2 IOCTL calls into this callback.
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 318 *
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 319 * Returns:
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 320 * Pointer to a &drm_framebuffer on success or an error pointer on failure.
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 321 */
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 322 struct drm_framebuffer *
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 323 drm_gem_fb_create_with_dirty(struct drm_device *dev, struct drm_file *file,
7b2bf36de2fd436 Ville Syrjälä 2025-04-10 324 const struct drm_format_info *info,
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 325 const struct drm_mode_fb_cmd2 *mode_cmd)
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 @326 {
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 327 return drm_gem_fb_create_with_funcs(dev, file, mode_cmd,
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 328 &drm_gem_fb_funcs_dirtyfb);
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 329 }
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 330 EXPORT_SYMBOL_GPL(drm_gem_fb_create_with_dirty);
dbd62e16fd53d37 Noralf Trønnes 2019-01-15 331
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the dri-devel
mailing list