Hi Zack, I love your patch! Perhaps something to improve: [auto build test WARNING on drm/drm-next] [also build test WARNING on drm-exynos/exynos-drm-next drm-intel/for-linux-next drm-tip/drm-tip v5.18 next-20220602] [cannot apply to airlied/drm-next tegra-drm/drm/tegra/for-next] [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/intel-lab-lkp/linux/commits/Zack-Rusin/drm-Add-mouse-cursor-hotspot-support-to-atomic-KMS/20220602-234633 base: git://anongit.freedesktop.org/drm/drm drm-next config: x86_64-randconfig-a011 (https://download.01.org/0day-ci/archive/20220603/202206030624.TdMaRYS5-lkp@xxxxxxxxx/config) compiler: gcc-11 (Debian 11.3.0-1) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel-lab-lkp/linux/commit/0bf2395ee17bd25ae6411c560de883496256195d git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Zack-Rusin/drm-Add-mouse-cursor-hotspot-support-to-atomic-KMS/20220602-234633 git checkout 0bf2395ee17bd25ae6411c560de883496256195d # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/gpu/drm/qxl/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): drivers/gpu/drm/qxl/qxl_display.c: In function 'qxl_primary_apply_cursor': >> drivers/gpu/drm/qxl/qxl_display.c:486:33: warning: unused variable 'fb' [-Wunused-variable] 486 | struct drm_framebuffer *fb = plane_state->fb; | ^~ drivers/gpu/drm/qxl/qxl_display.c: In function 'qxl_primary_move_cursor': drivers/gpu/drm/qxl/qxl_display.c:532:33: warning: unused variable 'fb' [-Wunused-variable] 532 | struct drm_framebuffer *fb = plane_state->fb; | ^~ vim +/fb +486 drivers/gpu/drm/qxl/qxl_display.c c2ff663260fee3 Gabriel Krisman Bertazi 2017-02-27 482 b4b27f08f9f96d Gerd Hoffmann 2021-02-17 483 static int qxl_primary_apply_cursor(struct qxl_device *qdev, b4b27f08f9f96d Gerd Hoffmann 2021-02-17 484 struct drm_plane_state *plane_state) 9428088c90b6f7 Ray Strode 2017-11-27 485 { b4b27f08f9f96d Gerd Hoffmann 2021-02-17 @486 struct drm_framebuffer *fb = plane_state->fb; b4b27f08f9f96d Gerd Hoffmann 2021-02-17 487 struct qxl_crtc *qcrtc = to_qxl_crtc(plane_state->crtc); 9428088c90b6f7 Ray Strode 2017-11-27 488 struct qxl_cursor_cmd *cmd; 9428088c90b6f7 Ray Strode 2017-11-27 489 struct qxl_release *release; 9428088c90b6f7 Ray Strode 2017-11-27 490 int ret = 0; 9428088c90b6f7 Ray Strode 2017-11-27 491 9428088c90b6f7 Ray Strode 2017-11-27 492 if (!qcrtc->cursor_bo) 9428088c90b6f7 Ray Strode 2017-11-27 493 return 0; 9428088c90b6f7 Ray Strode 2017-11-27 494 9428088c90b6f7 Ray Strode 2017-11-27 495 ret = qxl_alloc_release_reserved(qdev, sizeof(*cmd), 9428088c90b6f7 Ray Strode 2017-11-27 496 QXL_RELEASE_CURSOR_CMD, 9428088c90b6f7 Ray Strode 2017-11-27 497 &release, NULL); 9428088c90b6f7 Ray Strode 2017-11-27 498 if (ret) 9428088c90b6f7 Ray Strode 2017-11-27 499 return ret; 9428088c90b6f7 Ray Strode 2017-11-27 500 9428088c90b6f7 Ray Strode 2017-11-27 501 ret = qxl_release_list_add(release, qcrtc->cursor_bo); 9428088c90b6f7 Ray Strode 2017-11-27 502 if (ret) 9428088c90b6f7 Ray Strode 2017-11-27 503 goto out_free_release; 9428088c90b6f7 Ray Strode 2017-11-27 504 9428088c90b6f7 Ray Strode 2017-11-27 505 ret = qxl_release_reserve_list(release, false); 9428088c90b6f7 Ray Strode 2017-11-27 506 if (ret) 9428088c90b6f7 Ray Strode 2017-11-27 507 goto out_free_release; 9428088c90b6f7 Ray Strode 2017-11-27 508 9428088c90b6f7 Ray Strode 2017-11-27 509 cmd = (struct qxl_cursor_cmd *)qxl_release_map(qdev, release); 9428088c90b6f7 Ray Strode 2017-11-27 510 cmd->type = QXL_CURSOR_SET; 0bf2395ee17bd2 Zack Rusin 2022-06-02 511 cmd->u.set.position.x = plane_state->crtc_x + plane_state->hotspot_x; 0bf2395ee17bd2 Zack Rusin 2022-06-02 512 cmd->u.set.position.y = plane_state->crtc_y + plane_state->hotspot_y; 9428088c90b6f7 Ray Strode 2017-11-27 513 9428088c90b6f7 Ray Strode 2017-11-27 514 cmd->u.set.shape = qxl_bo_physical_address(qdev, qcrtc->cursor_bo, 0); 9428088c90b6f7 Ray Strode 2017-11-27 515 9428088c90b6f7 Ray Strode 2017-11-27 516 cmd->u.set.visible = 1; 9428088c90b6f7 Ray Strode 2017-11-27 517 qxl_release_unmap(qdev, release, &cmd->release_info); 9428088c90b6f7 Ray Strode 2017-11-27 518 9428088c90b6f7 Ray Strode 2017-11-27 519 qxl_release_fence_buffer_objects(release); 933db73351d359 Vasily Averin 2020-04-29 520 qxl_push_cursor_ring_release(qdev, release, QXL_CMD_CURSOR, false); 9428088c90b6f7 Ray Strode 2017-11-27 521 9428088c90b6f7 Ray Strode 2017-11-27 522 return ret; 9428088c90b6f7 Ray Strode 2017-11-27 523 9428088c90b6f7 Ray Strode 2017-11-27 524 out_free_release: 9428088c90b6f7 Ray Strode 2017-11-27 525 qxl_release_free(qdev, release); 9428088c90b6f7 Ray Strode 2017-11-27 526 return ret; 9428088c90b6f7 Ray Strode 2017-11-27 527 } 9428088c90b6f7 Ray Strode 2017-11-27 528 -- 0-DAY CI Kernel Test Service https://01.org/lkp