Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 9 files:

Smatch caller information:

drivers/gpu/drm/drm_gpusvm.c drm_gpusvm_get_pages() -> dma_iova_try_alloc()

Type Parameter Key Value
PARAM_VALUE 1 state 4096-ptr_max
PARAM_VALUE 2 phys 0
PARAM_VALUE 3 size 4096-18446744073709547520
BUF_SIZE 1 state 16
CAPPED_DATA 3 size 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dev unit_byte
UNITS 3 size unit_byte
LOCK2 &gpusvm->notifier_lock
TYPE_LOCK (struct drm_gpusvm)->notifier_lock

drivers/vfio/pci/mlx5/cmd.c register_dma_pages() -> dma_iova_try_alloc()

Type Parameter Key Value
PARAM_VALUE 1 state 4096-ptr_max
PARAM_VALUE 2 phys 0
PARAM_VALUE 3 size 4096-17592186040320
CAPPED_DATA 3 size 1
DATA_SOURCE 1 state $4
UNITS 0 dev unit_byte
UNITS 3 size unit_byte
HALF_LOCKED2 &mvdev->state_mutex
TYPE_LOCK (struct mlx5vf_pci_core_device)->state_mutex

drivers/gpu/drm/drm_pagemap.c drm_pagemap_migrate_map_system_pages() -> dma_iova_try_alloc()

Type Parameter Key Value
PARAM_VALUE 1 state 1195593651579117568,8637231281627271168,9032673953758285824
PARAM_VALUE 2 phys 0
PARAM_VALUE 3 size 4096-18446744073709547520
CAPPED_DATA 3 size 1
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 3 size 4096-18446744073709547520[c]
UNITS 0 dev unit_byte
UNITS 3 size unit_byte
HALF_LOCKED2 &driver_migrate_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 global &drm_unplug_srcu

drivers/dma-buf/dma-buf-mapping.c dma_buf_phys_vec_to_sgt() -> dma_iova_try_alloc()

Type Parameter Key Value
PARAM_VALUE 0 dev->iommu_group->default_domain 0-s64max
PARAM_VALUE 1 state 4096-ptr_max
PARAM_VALUE 2 phys 0
BUF_SIZE 1 state 16
DATA_SOURCE 1 state r _kzalloc_noprof
DATA_SOURCE 3 size $4
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dev unit_byte
UNITS 3 size unit_byte
HALF_LOCKED2 &bo->lock
HALF_LOCKED2 &dbc->ch_lock
HALF_LOCKED2 &qdev->dev_lock
HALF_LOCKED2 &usr->qddev_lock
HALF_LOCKED2 attach->dmabuf->resv
HALF_LOCKED2 bo->base.base.resv
HALF_LOCKED2 dmabuf->resv
HALF_LOCKED2 resv

block/blk-mq-dma.c blk_dma_map_iter_start() -> dma_iova_try_alloc()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->flags 4096-ptr_max
PARAM_VALUE 1 state 4096-ptr_max
DATA_SOURCE 0 dev $1
DATA_SOURCE 1 state $2
DATA_SOURCE 3 size $4
RX_PATH
TASK_NOT_RUNNING
UNITS 2 phys unit_byte
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

net/core/tso.c tso_dma_iova_try() -> dma_iova_try_alloc()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 state 79462570366205976
PARAM_VALUE 3 size 1-u32max
CAPPED_DATA 2 phys 1
CAPPED_DATA 2 phys 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 2 phys $2
DATA_SOURCE 3 size $4
MEM_ZERO 1 state
RX_PATH
TASK_NOT_RUNNING
UNITS 3 size unit_byte
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

mm/hmm.c hmm_dma_map_alloc() -> dma_iova_try_alloc()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->bus_dma_limit 1-u64max
PARAM_VALUE 0 dev->dma_mask 0,4096-ptr_max
PARAM_VALUE 0 dev->flags 4096-ptr_max
PARAM_VALUE 1 state 4096-ptr_max
PARAM_VALUE 2 phys 0
PARAM_VALUE 3 size 0-18446744073709547520
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 3 size 0-18446744073709547520[c]
UNITS 0 dev unit_byte
UNITS 3 size unit_byte

drivers/infiniband/core/rw.c rdma_rw_init_iova_wrs_bvec() -> dma_iova_try_alloc()

Type Parameter Key Value
PARAM_VALUE 1 state 4096-ptr_max
PARAM_VALUE 3 size 1-u32max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
UNITS 3 size unit_byte