Hi Harry,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on drm-tip/drm-tip drm-exynos/exynos-drm-next next-20210426]
[cannot apply to sunxi/sunxi/for-next tegra-drm/drm/tegra/for-next linus/master
linux-arm/drm-armada-devel linux-arm/drm-armada-fixes drm/drm-next v5.12]
[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]
url:
https://github.com/0day-ci/linux/commits/Harry-Wentland/A-drm_plane-API-t...
base:
git://anongit.freedesktop.org/drm-intel for-linux-next
config: mips-randconfig-m031-20210426 (attached as .config)
compiler: mips-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
#
https://github.com/0day-ci/linux/commit/ba39b0b01a53f9600039631c67c59c3cb...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Harry-Wentland/A-drm_plane-API-to-support-HDR-planes/20210427-014025
git checkout ba39b0b01a53f9600039631c67c59c3cb5af065d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
> drivers/gpu/drm/drm_color_mgmt.c:522:5: warning: no previous
prototype for 'drm_plane_create_sdr_white_level_property' [-Wmissing-prototypes]
522 | int drm_plane_create_sdr_white_level_property(struct drm_plane *plane){
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_color_mgmt.c:546:13: warning: no previous prototype for
'drm_get_color_transfer_function_name' [-Wmissing-prototypes]
546 | const char *drm_get_color_transfer_function_name(enum
drm_color_transfer_function tf)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/drm_plane_create_sdr_white_level_property +522 drivers/gpu/drm/drm_color_mgmt.c
521
522 int drm_plane_create_sdr_white_level_property(struct drm_plane
*plane){
523
524 struct drm_property *prop;
525
526 prop = drm_property_create_range(plane->dev, 0, "SDR_WHITE_LEVEL", 0,
UINT_MAX);
527
528 if (!prop)
529 return -ENOMEM;
530
531 plane->sdr_white_level_property = prop;
532 drm_object_attach_property(&plane->base, prop,
DRM_DEFAULT_SDR_WHITE_LEVEL);
533
534 if (plane->state)
535 plane->state->sdr_white_level = DRM_DEFAULT_SDR_WHITE_LEVEL;
536
537 return 0;
538 }
539 /**
540 * drm_get_color_transfer_function - return a string for color transfer function
541 * @tf: transfer function to compute name of
542 *
543 * In contrast to the other drm_get_*_name functions this one here returns a
544 * const pointer and hence is threadsafe.
545 */
546 const char *drm_get_color_transfer_function_name(enum drm_color_transfer_function
tf)
547 {
548 if (WARN_ON(tf >= ARRAY_SIZE(color_tf_name)))
549 return "unknown";
550
551 return color_tf_name[tf];
552 }
553 /**
554 * drm_plane_create_color_properties - color encoding related plane properties
555 * @plane: plane object
556 * @supported_encodings: bitfield indicating supported color encodings
557 * @supported_ranges: bitfileld indicating supported color ranges
558 * @supported_tfs: bitfileld indicating supported color transfer functions
559 * @default_encoding: default color encoding
560 * @default_range: default color range
561 * @default_tf: default color transfer function
562 *
563 * Create and attach plane specific COLOR_ENCODING, COLOR_RANGE and
COLOR_TRANSFER_FUNCTION
564 * properties to @plane. The supported encodings, ranges and tfs should
565 * be provided in supported_encodings, supported_ranges and supported_tfs
bitmasks.
566 * Each bit set in the bitmask indicates that its number as enum
567 * value is supported.
568 */
569 int drm_plane_create_color_properties(struct drm_plane *plane,
570 u32 supported_encodings,
571 u32 supported_ranges,
572 u32 supported_tfs,
573 enum drm_color_encoding default_encoding,
574 enum drm_color_range default_range,
575 enum drm_color_transfer_function default_tf)
576 {
577 struct drm_device *dev = plane->dev;
578 struct drm_property *prop;
579 struct drm_prop_enum_list enum_list[max_t(int, DRM_COLOR_ENCODING_MAX,
580 max_t(int, DRM_COLOR_RANGE_MAX,
581 DRM_COLOR_TF_MAX))];
582 int i, len;
583
584 if (WARN_ON(supported_encodings == 0 ||
585 (supported_encodings & -BIT(DRM_COLOR_ENCODING_MAX)) != 0 ||
586 (supported_encodings & BIT(default_encoding)) == 0))
587 return -EINVAL;
588
589 if (WARN_ON(supported_ranges == 0 ||
590 (supported_ranges & -BIT(DRM_COLOR_RANGE_MAX)) != 0 ||
591 (supported_ranges & BIT(default_range)) == 0))
592 return -EINVAL;
593
594 if (WARN_ON(supported_tfs == 0 ||
595 (supported_tfs & -BIT(DRM_COLOR_TF_MAX)) != 0 ||
596 (supported_tfs & BIT(default_tf)) == 0))
597 return -EINVAL;
598
599 len = 0;
600 for (i = 0; i < DRM_COLOR_ENCODING_MAX; i++) {
601 if ((supported_encodings & BIT(i)) == 0)
602 continue;
603
604 enum_list[len].type = i;
605 enum_list[len].name = color_encoding_name[i];
606 len++;
607 }
608
609 prop = drm_property_create_enum(dev, 0, "COLOR_ENCODING",
610 enum_list, len);
611 if (!prop)
612 return -ENOMEM;
613 plane->color_encoding_property = prop;
614 drm_object_attach_property(&plane->base, prop, default_encoding);
615 if (plane->state)
616 plane->state->color_encoding = default_encoding;
617
618 len = 0;
619 for (i = 0; i < DRM_COLOR_RANGE_MAX; i++) {
620 if ((supported_ranges & BIT(i)) == 0)
621 continue;
622
623 enum_list[len].type = i;
624 enum_list[len].name = color_range_name[i];
625 len++;
626 }
627
628 prop = drm_property_create_enum(dev, 0, "COLOR_RANGE",
629 enum_list, len);
630 if (!prop)
631 return -ENOMEM;
632 plane->color_range_property = prop;
633 drm_object_attach_property(&plane->base, prop, default_range);
634 if (plane->state)
635 plane->state->color_range = default_range;
636
637
638 len = 0;
639 for (i = 0; i < DRM_COLOR_TF_MAX; i++) {
640 if ((supported_tfs & BIT(i)) == 0)
641 continue;
642
643 enum_list[len].type = i;
644 enum_list[len].name = color_tf_name[i];
645 len++;
646 }
647
648 prop = drm_property_create_enum(dev, 0, "COLOR_TRANSFER_FUNCTION",
649 enum_list, len);
650 if (!prop)
651 return -ENOMEM;
652 plane->color_tf_property = prop;
653 drm_object_attach_property(&plane->base, prop, default_tf);
654 if (plane->state)
655 plane->state->color_tf = default_tf;
656
657 return 0;
658 }
659 EXPORT_SYMBOL(drm_plane_create_color_properties);
660
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org