Re: [V4] venus: vdec: decoded picture buffer handling during reconfig sequence

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mansur,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on next-20211013]
[also build test ERROR on v5.15-rc5]
[cannot apply to media-tree/master v5.15-rc5 v5.15-rc4 v5.15-rc3]
[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/Mansur-Alisha-Shaik/venus-vdec-decoded-picture-buffer-handling-during-reconfig-sequence/20211014-121505
base:    8006b911c90a4ec09958447d24c8a4c3538f5723
config: arm64-randconfig-r006-20211014 (attached as .config)
compiler: aarch64-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/168172cb6c2fae8b603221ca11142de23a40f980
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Mansur-Alisha-Shaik/venus-vdec-decoded-picture-buffer-handling-during-reconfig-sequence/20211014-121505
        git checkout 168172cb6c2fae8b603221ca11142de23a40f980
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arm64 

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

All errors (new ones prefixed by >>):

   drivers/media/platform/qcom/venus/vdec.c: In function 'vdec_buf_done':
>> drivers/media/platform/qcom/venus/vdec.c:1331:17: error: implicit declaration of function 'venus_helper_change_dpb_buf_owner'; did you mean 'venus_helper_change_dpb_owner'? [-Werror=implicit-function-declaration]
    1331 |                 venus_helper_change_dpb_buf_owner(inst, vbuf, type, buf_type, tag);
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                 venus_helper_change_dpb_owner
   drivers/media/platform/qcom/venus/vdec.c:1320:24: warning: unused variable 'dpb_buf' [-Wunused-variable]
    1320 |         struct intbuf *dpb_buf;
         |                        ^~~~~~~
   cc1: some warnings being treated as errors


vim +1331 drivers/media/platform/qcom/venus/vdec.c

  1311	
  1312	static void vdec_buf_done(struct venus_inst *inst, unsigned int buf_type,
  1313				  u32 tag, u32 bytesused, u32 data_offset, u32 flags,
  1314				  u32 hfi_flags, u64 timestamp_us)
  1315	{
  1316		enum vb2_buffer_state state = VB2_BUF_STATE_DONE;
  1317		struct vb2_v4l2_buffer *vbuf;
  1318		struct vb2_buffer *vb;
  1319		unsigned int type;
  1320		struct intbuf *dpb_buf;
  1321	
  1322		vdec_pm_touch(inst);
  1323	
  1324		if (buf_type == HFI_BUFFER_INPUT)
  1325			type = V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE;
  1326		else
  1327			type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
  1328	
  1329		vbuf = venus_helper_find_buf(inst, type, tag);
  1330		if (!vbuf) {
> 1331			venus_helper_change_dpb_buf_owner(inst, vbuf, type, buf_type, tag);
  1332			return;
  1333		}
  1334	
  1335		vbuf->flags = flags;
  1336		vbuf->field = V4L2_FIELD_NONE;
  1337		vb = &vbuf->vb2_buf;
  1338	
  1339		if (type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
  1340			vb2_set_plane_payload(vb, 0, bytesused);
  1341			vb->planes[0].data_offset = data_offset;
  1342			vb->timestamp = timestamp_us * NSEC_PER_USEC;
  1343			vbuf->sequence = inst->sequence_cap++;
  1344	
  1345			if (vbuf->flags & V4L2_BUF_FLAG_LAST) {
  1346				const struct v4l2_event ev = { .type = V4L2_EVENT_EOS };
  1347	
  1348				v4l2_event_queue_fh(&inst->fh, &ev);
  1349	
  1350				if (inst->codec_state == VENUS_DEC_STATE_DRAIN) {
  1351					inst->drain_active = false;
  1352					inst->codec_state = VENUS_DEC_STATE_STOPPED;
  1353				}
  1354			}
  1355	
  1356			if (!bytesused)
  1357				state = VB2_BUF_STATE_ERROR;
  1358		} else {
  1359			vbuf->sequence = inst->sequence_out++;
  1360		}
  1361	
  1362		venus_helper_get_ts_metadata(inst, timestamp_us, vbuf);
  1363	
  1364		if (hfi_flags & HFI_BUFFERFLAG_READONLY)
  1365			venus_helper_acquire_buf_ref(vbuf);
  1366	
  1367		if (hfi_flags & HFI_BUFFERFLAG_DATACORRUPT)
  1368			state = VB2_BUF_STATE_ERROR;
  1369	
  1370		if (hfi_flags & HFI_BUFFERFLAG_DROP_FRAME) {
  1371			state = VB2_BUF_STATE_ERROR;
  1372			vb2_set_plane_payload(vb, 0, 0);
  1373			vb->timestamp = 0;
  1374		}
  1375	
  1376		v4l2_m2m_buf_done(vbuf, state);
  1377	}
  1378	

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux