All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>,
	linux-media@vger.kernel.org
Cc: kbuild-all@lists.01.org,
	Dafna Hirschfeld <dafna.hirschfeld@collabora.com>,
	kernel@collabora.com, laurent.pinchart@ideasonboard.com,
	hverkuil@xs4all.nl, dafna3@gmail.com,
	sakari.ailus@linux.intel.com, mchehab@kernel.org
Subject: Re: [PATCH v2 1/2] media: replace setting of bytesused with vb2_set_plane_payload
Date: Tue, 16 Nov 2021 10:24:03 +0800	[thread overview]
Message-ID: <202111161018.73aZETZ7-lkp@intel.com> (raw)
In-Reply-To: <20211111152640.1537-2-dafna.hirschfeld@collabora.com>

[-- Attachment #1: Type: text/plain, Size: 8187 bytes --]

Hi Dafna,

I love your patch! Yet something to improve:

[auto build test ERROR on media-tree/master]
[also build test ERROR on v5.16-rc1 next-20211115]
[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/Dafna-Hirschfeld/media-videobuf2-make-sure-bytesused-is-smaller-than-the-buffer-size/20211111-232720
base:   git://linuxtv.org/media_tree.git master
config: microblaze-randconfig-r013-20211115 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 11.2.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/6934ed79a3550b00a9f9a6ae14a283a59a10f566
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Dafna-Hirschfeld/media-videobuf2-make-sure-bytesused-is-smaller-than-the-buffer-size/20211111-232720
        git checkout 6934ed79a3550b00a9f9a6ae14a283a59a10f566
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=microblaze SHELL=/bin/bash drivers/staging/media/meson/vdec/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/staging/media/meson/vdec/vdec_helpers.c: In function 'dst_buf_done':
>> drivers/staging/media/meson/vdec/vdec_helpers.c:279:43: error: incompatible type for argument 1 of 'vb2_set_plane_payload'
     279 |                 vb2_set_plane_payload(vbuf->vb2_buf, 0, output_size);
         |                                       ~~~~^~~~~~~~~
         |                                           |
         |                                           struct vb2_buffer
   In file included from include/media/videobuf2-v4l2.h:16,
                    from include/media/v4l2-mem2mem.h:16,
                    from drivers/staging/media/meson/vdec/vdec_helpers.c:8:
   include/media/videobuf2-core.h:1155:61: note: expected 'struct vb2_buffer *' but argument is of type 'struct vb2_buffer'
    1155 | static inline void vb2_set_plane_payload(struct vb2_buffer *vb,
         |                                          ~~~~~~~~~~~~~~~~~~~^~
   drivers/staging/media/meson/vdec/vdec_helpers.c:280:43: error: incompatible type for argument 1 of 'vb2_set_plane_payload'
     280 |                 vb2_set_plane_payload(vbuf->vb2_buf, 1, output_size / 2);
         |                                       ~~~~^~~~~~~~~
         |                                           |
         |                                           struct vb2_buffer
   In file included from include/media/videobuf2-v4l2.h:16,
                    from include/media/v4l2-mem2mem.h:16,
                    from drivers/staging/media/meson/vdec/vdec_helpers.c:8:
   include/media/videobuf2-core.h:1155:61: note: expected 'struct vb2_buffer *' but argument is of type 'struct vb2_buffer'
    1155 | static inline void vb2_set_plane_payload(struct vb2_buffer *vb,
         |                                          ~~~~~~~~~~~~~~~~~~~^~
   drivers/staging/media/meson/vdec/vdec_helpers.c:283:43: error: incompatible type for argument 1 of 'vb2_set_plane_payload'
     283 |                 vb2_set_plane_payload(vbuf->vb2_buf, 0, output_size);
         |                                       ~~~~^~~~~~~~~
         |                                           |
         |                                           struct vb2_buffer
   In file included from include/media/videobuf2-v4l2.h:16,
                    from include/media/v4l2-mem2mem.h:16,
                    from drivers/staging/media/meson/vdec/vdec_helpers.c:8:
   include/media/videobuf2-core.h:1155:61: note: expected 'struct vb2_buffer *' but argument is of type 'struct vb2_buffer'
    1155 | static inline void vb2_set_plane_payload(struct vb2_buffer *vb,
         |                                          ~~~~~~~~~~~~~~~~~~~^~
   drivers/staging/media/meson/vdec/vdec_helpers.c:284:43: error: incompatible type for argument 1 of 'vb2_set_plane_payload'
     284 |                 vb2_set_plane_payload(vbuf->vb2_buf, 1, output_size / 4);
         |                                       ~~~~^~~~~~~~~
         |                                           |
         |                                           struct vb2_buffer
   In file included from include/media/videobuf2-v4l2.h:16,
                    from include/media/v4l2-mem2mem.h:16,
                    from drivers/staging/media/meson/vdec/vdec_helpers.c:8:
   include/media/videobuf2-core.h:1155:61: note: expected 'struct vb2_buffer *' but argument is of type 'struct vb2_buffer'
    1155 | static inline void vb2_set_plane_payload(struct vb2_buffer *vb,
         |                                          ~~~~~~~~~~~~~~~~~~~^~
   drivers/staging/media/meson/vdec/vdec_helpers.c:285:43: error: incompatible type for argument 1 of 'vb2_set_plane_payload'
     285 |                 vb2_set_plane_payload(vbuf->vb2_buf, 2, output_size / 4);
         |                                       ~~~~^~~~~~~~~
         |                                           |
         |                                           struct vb2_buffer
   In file included from include/media/videobuf2-v4l2.h:16,
                    from include/media/v4l2-mem2mem.h:16,
                    from drivers/staging/media/meson/vdec/vdec_helpers.c:8:
   include/media/videobuf2-core.h:1155:61: note: expected 'struct vb2_buffer *' but argument is of type 'struct vb2_buffer'
    1155 | static inline void vb2_set_plane_payload(struct vb2_buffer *vb,
         |                                          ~~~~~~~~~~~~~~~~~~~^~


vim +/vb2_set_plane_payload +279 drivers/staging/media/meson/vdec/vdec_helpers.c

   268	
   269	static void dst_buf_done(struct amvdec_session *sess,
   270				 struct vb2_v4l2_buffer *vbuf,
   271				 u32 field, u64 timestamp,
   272				 struct v4l2_timecode timecode, u32 flags)
   273	{
   274		struct device *dev = sess->core->dev_dec;
   275		u32 output_size = amvdec_get_output_size(sess);
   276	
   277		switch (sess->pixfmt_cap) {
   278		case V4L2_PIX_FMT_NV12M:
 > 279			vb2_set_plane_payload(vbuf->vb2_buf, 0, output_size);
   280			vb2_set_plane_payload(vbuf->vb2_buf, 1, output_size / 2);
   281			break;
   282		case V4L2_PIX_FMT_YUV420M:
   283			vb2_set_plane_payload(vbuf->vb2_buf, 0, output_size);
   284			vb2_set_plane_payload(vbuf->vb2_buf, 1, output_size / 4);
   285			vb2_set_plane_payload(vbuf->vb2_buf, 2, output_size / 4);
   286			break;
   287		}
   288	
   289		vbuf->vb2_buf.timestamp = timestamp;
   290		vbuf->sequence = sess->sequence_cap++;
   291		vbuf->flags = flags;
   292		vbuf->timecode = timecode;
   293	
   294		if (sess->should_stop &&
   295		    atomic_read(&sess->esparser_queued_bufs) <= 1) {
   296			const struct v4l2_event ev = { .type = V4L2_EVENT_EOS };
   297	
   298			dev_dbg(dev, "Signaling EOS, sequence_cap = %u\n",
   299				sess->sequence_cap - 1);
   300			v4l2_event_queue_fh(&sess->fh, &ev);
   301			vbuf->flags |= V4L2_BUF_FLAG_LAST;
   302		} else if (sess->status == STATUS_NEEDS_RESUME) {
   303			/* Mark LAST for drained show frames during a source change */
   304			vbuf->flags |= V4L2_BUF_FLAG_LAST;
   305			sess->sequence_cap = 0;
   306		} else if (sess->should_stop)
   307			dev_dbg(dev, "should_stop, %u bufs remain\n",
   308				atomic_read(&sess->esparser_queued_bufs));
   309	
   310		dev_dbg(dev, "Buffer %u done, ts = %llu, flags = %08X\n",
   311			vbuf->vb2_buf.index, timestamp, flags);
   312		vbuf->field = field;
   313		v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_DONE);
   314	
   315		/* Buffer done probably means the vififo got freed */
   316		schedule_work(&sess->esparser_queue_work);
   317	}
   318	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 35840 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v2 1/2] media: replace setting of bytesused with vb2_set_plane_payload
Date: Tue, 16 Nov 2021 10:24:03 +0800	[thread overview]
Message-ID: <202111161018.73aZETZ7-lkp@intel.com> (raw)
In-Reply-To: <20211111152640.1537-2-dafna.hirschfeld@collabora.com>

[-- Attachment #1: Type: text/plain, Size: 8334 bytes --]

Hi Dafna,

I love your patch! Yet something to improve:

[auto build test ERROR on media-tree/master]
[also build test ERROR on v5.16-rc1 next-20211115]
[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/Dafna-Hirschfeld/media-videobuf2-make-sure-bytesused-is-smaller-than-the-buffer-size/20211111-232720
base:   git://linuxtv.org/media_tree.git master
config: microblaze-randconfig-r013-20211115 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 11.2.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/6934ed79a3550b00a9f9a6ae14a283a59a10f566
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Dafna-Hirschfeld/media-videobuf2-make-sure-bytesused-is-smaller-than-the-buffer-size/20211111-232720
        git checkout 6934ed79a3550b00a9f9a6ae14a283a59a10f566
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=microblaze SHELL=/bin/bash drivers/staging/media/meson/vdec/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/staging/media/meson/vdec/vdec_helpers.c: In function 'dst_buf_done':
>> drivers/staging/media/meson/vdec/vdec_helpers.c:279:43: error: incompatible type for argument 1 of 'vb2_set_plane_payload'
     279 |                 vb2_set_plane_payload(vbuf->vb2_buf, 0, output_size);
         |                                       ~~~~^~~~~~~~~
         |                                           |
         |                                           struct vb2_buffer
   In file included from include/media/videobuf2-v4l2.h:16,
                    from include/media/v4l2-mem2mem.h:16,
                    from drivers/staging/media/meson/vdec/vdec_helpers.c:8:
   include/media/videobuf2-core.h:1155:61: note: expected 'struct vb2_buffer *' but argument is of type 'struct vb2_buffer'
    1155 | static inline void vb2_set_plane_payload(struct vb2_buffer *vb,
         |                                          ~~~~~~~~~~~~~~~~~~~^~
   drivers/staging/media/meson/vdec/vdec_helpers.c:280:43: error: incompatible type for argument 1 of 'vb2_set_plane_payload'
     280 |                 vb2_set_plane_payload(vbuf->vb2_buf, 1, output_size / 2);
         |                                       ~~~~^~~~~~~~~
         |                                           |
         |                                           struct vb2_buffer
   In file included from include/media/videobuf2-v4l2.h:16,
                    from include/media/v4l2-mem2mem.h:16,
                    from drivers/staging/media/meson/vdec/vdec_helpers.c:8:
   include/media/videobuf2-core.h:1155:61: note: expected 'struct vb2_buffer *' but argument is of type 'struct vb2_buffer'
    1155 | static inline void vb2_set_plane_payload(struct vb2_buffer *vb,
         |                                          ~~~~~~~~~~~~~~~~~~~^~
   drivers/staging/media/meson/vdec/vdec_helpers.c:283:43: error: incompatible type for argument 1 of 'vb2_set_plane_payload'
     283 |                 vb2_set_plane_payload(vbuf->vb2_buf, 0, output_size);
         |                                       ~~~~^~~~~~~~~
         |                                           |
         |                                           struct vb2_buffer
   In file included from include/media/videobuf2-v4l2.h:16,
                    from include/media/v4l2-mem2mem.h:16,
                    from drivers/staging/media/meson/vdec/vdec_helpers.c:8:
   include/media/videobuf2-core.h:1155:61: note: expected 'struct vb2_buffer *' but argument is of type 'struct vb2_buffer'
    1155 | static inline void vb2_set_plane_payload(struct vb2_buffer *vb,
         |                                          ~~~~~~~~~~~~~~~~~~~^~
   drivers/staging/media/meson/vdec/vdec_helpers.c:284:43: error: incompatible type for argument 1 of 'vb2_set_plane_payload'
     284 |                 vb2_set_plane_payload(vbuf->vb2_buf, 1, output_size / 4);
         |                                       ~~~~^~~~~~~~~
         |                                           |
         |                                           struct vb2_buffer
   In file included from include/media/videobuf2-v4l2.h:16,
                    from include/media/v4l2-mem2mem.h:16,
                    from drivers/staging/media/meson/vdec/vdec_helpers.c:8:
   include/media/videobuf2-core.h:1155:61: note: expected 'struct vb2_buffer *' but argument is of type 'struct vb2_buffer'
    1155 | static inline void vb2_set_plane_payload(struct vb2_buffer *vb,
         |                                          ~~~~~~~~~~~~~~~~~~~^~
   drivers/staging/media/meson/vdec/vdec_helpers.c:285:43: error: incompatible type for argument 1 of 'vb2_set_plane_payload'
     285 |                 vb2_set_plane_payload(vbuf->vb2_buf, 2, output_size / 4);
         |                                       ~~~~^~~~~~~~~
         |                                           |
         |                                           struct vb2_buffer
   In file included from include/media/videobuf2-v4l2.h:16,
                    from include/media/v4l2-mem2mem.h:16,
                    from drivers/staging/media/meson/vdec/vdec_helpers.c:8:
   include/media/videobuf2-core.h:1155:61: note: expected 'struct vb2_buffer *' but argument is of type 'struct vb2_buffer'
    1155 | static inline void vb2_set_plane_payload(struct vb2_buffer *vb,
         |                                          ~~~~~~~~~~~~~~~~~~~^~


vim +/vb2_set_plane_payload +279 drivers/staging/media/meson/vdec/vdec_helpers.c

   268	
   269	static void dst_buf_done(struct amvdec_session *sess,
   270				 struct vb2_v4l2_buffer *vbuf,
   271				 u32 field, u64 timestamp,
   272				 struct v4l2_timecode timecode, u32 flags)
   273	{
   274		struct device *dev = sess->core->dev_dec;
   275		u32 output_size = amvdec_get_output_size(sess);
   276	
   277		switch (sess->pixfmt_cap) {
   278		case V4L2_PIX_FMT_NV12M:
 > 279			vb2_set_plane_payload(vbuf->vb2_buf, 0, output_size);
   280			vb2_set_plane_payload(vbuf->vb2_buf, 1, output_size / 2);
   281			break;
   282		case V4L2_PIX_FMT_YUV420M:
   283			vb2_set_plane_payload(vbuf->vb2_buf, 0, output_size);
   284			vb2_set_plane_payload(vbuf->vb2_buf, 1, output_size / 4);
   285			vb2_set_plane_payload(vbuf->vb2_buf, 2, output_size / 4);
   286			break;
   287		}
   288	
   289		vbuf->vb2_buf.timestamp = timestamp;
   290		vbuf->sequence = sess->sequence_cap++;
   291		vbuf->flags = flags;
   292		vbuf->timecode = timecode;
   293	
   294		if (sess->should_stop &&
   295		    atomic_read(&sess->esparser_queued_bufs) <= 1) {
   296			const struct v4l2_event ev = { .type = V4L2_EVENT_EOS };
   297	
   298			dev_dbg(dev, "Signaling EOS, sequence_cap = %u\n",
   299				sess->sequence_cap - 1);
   300			v4l2_event_queue_fh(&sess->fh, &ev);
   301			vbuf->flags |= V4L2_BUF_FLAG_LAST;
   302		} else if (sess->status == STATUS_NEEDS_RESUME) {
   303			/* Mark LAST for drained show frames during a source change */
   304			vbuf->flags |= V4L2_BUF_FLAG_LAST;
   305			sess->sequence_cap = 0;
   306		} else if (sess->should_stop)
   307			dev_dbg(dev, "should_stop, %u bufs remain\n",
   308				atomic_read(&sess->esparser_queued_bufs));
   309	
   310		dev_dbg(dev, "Buffer %u done, ts = %llu, flags = %08X\n",
   311			vbuf->vb2_buf.index, timestamp, flags);
   312		vbuf->field = field;
   313		v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_DONE);
   314	
   315		/* Buffer done probably means the vififo got freed */
   316		schedule_work(&sess->esparser_queue_work);
   317	}
   318	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 35840 bytes --]

  reply	other threads:[~2021-11-16  2:27 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-11 15:26 [PATCH v2 0/2] media: videobuf2: make sure bytesused is smaller than the buffer size Dafna Hirschfeld
2021-11-11 15:26 ` [PATCH v2 1/2] media: replace setting of bytesused with vb2_set_plane_payload Dafna Hirschfeld
2021-11-16  2:24   ` kernel test robot [this message]
2021-11-16  2:24     ` kernel test robot
2021-11-11 15:26 ` [PATCH v2 2/2] media: videobuf2: add WARN_ON if bytesused is bigger than buffer length Dafna Hirschfeld
2021-11-12  0:10   ` Laurent Pinchart
2021-11-24 15:47   ` Hans Verkuil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202111161018.73aZETZ7-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=dafna.hirschfeld@collabora.com \
    --cc=dafna3@gmail.com \
    --cc=hverkuil@xs4all.nl \
    --cc=kbuild-all@lists.01.org \
    --cc=kernel@collabora.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.