All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v6 06/10] drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends
Date: Thu, 29 Oct 2020 05:11:32 +0800	[thread overview]
Message-ID: <202010290540.aLMMli50-lkp@intel.com> (raw)
In-Reply-To: <20201028193521.2489-7-tzimmermann@suse.de>

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

Hi Thomas,

I love your patch! Perhaps something to improve:

[auto build test WARNING on next-20201028]
[cannot apply to drm-exynos/exynos-drm-next rockchip/for-next linus/master anholt/for-next v5.10-rc1 v5.9 v5.9-rc8 v5.10-rc1]
[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/Thomas-Zimmermann/Support-GEM-object-mappings-from-I-O-memory/20201029-033704
base:    1c86f90a16d413621918ae1403842b43632f0b3d
config: arm64-randconfig-r005-20201028 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 50dfa19cc799ae7cddd39a95dbfce675a12672ad)
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
        # install arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://github.com/0day-ci/linux/commit/649bc838b7c4e7b01ccad3decaa3e13f31659c6b
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Thomas-Zimmermann/Support-GEM-object-mappings-from-I-O-memory/20201029-033704
        git checkout 649bc838b7c4e7b01ccad3decaa3e13f31659c6b
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64 

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/qxl/qxl_display.c:624:3: warning: variable 'cursor' is uninitialized when used here [-Wuninitialized]
                   cursor->header.unique = 0;
                   ^~~~~~
   drivers/gpu/drm/qxl/qxl_display.c:581:27: note: initialize the variable 'cursor' to silence this warning
           struct qxl_cursor *cursor;
                                    ^
                                     = NULL
   1 warning generated.

vim +/cursor +624 drivers/gpu/drm/qxl/qxl_display.c

