[PATCH v5 10/19] drm/imx: Add i.MX8qxp Display Controller pixel engine

Liu Ying victor.liu at nxp.com
Mon Dec 2 01:41:49 PST 2024


On 12/02/2024, kernel test robot wrote:
> Hi Liu,
> 
> kernel test robot noticed the following build warnings:
> 
> [auto build test WARNING on shawnguo/for-next]
> [also build test WARNING on linus/master v6.13-rc1 next-20241128]
> [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/Liu-Ying/dt-bindings-display-imx-Add-i-MX8qxp-Display-Controller-processing-units/20241202-110331
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git for-next
> patch link:    https://lore.kernel.org/r/20241202025635.1274467-11-victor.liu%40nxp.com
> patch subject: [PATCH v5 10/19] drm/imx: Add i.MX8qxp Display Controller pixel engine
> config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20241202/202412021617.HmlPGJLh-lkp@intel.com/config)
> compiler: alpha-linux-gcc (GCC) 14.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241202/202412021617.HmlPGJLh-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/202412021617.HmlPGJLh-lkp@intel.com/
> 
> All warnings (new ones prefixed by >>):
> 
>    drivers/gpu/drm/imx/dc/dc-fl.c: In function 'dc_fl_bind':
>>> drivers/gpu/drm/imx/dc/dc-fl.c:136:57: warning: '%d' directive output may be truncated writing between 1 and 10 bytes into a region of size 3 [-Wformat-truncation=]
>      136 |         snprintf(fu->name, sizeof(fu->name), "FetchLayer%d", fl->id);
>          |                                                         ^~
>    drivers/gpu/drm/imx/dc/dc-fl.c:136:46: note: directive argument in the range [0, 2147483647]
>      136 |         snprintf(fu->name, sizeof(fu->name), "FetchLayer%d", fl->id);
>          |                                              ^~~~~~~~~~~~~~
>    drivers/gpu/drm/imx/dc/dc-fl.c:136:9: note: 'snprintf' output between 12 and 21 bytes into a destination of size 13

Will expand sizeof(fu->name) from 13 to 21.
Thanks for the report.

>      136 |         snprintf(fu->name, sizeof(fu->name), "FetchLayer%d", fl->id);
>          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> --
>    drivers/gpu/drm/imx/dc/dc-fw.c: In function 'dc_fw_bind':
>>> drivers/gpu/drm/imx/dc/dc-fw.c:175:56: warning: '%u' directive output may be truncated writing between 1 and 10 bytes into a region of size 4 [-Wformat-truncation=]
>      175 |         snprintf(fu->name, sizeof(fu->name), "FetchWarp%u", fw->id);
>          |                                                        ^~
>    drivers/gpu/drm/imx/dc/dc-fw.c:175:46: note: directive argument in the range [0, 2147483647]
>      175 |         snprintf(fu->name, sizeof(fu->name), "FetchWarp%u", fw->id);
>          |                                              ^~~~~~~~~~~~~
>    drivers/gpu/drm/imx/dc/dc-fw.c:175:9: note: 'snprintf' output between 11 and 20 bytes into a destination of size 13
>      175 |         snprintf(fu->name, sizeof(fu->name), "FetchWarp%u", fw->id);
>          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> 
> vim +136 drivers/gpu/drm/imx/dc/dc-fl.c
> 
>     92	
>     93	static int dc_fl_bind(struct device *dev, struct device *master, void *data)
>     94	{
>     95		struct platform_device *pdev = to_platform_device(dev);
>     96		struct dc_drm_device *dc_drm = data;
>     97		struct dc_pe *pe = dc_drm->pe;
>     98		void __iomem *base_cfg;
>     99		struct dc_fl *fl;
>    100		struct dc_fu *fu;
>    101		int i;
>    102	
>    103		fl = devm_kzalloc(dev, sizeof(*fl), GFP_KERNEL);
>    104		if (!fl)
>    105			return -ENOMEM;
>    106	
>    107		fu = &fl->fu;
>    108	
>    109		base_cfg = devm_platform_ioremap_resource_byname(pdev, "cfg");
>    110		if (IS_ERR(base_cfg))
>    111			return PTR_ERR(base_cfg);
>    112	
>    113		fu->reg_cfg = devm_regmap_init_mmio(dev, base_cfg,
>    114						    &dc_fl_cfg_regmap_config);
>    115		if (IS_ERR(fu->reg_cfg))
>    116			return PTR_ERR(fu->reg_cfg);
>    117	
>    118		fl->id = of_alias_get_id(dev->of_node, "dc0-fetchlayer");
>    119		if (fl->id < 0) {
>    120			dev_err(dev, "failed to get alias id: %d\n", fl->id);
>    121			return fl->id;
>    122		}
>    123	
>    124		fu->link_id = LINK_ID_FETCHLAYER0;
>    125		fu->id = DC_FETCHUNIT_FL0;
>    126		for (i = 0; i < DC_FETCHUNIT_FRAC_NUM; i++) {
>    127			fu->reg_baseaddr[i]		  = BASEADDRESS(i);
>    128			fu->reg_sourcebufferattributes[i] = SOURCEBUFFERATTRIBUTES(i);
>    129			fu->reg_sourcebufferdimension[i]  = SOURCEBUFFERDIMENSION(i);
>    130			fu->reg_layeroffset[i]		  = LAYEROFFSET(i);
>    131			fu->reg_clipwindowoffset[i]	  = CLIPWINDOWOFFSET(i);
>    132			fu->reg_clipwindowdimensions[i]	  = CLIPWINDOWDIMENSIONS(i);
>    133			fu->reg_constantcolor[i]	  = CONSTANTCOLOR(i);
>    134			fu->reg_layerproperty[i]	  = LAYERPROPERTY(i);
>    135		}
>  > 136		snprintf(fu->name, sizeof(fu->name), "FetchLayer%d", fl->id);
>    137	
>    138		dc_fl_set_ops(fu);
>    139	
>    140		pe->fu_disp[fu->id] = fu;
>    141	
>    142		return 0;
>    143	}
>    144	
> 

-- 
Regards,
Liu Ying




More information about the linux-phy mailing list