Hi Dave, kernel test robot noticed the following build errors:
[auto build test ERROR on drm/drm-next] [also build test ERROR on next-20250522] [cannot apply to drm-xe/drm-xe-next drm-exynos/exynos-drm-next linus/master v6.15-rc7] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Dave-Airlie/udmabuf-use-new-iosys_map-accessors/20250522-155237 base: git://anongit.freedesktop.org/drm/drm drm-next patch link: https://lore.kernel.org/r/20250522065519.318013-9-airlied%40gmail.com patch subject: [PATCH 8/9] iosys: hide internal details of implementation. config: x86_64-buildonly-randconfig-001-20250523 (https://download.01.org/0day-ci/archive/20250523/202505230735.hjoyqtmt-...@intel.com/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250523/202505230735.hjoyqtmt-...@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 <l...@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202505230735.hjoyqtmt-...@intel.com/ All error/warnings (new ones prefixed by >>): drivers/gpu/drm/drm_gem_dma_helper.c: In function 'drm_gem_dma_prime_import_sg_table_vmap': >> drivers/gpu/drm/drm_gem_dma_helper.c:596:30: error: 'struct iosys_map' has >> no member named 'vaddr'; did you mean '_vaddr'? 596 | dma_obj->vaddr = map.vaddr; | ^~~~~ | _vaddr -- drivers/gpu/drm/drm_fbdev_dma.c: In function 'drm_fbdev_dma_driver_fbdev_probe_tail': >> drivers/gpu/drm/drm_fbdev_dma.c:218:35: error: 'struct iosys_map' has no >> member named 'vaddr'; did you mean '_vaddr'? 218 | info->screen_buffer = map.vaddr; | ^~~~~ | _vaddr >> drivers/gpu/drm/drm_fbdev_dma.c:209:26: warning: variable 'map' set but not >> used [-Wunused-but-set-variable] 209 | struct iosys_map map = buffer->map; | ^~~ In file included from arch/x86/include/asm/bug.h:103, from include/linux/bug.h:5, from include/linux/thread_info.h:13, from include/linux/spinlock.h:60, from include/linux/mmzone.h:8, from include/linux/gfp.h:7, from include/linux/slab.h:16, from include/linux/resource_ext.h:11, from include/linux/acpi.h:13, from include/linux/i2c.h:13, from include/uapi/linux/fb.h:6, from include/linux/fb.h:5, from drivers/gpu/drm/drm_fbdev_dma.c:3: drivers/gpu/drm/drm_fbdev_dma.c: In function 'drm_fbdev_dma_driver_fbdev_probe': >> drivers/gpu/drm/drm_fbdev_dma.c:297:41: error: 'struct iosys_map' has no >> member named 'is_iomem'; did you mean '_is_iomem'? 297 | } else if (drm_WARN_ON(dev, map.is_iomem)) { | ^~~~~~~~ include/asm-generic/bug.h:132:32: note: in definition of macro 'WARN' 132 | int __ret_warn_on = !!(condition); \ | ^~~~~~~~~ include/drm/drm_print.h:789:9: note: in expansion of macro 'drm_WARN' 789 | drm_WARN((drm), (x), "%s", \ | ^~~~~~~~ drivers/gpu/drm/drm_fbdev_dma.c:297:20: note: in expansion of macro 'drm_WARN_ON' 297 | } else if (drm_WARN_ON(dev, map.is_iomem)) { | ^~~~~~~~~~~ -- drivers/gpu/drm/drm_mipi_dbi.c: In function 'mipi_dbi_fb_dirty': >> drivers/gpu/drm/drm_mipi_dbi.c:293:27: error: 'struct iosys_map' has no >> member named 'vaddr'; did you mean '_vaddr'? 293 | tr = src->vaddr; /* TODO: Use mapping abstraction properly */ | ^~~~~ | _vaddr -- drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c: In function 'etnaviv_gem_prime_vmap_impl': >> drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c:88:20: error: 'struct iosys_map' >> has no member named 'vaddr'; did you mean '_vaddr'? 88 | return map.vaddr; | ^~~~~ | _vaddr >> drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c:89:1: warning: control reaches >> end of non-void function [-Wreturn-type] 89 | } | ^ -- drivers/gpu/drm/tiny/ili9225.c: In function 'ili9225_fb_dirty': >> drivers/gpu/drm/tiny/ili9225.c:106:27: error: 'struct iosys_map' has no >> member named 'vaddr'; did you mean '_vaddr'? 106 | tr = src->vaddr; /* TODO: Use mapping abstraction properly */ | ^~~~~ | _vaddr -- drivers/gpu/drm/tiny/gm12u320.c: In function 'gm12u320_copy_fb_to_blocks': >> drivers/gpu/drm/tiny/gm12u320.c:270:45: error: 'struct iosys_map' has no >> member named 'vaddr'; did you mean '_vaddr'? 270 | vaddr = gm12u320->fb_update.src_map.vaddr; /* TODO: Use mapping abstraction properly */ | ^~~~~ | _vaddr -- drivers/gpu/drm/gud/gud_pipe.c: In function 'gud_prep_flush': >> drivers/gpu/drm/gud/gud_pipe.c:169:24: error: 'const struct iosys_map' has >> no member named 'vaddr'; did you mean '_vaddr'? 169 | vaddr = src[0].vaddr; | ^~~~~ | _vaddr -- drivers/gpu/drm/vkms/vkms_formats.c: In function 'packed_pixels_addr': >> drivers/gpu/drm/vkms/vkms_formats.c:79:42: error: 'const struct iosys_map' >> has no member named 'vaddr'; did you mean '_vaddr'? 79 | *addr = (u8 *)frame_info->map[0].vaddr + offset; | ^~~~~ | _vaddr drivers/gpu/drm/vkms/vkms_formats.c: In function 'packed_pixels_addr_1x1': drivers/gpu/drm/vkms/vkms_formats.c:140:42: error: 'const struct iosys_map' has no member named 'vaddr'; did you mean '_vaddr'? 140 | *addr = (u8 *)frame_info->map[0].vaddr + offset; | ^~~~~ | _vaddr -- In file included from drivers/gpu/drm/panthor/panthor_heap.c:10: drivers/gpu/drm/panthor/panthor_gem.h: In function 'panthor_kernel_bo_vmap': >> drivers/gpu/drm/panthor/panthor_gem.h:190:24: error: 'struct iosys_map' has >> no member named 'vaddr'; did you mean '_vaddr'? 190 | bo->kmap = map.vaddr; | ^~~~~ | _vaddr -- In file included from drivers/gpu/drm/panthor/panthor_sched.c:29: drivers/gpu/drm/panthor/panthor_gem.h: In function 'panthor_kernel_bo_vmap': >> drivers/gpu/drm/panthor/panthor_gem.h:190:24: error: 'struct iosys_map' has >> no member named 'vaddr'; did you mean '_vaddr'? 190 | bo->kmap = map.vaddr; | ^~~~~ | _vaddr drivers/gpu/drm/panthor/panthor_sched.c: In function 'panthor_queue_get_syncwait_obj': >> drivers/gpu/drm/panthor/panthor_sched.c:873:36: error: 'struct iosys_map' >> has no member named 'vaddr'; did you mean '_vaddr'? 873 | queue->syncwait.kmap = map.vaddr; | ^~~~~ | _vaddr -- drivers/gpu/drm/panfrost/panfrost_dump.c: In function 'panfrost_core_dump': >> drivers/gpu/drm/panfrost/panfrost_dump.c:228:29: error: 'struct iosys_map' >> has no member named 'vaddr'; did you mean '_vaddr'? 228 | vaddr = map.vaddr; | ^~~~~ | _vaddr .. vim +596 drivers/gpu/drm/drm_gem_dma_helper.c f5ca8eb6f9bd5e drivers/gpu/drm/drm_gem_cma_helper.c Thomas Zimmermann 2020-11-23 552 b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 553 /** 4a83c26a1d8702 drivers/gpu/drm/drm_gem_dma_helper.c Danilo Krummrich 2022-08-02 554 * drm_gem_dma_prime_import_sg_table_vmap - PRIME import another driver's b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 555 * scatter/gather table and get the virtual address of the buffer b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 556 * @dev: DRM device b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 557 * @attach: DMA-BUF attachment b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 558 * @sgt: Scatter/gather table of pinned pages b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 559 * b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 560 * This function imports a scatter/gather table using 4a83c26a1d8702 drivers/gpu/drm/drm_gem_dma_helper.c Danilo Krummrich 2022-08-02 561 * drm_gem_dma_prime_import_sg_table() and uses dma_buf_vmap() to get the kernel 4a83c26a1d8702 drivers/gpu/drm/drm_gem_dma_helper.c Danilo Krummrich 2022-08-02 562 * virtual address. This ensures that a DMA GEM object always has its virtual b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 563 * address set. This address is released when the object is freed. b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 564 * b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 565 * This function can be used as the &drm_driver.gem_prime_import_sg_table 4a83c26a1d8702 drivers/gpu/drm/drm_gem_dma_helper.c Danilo Krummrich 2022-08-02 566 * callback. The &DRM_GEM_DMA_DRIVER_OPS_VMAP macro provides a shortcut to set b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 567 * the necessary DRM driver operations. b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 568 * b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 569 * Returns: b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 570 * A pointer to a newly created GEM object or an ERR_PTR-encoded negative b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 571 * error code on failure. b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 572 */ b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 573 struct drm_gem_object * 4a83c26a1d8702 drivers/gpu/drm/drm_gem_dma_helper.c Danilo Krummrich 2022-08-02 574 drm_gem_dma_prime_import_sg_table_vmap(struct drm_device *dev, b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 575 struct dma_buf_attachment *attach, b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 576 struct sg_table *sgt) b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 577 { 4a83c26a1d8702 drivers/gpu/drm/drm_gem_dma_helper.c Danilo Krummrich 2022-08-02 578 struct drm_gem_dma_object *dma_obj; b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 579 struct drm_gem_object *obj; 7938f4218168ae drivers/gpu/drm/drm_gem_cma_helper.c Lucas De Marchi 2022-02-04 580 struct iosys_map map; 6619ccf1bb1d0e drivers/gpu/drm/drm_gem_cma_helper.c Thomas Zimmermann 2020-09-25 581 int ret; b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 582 79e2cf2e7a1934 drivers/gpu/drm/drm_gem_dma_helper.c Dmitry Osipenko 2022-10-17 583 ret = dma_buf_vmap_unlocked(attach->dmabuf, &map); 6619ccf1bb1d0e drivers/gpu/drm/drm_gem_cma_helper.c Thomas Zimmermann 2020-09-25 584 if (ret) { b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 585 DRM_ERROR("Failed to vmap PRIME buffer\n"); 6619ccf1bb1d0e drivers/gpu/drm/drm_gem_cma_helper.c Thomas Zimmermann 2020-09-25 586 return ERR_PTR(ret); b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 587 } b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 588 4a83c26a1d8702 drivers/gpu/drm/drm_gem_dma_helper.c Danilo Krummrich 2022-08-02 589 obj = drm_gem_dma_prime_import_sg_table(dev, attach, sgt); b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 590 if (IS_ERR(obj)) { 79e2cf2e7a1934 drivers/gpu/drm/drm_gem_dma_helper.c Dmitry Osipenko 2022-10-17 591 dma_buf_vunmap_unlocked(attach->dmabuf, &map); b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 592 return obj; b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 593 } b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 594 4a83c26a1d8702 drivers/gpu/drm/drm_gem_dma_helper.c Danilo Krummrich 2022-08-02 595 dma_obj = to_drm_gem_dma_obj(obj); 4a83c26a1d8702 drivers/gpu/drm/drm_gem_dma_helper.c Danilo Krummrich 2022-08-02 @596 dma_obj->vaddr = map.vaddr; b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 597 b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 598 return obj; b9068cde51eea1 drivers/gpu/drm/drm_gem_cma_helper.c Noralf Trønnes 2018-11-10 599 } 4a83c26a1d8702 drivers/gpu/drm/drm_gem_dma_helper.c Danilo Krummrich 2022-08-02 600 EXPORT_SYMBOL(drm_gem_dma_prime_import_sg_table_vmap); 4b2b5e142ff499 drivers/gpu/drm/drm_gem_cma_helper.c Thomas Zimmermann 2021-10-20 601 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki