From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============3146544551026959153==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: [intel-lts:5.10/yocto 10621/20393] drivers/media/v4l2-core/v4l2-subdev.c:1027:1: warning: the frame size of 1400 bytes is larger than 1024 bytes Date: Thu, 10 Feb 2022 22:07:17 +0800 Message-ID: <202202102104.kTpVM9F2-lkp@intel.com> List-Id: --===============3146544551026959153== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Wanhui, FYI, the error/warning still remains. tree: https://github.com/intel/linux-intel-lts.git 5.10/yocto head: 2dafc777a64181d42982628c7f5907a03da5f070 commit: f13978177f8c57c155d53df5f2df60f519e82e4a [10621/20393] v4l: subdev:= Add support for sub-streams config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20220210= /202202102104.kTpVM9F2-lkp(a)intel.com/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=3D1 build): # https://github.com/intel/linux-intel-lts/commit/f13978177f8c57c15= 5d53df5f2df60f519e82e4a git remote add intel-lts https://github.com/intel/linux-intel-lts.g= it git fetch --no-tags intel-lts 5.10/yocto git checkout f13978177f8c57c155d53df5f2df60f519e82e4a # save the config file to linux build tree mkdir build_dir make W=3D1 O=3Dbuild_dir ARCH=3Di386 SHELL=3D/bin/bash arch/x86/cry= pto/ drivers/gpio/ drivers/gpu/drm/i915/ drivers/media/i2c/ drivers/media/v= 4l2-core/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): drivers/media/v4l2-core/v4l2-subdev.c: In function 'v4l2_subdev_link_val= idate': >> drivers/media/v4l2-core/v4l2-subdev.c:1027:1: warning: the frame size of= 1400 bytes is larger than 1024 bytes [-Wframe-larger-than=3D] 1027 | } | ^ vim +1027 drivers/media/v4l2-core/v4l2-subdev.c e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 907 = e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 908 int v4l2_subdev_link_validate(struct media_link *link) e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 909 { e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 910 struct v4l2_subdev *sink; e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 911 struct v4l2_subdev_route sink_routes[LINK_VALIDATE_ROUTES]; e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 912 struct v4l2_subdev_routing sink_routing =3D { e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 913 .routes =3D sink_routes, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 914 .num_routes =3D ARRAY_SIZE(sink_routes), e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 915 }; e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 916 struct v4l2_subdev_route src_routes[LINK_VALIDATE_ROUTES]; e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 917 struct v4l2_subdev_routing src_routing =3D { e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 918 .routes =3D src_routes, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 919 .num_routes =3D ARRAY_SIZE(src_routes), e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 920 }; e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 921 unsigned int i, j; e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 922 int rval; e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 923 = e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 924 sink =3D media_entity_to_v4l2_subdev(link->sink->entity); e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 925 if (!sink) e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 926 return -EINVAL; e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 927 = e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 928 if (!(link->sink->flags & MEDIA_PAD_FL_MULTIPLEX && e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 929 link->source->flags & MEDIA_PAD_FL_MULTIPLEX)) e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 930 return v4l2_subdev_link_validate_one(link, link->source, 0, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 931 link->sink, 0); e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 932 /* e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 933 * multiplex link cannot proceed without route information. e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 934 */ e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 935 rval =3D v4l2_subdev_call(sink, pad, get_routing, &sink_routi= ng); e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 936 if (rval) { e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 937 dev_err(sink->entity.graph_obj.mdev->dev, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 938 "error %d in get_routing() on %s, sink pad %u\n", rval, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 939 sink->entity.name, link->sink->index); e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 940 = e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 941 return rval; e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 942 } e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 943 = e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 944 rval =3D v4l2_subdev_call(media_entity_to_v4l2_subdev( e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 945 link->source->entity), e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 946 pad, get_routing, &src_routing); e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 947 if (rval) { e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 948 dev_dbg(sink->entity.graph_obj.mdev->dev, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 949 "error %d in get_routing() on %s, source pad %u\n", e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 950 rval, sink->entity.name, link->source->index); e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 951 = e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 952 return rval; e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 953 } e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 954 = e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 955 dev_dbg(sink->entity.graph_obj.mdev->dev, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 956 "validating multiplexed link \"%s\":%u -> \"%s\":%u; %u/%u r= outes\n", e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 957 link->source->entity->name, link->source->index, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 958 sink->entity.name, link->sink->index, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 959 src_routing.num_routes, sink_routing.num_routes); e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 960 = e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 961 for (i =3D 0; i < sink_routing.num_routes; i++) { e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 962 /* Get the first active route for the sink pad. */ e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 963 if (sink_routes[i].sink_pad !=3D link->sink->index || e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 964 !(sink_routes[i].flags & V4L2_SUBDEV_ROUTE_FL_ACTIVE)) { e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 965 dev_dbg(sink->entity.graph_obj.mdev->dev, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 966 "skipping sink route %u/%u -> %u/%u[%u]\n", e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 967 sink_routes[i].sink_pad, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 968 sink_routes[i].sink_stream, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 969 sink_routes[i].source_pad, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 970 sink_routes[i].source_stream, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 971 (bool)(sink_routes[i].flags e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 972 & V4L2_SUBDEV_ROUTE_FL_ACTIVE)); e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 973 continue; e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 974 } e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 975 = e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 976 /* e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 977 * Get the corresponding route for the source pad. e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 978 * It's ok for the source pad to have routes active e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 979 * where the sink pad does not, but the routes that e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 980 * are active on the source pad have to be active on e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 981 * the sink pad as well. e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 982 */ e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 983 = e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 984 for (j =3D 0; j < src_routing.num_routes; j++) { e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 985 if (src_routes[j].source_pad =3D=3D link->source->index && e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 986 src_routes[j].source_stream e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 987 =3D=3D sink_routes[i].sink_stream) e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 988 break; e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 989 } e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 990 = e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 991 if (j =3D=3D src_routing.num_routes) { e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 992 dev_err(sink->entity.graph_obj.mdev->dev, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 993 "no corresponding source found.\n"); e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 994 return -EINVAL; e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 995 } e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 996 = e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 997 /* The source route must be active. */ e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 998 if (!(src_routes[j].flags & V4L2_SUBDEV_ROUTE_FL_ACTIVE)) { e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 999 dev_dbg(sink->entity.graph_obj.mdev->dev, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1000 "source route not active\n"); e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1001 return -EINVAL; e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1002 } e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1003 = e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1004 dev_dbg(sink->entity.graph_obj.mdev->dev, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1005 "validating link \"%s\": %u/%u =3D> \"%s\" %u/%u\n", e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1006 link->source->entity->name, src_routes[j].source_pad, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1007 src_routes[j].source_stream, sink->entity.name, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1008 sink_routes[i].sink_pad, sink_routes[i].sink_stream); e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1009 = e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1010 rval =3D v4l2_subdev_link_validate_one( e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1011 link, link->source, src_routes[j].source_stream, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1012 link->sink, sink_routes[i].sink_stream); e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1013 if (rval) { e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1014 dev_dbg(sink->entity.graph_obj.mdev->dev, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1015 "error %d in link validation\n", rval); e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1016 return rval; e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1017 } e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1018 } e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1019 = e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1020 if (i < sink_routing.num_routes) { e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1021 dev_dbg(sink->entity.graph_obj.mdev->dev, e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1022 "not all sink routes verified; out of source routes\n"); e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1023 return -EINVAL; e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1024 } e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1025 = e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 1026 return 0; e822d33e27dd00 drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-= 06-13 @1027 } 8227c92b696884 drivers/media/video/v4l2-subdev.c Sakari Ailus 2011-= 10-10 1028 EXPORT_SYMBOL_GPL(v4l2_subdev_link_validate); 9b02cbb3ede89b drivers/media/v4l2-core/v4l2-subdev.c Laurent Pinchart 2015-= 04-24 1029 = :::::: The code at line 1027 was first introduced by commit :::::: e822d33e27dd00bb200f0e9db1811231554ce03c v4l: Take routing info into= account in link validation :::::: TO: wu xia :::::: CC: Pan, Kris --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============3146544551026959153==--