drivers/gpu/drm/vkms/vkms_formats.c:533: warning: Excess function parameter '__VA_ARGS__' description in 'READ_LINE_YUV_SEMIPLANAR'
kernel test robot <[email protected]>
| Newsgroups | dev.linux.lists.oe-kbuild |
|---|---|
| Message-ID | <[email protected]> |
:::::: :::::: Manual check reason: "bisect to a FBC not belonging to original linux-review patches: branch: linux-review/Louis-Chauvet/drm-vkms-Create-helpers-macro-to-avoid-code-duplication-in-format-callbacks/20260813-163823, commit: 42090f8d9b7e32b8d5bea5a2ed24c16d728e564a" :::::: BCC: [email protected] CC: [email protected] TO: Louis Chauvet <[email protected]> CC: 0day robot <[email protected]> tree: https://github.com/intel-lab-lkp/linux/commits/Louis-Chauvet/drm-vkms-Create-helpers-macro-to-avoid-code-duplication-in-format-callbacks/20260813-163823 head: ab2b2459363297136691da9f09bbbb7713986659 commit: 42090f8d9b7e32b8d5bea5a2ed24c16d728e564a drm/vkms: Create helper macro for YUV formats date: 8 hours ago :::::: branch date: 8 hours ago :::::: commit date: 8 hours ago config: powerpc-allmodconfig (https://download.01.org/0day-ci/archive/20260814/[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/20260814/[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/r/[email protected]/ All warnings (new ones prefixed by >>): drivers/gpu/drm/vkms/vkms_formats.c:345: warning: Excess function parameter '__VA_ARGS__' description in 'READ_LINE' drivers/gpu/drm/vkms/vkms_formats.c:356: warning: Function parameter or struct member 'a' not described in 'READ_LINE_ARGB8888' drivers/gpu/drm/vkms/vkms_formats.c:356: warning: Function parameter or struct member 'r' not described in 'READ_LINE_ARGB8888' drivers/gpu/drm/vkms/vkms_formats.c:356: warning: Function parameter or struct member 'g' not described in 'READ_LINE_ARGB8888' drivers/gpu/drm/vkms/vkms_formats.c:356: warning: Function parameter or struct member 'b' not described in 'READ_LINE_ARGB8888' drivers/gpu/drm/vkms/vkms_formats.c:366: warning: Function parameter or struct member 'a' not described in 'READ_LINE_le16161616' drivers/gpu/drm/vkms/vkms_formats.c:366: warning: Function parameter or struct member 'r' not described in 'READ_LINE_le16161616' drivers/gpu/drm/vkms/vkms_formats.c:366: warning: Function parameter or struct member 'g' not described in 'READ_LINE_le16161616' drivers/gpu/drm/vkms/vkms_formats.c:366: warning: Function parameter or struct member 'b' not described in 'READ_LINE_le16161616' >> drivers/gpu/drm/vkms/vkms_formats.c:533: warning: Excess function parameter '__VA_ARGS__' description in 'READ_LINE_YUV_SEMIPLANAR' vim +533 drivers/gpu/drm/vkms/vkms_formats.c 396369d6754993 Igor Torrente 2022-09-05 477 fe22d21e934262 Arthur Grillo 2025-04-15 478 /* fe22d21e934262 Arthur Grillo 2025-04-15 479 * This callback can be used for YUV formats where U and V values are fe22d21e934262 Arthur Grillo 2025-04-15 480 * stored in the same plane (often called semi-planar formats). It will fe22d21e934262 Arthur Grillo 2025-04-15 481 * correctly handle subsampling as described in the drm_format_info of the plane. fe22d21e934262 Arthur Grillo 2025-04-15 482 * fe22d21e934262 Arthur Grillo 2025-04-15 483 * The conversion matrix stored in the @plane is used to: fe22d21e934262 Arthur Grillo 2025-04-15 484 * - Apply the correct color range and encoding fe22d21e934262 Arthur Grillo 2025-04-15 485 * - Convert YUV and YVU with the same function (a column swap is needed when setting up fe22d21e934262 Arthur Grillo 2025-04-15 486 * plane->conversion_matrix) fe22d21e934262 Arthur Grillo 2025-04-15 487 */ fe22d21e934262 Arthur Grillo 2025-04-15 488 42090f8d9b7e32 Louis Chauvet 2025-05-30 489 /** 42090f8d9b7e32 Louis Chauvet 2025-05-30 490 * READ_LINE_YUV_SEMIPLANAR() - Generic generator for a read_line function which can be used for yuv 42090f8d9b7e32 Louis Chauvet 2025-05-30 491 * formats with two planes and block_w == block_h == 1. 42090f8d9b7e32 Louis Chauvet 2025-05-30 492 * 42090f8d9b7e32 Louis Chauvet 2025-05-30 493 * @function_name: Function name to generate 42090f8d9b7e32 Louis Chauvet 2025-05-30 494 * @pixel_1_name: temporary pixel name for the first plane used in the @__VA_ARGS__ parameters 42090f8d9b7e32 Louis Chauvet 2025-05-30 495 * @pixel_2_name: temporary pixel name for the second plane used in the @__VA_ARGS__ parameters 42090f8d9b7e32 Louis Chauvet 2025-05-30 496 * @pixel_1_type: Used to specify the type you want to cast the pixel pointer on the plane 1 42090f8d9b7e32 Louis Chauvet 2025-05-30 497 * @pixel_2_type: Used to specify the type you want to cast the pixel pointer on the plane 2 42090f8d9b7e32 Louis Chauvet 2025-05-30 498 * @callback: Callback to call for each pixels. This function should take 42090f8d9b7e32 Louis Chauvet 2025-05-30 499 * (struct conversion_matrix*, @__VA_ARGS__) as parameter and return a pixel_argb_u16 42090f8d9b7e32 Louis Chauvet 2025-05-30 500 * @__VA_ARGS__: Argument to pass inside the callback. You can use @pixel_1_name and @pixel_2_name 42090f8d9b7e32 Louis Chauvet 2025-05-30 501 * to access current pixel values 42090f8d9b7e32 Louis Chauvet 2025-05-30 502 */ 42090f8d9b7e32 Louis Chauvet 2025-05-30 503 #define READ_LINE_YUV_SEMIPLANAR(function_name, pixel_1_name, pixel_2_name, pixel_1_type, \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 504 pixel_2_type, callback, ...) \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 505 static void function_name(const struct vkms_plane_state *plane, int x_start, \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 506 int y_start, enum pixel_read_direction direction, int count, \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 507 struct pixel_argb_u16 out_pixel[]) \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 508 { \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 509 u8 *plane_1; \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 510 u8 *plane_2; \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 511 \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 512 packed_pixels_addr_1x1(plane->frame_info, x_start, y_start, 0, \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 513 &plane_1); \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 514 packed_pixels_addr_1x1(plane->frame_info, \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 515 x_start / plane->frame_info->fb->format->hsub, \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 516 y_start / plane->frame_info->fb->format->vsub, 1, \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 517 &plane_2); \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 518 int step_1 = get_block_step_bytes(plane->frame_info->fb, direction, 0); \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 519 int step_2 = get_block_step_bytes(plane->frame_info->fb, direction, 1); \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 520 int subsampling = get_subsampling(plane->frame_info->fb->format, direction); \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 521 int subsampling_offset = get_subsampling_offset(direction, x_start, y_start); \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 522 const struct conversion_matrix *conversion_matrix = &plane->conversion_matrix; \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 523 \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 524 for (int i = 0; i < count; i++) { \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 525 pixel_1_type *(pixel_1_name) = (pixel_1_type *)plane_1; \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 526 pixel_2_type *(pixel_2_name) = (pixel_2_type *)plane_2; \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 527 *out_pixel = (callback)(conversion_matrix, __VA_ARGS__); \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 528 out_pixel += 1; \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 529 plane_1 += step_1; \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 530 if ((i + subsampling_offset + 1) % subsampling == 0) \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 531 plane_2 += step_2; \ 42090f8d9b7e32 Louis Chauvet 2025-05-30 532 } \ fe22d21e934262 Arthur Grillo 2025-04-15 @533 } fe22d21e934262 Arthur Grillo 2025-04-15 534 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki