Re: [PATCH v16, 13/19] media: mtk-vcodec: Add work queue for core hardware decode

kernel test robot
2021-12-16T20:35:57Z

Hi Yunfei,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on media-tree/master]
[also build test WARNING on next-20211215]
[cannot apply to v5.16-rc5]
[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/Yunfei-Dong/Support-multi-hardware-decode-using-of_platform_populate/20211216-174823
base: git://linuxtv.org/media_tree.git master
config: arm64-randconfig-r015-20211216 (https://download.01.org/0day-ci/archive/20211217/202112170440.wTkVV1Cz-lkp@intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dd245bab9fbb364faa1581e4f92ba3119a872fba)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/7ce79e6a446bd8e992083b0fb72f0934009ca99d
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Yunfei-Dong/Support-multi-hardware-decode-using-of_platform_populate/20211216-174823
git checkout 7ce79e6a446bd8e992083b0fb72f0934009ca99d
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/media/ mm//

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

All warnings (new ones prefixed by >>):

>> drivers/media/platform/mtk-vcodec/vdec_msg_queue.c:224:4: warning: data argument not used by format string [-Wformat-extra-args]
dev->msg_queue_core_ctx.ready_num);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/mtk-vcodec/mtk_vcodec_util.h:39:61: note: expanded from macro 'mtk_v4l2_debug'
#define mtk_v4l2_debug(level, fmt, args...) pr_debug(fmt, ##args)
~~~~~~~~~~~~~~~~^~~~~
include/linux/printk.h:574:26: note: expanded from macro 'pr_debug'
dynamic_pr_debug(fmt, ##__VA_ARGS__)
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
include/linux/dynamic_debug.h:163:22: note: expanded from macro 'dynamic_pr_debug'
pr_fmt(fmt), ##__VA_ARGS__)
~~~~~~~~~~~~~~~^~~~~~~~~~~~
include/linux/dynamic_debug.h:152:56: note: expanded from macro '_dynamic_func_call'
__dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
include/linux/dynamic_debug.h:134:15: note: expanded from macro '__dynamic_func_call'
func(&id, ##__VA_ARGS__); \
^~~~~~~~~~~
1 warning generated.

vim +224 drivers/media/platform/mtk-vcodec/vdec_msg_queue.c

200
201 static void vdec_msg_queue_core_work(struct work_struct *work)
202 {
203 struct vdec_msg_queue *msg_queue =
204 container_of(work, struct vdec_msg_queue, core_work);
205 struct mtk_vcodec_ctx *ctx =
206 container_of(msg_queue, struct mtk_vcodec_ctx, msg_queue);
207 struct mtk_vcodec_dev *dev = ctx->dev;
208 struct vdec_lat_buf *lat_buf;
209
210 lat_buf = vdec_msg_queue_dqbuf(&dev->msg_queue_core_ctx);
211 if (!lat_buf)
212 return;
213
214 ctx = lat_buf->ctx;
215 mtk_vcodec_set_curr_ctx(dev, ctx, MTK_VDEC_CORE);
216
217 lat_buf->core_decode(lat_buf);
218
219 mtk_vcodec_set_curr_ctx(dev, NULL, MTK_VDEC_CORE);
220 vdec_msg_queue_qbuf(&ctx->msg_queue.lat_ctx, lat_buf);
221
222 if (!list_empty(&ctx->msg_queue.lat_ctx.ready_queue)) {
223 mtk_v4l2_debug(3, "re-schedule to decode for core",
> 224 dev->msg_queue_core_ctx.ready_num);
225 queue_work(dev->core_workqueue, &msg_queue->core_work);
226 }
227 }
228

---
0-DAY CI Kernel Test Service, Intel Corporation