Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c amdgpu_ttm_tt_get_user_pages() -> amdgpu_hmm_range_get_pages()

Type Parameter Key Value
PARAM_VALUE 0 notifier 4096-ptr_max
PARAM_VALUE 0 notifier->mm 4096-ptr_max
PARAM_VALUE 1 start 0
PARAM_VALUE 4 owner 0
PARAM_VALUE 5 range 4096-ptr_max
PARAM_VALUE 5 range->bo->tbo.bdev->dev_mapping->host->i_sb->s_cop->inode_info_offs 1632,1720,2632,2648
PARAM_VALUE 5 range->bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 5 range->bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 5 range->bo->tbo.bdev->pool.dev->dma_io_tlb_mem->can_grow 0-1
BUF_SIZE 5 range (-1),72
BUF_SIZE 5 range (-1),72
DATA_SOURCE 3 readonly r amdgpu_ttm_tt_is_readonly
DATA_SOURCE 5 range $1
USER_DATA 0 notifier->interval_tree.__subtree_last 0-u64max[c]
USER_DATA 0 notifier->interval_tree.start 0-u64max
UNITS 1 start unit_byte
LOCK2 &mm->mmap_lock
HALF_LOCKED2 &p->mutex
HALF_LOCKED2 &process_info->lock
TYPE_LOCK (struct mm_struct)->mmap_lock

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_validate_and_map() -> amdgpu_hmm_range_get_pages()

Type Parameter Key Value
PARAM_VALUE 0 notifier 4096-ptr_max
PARAM_VALUE 1 start 0
PARAM_VALUE 2 npages 0-4503599627370495
PARAM_VALUE 5 range 4096-ptr_max
PARAM_VALUE 5 range->bo 0
BUF_SIZE 5 range 72
DATA_SOURCE 5 range r amdgpu_hmm_range_alloc
RX_PATH
TASK_NOT_RUNNING
UNITS 1 start unit_byte
UNITS 2 npages unit_page
LOCK2 &mm->mmap_lock
LOCK2 &prange->migrate_mutex
LOCK2 &svms->lock
HALF_LOCKED2 &process_info->lock
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct svm_range)->migrate_mutex
TYPE_LOCK (struct svm_range_list)->lock