Re: [PATCH v4 8/8] drm/vkms: Add P01* formats

kernel test robot <[email protected]>
Newsgroups dev.linux.lists.oe-kbuild-all,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Hi Louis,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 2271e0a20ef795838527815e057f5af206b69c87]

url:    https://github.com/intel-lab-lkp/linux/commits/Louis-Chauvet/drm-vkms-Create-helpers-macro-to-avoid-code-duplication-in-format-callbacks/20260813-163823
base:   2271e0a20ef795838527815e057f5af206b69c87
patch link:    https://lore.kernel.org/r/20250530-b4-new-color-formats-v4-8-ef5f9f48376c%40bootlin.com
patch subject: [PATCH v4 8/8] drm/vkms: Add P01* formats
config: powerpc-allmodconfig (https://download.01.org/0day-ci/archive/20260813/[email protected]/config)
compiler: powerpc64-linux-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260813/[email protected]/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 <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/vkms/vkms_formats.c:324: warning: Excess function parameter '__VA_ARGS__' description in 'READ_LINE'
>> drivers/gpu/drm/vkms/vkms_formats.c:335: warning: Function parameter or struct member 'a' not described in 'READ_LINE_ARGB8888'
>> drivers/gpu/drm/vkms/vkms_formats.c:335: warning: Function parameter or struct member 'r' not described in 'READ_LINE_ARGB8888'
>> drivers/gpu/drm/vkms/vkms_formats.c:335: warning: Function parameter or struct member 'g' not described in 'READ_LINE_ARGB8888'
>> drivers/gpu/drm/vkms/vkms_formats.c:335: warning: Function parameter or struct member 'b' not described in 'READ_LINE_ARGB8888'
>> drivers/gpu/drm/vkms/vkms_formats.c:345: warning: Function parameter or struct member 'a' not described in 'READ_LINE_le16161616'
>> drivers/gpu/drm/vkms/vkms_formats.c:345: warning: Function parameter or struct member 'r' not described in 'READ_LINE_le16161616'
>> drivers/gpu/drm/vkms/vkms_formats.c:345: warning: Function parameter or struct member 'g' not described in 'READ_LINE_le16161616'
>> drivers/gpu/drm/vkms/vkms_formats.c:345: warning: Function parameter or struct member 'b' not described in 'READ_LINE_le16161616'


vim +324 drivers/gpu/drm/vkms/vkms_formats.c

   294	
   295	/**
   296	 * READ_LINE() - Generic generator for a read_line function which can be used for format with one
   297	 * plane and a block_h == block_w == 1.
   298	 *
   299	 * @function_name: Function name to generate
   300	 * @pixel_name: Temporary pixel name used in the @__VA_ARGS__ parameters
   301	 * @pixel_type: Used to specify the type you want to cast the pixel pointer
   302	 * @callback: Callback to call for each pixels. This fonction should take @__VA_ARGS__ as parameter
   303	 *            and return a pixel_argb_u16
   304	 * @__VA_ARGS__: Argument to pass inside the callback. You can use @pixel_name to access current
   305	 *  pixel.
   306	 */
   307	#define READ_LINE(function_name, pixel_name, pixel_type, callback, ...)				\
   308	static void function_name(const struct vkms_plane_state *plane, int x_start,			\
   309				      int y_start, enum pixel_read_direction direction, int count,	\
   310				      struct pixel_argb_u16 out_pixel[])				\
   311	{												\
   312		struct pixel_argb_u16 *end = out_pixel + count;						\
   313		int step = get_block_step_bytes(plane->frame_info->fb, direction, 0);			\
   314		u8 *src_pixels;										\
   315													\
   316		packed_pixels_addr_1x1(plane->frame_info, x_start, y_start, 0, &src_pixels);		\
   317													\
   318		while (out_pixel < end) {								\
   319			pixel_type *(pixel_name) = (pixel_type *)src_pixels;				\
   320			*out_pixel = (callback)(__VA_ARGS__);						\
   321			out_pixel += 1;									\
   322			src_pixels += step;								\
   323		}											\
 > 324	}
   325	
   326	/**
   327	 * READ_LINE_ARGB8888() - Generic generator for ARGB8888 formats.
   328	 * The pixel type used is u8, so pixel_name[0]..pixel_name[n] are the n components of the pixel.
   329	 *
   330	 * @function_name: Function name to generate
   331	 * @pixel_name: temporary pixel to use in @a, @r, @g and @b parameters
   332	 * @a, @r, @g, @b: value of each channel
   333	 */
   334	#define READ_LINE_ARGB8888(function_name, pixel_name, a, r, g, b) \
 > 335		READ_LINE(function_name, pixel_name, u8, argb_u16_from_u8888, a, r, g, b)
   336	/**
   337	 * READ_LINE_le16161616() - Generic generator for ARGB16161616 formats.
   338	 * The pixel type used is u16, so pixel_name[0]..pixel_name[n] are the n components of the pixel.
   339	 *
   340	 * @function_name: Function name to generate
   341	 * @pixel_name: temporary pixel to use in @a, @r, @g and @b parameters
   342	 * @a, @r, @g, @b: value of each channel
   343	 */
   344	#define READ_LINE_le16161616(function_name, pixel_name, a, r, g, b) \
 > 345		READ_LINE(function_name, pixel_name, __le16, argb_u16_from_le16161616, a, r, g, b)
   346	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.