Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 2 files as a function:
- drivers/iommu/dma-iommu.c, line 1794 (as a function)
- include/linux/dma-mapping.h, line 394 (as a function)
Referenced in 9 files:
- block/blk-mq-dma.c, line 198
- drivers/dma-buf/dma-buf-mapping.c, line 128
- drivers/gpu/drm/drm_gpusvm.c, line 1626
- drivers/gpu/drm/drm_pagemap.c, line 349
- drivers/infiniband/core/rw.c, line 505
- drivers/iommu/dma-iommu.c, line 1837
- drivers/vfio/pci/mlx5/cmd.c, line 397
- mm/hmm.c, line 865
- net/core/tso.c, line 101
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 |