c2ff663260fee3 Gabriel Krisman Bertazi 2017-02-27  571  
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  572  static void qxl_cursor_atomic_update(struct drm_plane *plane,
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  573  				     struct drm_plane_state *old_state)
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  574  {
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  575  	struct drm_device *dev = plane->dev;
e304f8a0513b83 Daniel Vetter           2020-04-15  576  	struct qxl_device *qdev = to_qxl(dev);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  577  	struct drm_framebuffer *fb = plane->state->fb;
9428088c90b6f7 Ray Strode              2017-11-27  578  	struct qxl_crtc *qcrtc = to_qxl_crtc(plane->state->crtc);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  579  	struct qxl_release *release;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  580  	struct qxl_cursor_cmd *cmd;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  581  	struct qxl_cursor *cursor;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  582  	struct drm_gem_object *obj;
889ad63d41eea2 Jeremy Cline            2018-06-01  583  	struct qxl_bo *cursor_bo = NULL, *user_bo = NULL, *old_cursor_bo = NULL;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  584  	int ret;
649bc838b7c4e7 Thomas Zimmermann       2020-10-28  585  	struct dma_buf_map user_map;
649bc838b7c4e7 Thomas Zimmermann       2020-10-28  586  	struct dma_buf_map cursor_map;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  587  	void *user_ptr;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  588  	int size = 64*64*4;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  589  
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  590  	ret = qxl_alloc_release_reserved(qdev, sizeof(*cmd),
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  591  					 QXL_RELEASE_CURSOR_CMD,
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  592  					 &release, NULL);
ee5cb7c465360f Dan Carpenter           2017-03-14  593  	if (ret)
ee5cb7c465360f Dan Carpenter           2017-03-14  594  		return;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  595  
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  596  	if (fb != old_state->fb) {
bf8744e40cd6db Peter Wu                2018-09-10  597  		obj = fb->obj[0];
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  598  		user_bo = gem_to_qxl_bo(obj);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  599  
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  600  		/* pinning is done in the prepare/cleanup framevbuffer */
649bc838b7c4e7 Thomas Zimmermann       2020-10-28  601  		ret = qxl_bo_kmap(user_bo, &user_map);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  602  		if (ret)
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  603  			goto out_free_release;
649bc838b7c4e7 Thomas Zimmermann       2020-10-28  604  		user_ptr = user_map.vaddr; /* TODO: Use mapping abstraction properly */
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  605  
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  606  		ret = qxl_alloc_bo_reserved(qdev, release,
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  607  					    sizeof(struct qxl_cursor) + size,
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  608  					    &cursor_bo);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  609  		if (ret)
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  610  			goto out_kunmap;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  611  
0081cdfe63f0b5 Christophe Fergeau      2018-11-20  612  		ret = qxl_bo_pin(cursor_bo);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  613  		if (ret)
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  614  			goto out_free_bo;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  615  
0081cdfe63f0b5 Christophe Fergeau      2018-11-20  616  		ret = qxl_release_reserve_list(release, true);
0081cdfe63f0b5 Christophe Fergeau      2018-11-20  617  		if (ret)
0081cdfe63f0b5 Christophe Fergeau      2018-11-20  618  			goto out_unpin;
0081cdfe63f0b5 Christophe Fergeau      2018-11-20  619  
649bc838b7c4e7 Thomas Zimmermann       2020-10-28  620  		ret = qxl_bo_kmap(cursor_bo, &cursor_map);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  621  		if (ret)
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  622  			goto out_backoff;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  623  
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 @624  		cursor->header.unique = 0;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  625  		cursor->header.type = SPICE_CURSOR_TYPE_ALPHA;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  626  		cursor->header.width = 64;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  627  		cursor->header.height = 64;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  628  		cursor->header.hot_spot_x = fb->hot_x;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  629  		cursor->header.hot_spot_y = fb->hot_y;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  630  		cursor->data_size = size;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  631  		cursor->chunk.next_chunk = 0;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  632  		cursor->chunk.prev_chunk = 0;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  633  		cursor->chunk.data_size = size;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  634  		memcpy(cursor->chunk.data, user_ptr, size);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  635  		qxl_bo_kunmap(cursor_bo);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  636  		qxl_bo_kunmap(user_bo);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  637  
429030bc944ee9 Gabriel Krisman Bertazi 2017-05-19  638  		cmd = (struct qxl_cursor_cmd *) qxl_release_map(qdev, release);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  639  		cmd->u.set.visible = 1;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  640  		cmd->u.set.shape = qxl_bo_physical_address(qdev,
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  641  							   cursor_bo, 0);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  642  		cmd->type = QXL_CURSOR_SET;
9428088c90b6f7 Ray Strode              2017-11-27  643  
889ad63d41eea2 Jeremy Cline            2018-06-01  644  		old_cursor_bo = qcrtc->cursor_bo;
9428088c90b6f7 Ray Strode              2017-11-27  645  		qcrtc->cursor_bo = cursor_bo;
9428088c90b6f7 Ray Strode              2017-11-27  646  		cursor_bo = NULL;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  647  	} else {
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  648  
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  649  		ret = qxl_release_reserve_list(release, true);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  650  		if (ret)
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  651  			goto out_free_release;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  652  
429030bc944ee9 Gabriel Krisman Bertazi 2017-05-19  653  		cmd = (struct qxl_cursor_cmd *) qxl_release_map(qdev, release);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  654  		cmd->type = QXL_CURSOR_MOVE;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  655  	}
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  656  
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  657  	cmd->u.position.x = plane->state->crtc_x + fb->hot_x;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  658  	cmd->u.position.y = plane->state->crtc_y + fb->hot_y;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  659  
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  660  	qxl_release_unmap(qdev, release, &cmd->release_info);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  661  	qxl_release_fence_buffer_objects(release);
933db73351d359 Vasily Averin           2020-04-29  662  	qxl_push_cursor_ring_release(qdev, release, QXL_CMD_CURSOR, false);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  663  
0081cdfe63f0b5 Christophe Fergeau      2018-11-20  664  	if (old_cursor_bo != NULL)
0081cdfe63f0b5 Christophe Fergeau      2018-11-20  665  		qxl_bo_unpin(old_cursor_bo);
889ad63d41eea2 Jeremy Cline            2018-06-01  666  	qxl_bo_unref(&old_cursor_bo);
16c6db3688734b Ray Strode              2017-11-27  667  	qxl_bo_unref(&cursor_bo);
16c6db3688734b Ray Strode              2017-11-27  668  
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  669  	return;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  670  
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  671  out_backoff:
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  672  	qxl_release_backoff_reserve_list(release);
0081cdfe63f0b5 Christophe Fergeau      2018-11-20  673  out_unpin:
0081cdfe63f0b5 Christophe Fergeau      2018-11-20  674  	qxl_bo_unpin(cursor_bo);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  675  out_free_bo:
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  676  	qxl_bo_unref(&cursor_bo);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  677  out_kunmap:
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  678  	qxl_bo_kunmap(user_bo);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  679  out_free_release:
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  680  	qxl_release_free(qdev, release);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  681  	return;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27  682  

---
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: 32305 bytes --]

  reply	other threads:[~2020-10-28 21:11 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-28 19:35 [PATCH v6 00/10] Support GEM object mappings from I/O memory Thomas Zimmermann
2020-10-28 19:35 ` Thomas Zimmermann
2020-10-28 19:35 ` Thomas Zimmermann
2020-10-28 19:35 ` Thomas Zimmermann
2020-10-28 19:35 ` Thomas Zimmermann
2020-10-28 19:35 ` Thomas Zimmermann
2020-10-28 19:35 ` [PATCH v6 01/10] drm/vram-helper: Remove invariant parameters from internal kmap function Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35 ` [PATCH v6 02/10] drm/cma-helper: Remove empty drm_gem_cma_prime_vunmap() Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35 ` [PATCH v6 03/10] drm/etnaviv: Remove empty etnaviv_gem_prime_vunmap() Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35 ` [PATCH v6 04/10] drm/exynos: Remove empty exynos_drm_gem_prime_{vmap, vunmap}() Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` [PATCH v6 04/10] drm/exynos: Remove empty exynos_drm_gem_prime_{vmap,vunmap}() Thomas Zimmermann
2020-10-28 19:35   ` [PATCH v6 04/10] drm/exynos: Remove empty exynos_drm_gem_prime_{vmap, vunmap}() Thomas Zimmermann
2020-10-28 19:35 ` [PATCH v6 05/10] drm/ttm: Add vmap/vunmap to TTM and TTM GEM helpers Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35 ` [PATCH v6 06/10] drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 21:11   ` kernel test robot [this message]
2020-10-28 22:19   ` kernel test robot
2020-10-28 22:23   ` kernel test robot
2020-10-28 19:35 ` [PATCH v6 07/10] drm/gem: Update internal GEM vmap/vunmap interfaces to use struct dma_buf_map Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35 ` [PATCH v6 08/10] drm/gem: Store client buffer mappings as " Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35 ` [PATCH v6 09/10] dma-buf-map: Add memcpy and pointer-increment interfaces Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35 ` [PATCH v6 10/10] drm/fb_helper: Support framebuffers in I/O memory Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 19:35   ` Thomas Zimmermann
2020-10-28 21:40   ` kernel test robot

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=202010290540.aLMMli50-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /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.