lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202301040430.JnMdUz9S-lkp@intel.com>
Date:   Wed, 4 Jan 2023 04:11:26 +0800
From:   kernel test robot <lkp@...el.com>
To:     Benjamin Gaignard <benjamin.gaignard@...labora.com>,
        ezequiel@...guardiasur.com.ar, p.zabel@...gutronix.de,
        mchehab@...nel.org, robh+dt@...nel.org,
        krzysztof.kozlowski+dt@...aro.org, heiko@...ech.de,
        daniel.almeida@...labora.com, nicolas.dufresne@...labora.co.uk
Cc:     oe-kbuild-all@...ts.linux.dev, linux-media@...r.kernel.org,
        linux-rockchip@...ts.infradead.org, devicetree@...r.kernel.org,
        linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
        kernel@...labora.com,
        Benjamin Gaignard <benjamin.gaignard@...labora.com>
Subject: Re: [PATCH v2 10/13] media: verisilicon: Add Rockchip AV1 decoder

Hi Benjamin,

I love your patch! Perhaps something to improve:

[auto build test WARNING on media-tree/master]
[also build test WARNING on rockchip/for-next linus/master v6.2-rc2 next-20221226]
[cannot apply to pza/reset/next pza/imx-drm/next]
[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/Benjamin-Gaignard/dt-bindings-media-rockchip-vpu-Add-rk3588-vpu-compatible/20230104-010906
base:   git://linuxtv.org/media_tree.git master
patch link:    https://lore.kernel.org/r/20230103170058.810597-11-benjamin.gaignard%40collabora.com
patch subject: [PATCH v2 10/13] media: verisilicon: Add Rockchip AV1 decoder
config: sh-allmodconfig
compiler: sh4-linux-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/9223ba771533395ef28d21c8b4c944dde145d820
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Benjamin-Gaignard/dt-bindings-media-rockchip-vpu-Add-rk3588-vpu-compatible/20230104-010906
        git checkout 9223ba771533395ef28d21c8b4c944dde145d820
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sh olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sh SHELL=/bin/bash drivers/media/platform/verisilicon/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>

All warnings (new ones prefixed by >>):

   drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c:229:6: warning: no previous prototype for 'rockchip_vpu981_av1_dec_tiles_free' [-Wmissing-prototypes]
     229 | void rockchip_vpu981_av1_dec_tiles_free(struct hantro_ctx *ctx)
         |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c:327:6: warning: no previous prototype for 'rockchip_vpu981_av1_dec_exit' [-Wmissing-prototypes]
     327 | void rockchip_vpu981_av1_dec_exit(struct hantro_ctx *ctx)
         |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c:363:5: warning: no previous prototype for 'rockchip_vpu981_av1_dec_init' [-Wmissing-prototypes]
     363 | int rockchip_vpu981_av1_dec_init(struct hantro_ctx *ctx)
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c: In function 'rockchip_vpu981_av1_dec_set_segmentation':
   drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c:790:47: warning: variable 'chroma_addr' set but not used [-Wunused-but-set-variable]
     790 |                         dma_addr_t luma_addr, chroma_addr, mv_addr = 0;
         |                                               ^~~~~~~~~~~
   drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c: At top level:
   drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c:1141:6: warning: no previous prototype for 'rockchip_vpu981_av1_dec_done' [-Wmissing-prototypes]
    1141 | void rockchip_vpu981_av1_dec_done(struct hantro_ctx *ctx)
         |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c:1933:5: warning: no previous prototype for 'rockchip_vpu981_av1_dec_run' [-Wmissing-prototypes]
    1933 | int rockchip_vpu981_av1_dec_run(struct hantro_ctx *ctx)
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c: In function 'rockchip_vpu981_av1_dec_set_tile_info':
>> drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c:616:1: warning: the frame size of 1076 bytes is larger than 1024 bytes [-Wframe-larger-than=]
     616 | }
         | ^


vim +616 drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c

   546	
   547	static void rockchip_vpu981_av1_dec_set_tile_info(struct hantro_ctx *ctx)
   548	{
   549		struct hantro_av1_dec_hw_ctx *av1_dec = &ctx->av1_dec;
   550		struct hantro_av1_dec_ctrls *ctrls = &av1_dec->ctrls;
   551		struct v4l2_av1_tile_info tile_info = ctrls->frame->tile_info;
   552		const struct v4l2_ctrl_av1_tile_group_entry *group_entry =
   553		    ctrls->tile_group_entry;
   554		int context_update_y =
   555		    tile_info.context_update_tile_id / tile_info.tile_cols;
   556		int context_update_x =
   557		    tile_info.context_update_tile_id % tile_info.tile_cols;
   558		int context_update_tile_id =
   559		    context_update_x * tile_info.tile_rows + context_update_y;
   560		uint8_t *dst = av1_dec->tile_info.cpu;
   561		struct hantro_dev *vpu = ctx->dev;
   562		int tile0, tile1;
   563	
   564		memset(dst, 0, av1_dec->tile_info.size);
   565	
   566		for (tile0 = 0; tile0 < tile_info.tile_cols; tile0++) {
   567			for (tile1 = 0; tile1 < tile_info.tile_rows; tile1++) {
   568				int tile_id = tile1 * tile_info.tile_cols + tile0;
   569				uint32_t start, end;
   570				uint32_t y0 =
   571				    tile_info.height_in_sbs_minus_1[tile1] + 1;
   572				uint32_t x0 = tile_info.width_in_sbs_minus_1[tile0] + 1;
   573	
   574				// tile size in SB units (width,height)
   575				*dst++ = x0;
   576				*dst++ = 0;
   577				*dst++ = 0;
   578				*dst++ = 0;
   579				*dst++ = y0;
   580				*dst++ = 0;
   581				*dst++ = 0;
   582				*dst++ = 0;
   583	
   584				// tile start position
   585				start = group_entry[tile_id].tile_offset - group_entry[0].tile_offset;
   586				*dst++ = start & 255;
   587				*dst++ = (start >> 8) & 255;
   588				*dst++ = (start >> 16) & 255;
   589				*dst++ = (start >> 24) & 255;
   590	
   591				// # of bytes in tile data
   592				end = start + group_entry[tile_id].tile_size;
   593				*dst++ = end & 255;
   594				*dst++ = (end >> 8) & 255;
   595				*dst++ = (end >> 16) & 255;
   596				*dst++ = (end >> 24) & 255;
   597			}
   598		}
   599	
   600		hantro_reg_write(vpu, &av1_multicore_expect_context_update,
   601				 !!(context_update_x == 0));
   602		hantro_reg_write(vpu, &av1_tile_enable, !!((tile_info.tile_cols > 1)
   603							   || (tile_info.tile_rows > 1)));
   604		hantro_reg_write(vpu, &av1_num_tile_cols_8k, tile_info.tile_cols);
   605		hantro_reg_write(vpu, &av1_num_tile_rows_8k, tile_info.tile_rows);
   606		hantro_reg_write(vpu, &av1_context_update_tile_id,
   607				 context_update_tile_id);
   608		hantro_reg_write(vpu, &av1_tile_transpose, 1);
   609		if (context_update_tile_id) {
   610			hantro_reg_write(vpu, &av1_dec_tile_size_mag,
   611					 tile_info.tile_size_bytes);
   612		} else
   613			hantro_reg_write(vpu, &av1_dec_tile_size_mag, 3);
   614	
   615		hantro_write_addr(vpu, AV1_TILE_BASE, av1_dec->tile_info.dma);
 > 616	}
   617	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

View attachment "config" of type "text/plain" (245804 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