Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 14 files:

Smatch caller information:

drivers/vhost/vdpa.c vhost_vdpa_free_domain() -> iommu_detach_device()

Type Parameter Key Value
PARAM_VALUE 0 domain 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 dev unit_byte
HALF_LOCKED2 &d->mutex

drivers/net/wireless/ath/ath10k/snoc.c ath10k_fw_deinit() -> iommu_detach_device()

Type Parameter Key Value
PARAM_VALUE 0 domain 4096-ptr_max
PARAM_VALUE 0 domain->ops 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/wireless/ath/ath10k/snoc.c ath10k_fw_init() -> iommu_detach_device()

Type Parameter Key Value
PARAM_VALUE 0 domain 4096-ptr_max
PARAM_VALUE 0 domain->ops->iotlb_sync 0,4096-ptr_max
PARAM_VALUE 0 domain->ops->map_pages 0
PARAM_VALUE 1 dev 4096-ptr_max
PARAM_VALUE 1 dev->dma_mem 1-u64max
PARAM_VALUE 1 dev->iommu 4096-ptr_max
PARAM_VALUE 1 dev->iommu->iommu_dev 4096-ptr_max
PARAM_VALUE 1 dev->iommu->iommu_dev->ops 4096-ptr_max
PARAM_VALUE 1 dev->iommu_group 0
BUF_SIZE 0 domain (-1),112
BUF_SIZE 0 domain (-1),112
BUF_SIZE 1 dev 1616
DATA_SOURCE 0 domain r iommu_paging_domain_alloc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/media/platform/qcom/venus/firmware.c venus_firmware_deinit() -> iommu_detach_device()

Type Parameter Key Value
PARAM_VALUE 1 dev 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &_dev->mutex
TYPE_LOCK (struct device)->mutex

drivers/gpu/drm/msm/msm_iommu.c msm_iommu_detach() -> iommu_detach_device()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 dev unit_byte

drivers/remoteproc/remoteproc_core.c rproc_disable_iommu() -> iommu_detach_device()

Type Parameter Key Value
PARAM_VALUE 0 domain 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 dev unit_byte
LOCK2 &rproc->lock
TYPE_LOCK (struct rproc)->lock

drivers/media/platform/rockchip/rkvdec/rkvdec.c rkvdec_iommu_restore() -> iommu_detach_device()

Type Parameter Key Value
PARAM_VALUE 0 domain 1-u64max
PARAM_VALUE 1 dev 4096-ptr_max
PARAM_VALUE 1 dev->iommu_group 0,4096-ptr_max
CAPPED_DATA 0 domain 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 _T->lock

drivers/gpu/drm/exynos/exynos_drm_dma.c drm_iommu_detach_device() -> iommu_detach_device()

Type Parameter Key Value
PARAM_VALUE 1 dev->power.wakeirq->status 0-4294967295
BUF_SIZE 1 dev (-1),1616
BUF_SIZE 1 dev (-1),1616
DATA_SOURCE 1 dev $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/infiniband/hw/usnic/usnic_uiom.c usnic_uiom_attach_dev_to_pd() -> iommu_detach_device()

Type Parameter Key Value
PARAM_VALUE 1 dev 4096-ptr_max
PARAM_VALUE 1 dev->iommu 0,4096-ptr_max
PARAM_VALUE 1 dev->iommu->iommu_dev 0,4096-ptr_max
PARAM_VALUE 1 dev->iommu->iommu_dev->ops->capable 0,462993810217750528,1218212999370723328,2068158786969784320,4814261608348082176,5273877608991895552,6378217523337945088
PARAM_VALUE 1 dev->iommu_group 4096-ptr_max
CAPPED_DATA 0 domain 1
DATA_SOURCE 1 dev $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &us_ibdev->usdev_lock
LOCK2 &vf->lock
TYPE_LOCK (struct usnic_ib_dev)->usdev_lock
TYPE_LOCK (struct usnic_ib_vf)->lock

drivers/infiniband/hw/usnic/usnic_uiom.c usnic_uiom_detach_dev_from_pd() -> iommu_detach_device()

Type Parameter Key Value
PARAM_VALUE 1 dev 4096-ptr_max
CAPPED_DATA 1 dev 1
DATA_SOURCE 1 dev $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vf->lock
HALF_LOCKED2 &us_ibdev->usdev_lock
TYPE_LOCK (struct usnic_ib_dev)->usdev_lock
TYPE_LOCK (struct usnic_ib_vf)->lock

drivers/net/wireless/ath/ath11k/ahb.c ath11k_ahb_fw_resource_deinit() -> iommu_detach_device()

Type Parameter Key Value
PARAM_VALUE 0 domain 4096-ptr_max
PARAM_VALUE 0 domain->ops 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/wireless/ath/ath11k/ahb.c ath11k_ahb_fw_resources_init() -> iommu_detach_device()

Type Parameter Key Value
PARAM_VALUE 0 domain 4096-ptr_max
PARAM_VALUE 0 domain->ops 4096-ptr_max
PARAM_VALUE 0 domain->ops->iotlb_sync 0,4096-ptr_max
PARAM_VALUE 0 domain->ops->map_pages 0
PARAM_VALUE 1 dev 4096-ptr_max
PARAM_VALUE 1 dev->dma_mem 1-u64max
PARAM_VALUE 1 dev->iommu 4096-ptr_max
PARAM_VALUE 1 dev->iommu->iommu_dev 4096-ptr_max
PARAM_VALUE 1 dev->iommu->iommu_dev->ops 4096-ptr_max
PARAM_VALUE 1 dev->iommu_group 0
BUF_SIZE 0 domain (-1),112
BUF_SIZE 0 domain (-1),112
BUF_SIZE 1 dev 1616
DATA_SOURCE 0 domain r iommu_paging_domain_alloc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/rockchip/rockchip_drm_drv.c rockchip_drm_dma_detach_device() -> iommu_detach_device()

Type Parameter Key Value
PARAM_VALUE 0 domain 1-u64max
DATA_SOURCE 1 dev $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &state->dev->mode_config.connection_mutex
HALF_LOCKED2 &state->dev->mode_config.connection_mutex.mutex
HALF_LOCKED2 &vop->vop_lock
HALF_LOCKED2 &vop2->vop2_lock

drivers/uio/uio_pci_generic_sva.c uio_pci_sva_open() -> iommu_detach_device()

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
DATA_SOURCE 0 domain r iommu_get_domain_for_dev
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &idev->info_lock
TYPE_LOCK (struct uio_device)->info_lock