Thread (21 messages) 21 messages, 4 authors, 2026-01-21

Re: [PATCH v9 15/17] media: rkvdec: Add H264 support for the VDPU383 variant

From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Date: 2026-01-21 14:46:55
Also in: linux-media, linux-rockchip, lkml, llvm, oe-kbuild-all

Hi,

Le mercredi 21 janvier 2026 à 22:27 +0800, kernel test robot a écrit :
Hi Detlev,

kernel test robot noticed the following build warnings:

[auto build test WARNING on rockchip/for-next]
[also build test WARNING on linuxtv-media-pending/master media-tree/master linus/master v6.19-rc6 next-20260120]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Detlev-Casanova/media-uapi-HEVC-Add-v4l2_ctrl_hevc_ext_sps_-ls-t_rps-controls/20260121-071026
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next
patch link:    https://lore.kernel.org/r/20260120222018.404741-16-detlev.casanova%40collabora.com
patch subject: [PATCH v9 15/17] media: rkvdec: Add H264 support for the VDPU383 variant
config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20260121/202601211924.rqKS2Ihm-lkp@intel.com/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
Modification has been done to reduce the stack utilization on clang, though we
believe we are hitting limitations/bugs on older clang. We went ahead with these
patch by updating our CI to clang 21, which allocate a lot less stack with KASAN
enabled and this code. Our general advise is to use a newer clang, or GCC for
testing with KASAN.

The stack utilization is caused by the combination of loop unrolling, agressive
inlining, and write operations to bitfield (which requires the compiler to
generate more code for memory checks, since the writes are not aligned).

cheers,
Nicolas
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260121/202601211924.rqKS2Ihm-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
quoted
Reported-by: kernel test robot <redacted>
Closes: https://lore.kernel.org/oe-kbuild-all/202601211924.rqKS2Ihm-lkp@intel.com/ (local)
All warnings (new ones prefixed by >>):
quoted
quoted
drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu383-h264.c:485:12: warning: stack frame size (2064) exceeds limit (2048) in 'rkvdec_h264_run' [-Wframe-larger-than]
     485 | static int rkvdec_h264_run(struct rkvdec_ctx *ctx)
         |            ^
   1 warning generated.


vim +/rkvdec_h264_run +485 drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu383-h264.c

   484	
 > 485	static int rkvdec_h264_run(struct rkvdec_ctx *ctx)
   486	{
   487		struct v4l2_h264_reflist_builder reflist_builder;
   488		struct rkvdec_dev *rkvdec = ctx->dev;
   489		struct rkvdec_h264_ctx *h264_ctx = ctx->priv;
   490		struct rkvdec_h264_run run;
   491		struct rkvdec_h264_priv_tbl *tbl = h264_ctx->priv_tbl.cpu;
   492		u32 timeout_threshold;
   493	
   494		rkvdec_h264_run_preamble(ctx, &run);
   495	
   496		/* Build the P/B{0,1} ref lists. */
   497		v4l2_h264_init_reflist_builder(&reflist_builder, run.decode_params,
   498					       run.sps, run.decode_params->dpb);
   499		v4l2_h264_build_p_ref_list(&reflist_builder, h264_ctx->reflists.p);
   500		v4l2_h264_build_b_ref_lists(&reflist_builder, h264_ctx->reflists.b0,
   501					    h264_ctx->reflists.b1);
   502	
   503		assemble_hw_scaling_list(&run, &tbl->scaling_list);
   504		assemble_hw_pps(ctx, &run);
   505		lookup_ref_buf_idx(ctx, &run);
   506		assemble_hw_rps(&reflist_builder, &run, &h264_ctx->reflists, &tbl->rps);
   507	
   508		config_registers(ctx, &run);
   509	
   510		rkvdec_run_postamble(ctx, &run.base);
   511	
   512		timeout_threshold = h264_ctx->regs.common.reg013_core_timeout_threshold;
   513		rkvdec_schedule_watchdog(rkvdec, timeout_threshold);
   514	
   515		/* Start decoding! */
   516		writel(timeout_threshold, rkvdec->link + VDPU383_LINK_TIMEOUT_THRESHOLD);
   517		writel(0, rkvdec->link + VDPU383_LINK_IP_ENABLE);
   518		writel(VDPU383_DEC_E_BIT, rkvdec->link + VDPU383_LINK_DEC_ENABLE);
   519	
   520		return 0;
   521	}
   522	

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help