Message ID | 20170209194314.5908-5-thibault.saunier@osg.samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Thibault, [auto build test ERROR on linuxtv-media/master] [also build test ERROR on v4.10-rc7 next-20170209] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Thibault-Saunier/exynos-gsc-Use-576p-instead-720p-as-a-threshold-for-colorspaces/20170210-113658 base: git://linuxtv.org/media_tree.git master config: ia64-allmodconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 6.2.0 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=ia64 All error/warnings (new ones prefixed by >>): In file included from drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:28:0: drivers/media/platform/s5p-mfc/s5p_mfc_dec.c: In function 'vidioc_try_fmt': >> drivers/media/platform/s5p-mfc/s5p_mfc_debug.h:25:23: warning: comparison between pointer and integer if (mfc_debug_level >= level) \ ^ >> drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:3: note: in expansion of macro 'mfc_debug' mfc_debug("Not supported field order(%d)\n", pix_mp->field); ^~~~~~~~~ >> drivers/media/platform/s5p-mfc/s5p_mfc_debug.h:25:23: warning: comparison with string literal results in unspecified behavior [-Waddress] if (mfc_debug_level >= level) \ ^ >> drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:3: note: in expansion of macro 'mfc_debug' mfc_debug("Not supported field order(%d)\n", pix_mp->field); ^~~~~~~~~ >> drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:48: error: expected ')' before 'pix_mp' mfc_debug("Not supported field order(%d)\n", pix_mp->field); ^ drivers/media/platform/s5p-mfc/s5p_mfc_debug.h:26:32: note: in definition of macro 'mfc_debug' printk(KERN_DEBUG "%s:%d: " fmt, \ ^~~ In file included from include/linux/printk.h:6:0, from include/linux/kernel.h:13, from include/linux/clk.h:16, from drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:14: include/linux/kern_levels.h:4:18: warning: format '%s' expects a matching 'char *' argument [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:14:20: note: in expansion of macro 'KERN_SOH' #define KERN_DEBUG KERN_SOH "7" /* debug-level messages */ ^~~~~~~~ drivers/media/platform/s5p-mfc/s5p_mfc_debug.h:26:11: note: in expansion of macro 'KERN_DEBUG' printk(KERN_DEBUG "%s:%d: " fmt, \ ^~~~~~~~~~ >> drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:3: note: in expansion of macro 'mfc_debug' mfc_debug("Not supported field order(%d)\n", pix_mp->field); ^~~~~~~~~ include/linux/kern_levels.h:4:18: warning: format '%d' expects a matching 'int' argument [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:14:20: note: in expansion of macro 'KERN_SOH' #define KERN_DEBUG KERN_SOH "7" /* debug-level messages */ ^~~~~~~~ drivers/media/platform/s5p-mfc/s5p_mfc_debug.h:26:11: note: in expansion of macro 'KERN_DEBUG' printk(KERN_DEBUG "%s:%d: " fmt, \ ^~~~~~~~~~ >> drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:3: note: in expansion of macro 'mfc_debug' mfc_debug("Not supported field order(%d)\n", pix_mp->field); ^~~~~~~~~ vim +404 drivers/media/platform/s5p-mfc/s5p_mfc_dec.c 398 enum v4l2_field field; 399 400 field = f->fmt.pix.field; 401 if (field == V4L2_FIELD_ANY) { 402 field = V4L2_FIELD_NONE; 403 } else if (V4L2_FIELD_NONE != field) { > 404 mfc_debug("Not supported field order(%d)\n", pix_mp->field); 405 return -EINVAL; 406 } 407 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Hi Thibault, [auto build test WARNING on linuxtv-media/master] [also build test WARNING on v4.10-rc7 next-20170210] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Thibault-Saunier/exynos-gsc-Use-576p-instead-720p-as-a-threshold-for-colorspaces/20170210-113658 base: git://linuxtv.org/media_tree.git master config: openrisc-allmodconfig (attached as .config) compiler: or32-linux-gcc (GCC) 4.5.1-or32-1.0rc1 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=openrisc All warnings (new ones prefixed by >>): drivers/media/platform/s5p-mfc/s5p_mfc_dec.c: In function 'vidioc_try_fmt': >> drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:3: warning: comparison between pointer and integer >> drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:3: warning: comparison with string literal results in unspecified behavior drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:3: error: expected ')' before 'pix_mp' >> drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:3: warning: too few arguments for format vim +404 drivers/media/platform/s5p-mfc/s5p_mfc_dec.c 388 mfc_debug_leave(); 389 return 0; 390 } 391 392 /* Try format */ 393 static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_format *f) 394 { 395 struct s5p_mfc_dev *dev = video_drvdata(file); 396 struct v4l2_pix_format_mplane *pix_mp = &f->fmt.pix_mp; 397 struct s5p_mfc_fmt *fmt; 398 enum v4l2_field field; 399 400 field = f->fmt.pix.field; 401 if (field == V4L2_FIELD_ANY) { 402 field = V4L2_FIELD_NONE; 403 } else if (V4L2_FIELD_NONE != field) { > 404 mfc_debug("Not supported field order(%d)\n", pix_mp->field); 405 return -EINVAL; 406 } 407 408 /* V4L2 specification suggests the driver corrects the format struct 409 * if any of the dimensions is unsupported */ 410 f->fmt.pix.field = field; 411 412 mfc_debug(2, "Type is %d\n", f->type); --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Hi Thibault, [auto build test WARNING on linuxtv-media/master] [also build test WARNING on v4.10-rc7 next-20170209] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Thibault-Saunier/exynos-gsc-Use-576p-instead-720p-as-a-threshold-for-colorspaces/20170210-113658 base: git://linuxtv.org/media_tree.git master reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) include/linux/compiler.h:253:8: sparse: attribute 'no_sanitize_address': unknown attribute drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:17: sparse: Expected ) in function call drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:17: sparse: got pix_mp >> drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:17: sparse: incompatible types for operation (>=) drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:17: left side has type int extern [signed] [addressable] [toplevel] mfc_debug_level drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:17: right side has type char static *<noident> In file included from drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:28:0: drivers/media/platform/s5p-mfc/s5p_mfc_dec.c: In function 'vidioc_try_fmt': drivers/media/platform/s5p-mfc/s5p_mfc_debug.h:25:23: warning: comparison between pointer and integer if (mfc_debug_level >= level) \ ^ drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:3: note: in expansion of macro 'mfc_debug' mfc_debug("Not supported field order(%d)\n", pix_mp->field); ^~~~~~~~~ drivers/media/platform/s5p-mfc/s5p_mfc_debug.h:25:23: warning: comparison with string literal results in unspecified behavior [-Waddress] if (mfc_debug_level >= level) \ ^ drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:3: note: in expansion of macro 'mfc_debug' mfc_debug("Not supported field order(%d)\n", pix_mp->field); ^~~~~~~~~ drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:48: error: expected ')' before 'pix_mp' mfc_debug("Not supported field order(%d)\n", pix_mp->field); ^ drivers/media/platform/s5p-mfc/s5p_mfc_debug.h:26:32: note: in definition of macro 'mfc_debug' printk(KERN_DEBUG "%s:%d: " fmt, \ ^~~ In file included from include/linux/printk.h:6:0, from include/linux/kernel.h:13, from include/linux/clk.h:16, from drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:14: include/linux/kern_levels.h:4:18: warning: format '%s' expects a matching 'char *' argument [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:14:20: note: in expansion of macro 'KERN_SOH' #define KERN_DEBUG KERN_SOH "7" /* debug-level messages */ ^~~~~~~~ drivers/media/platform/s5p-mfc/s5p_mfc_debug.h:26:11: note: in expansion of macro 'KERN_DEBUG' printk(KERN_DEBUG "%s:%d: " fmt, \ ^~~~~~~~~~ drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:3: note: in expansion of macro 'mfc_debug' mfc_debug("Not supported field order(%d)\n", pix_mp->field); ^~~~~~~~~ include/linux/kern_levels.h:4:18: warning: format '%d' expects a matching 'int' argument [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:14:20: note: in expansion of macro 'KERN_SOH' #define KERN_DEBUG KERN_SOH "7" /* debug-level messages */ ^~~~~~~~ drivers/media/platform/s5p-mfc/s5p_mfc_debug.h:26:11: note: in expansion of macro 'KERN_DEBUG' printk(KERN_DEBUG "%s:%d: " fmt, \ ^~~~~~~~~~ drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:404:3: note: in expansion of macro 'mfc_debug' mfc_debug("Not supported field order(%d)\n", pix_mp->field); ^~~~~~~~~ vim +404 drivers/media/platform/s5p-mfc/s5p_mfc_dec.c 388 mfc_debug_leave(); 389 return 0; 390 } 391 392 /* Try format */ 393 static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_format *f) 394 { 395 struct s5p_mfc_dev *dev = video_drvdata(file); 396 struct v4l2_pix_format_mplane *pix_mp = &f->fmt.pix_mp; 397 struct s5p_mfc_fmt *fmt; 398 enum v4l2_field field; 399 400 field = f->fmt.pix.field; 401 if (field == V4L2_FIELD_ANY) { 402 field = V4L2_FIELD_NONE; 403 } else if (V4L2_FIELD_NONE != field) { > 404 mfc_debug("Not supported field order(%d)\n", pix_mp->field); 405 return -EINVAL; 406 } 407 408 /* V4L2 specification suggests the driver corrects the format struct 409 * if any of the dimensions is unsupported */ 410 f->fmt.pix.field = field; 411 412 mfc_debug(2, "Type is %d\n", f->type); --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c index 960d6c7052bd..dfb21b4aee10 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c @@ -345,7 +345,6 @@ static int vidioc_g_fmt(struct file *file, void *priv, struct v4l2_format *f) rectangle. */ pix_mp->width = ctx->buf_width; pix_mp->height = ctx->buf_height; - pix_mp->field = V4L2_FIELD_NONE; pix_mp->num_planes = 2; /* Set pixelformat to the format in which MFC outputs the decoded frame */ @@ -369,7 +368,6 @@ static int vidioc_g_fmt(struct file *file, void *priv, struct v4l2_format *f) so width and height have no meaning */ pix_mp->width = 0; pix_mp->height = 0; - pix_mp->field = V4L2_FIELD_NONE; pix_mp->plane_fmt[0].bytesperline = ctx->dec_src_buf_size; pix_mp->plane_fmt[0].sizeimage = ctx->dec_src_buf_size; pix_mp->pixelformat = ctx->src_fmt->fourcc; @@ -379,6 +377,14 @@ static int vidioc_g_fmt(struct file *file, void *priv, struct v4l2_format *f) mfc_debug(2, "%s-- with error\n", __func__); return -EINVAL; } + + if (pix_mp->field == V4L2_FIELD_ANY) { + pix_mp->field = V4L2_FIELD_NONE; + } else if (pix_mp->field != V4L2_FIELD_NONE) { + mfc_err("Not supported field order(%d)\n", pix_mp->field); + return -EINVAL; + } + mfc_debug_leave(); return 0; } @@ -389,6 +395,19 @@ static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_format *f) struct s5p_mfc_dev *dev = video_drvdata(file); struct v4l2_pix_format_mplane *pix_mp = &f->fmt.pix_mp; struct s5p_mfc_fmt *fmt; + enum v4l2_field field; + + field = f->fmt.pix.field; + if (field == V4L2_FIELD_ANY) { + field = V4L2_FIELD_NONE; + } else if (V4L2_FIELD_NONE != field) { + mfc_debug("Not supported field order(%d)\n", pix_mp->field); + return -EINVAL; + } + + /* V4L2 specification suggests the driver corrects the format struct + * if any of the dimensions is unsupported */ + f->fmt.pix.field = field; mfc_debug(2, "Type is %d\n", f->type); if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
It is required by the standard that the field order is set by the driver. Signed-off-by: Thibault Saunier <thibault.saunier@osg.samsung.com> --- drivers/media/platform/s5p-mfc/s5p_mfc_dec.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-)