All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH v2 11/19] media: renesas: vsp1: Add and use function to dump a pipeline to the log
Date: Thu, 20 Jun 2024 01:02:59 +0800	[thread overview]
Message-ID: <202406200005.K2Kdd3VC-lkp@intel.com> (raw)
In-Reply-To: <20240619001722.9749-12-laurent.pinchart+renesas@ideasonboard.com>

Hi Laurent,

kernel test robot noticed the following build errors:

[auto build test ERROR on 91798162245991e26949ef62851719bb2177a9c2]

url:    https://github.com/intel-lab-lkp/linux/commits/Laurent-Pinchart/media-renesas-vsp1-Drop-vsp1_entity_get_pad_format-wrapper/20240619-081928
base:   91798162245991e26949ef62851719bb2177a9c2
patch link:    https://lore.kernel.org/r/20240619001722.9749-12-laurent.pinchart%2Brenesas%40ideasonboard.com
patch subject: [PATCH v2 11/19] media: renesas: vsp1: Add and use function to dump a pipeline to the log
config: arm-defconfig (https://download.01.org/0day-ci/archive/20240620/202406200005.K2Kdd3VC-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240620/202406200005.K2Kdd3VC-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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406200005.K2Kdd3VC-lkp@intel.com/

All error/warnings (new ones prefixed by >>):

>> drivers/media/platform/renesas/vsp1/vsp1_pipe.c:304:43: warning: omitting the parameter name in a function definition is a C2x extension [-Wc2x-extensions]
   void __vsp1_pipeline_dump(struct _ddebug *, struct vsp1_pipeline *pipe,
                                             ^
   1 warning generated.
--
>> drivers/media/platform/renesas/vsp1/vsp1_drm.c:736:2: error: expected expression
           vsp1_pipeline_dump(pipe, "LIF setup");
           ^
   drivers/media/platform/renesas/vsp1/vsp1_pipe.h:160:42: note: expanded from macro 'vsp1_pipeline_dump'
                   __vsp1_pipeline_dump(NULL, pipe, msg);  \
                                                           ^
>> drivers/media/platform/renesas/vsp1/vsp1_drm.c:736:39: error: expected ')'
           vsp1_pipeline_dump(pipe, "LIF setup");
                                                ^
   drivers/media/platform/renesas/vsp1/vsp1_drm.c:736:2: note: to match this '('
           vsp1_pipeline_dump(pipe, "LIF setup");
           ^
   drivers/media/platform/renesas/vsp1/vsp1_pipe.h:157:41: note: expanded from macro 'vsp1_pipeline_dump'
   #define vsp1_pipeline_dump(pipe, msg)                   \
                                                           ^
   drivers/media/platform/renesas/vsp1/vsp1_drm.c:912:2: error: expected expression
           vsp1_pipeline_dump(pipe, "atomic update");
           ^
   drivers/media/platform/renesas/vsp1/vsp1_pipe.h:160:42: note: expanded from macro 'vsp1_pipeline_dump'
                   __vsp1_pipeline_dump(NULL, pipe, msg);  \
                                                           ^
   drivers/media/platform/renesas/vsp1/vsp1_drm.c:912:43: error: expected ')'
           vsp1_pipeline_dump(pipe, "atomic update");
                                                    ^
   drivers/media/platform/renesas/vsp1/vsp1_drm.c:912:2: note: to match this '('
           vsp1_pipeline_dump(pipe, "atomic update");
           ^
   drivers/media/platform/renesas/vsp1/vsp1_pipe.h:157:41: note: expanded from macro 'vsp1_pipeline_dump'
   #define vsp1_pipeline_dump(pipe, msg)                   \
                                                           ^
   4 errors generated.
--
>> drivers/media/platform/renesas/vsp1/vsp1_video.c:533:2: error: expected expression
           vsp1_pipeline_dump(pipe, "video");
           ^
   drivers/media/platform/renesas/vsp1/vsp1_pipe.h:160:42: note: expanded from macro 'vsp1_pipeline_dump'
                   __vsp1_pipeline_dump(NULL, pipe, msg);  \
                                                           ^
>> drivers/media/platform/renesas/vsp1/vsp1_video.c:533:35: error: expected ')'
           vsp1_pipeline_dump(pipe, "video");
                                            ^
   drivers/media/platform/renesas/vsp1/vsp1_video.c:533:2: note: to match this '('
           vsp1_pipeline_dump(pipe, "video");
           ^
   drivers/media/platform/renesas/vsp1/vsp1_pipe.h:157:41: note: expanded from macro 'vsp1_pipeline_dump'
   #define vsp1_pipeline_dump(pipe, msg)                   \
                                                           ^
   2 errors generated.


vim +736 drivers/media/platform/renesas/vsp1/vsp1_drm.c

   622	
   623	/**
   624	 * vsp1_du_setup_lif - Setup the output part of the VSP pipeline
   625	 * @dev: the VSP device
   626	 * @pipe_index: the DRM pipeline index
   627	 * @cfg: the LIF configuration
   628	 *
   629	 * Configure the output part of VSP DRM pipeline for the given frame @cfg.width
   630	 * and @cfg.height. This sets up formats on the BRx source pad, the WPF sink and
   631	 * source pads, and the LIF sink pad.
   632	 *
   633	 * The @pipe_index argument selects which DRM pipeline to setup. The number of
   634	 * available pipelines depend on the VSP instance.
   635	 *
   636	 * As the media bus code on the blend unit source pad is conditioned by the
   637	 * configuration of its sink 0 pad, we also set up the formats on all blend unit
   638	 * sinks, even if the configuration will be overwritten later by
   639	 * vsp1_du_setup_rpf(). This ensures that the blend unit configuration is set to
   640	 * a well defined state.
   641	 *
   642	 * Return 0 on success or a negative error code on failure.
   643	 */
   644	int vsp1_du_setup_lif(struct device *dev, unsigned int pipe_index,
   645			      const struct vsp1_du_lif_config *cfg)
   646	{
   647		struct vsp1_device *vsp1 = dev_get_drvdata(dev);
   648		struct vsp1_drm_pipeline *drm_pipe;
   649		struct vsp1_pipeline *pipe;
   650		unsigned long flags;
   651		unsigned int i;
   652		int ret;
   653	
   654		if (pipe_index >= vsp1->info->lif_count)
   655			return -EINVAL;
   656	
   657		drm_pipe = &vsp1->drm->pipe[pipe_index];
   658		pipe = &drm_pipe->pipe;
   659	
   660		if (!cfg) {
   661			struct vsp1_brx *brx;
   662	
   663			mutex_lock(&vsp1->drm->lock);
   664	
   665			brx = to_brx(&pipe->brx->subdev);
   666	
   667			/*
   668			 * NULL configuration means the CRTC is being disabled, stop
   669			 * the pipeline and turn the light off.
   670			 */
   671			ret = vsp1_pipeline_stop(pipe);
   672			if (ret == -ETIMEDOUT)
   673				dev_err(vsp1->dev, "DRM pipeline stop timeout\n");
   674	
   675			for (i = 0; i < ARRAY_SIZE(pipe->inputs); ++i) {
   676				struct vsp1_rwpf *rpf = pipe->inputs[i];
   677	
   678				if (!rpf)
   679					continue;
   680	
   681				/*
   682				 * Remove the RPF from the pipe and the list of BRx
   683				 * inputs.
   684				 */
   685				WARN_ON(!rpf->entity.pipe);
   686				rpf->entity.pipe = NULL;
   687				list_del(&rpf->entity.list_pipe);
   688				pipe->inputs[i] = NULL;
   689	
   690				brx->inputs[rpf->brx_input].rpf = NULL;
   691			}
   692	
   693			drm_pipe->du_complete = NULL;
   694			pipe->num_inputs = 0;
   695	
   696			dev_dbg(vsp1->dev, "%s: pipe %u: releasing %s\n",
   697				__func__, pipe->lif->index,
   698				BRX_NAME(pipe->brx));
   699	
   700			list_del(&pipe->brx->list_pipe);
   701			pipe->brx->pipe = NULL;
   702			pipe->brx = NULL;
   703	
   704			mutex_unlock(&vsp1->drm->lock);
   705	
   706			vsp1_dlm_reset(pipe->output->dlm);
   707			vsp1_device_put(vsp1);
   708	
   709			dev_dbg(vsp1->dev, "%s: pipeline disabled\n", __func__);
   710	
   711			return 0;
   712		}
   713	
   714		/* Reset the underrun counter */
   715		pipe->underrun_count = 0;
   716	
   717		drm_pipe->width = cfg->width;
   718		drm_pipe->height = cfg->height;
   719		pipe->interlaced = cfg->interlaced;
   720	
   721		dev_dbg(vsp1->dev, "%s: configuring LIF%u with format %ux%u%s\n",
   722			__func__, pipe_index, cfg->width, cfg->height,
   723			pipe->interlaced ? "i" : "");
   724	
   725		mutex_lock(&vsp1->drm->lock);
   726	
   727		/* Setup formats through the pipeline. */
   728		ret = vsp1_du_pipeline_setup_inputs(vsp1, pipe);
   729		if (ret < 0)
   730			goto unlock;
   731	
   732		ret = vsp1_du_pipeline_setup_output(vsp1, pipe);
   733		if (ret < 0)
   734			goto unlock;
   735	
 > 736		vsp1_pipeline_dump(pipe, "LIF setup");
   737	
   738		/* Enable the VSP1. */
   739		ret = vsp1_device_get(vsp1);
   740		if (ret < 0)
   741			goto unlock;
   742	
   743		/*
   744		 * Register a callback to allow us to notify the DRM driver of frame
   745		 * completion events.
   746		 */
   747		drm_pipe->du_complete = cfg->callback;
   748		drm_pipe->du_private = cfg->callback_data;
   749	
   750		/* Disable the display interrupts. */
   751		vsp1_write(vsp1, VI6_DISP_IRQ_STA(pipe_index), 0);
   752		vsp1_write(vsp1, VI6_DISP_IRQ_ENB(pipe_index), 0);
   753	
   754		/* Configure all entities in the pipeline. */
   755		vsp1_du_pipeline_configure(pipe);
   756	
   757	unlock:
   758		mutex_unlock(&vsp1->drm->lock);
   759	
   760		if (ret < 0)
   761			return ret;
   762	
   763		/* Start the pipeline. */
   764		spin_lock_irqsave(&pipe->irqlock, flags);
   765		vsp1_pipeline_run(pipe);
   766		spin_unlock_irqrestore(&pipe->irqlock, flags);
   767	
   768		dev_dbg(vsp1->dev, "%s: pipeline enabled\n", __func__);
   769	
   770		return 0;
   771	}
   772	EXPORT_SYMBOL_GPL(vsp1_du_setup_lif);
   773	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  parent reply	other threads:[~2024-06-19 17:03 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-19  0:17 [PATCH v2 00/19] media: renesas: vsp1: Conversion to subdev active state Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 01/19] media: renesas: vsp1: Drop vsp1_entity_get_pad_format() wrapper Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 02/19] media: renesas: vsp1: Drop vsp1_entity_get_pad_selection() wrapper Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 03/19] media: renesas: vsp1: Drop vsp1_rwpf_get_crop() wrapper Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 04/19] media: renesas: vsp1: Drop brx_get_compose() wrapper Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 05/19] media: renesas: vsp1: Drop custom .get_fmt() handler for histogram Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 06/19] media: renesas: vsp1: Move partition calculation to vsp1_pipe.c Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 07/19] media: renesas: vsp1: Simplify partition calculation Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 08/19] media: renesas: vsp1: Store RPF partition configuration per RPF instance Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 09/19] media: renesas: vsp1: Pass partition pointer to .configure_partition() Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 10/19] media: renesas: vsp1: Replace vsp1_partition_window with v4l2_rect Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 11/19] media: renesas: vsp1: Add and use function to dump a pipeline to the log Laurent Pinchart
2024-06-19 16:52   ` kernel test robot
2024-06-19 17:02   ` kernel test robot [this message]
2024-06-19 17:24   ` kernel test robot
2024-06-19 18:59   ` [PATCH v2.1 " Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 12/19] media: renesas: vsp1: Keep the DRM pipeline entities sorted Laurent Pinchart
2024-06-19 12:20   ` Kieran Bingham
2024-06-19 12:31     ` Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 13/19] media: renesas: vsp1: Compute partitions for DRM pipelines Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 14/19] media: renesas: vsp1: Get configuration from partition instead of state Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 15/19] media: renesas: vsp1: Name parameters to entity operations Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 16/19] media: renesas: vsp1: Pass subdev state " Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 17/19] media: renesas: vsp1: Initialize control handler after subdev Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 18/19] media: renesas: vsp1: Switch to V4L2 subdev active state Laurent Pinchart
2024-06-19  0:17 ` [PATCH v2 19/19] media: renesas: vsp1: Rename all v4l2_subdev_state variables to 'state' Laurent Pinchart
2025-06-26  8:30 ` [PATCH v2 00/19] media: renesas: vsp1: Conversion to subdev active state Tomi Valkeinen
2025-06-26  9:07   ` Laurent Pinchart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202406200005.K2Kdd3VC-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.