[PATCH v2] drm/panthor: register size of internal objects through fdinfo
kernel test robot
lkp at intel.com
Mon Nov 18 03:08:11 UTC 2024
Hi Adrián,
kernel test robot noticed the following build warnings:
[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on next-20241115]
[cannot apply to linus/master v6.12]
[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/Adri-n-Larumbe/drm-panthor-register-size-of-internal-objects-through-fdinfo/20241117-000321
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link: https://lore.kernel.org/r/20241115191426.3101123-1-adrian.larumbe%40collabora.com
patch subject: [PATCH v2] drm/panthor: register size of internal objects through fdinfo
config: x86_64-buildonly-randconfig-005-20241118 (https://download.01.org/0day-ci/archive/20241118/202411181036.aieis7tj-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241118/202411181036.aieis7tj-lkp@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 <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202411181036.aieis7tj-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/gpu/drm/panthor/panthor_gem.c:118: warning: Function parameter or struct member 'pfile' not described in 'panthor_kernel_bo_create'
--
>> drivers/gpu/drm/panthor/panthor_heap.c:280: warning: Function parameter or struct member 'pfile' not described in 'panthor_heap_create'
>> drivers/gpu/drm/panthor/panthor_heap.c:538: warning: Function parameter or struct member 'pfile' not described in 'panthor_heap_pool_create'
--
drivers/gpu/drm/panthor/panthor_fw.c:139: warning: Excess struct member 'start' description in 'panthor_fw_binary_section_entry_hdr'
drivers/gpu/drm/panthor/panthor_fw.c:139: warning: Excess struct member 'end' description in 'panthor_fw_binary_section_entry_hdr'
drivers/gpu/drm/panthor/panthor_fw.c:139: warning: Excess struct member 'start' description in 'panthor_fw_binary_section_entry_hdr'
drivers/gpu/drm/panthor/panthor_fw.c:139: warning: Excess struct member 'end' description in 'panthor_fw_binary_section_entry_hdr'
drivers/gpu/drm/panthor/panthor_fw.c:196: warning: Excess struct member 'buf' description in 'panthor_fw_section'
drivers/gpu/drm/panthor/panthor_fw.c:196: warning: Excess struct member 'size' description in 'panthor_fw_section'
drivers/gpu/drm/panthor/panthor_fw.c:278: warning: Excess struct member 'ping_work' description in 'panthor_fw'
>> drivers/gpu/drm/panthor/panthor_fw.c:456: warning: Function parameter or struct member 'pfile' not described in 'panthor_fw_alloc_queue_iface_mem'
>> drivers/gpu/drm/panthor/panthor_fw.c:495: warning: Function parameter or struct member 'pfile' not described in 'panthor_fw_alloc_suspend_buf_mem'
--
drivers/gpu/drm/panthor/panthor_mmu.c:102: warning: Function parameter or struct member 'as' not described in 'panthor_mmu'
drivers/gpu/drm/panthor/panthor_mmu.c:102: warning: Excess struct member 'slots_lock' description in 'panthor_mmu'
drivers/gpu/drm/panthor/panthor_mmu.c:102: warning: Excess struct member 'alloc_mask' description in 'panthor_mmu'
drivers/gpu/drm/panthor/panthor_mmu.c:102: warning: Excess struct member 'faulty_mask' description in 'panthor_mmu'
drivers/gpu/drm/panthor/panthor_mmu.c:102: warning: Excess struct member 'slots' description in 'panthor_mmu'
drivers/gpu/drm/panthor/panthor_mmu.c:102: warning: Excess struct member 'lru_list' description in 'panthor_mmu'
drivers/gpu/drm/panthor/panthor_mmu.c:102: warning: Excess struct member 'lock' description in 'panthor_mmu'
drivers/gpu/drm/panthor/panthor_mmu.c:102: warning: Excess struct member 'list' description in 'panthor_mmu'
drivers/gpu/drm/panthor/panthor_mmu.c:102: warning: Excess struct member 'reset_in_progress' description in 'panthor_mmu'
drivers/gpu/drm/panthor/panthor_mmu.c:102: warning: Excess struct member 'wq' description in 'panthor_mmu'
drivers/gpu/drm/panthor/panthor_mmu.c:217: warning: Excess struct member 'count' description in 'panthor_vm_op_ctx'
drivers/gpu/drm/panthor/panthor_mmu.c:217: warning: Excess struct member 'ptr' description in 'panthor_vm_op_ctx'
drivers/gpu/drm/panthor/panthor_mmu.c:217: warning: Excess struct member 'page' description in 'panthor_vm_op_ctx'
drivers/gpu/drm/panthor/panthor_mmu.c:217: warning: Excess struct member 'addr' description in 'panthor_vm_op_ctx'
drivers/gpu/drm/panthor/panthor_mmu.c:217: warning: Excess struct member 'range' description in 'panthor_vm_op_ctx'
drivers/gpu/drm/panthor/panthor_mmu.c:217: warning: Excess struct member 'vm_bo' description in 'panthor_vm_op_ctx'
drivers/gpu/drm/panthor/panthor_mmu.c:217: warning: Excess struct member 'bo_offset' description in 'panthor_vm_op_ctx'
drivers/gpu/drm/panthor/panthor_mmu.c:217: warning: Excess struct member 'sgt' description in 'panthor_vm_op_ctx'
drivers/gpu/drm/panthor/panthor_mmu.c:217: warning: Excess struct member 'new_vma' description in 'panthor_vm_op_ctx'
drivers/gpu/drm/panthor/panthor_mmu.c:389: warning: Excess struct member 'start' description in 'panthor_vm'
drivers/gpu/drm/panthor/panthor_mmu.c:389: warning: Excess struct member 'size' description in 'panthor_vm'
drivers/gpu/drm/panthor/panthor_mmu.c:389: warning: Excess struct member 'id' description in 'panthor_vm'
drivers/gpu/drm/panthor/panthor_mmu.c:389: warning: Excess struct member 'active_cnt' description in 'panthor_vm'
drivers/gpu/drm/panthor/panthor_mmu.c:389: warning: Excess struct member 'lru_node' description in 'panthor_vm'
drivers/gpu/drm/panthor/panthor_mmu.c:389: warning: Excess struct member 'pool' description in 'panthor_vm'
drivers/gpu/drm/panthor/panthor_mmu.c:389: warning: Excess struct member 'lock' description in 'panthor_vm'
drivers/gpu/drm/panthor/panthor_mmu.c:412: warning: Cannot understand * @pt_cache: Cache used to allocate MMU page tables.
on line 412 - I thought it was a doc line
drivers/gpu/drm/panthor/panthor_mmu.c:481: warning: Cannot understand * @free_pt() - Custom page table free function
on line 481 - I thought it was a doc line
drivers/gpu/drm/panthor/panthor_mmu.c:707: warning: Function parameter or struct member 'vm' not described in 'panthor_vm_active'
drivers/gpu/drm/panthor/panthor_mmu.c:707: warning: Excess function parameter 'VM' description in 'panthor_vm_active'
drivers/gpu/drm/panthor/panthor_mmu.c:816: warning: Function parameter or struct member 'vm' not described in 'panthor_vm_idle'
drivers/gpu/drm/panthor/panthor_mmu.c:816: warning: Excess function parameter 'VM' description in 'panthor_vm_idle'
drivers/gpu/drm/panthor/panthor_mmu.c:1035: warning: Function parameter or struct member 'vm' not described in 'panthor_vm_alloc_va'
drivers/gpu/drm/panthor/panthor_mmu.c:1035: warning: Excess function parameter 'VM' description in 'panthor_vm_alloc_va'
drivers/gpu/drm/panthor/panthor_mmu.c:1068: warning: Function parameter or struct member 'vm' not described in 'panthor_vm_free_va'
drivers/gpu/drm/panthor/panthor_mmu.c:1068: warning: Excess function parameter 'VM' description in 'panthor_vm_free_va'
drivers/gpu/drm/panthor/panthor_mmu.c:1502: warning: Function parameter or struct member 'ptdev' not described in 'panthor_vm_pool_create_vm'
drivers/gpu/drm/panthor/panthor_mmu.c:1502: warning: Function parameter or struct member 'args' not described in 'panthor_vm_pool_create_vm'
drivers/gpu/drm/panthor/panthor_mmu.c:1502: warning: Excess function parameter 'kernel_va_start' description in 'panthor_vm_pool_create_vm'
drivers/gpu/drm/panthor/panthor_mmu.c:1502: warning: Excess function parameter 'kernel_va_range' description in 'panthor_vm_pool_create_vm'
>> drivers/gpu/drm/panthor/panthor_mmu.c:1919: warning: Function parameter or struct member 'pfile' not described in 'panthor_vm_get_heap_pool'
vim +118 drivers/gpu/drm/panthor/panthor_gem.c
7b8b62a7db49e2 Adrián Larumbe 2024-11-15 99
8a1cc07578bf42 Boris Brezillon 2024-02-29 100 /**
8a1cc07578bf42 Boris Brezillon 2024-02-29 101 * panthor_kernel_bo_create() - Create and map a GEM object to a VM
8a1cc07578bf42 Boris Brezillon 2024-02-29 102 * @ptdev: Device.
8a1cc07578bf42 Boris Brezillon 2024-02-29 103 * @vm: VM to map the GEM to. If NULL, the kernel object is not GPU mapped.
8a1cc07578bf42 Boris Brezillon 2024-02-29 104 * @size: Size of the buffer object.
8a1cc07578bf42 Boris Brezillon 2024-02-29 105 * @bo_flags: Combination of drm_panthor_bo_flags flags.
8a1cc07578bf42 Boris Brezillon 2024-02-29 106 * @vm_map_flags: Combination of drm_panthor_vm_bind_op_flags (only those
8a1cc07578bf42 Boris Brezillon 2024-02-29 107 * that are related to map operations).
8a1cc07578bf42 Boris Brezillon 2024-02-29 108 * @gpu_va: GPU address assigned when mapping to the VM.
8a1cc07578bf42 Boris Brezillon 2024-02-29 109 * If gpu_va == PANTHOR_VM_KERNEL_AUTO_VA, the virtual address will be
8a1cc07578bf42 Boris Brezillon 2024-02-29 110 * automatically allocated.
8a1cc07578bf42 Boris Brezillon 2024-02-29 111 *
8a1cc07578bf42 Boris Brezillon 2024-02-29 112 * Return: A valid pointer in case of success, an ERR_PTR() otherwise.
8a1cc07578bf42 Boris Brezillon 2024-02-29 113 */
8a1cc07578bf42 Boris Brezillon 2024-02-29 114 struct panthor_kernel_bo *
7b8b62a7db49e2 Adrián Larumbe 2024-11-15 115 panthor_kernel_bo_create(struct panthor_device *ptdev, struct panthor_file *pfile,
7b8b62a7db49e2 Adrián Larumbe 2024-11-15 116 struct panthor_vm *vm, size_t size, u32 bo_flags,
7b8b62a7db49e2 Adrián Larumbe 2024-11-15 117 u32 vm_map_flags, u64 gpu_va)
8a1cc07578bf42 Boris Brezillon 2024-02-29 @118 {
8a1cc07578bf42 Boris Brezillon 2024-02-29 119 struct drm_gem_shmem_object *obj;
8a1cc07578bf42 Boris Brezillon 2024-02-29 120 struct panthor_kernel_bo *kbo;
8a1cc07578bf42 Boris Brezillon 2024-02-29 121 struct panthor_gem_object *bo;
8a1cc07578bf42 Boris Brezillon 2024-02-29 122 int ret;
8a1cc07578bf42 Boris Brezillon 2024-02-29 123
8a1cc07578bf42 Boris Brezillon 2024-02-29 124 if (drm_WARN_ON(&ptdev->base, !vm))
8a1cc07578bf42 Boris Brezillon 2024-02-29 125 return ERR_PTR(-EINVAL);
8a1cc07578bf42 Boris Brezillon 2024-02-29 126
8a1cc07578bf42 Boris Brezillon 2024-02-29 127 kbo = kzalloc(sizeof(*kbo), GFP_KERNEL);
8a1cc07578bf42 Boris Brezillon 2024-02-29 128 if (!kbo)
8a1cc07578bf42 Boris Brezillon 2024-02-29 129 return ERR_PTR(-ENOMEM);
8a1cc07578bf42 Boris Brezillon 2024-02-29 130
8a1cc07578bf42 Boris Brezillon 2024-02-29 131 obj = drm_gem_shmem_create(&ptdev->base, size);
8a1cc07578bf42 Boris Brezillon 2024-02-29 132 if (IS_ERR(obj)) {
8a1cc07578bf42 Boris Brezillon 2024-02-29 133 ret = PTR_ERR(obj);
8a1cc07578bf42 Boris Brezillon 2024-02-29 134 goto err_free_bo;
8a1cc07578bf42 Boris Brezillon 2024-02-29 135 }
8a1cc07578bf42 Boris Brezillon 2024-02-29 136
8a1cc07578bf42 Boris Brezillon 2024-02-29 137 bo = to_panthor_bo(&obj->base);
8a1cc07578bf42 Boris Brezillon 2024-02-29 138 kbo->obj = &obj->base;
8a1cc07578bf42 Boris Brezillon 2024-02-29 139 bo->flags = bo_flags;
8a1cc07578bf42 Boris Brezillon 2024-02-29 140
5d01b56f0518d8 Boris Brezillon 2024-10-30 141 /* The system and GPU MMU page size might differ, which becomes a
5d01b56f0518d8 Boris Brezillon 2024-10-30 142 * problem for FW sections that need to be mapped at explicit address
5d01b56f0518d8 Boris Brezillon 2024-10-30 143 * since our PAGE_SIZE alignment might cover a VA range that's
5d01b56f0518d8 Boris Brezillon 2024-10-30 144 * expected to be used for another section.
5d01b56f0518d8 Boris Brezillon 2024-10-30 145 * Make sure we never map more than we need.
5d01b56f0518d8 Boris Brezillon 2024-10-30 146 */
5d01b56f0518d8 Boris Brezillon 2024-10-30 147 size = ALIGN(size, panthor_vm_page_size(vm));
8a1cc07578bf42 Boris Brezillon 2024-02-29 148 ret = panthor_vm_alloc_va(vm, gpu_va, size, &kbo->va_node);
8a1cc07578bf42 Boris Brezillon 2024-02-29 149 if (ret)
8a1cc07578bf42 Boris Brezillon 2024-02-29 150 goto err_put_obj;
8a1cc07578bf42 Boris Brezillon 2024-02-29 151
8a1cc07578bf42 Boris Brezillon 2024-02-29 152 ret = panthor_vm_map_bo_range(vm, bo, 0, size, kbo->va_node.start, vm_map_flags);
8a1cc07578bf42 Boris Brezillon 2024-02-29 153 if (ret)
8a1cc07578bf42 Boris Brezillon 2024-02-29 154 goto err_free_va;
8a1cc07578bf42 Boris Brezillon 2024-02-29 155
ff60c8da0aaf7e Boris Brezillon 2024-05-02 156 kbo->vm = panthor_vm_get(vm);
8a1cc07578bf42 Boris Brezillon 2024-02-29 157 bo->exclusive_vm_root_gem = panthor_vm_root_gem(vm);
8a1cc07578bf42 Boris Brezillon 2024-02-29 158 drm_gem_object_get(bo->exclusive_vm_root_gem);
8a1cc07578bf42 Boris Brezillon 2024-02-29 159 bo->base.base.resv = bo->exclusive_vm_root_gem->resv;
7b8b62a7db49e2 Adrián Larumbe 2024-11-15 160
7b8b62a7db49e2 Adrián Larumbe 2024-11-15 161 INIT_LIST_HEAD(&kbo->private_obj);
7b8b62a7db49e2 Adrián Larumbe 2024-11-15 162
7b8b62a7db49e2 Adrián Larumbe 2024-11-15 163 /* Only FW regions are not bound to an open file */
7b8b62a7db49e2 Adrián Larumbe 2024-11-15 164 if (pfile) {
7b8b62a7db49e2 Adrián Larumbe 2024-11-15 165 mutex_lock(&ptdev->private_obj_list_lock);
7b8b62a7db49e2 Adrián Larumbe 2024-11-15 166 list_add(&kbo->private_obj, &pfile->private_file_list);
7b8b62a7db49e2 Adrián Larumbe 2024-11-15 167 mutex_unlock(&ptdev->private_obj_list_lock);
7b8b62a7db49e2 Adrián Larumbe 2024-11-15 168 }
7b8b62a7db49e2 Adrián Larumbe 2024-11-15 169
8a1cc07578bf42 Boris Brezillon 2024-02-29 170 return kbo;
8a1cc07578bf42 Boris Brezillon 2024-02-29 171
8a1cc07578bf42 Boris Brezillon 2024-02-29 172 err_free_va:
8a1cc07578bf42 Boris Brezillon 2024-02-29 173 panthor_vm_free_va(vm, &kbo->va_node);
8a1cc07578bf42 Boris Brezillon 2024-02-29 174
8a1cc07578bf42 Boris Brezillon 2024-02-29 175 err_put_obj:
8a1cc07578bf42 Boris Brezillon 2024-02-29 176 drm_gem_object_put(&obj->base);
8a1cc07578bf42 Boris Brezillon 2024-02-29 177
8a1cc07578bf42 Boris Brezillon 2024-02-29 178 err_free_bo:
8a1cc07578bf42 Boris Brezillon 2024-02-29 179 kfree(kbo);
8a1cc07578bf42 Boris Brezillon 2024-02-29 180 return ERR_PTR(ret);
8a1cc07578bf42 Boris Brezillon 2024-02-29 181 }
8a1cc07578bf42 Boris Brezillon 2024-02-29 182
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the dri-devel
mailing list