[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