Re: [PATCH v9 7/7] media: platform: mtk-mdp3: add Mediatek MDP3 driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Moudy,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on media-tree/master]
[also build test WARNING on robh/for-next linus/master v5.16-rc3 next-20211201]
[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/Moudy-Ho/media-mediatek-support-mdp3-on-mt8183-platform/20211201-175258
base:   git://linuxtv.org/media_tree.git master
config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20211202/202112020126.zBCAihfa-lkp@xxxxxxxxx/config)
compiler: arceb-elf-gcc (GCC) 11.2.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/0day-ci/linux/commit/f6f2b079ebc64ba1d7f0f73b0cfcfe8b98124ec3
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Moudy-Ho/media-mediatek-support-mdp3-on-mt8183-platform/20211201-175258
        git checkout f6f2b079ebc64ba1d7f0f73b0cfcfe8b98124ec3
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash drivers/media/platform/mtk-mdp3/

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

All warnings (new ones prefixed by >>):

   In file included from include/linux/device.h:15,
                    from include/linux/platform_device.h:13,
                    from drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c:7:
   drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c: In function 'mdp_cmdq_send':
>> drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c:435:30: warning: format '%s' expects a matching 'char *' argument [-Wformat=]
     435 |                 dev_err(dev, "%s mdp_path_ctx_init error\n");
         |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                              ^~~
   include/linux/dev_printk.h:144:56: note: in expansion of macro 'dev_fmt'
     144 |         dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
         |                                                        ^~~~~~~
   drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c:435:17: note: in expansion of macro 'dev_err'
     435 |                 dev_err(dev, "%s mdp_path_ctx_init error\n");
         |                 ^~~~~~~
   drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c:435:32: note: format string is defined here
     435 |                 dev_err(dev, "%s mdp_path_ctx_init error\n");
         |                               ~^
         |                                |
         |                                char *
   In file included from include/linux/device.h:15,
                    from include/linux/platform_device.h:13,
                    from drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c:7:
   drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c:445:30: warning: format '%s' expects a matching 'char *' argument [-Wformat=]
     445 |                 dev_err(dev, "%s mdp_path_config error\n");
         |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                              ^~~
   include/linux/dev_printk.h:144:56: note: in expansion of macro 'dev_fmt'
     144 |         dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
         |                                                        ^~~~~~~
   drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c:445:17: note: in expansion of macro 'dev_err'
     445 |                 dev_err(dev, "%s mdp_path_config error\n");
         |                 ^~~~~~~
   drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c:445:32: note: format string is defined here
     445 |                 dev_err(dev, "%s mdp_path_config error\n");
         |                               ~^
         |                                |
         |                                char *


vim +435 drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c

   390	
   391	int mdp_cmdq_send(struct mdp_dev *mdp, struct mdp_cmdq_param *param)
   392	{
   393		struct mmsys_cmdq_cmd cmd;
   394		struct mdp_path *path = NULL;
   395		struct mdp_cmdq_cb_param *cb_param = NULL;
   396		struct mdp_comp *comps = NULL;
   397		struct device *dev = &mdp->pdev->dev;
   398		int i, ret;
   399	
   400		if (atomic_read(&mdp->suspended))
   401			return -ECANCELED;
   402	
   403		atomic_inc(&mdp->job_count);
   404	
   405		cmd.pkt = cmdq_pkt_create(mdp->cmdq_clt, SZ_16K);
   406		if (IS_ERR(cmd.pkt)) {
   407			atomic_dec(&mdp->job_count);
   408			wake_up(&mdp->callback_wq);
   409			return PTR_ERR(cmd.pkt);
   410		}
   411		cmd.event = &mdp->event[0];
   412	
   413		path = kzalloc(sizeof(*path), GFP_KERNEL);
   414		if (!path) {
   415			ret = -ENOMEM;
   416			goto err_destroy_pkt;
   417		}
   418	
   419		path->mdp_dev = mdp;
   420		path->config = param->config;
   421		path->param = param->param;
   422		for (i = 0; i < param->param->num_outputs; i++) {
   423			path->bounds[i].left = 0;
   424			path->bounds[i].top = 0;
   425			path->bounds[i].width =
   426				param->param->outputs[i].buffer.format.width;
   427			path->bounds[i].height =
   428				param->param->outputs[i].buffer.format.height;
   429			path->composes[i] = param->composes[i] ?
   430				param->composes[i] : &path->bounds[i];
   431		}
   432	
   433		ret = mdp_path_ctx_init(mdp, path);
   434		if (ret) {
 > 435			dev_err(dev, "%s mdp_path_ctx_init error\n");
   436			goto err_destroy_pkt;
   437		}
   438	
   439		mtk_mutex_prepare(mdp->mdp_mutex[MDP_PIPE_RDMA0]);
   440		for (i = 0; i < param->config->num_components; i++)
   441			mdp_comp_clock_on(&mdp->pdev->dev, path->comps[i].comp);
   442	
   443		ret = mdp_path_config(mdp, &cmd, path);
   444		if (ret) {
   445			dev_err(dev, "%s mdp_path_config error\n");
   446			goto err_destroy_pkt;
   447		}
   448	
   449		cb_param = kzalloc(sizeof(*cb_param), GFP_KERNEL);
   450		if (!cb_param) {
   451			ret = -ENOMEM;
   452			goto err_destroy_pkt;
   453		}
   454	
   455		comps = kcalloc(param->config->num_components, sizeof(*comps),
   456				GFP_KERNEL);
   457		if (!comps) {
   458			ret = -ENOMEM;
   459			goto err_destroy_pkt;
   460		}
   461	
   462		for (i = 0; i < param->config->num_components; i++)
   463			memcpy(&comps[i], path->comps[i].comp,
   464			       sizeof(struct mdp_comp));
   465		cb_param->mdp = mdp;
   466		cb_param->user_cmdq_cb = param->cmdq_cb;
   467		cb_param->user_cb_data = param->cb_data;
   468		cb_param->pkt = cmd.pkt;
   469		cb_param->comps = comps;
   470		cb_param->num_comps = param->config->num_components;
   471		cb_param->mdp_ctx = param->mdp_ctx;
   472	
   473		cmdq_pkt_finalize(cmd.pkt);
   474		ret = cmdq_pkt_flush_async(cmd.pkt,
   475					   mdp_handle_cmdq_callback,
   476					   (void *)cb_param);
   477		if (ret) {
   478			dev_err(dev, "cmdq_pkt_flush_async fail!\n");
   479			goto err_clock_off;
   480		}
   481		return 0;
   482	
   483	err_clock_off:
   484		mtk_mutex_unprepare(mdp->mdp_mutex[MDP_PIPE_RDMA0]);
   485		mdp_comp_clocks_off(&mdp->pdev->dev, cb_param->comps,
   486				    cb_param->num_comps);
   487	err_destroy_pkt:
   488		cmdq_pkt_destroy(cmd.pkt);
   489		atomic_dec(&mdp->job_count);
   490		wake_up(&mdp->callback_wq);
   491		kfree(comps);
   492		kfree(cb_param);
   493		kfree(path);
   494	
   495		return ret;
   496	}
   497	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux