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