All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Maxime Ripard <maxime@cerno.tech>,
	Daniel Vetter <daniel.vetter@intel.com>,
	David Airlie <airlied@linux.ie>,
	dri-devel@lists.freedesktop.org,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Thomas Zimmermann <tzimmermann@suse.de>
Cc: Nicolas Saenz Julienne <nsaenz@kernel.org>,
	kbuild-all@lists.01.org, Dom Cobley <dom@raspberrypi.com>,
	Tim Gover <tim.gover@raspberrypi.com>,
	Dave Stevenson <dave.stevenson@raspberrypi.com>
Subject: Re: [PATCH v5 07/10] drm/vc4: Leverage the load tracker on the BCM2711
Date: Tue, 29 Jun 2021 01:01:01 +0800	[thread overview]
Message-ID: <202106290033.D1fXfCMX-lkp@intel.com> (raw)
In-Reply-To: <20210628124257.140453-8-maxime@cerno.tech>

[-- Attachment #1: Type: text/plain, Size: 6532 bytes --]

Hi Maxime,

I love your patch! Perhaps something to improve:

[auto build test WARNING on drm-intel/for-linux-next]
[cannot apply to drm-tip/drm-tip anholt/for-next v5.13 next-20210628]
[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/Maxime-Ripard/drm-vc4-hdmi-Support-the-4k-60Hz-modes/20210628-204514
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-a016-20210628 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/1a67588c095aa22f70656da4b59474fdc8419e58
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Maxime-Ripard/drm-vc4-hdmi-Support-the-4k-60Hz-modes/20210628-204514
        git checkout 1a67588c095aa22f70656da4b59474fdc8419e58
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

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

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/vc4/vc4_plane.c: In function 'vc4_plane_calc_load':
>> drivers/gpu/drm/vc4/vc4_plane.c:532:18: warning: variable 'vc4' set but not used [-Wunused-but-set-variable]
     532 |  struct vc4_dev *vc4;
         |                  ^~~


vim +/vc4 +532 drivers/gpu/drm/vc4/vc4_plane.c

5c6799942003df Eric Anholt     2015-12-28  524  
4686da83154d87 Boris Brezillon 2019-02-20  525  static void vc4_plane_calc_load(struct drm_plane_state *state)
4686da83154d87 Boris Brezillon 2019-02-20  526  {
4686da83154d87 Boris Brezillon 2019-02-20  527  	unsigned int hvs_load_shift, vrefresh, i;
4686da83154d87 Boris Brezillon 2019-02-20  528  	struct drm_framebuffer *fb = state->fb;
4686da83154d87 Boris Brezillon 2019-02-20  529  	struct vc4_plane_state *vc4_state;
4686da83154d87 Boris Brezillon 2019-02-20  530  	struct drm_crtc_state *crtc_state;
4686da83154d87 Boris Brezillon 2019-02-20  531  	unsigned int vscale_factor;
f437bc1ec731d3 Maxime Ripard   2020-09-03 @532  	struct vc4_dev *vc4;
f437bc1ec731d3 Maxime Ripard   2020-09-03  533  
f437bc1ec731d3 Maxime Ripard   2020-09-03  534  	vc4 = to_vc4_dev(state->plane->dev);
4686da83154d87 Boris Brezillon 2019-02-20  535  	vc4_state = to_vc4_plane_state(state);
4686da83154d87 Boris Brezillon 2019-02-20  536  	crtc_state = drm_atomic_get_existing_crtc_state(state->state,
4686da83154d87 Boris Brezillon 2019-02-20  537  							state->crtc);
4686da83154d87 Boris Brezillon 2019-02-20  538  	vrefresh = drm_mode_vrefresh(&crtc_state->adjusted_mode);
4686da83154d87 Boris Brezillon 2019-02-20  539  
4686da83154d87 Boris Brezillon 2019-02-20  540  	/* The HVS is able to process 2 pixels/cycle when scaling the source,
4686da83154d87 Boris Brezillon 2019-02-20  541  	 * 4 pixels/cycle otherwise.
4686da83154d87 Boris Brezillon 2019-02-20  542  	 * Alpha blending step seems to be pipelined and it's always operating
4686da83154d87 Boris Brezillon 2019-02-20  543  	 * at 4 pixels/cycle, so the limiting aspect here seems to be the
4686da83154d87 Boris Brezillon 2019-02-20  544  	 * scaler block.
4686da83154d87 Boris Brezillon 2019-02-20  545  	 * HVS load is expressed in clk-cycles/sec (AKA Hz).
4686da83154d87 Boris Brezillon 2019-02-20  546  	 */
4686da83154d87 Boris Brezillon 2019-02-20  547  	if (vc4_state->x_scaling[0] != VC4_SCALING_NONE ||
4686da83154d87 Boris Brezillon 2019-02-20  548  	    vc4_state->x_scaling[1] != VC4_SCALING_NONE ||
4686da83154d87 Boris Brezillon 2019-02-20  549  	    vc4_state->y_scaling[0] != VC4_SCALING_NONE ||
4686da83154d87 Boris Brezillon 2019-02-20  550  	    vc4_state->y_scaling[1] != VC4_SCALING_NONE)
4686da83154d87 Boris Brezillon 2019-02-20  551  		hvs_load_shift = 1;
4686da83154d87 Boris Brezillon 2019-02-20  552  	else
4686da83154d87 Boris Brezillon 2019-02-20  553  		hvs_load_shift = 2;
4686da83154d87 Boris Brezillon 2019-02-20  554  
4686da83154d87 Boris Brezillon 2019-02-20  555  	vc4_state->membus_load = 0;
4686da83154d87 Boris Brezillon 2019-02-20  556  	vc4_state->hvs_load = 0;
4686da83154d87 Boris Brezillon 2019-02-20  557  	for (i = 0; i < fb->format->num_planes; i++) {
4686da83154d87 Boris Brezillon 2019-02-20  558  		/* Even if the bandwidth/plane required for a single frame is
4686da83154d87 Boris Brezillon 2019-02-20  559  		 *
4686da83154d87 Boris Brezillon 2019-02-20  560  		 * vc4_state->src_w[i] * vc4_state->src_h[i] * cpp * vrefresh
4686da83154d87 Boris Brezillon 2019-02-20  561  		 *
4686da83154d87 Boris Brezillon 2019-02-20  562  		 * when downscaling, we have to read more pixels per line in
4686da83154d87 Boris Brezillon 2019-02-20  563  		 * the time frame reserved for a single line, so the bandwidth
4686da83154d87 Boris Brezillon 2019-02-20  564  		 * demand can be punctually higher. To account for that, we
4686da83154d87 Boris Brezillon 2019-02-20  565  		 * calculate the down-scaling factor and multiply the plane
4686da83154d87 Boris Brezillon 2019-02-20  566  		 * load by this number. We're likely over-estimating the read
4686da83154d87 Boris Brezillon 2019-02-20  567  		 * demand, but that's better than under-estimating it.
4686da83154d87 Boris Brezillon 2019-02-20  568  		 */
4686da83154d87 Boris Brezillon 2019-02-20  569  		vscale_factor = DIV_ROUND_UP(vc4_state->src_h[i],
4686da83154d87 Boris Brezillon 2019-02-20  570  					     vc4_state->crtc_h);
4686da83154d87 Boris Brezillon 2019-02-20  571  		vc4_state->membus_load += vc4_state->src_w[i] *
4686da83154d87 Boris Brezillon 2019-02-20  572  					  vc4_state->src_h[i] * vscale_factor *
4686da83154d87 Boris Brezillon 2019-02-20  573  					  fb->format->cpp[i];
4686da83154d87 Boris Brezillon 2019-02-20  574  		vc4_state->hvs_load += vc4_state->crtc_h * vc4_state->crtc_w;
4686da83154d87 Boris Brezillon 2019-02-20  575  	}
4686da83154d87 Boris Brezillon 2019-02-20  576  
4686da83154d87 Boris Brezillon 2019-02-20  577  	vc4_state->hvs_load *= vrefresh;
4686da83154d87 Boris Brezillon 2019-02-20  578  	vc4_state->hvs_load >>= hvs_load_shift;
4686da83154d87 Boris Brezillon 2019-02-20  579  	vc4_state->membus_load *= vrefresh;
4686da83154d87 Boris Brezillon 2019-02-20  580  }
4686da83154d87 Boris Brezillon 2019-02-20  581  

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 52202 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v5 07/10] drm/vc4: Leverage the load tracker on the BCM2711
Date: Tue, 29 Jun 2021 01:01:01 +0800	[thread overview]
Message-ID: <202106290033.D1fXfCMX-lkp@intel.com> (raw)
In-Reply-To: <20210628124257.140453-8-maxime@cerno.tech>

[-- Attachment #1: Type: text/plain, Size: 6631 bytes --]

Hi Maxime,

I love your patch! Perhaps something to improve:

[auto build test WARNING on drm-intel/for-linux-next]
[cannot apply to drm-tip/drm-tip anholt/for-next v5.13 next-20210628]
[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/Maxime-Ripard/drm-vc4-hdmi-Support-the-4k-60Hz-modes/20210628-204514
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-a016-20210628 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/1a67588c095aa22f70656da4b59474fdc8419e58
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Maxime-Ripard/drm-vc4-hdmi-Support-the-4k-60Hz-modes/20210628-204514
        git checkout 1a67588c095aa22f70656da4b59474fdc8419e58
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

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

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/vc4/vc4_plane.c: In function 'vc4_plane_calc_load':
>> drivers/gpu/drm/vc4/vc4_plane.c:532:18: warning: variable 'vc4' set but not used [-Wunused-but-set-variable]
     532 |  struct vc4_dev *vc4;
         |                  ^~~


vim +/vc4 +532 drivers/gpu/drm/vc4/vc4_plane.c

5c6799942003df Eric Anholt     2015-12-28  524  
4686da83154d87 Boris Brezillon 2019-02-20  525  static void vc4_plane_calc_load(struct drm_plane_state *state)
4686da83154d87 Boris Brezillon 2019-02-20  526  {
4686da83154d87 Boris Brezillon 2019-02-20  527  	unsigned int hvs_load_shift, vrefresh, i;
4686da83154d87 Boris Brezillon 2019-02-20  528  	struct drm_framebuffer *fb = state->fb;
4686da83154d87 Boris Brezillon 2019-02-20  529  	struct vc4_plane_state *vc4_state;
4686da83154d87 Boris Brezillon 2019-02-20  530  	struct drm_crtc_state *crtc_state;
4686da83154d87 Boris Brezillon 2019-02-20  531  	unsigned int vscale_factor;
f437bc1ec731d3 Maxime Ripard   2020-09-03 @532  	struct vc4_dev *vc4;
f437bc1ec731d3 Maxime Ripard   2020-09-03  533  
f437bc1ec731d3 Maxime Ripard   2020-09-03  534  	vc4 = to_vc4_dev(state->plane->dev);
4686da83154d87 Boris Brezillon 2019-02-20  535  	vc4_state = to_vc4_plane_state(state);
4686da83154d87 Boris Brezillon 2019-02-20  536  	crtc_state = drm_atomic_get_existing_crtc_state(state->state,
4686da83154d87 Boris Brezillon 2019-02-20  537  							state->crtc);
4686da83154d87 Boris Brezillon 2019-02-20  538  	vrefresh = drm_mode_vrefresh(&crtc_state->adjusted_mode);
4686da83154d87 Boris Brezillon 2019-02-20  539  
4686da83154d87 Boris Brezillon 2019-02-20  540  	/* The HVS is able to process 2 pixels/cycle when scaling the source,
4686da83154d87 Boris Brezillon 2019-02-20  541  	 * 4 pixels/cycle otherwise.
4686da83154d87 Boris Brezillon 2019-02-20  542  	 * Alpha blending step seems to be pipelined and it's always operating
4686da83154d87 Boris Brezillon 2019-02-20  543  	 * at 4 pixels/cycle, so the limiting aspect here seems to be the
4686da83154d87 Boris Brezillon 2019-02-20  544  	 * scaler block.
4686da83154d87 Boris Brezillon 2019-02-20  545  	 * HVS load is expressed in clk-cycles/sec (AKA Hz).
4686da83154d87 Boris Brezillon 2019-02-20  546  	 */
4686da83154d87 Boris Brezillon 2019-02-20  547  	if (vc4_state->x_scaling[0] != VC4_SCALING_NONE ||
4686da83154d87 Boris Brezillon 2019-02-20  548  	    vc4_state->x_scaling[1] != VC4_SCALING_NONE ||
4686da83154d87 Boris Brezillon 2019-02-20  549  	    vc4_state->y_scaling[0] != VC4_SCALING_NONE ||
4686da83154d87 Boris Brezillon 2019-02-20  550  	    vc4_state->y_scaling[1] != VC4_SCALING_NONE)
4686da83154d87 Boris Brezillon 2019-02-20  551  		hvs_load_shift = 1;
4686da83154d87 Boris Brezillon 2019-02-20  552  	else
4686da83154d87 Boris Brezillon 2019-02-20  553  		hvs_load_shift = 2;
4686da83154d87 Boris Brezillon 2019-02-20  554  
4686da83154d87 Boris Brezillon 2019-02-20  555  	vc4_state->membus_load = 0;
4686da83154d87 Boris Brezillon 2019-02-20  556  	vc4_state->hvs_load = 0;
4686da83154d87 Boris Brezillon 2019-02-20  557  	for (i = 0; i < fb->format->num_planes; i++) {
4686da83154d87 Boris Brezillon 2019-02-20  558  		/* Even if the bandwidth/plane required for a single frame is
4686da83154d87 Boris Brezillon 2019-02-20  559  		 *
4686da83154d87 Boris Brezillon 2019-02-20  560  		 * vc4_state->src_w[i] * vc4_state->src_h[i] * cpp * vrefresh
4686da83154d87 Boris Brezillon 2019-02-20  561  		 *
4686da83154d87 Boris Brezillon 2019-02-20  562  		 * when downscaling, we have to read more pixels per line in
4686da83154d87 Boris Brezillon 2019-02-20  563  		 * the time frame reserved for a single line, so the bandwidth
4686da83154d87 Boris Brezillon 2019-02-20  564  		 * demand can be punctually higher. To account for that, we
4686da83154d87 Boris Brezillon 2019-02-20  565  		 * calculate the down-scaling factor and multiply the plane
4686da83154d87 Boris Brezillon 2019-02-20  566  		 * load by this number. We're likely over-estimating the read
4686da83154d87 Boris Brezillon 2019-02-20  567  		 * demand, but that's better than under-estimating it.
4686da83154d87 Boris Brezillon 2019-02-20  568  		 */
4686da83154d87 Boris Brezillon 2019-02-20  569  		vscale_factor = DIV_ROUND_UP(vc4_state->src_h[i],
4686da83154d87 Boris Brezillon 2019-02-20  570  					     vc4_state->crtc_h);
4686da83154d87 Boris Brezillon 2019-02-20  571  		vc4_state->membus_load += vc4_state->src_w[i] *
4686da83154d87 Boris Brezillon 2019-02-20  572  					  vc4_state->src_h[i] * vscale_factor *
4686da83154d87 Boris Brezillon 2019-02-20  573  					  fb->format->cpp[i];
4686da83154d87 Boris Brezillon 2019-02-20  574  		vc4_state->hvs_load += vc4_state->crtc_h * vc4_state->crtc_w;
4686da83154d87 Boris Brezillon 2019-02-20  575  	}
4686da83154d87 Boris Brezillon 2019-02-20  576  
4686da83154d87 Boris Brezillon 2019-02-20  577  	vc4_state->hvs_load *= vrefresh;
4686da83154d87 Boris Brezillon 2019-02-20  578  	vc4_state->hvs_load >>= hvs_load_shift;
4686da83154d87 Boris Brezillon 2019-02-20  579  	vc4_state->membus_load *= vrefresh;
4686da83154d87 Boris Brezillon 2019-02-20  580  }
4686da83154d87 Boris Brezillon 2019-02-20  581  

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 52202 bytes --]

  reply	other threads:[~2021-06-28 17:02 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-28 12:42 [PATCH v5 00/10] drm/vc4: hdmi: Support the 4k @ 60Hz modes Maxime Ripard
2021-06-28 12:42 ` Maxime Ripard
2021-06-28 12:42 ` [PATCH v5 01/10] drm/vc4: hdmi: Remove the DDC probing for status detection Maxime Ripard
2021-06-28 12:42   ` Maxime Ripard
2021-06-28 12:42 ` [PATCH v5 02/10] drm/vc4: hdmi: Fix HPD GPIO detection Maxime Ripard
2021-06-28 12:42   ` Maxime Ripard
2021-06-28 12:42 ` [PATCH v5 03/10] drm/vc4: Make vc4_crtc_get_encoder public Maxime Ripard
2021-06-28 12:42   ` Maxime Ripard
2021-06-28 12:42 ` [PATCH v5 04/10] drm/vc4: crtc: Add encoder to vc4_crtc_config_pv prototype Maxime Ripard
2021-06-28 12:42   ` Maxime Ripard
2021-06-28 12:42 ` [PATCH v5 05/10] drm/vc4: crtc: Rework the encoder retrieval code (again) Maxime Ripard
2021-06-28 12:42   ` Maxime Ripard
2021-06-28 12:42 ` [PATCH v5 06/10] drm/vc4: crtc: Add some logging Maxime Ripard
2021-06-28 12:42   ` Maxime Ripard
2021-06-28 12:42 ` [PATCH v5 07/10] drm/vc4: Leverage the load tracker on the BCM2711 Maxime Ripard
2021-06-28 12:42   ` Maxime Ripard
2021-06-28 17:01   ` kernel test robot [this message]
2021-06-28 17:01     ` kernel test robot
2021-06-28 20:42   ` kernel test robot
2021-06-28 20:42     ` kernel test robot
2021-06-28 12:42 ` [PATCH v5 08/10] drm/vc4: hdmi: Raise the maximum clock rate Maxime Ripard
2021-06-28 12:42   ` Maxime Ripard
2021-06-28 12:42 ` [PATCH v5 09/10] drm/vc4: hdmi: Enable the scrambler on reconnection Maxime Ripard
2021-06-28 12:42   ` Maxime Ripard
2021-06-28 12:42 ` [PATCH v5 10/10] drm/vc4: Increase the core clock based on HVS load Maxime Ripard
2021-06-28 12:42   ` Maxime Ripard

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=202106290033.D1fXfCMX-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=airlied@linux.ie \
    --cc=daniel.vetter@intel.com \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=dom@raspberrypi.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=kbuild-all@lists.01.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=maxime@cerno.tech \
    --cc=nsaenz@kernel.org \
    --cc=tim.gover@raspberrypi.com \
    --cc=tzimmermann@suse.de \
    /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.