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

Nicolas Dufresne nicolas.dufresne at collabora.com
Wed Jan 21 06:46:48 PST 2026


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
> > Reported-by: kernel test robot <lkp at intel.com>
> > Closes: https://lore.kernel.org/oe-kbuild-all/202601211924.rqKS2Ihm-lkp@intel.com/
> 
> All warnings (new ones prefixed by >>):
> 
> > > 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	
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20260121/488498eb/attachment.sig>


More information about the linux-arm-kernel mailing list