tree:
https://github.com/ribalda/linux uvc-noncontiguous
head: 08aff4b45dd51b3dfba18af4aa40b0fa5e2b5529
commit: 817731cae164166428258499e995dfe1ed135ad1 [4/5] TEST-ONLY: media: uvcvideo: Add
statistics for measuring performance
config: powerpc64-randconfig-r011-20201118 (attached as .config)
compiler: clang version 12.0.0 (
https://github.com/llvm/llvm-project
b2613fb2f0f53691dd0211895afbb9413457fca7)
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
# install powerpc64 cross compiling tool for clang build
# apt-get install binutils-powerpc64-linux-gnu
#
https://github.com/ribalda/linux/commit/817731cae164166428258499e995dfe1e...
git remote add ribalda
https://github.com/ribalda/linux
git fetch --no-tags ribalda uvc-noncontiguous
git checkout 817731cae164166428258499e995dfe1ed135ad1
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64
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/media/usb/uvc/uvc_video.c:909:8: warning: no previous
prototype for function 'uvc_video_dump_time_stats' [-Wmissing-prototypes]
size_t uvc_video_dump_time_stats(char *buf, size_t size,
^
drivers/media/usb/uvc/uvc_video.c:909:1: note: declare 'static' if the function
is not intended to be used outside of this translation unit
size_t uvc_video_dump_time_stats(char *buf, size_t size,
^
static
> drivers/media/usb/uvc/uvc_video.c:930:8: warning: no previous
prototype for function 'uvc_video_dump_speed' [-Wmissing-prototypes]
size_t uvc_video_dump_speed(char *buf, size_t size, const char *pfx, u64 bytes,
^
drivers/media/usb/uvc/uvc_video.c:930:1: note: declare 'static' if the function
is not intended to be used outside of this translation unit
size_t uvc_video_dump_speed(char *buf, size_t size, const char *pfx, u64 bytes,
^
static
2 warnings generated.
vim +/uvc_video_dump_time_stats +909 drivers/media/usb/uvc/uvc_video.c
908
909 size_t uvc_video_dump_time_stats(char *buf, size_t size,
910 struct uvc_stats_time *stat, const char *pfx)
911 {
912 unsigned int avg = 0;
913 unsigned int std = 0;
914
915 if (stat->qty) {
916 avg = div_u64(stat->duration, stat->qty);
917 std = int_sqrt64(div_u64(stat->duration2, stat->qty) -
918 avg * avg);
919 }
920
921 /* Stat durations are in nanoseconds, we present in micro-seconds */
922 return scnprintf(
923 buf, size,
924 "%s: %llu/%u uS/qty: %u.%03u avg %u.%03u std %u.%03u min %u.%03u max
(uS)\n",
925 pfx, div_u64(stat->duration, 1000), stat->qty, avg / 1000,
926 avg % 1000, std / 1000, std % 1000, stat->min / 1000,
927 stat->min % 1000, stat->max / 1000, stat->max % 1000);
928 }
929
930 size_t uvc_video_dump_speed(char *buf, size_t size, const char
*pfx, u64 bytes,
931 u64 milliseconds)
932 {
933 unsigned int rate = 0;
934 bool gbit = false;
935
936 if (milliseconds)
937 rate = div_u64(bytes * 8, milliseconds);
938
939 if (rate >= 1000000) {
940 gbit = true;
941 rate /= 1000;
942 }
943
944 /*
945 * bits/milliseconds == kilobits/seconds,
946 * presented here as Mbits/s (or Gbit/s) with 3 decimal places
947 */
948 return scnprintf(buf, size, "%s: %d.%03d %sbits/s\n", pfx, rate / 1000,
949 rate % 1000, gbit ? "G" : "M");
950 }
951
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org