Defined in 1 files as a prototype:
Defined in 2 files as a function:
Referenced in 4 files:
- drivers/dma/idxd/init.c, line 685
- drivers/iommu/iommu-sva.c, line 182
- drivers/iommu/iommu.c, line 3825
- drivers/iommu/iommufd/device.c, line 627
Smatch caller information:
drivers/iommu/iommufd/device.c iommufd_hwpt_detach_device() -> iommu_detach_device_pasid()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | dev->iommu_group->recovery_cnt | 0-4294967295 |
| PARAM_VALUE | 2 | pasid | 1-u32max |
| DATA_SOURCE | 2 | pasid | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 2 | pasid | 1-u32max |
| LOCK2 | &igroup->lock | ||
| HALF_LOCKED2 | &ioas->mutex | ||
| HALF_LOCKED2 | &vdev->dev_set->lock | ||
| TYPE_LOCK | (struct iommufd_group)->lock |
drivers/dma/idxd/init.c idxd_disable_system_pasid() -> iommu_detach_device_pasid()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | domain | 1-u64max |
| PARAM_VALUE | 1 | dev | 4096-ptr_max |
| PARAM_VALUE | 1 | dev->iommu_group | 4096-ptr_max |
| BUF_SIZE | 1 | dev | 1616 |
| DATA_SOURCE | 0 | domain | r iommu_get_domain_for_dev |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/iommu/iommu-sva.c iommu_sva_unbind_device() -> iommu_detach_device_pasid()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | domain | 4096-ptr_max |
| PARAM_VALUE | 0 | domain->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | domain->mm->iommu_mm | 4096-ptr_max |
| BUF_SIZE | 1 | dev | (-1),1616 |
| BUF_SIZE | 1 | dev | (-1),1616 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | dev | unit_byte |
| LOCK2 | global &iommu_sva_lock | ||
| HALF_LOCKED2 | &idev->info_lock | ||
| HALF_LOCKED2 | &uacce->mutex | ||
| HALF_LOCKED2 | &wq->wq_lock | ||
| HALF_LOCKED2 | &xdna->client_lock | ||
| HALF_LOCKED2 | &xdna->dev_lock |