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

From: kernel test robot
Date: Thu Oct 14 2021 - 05:33:16 EST


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