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
next prev 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.