Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/iommu/iommu.c __iommu_attach_group() -> dev_has_iommu()

Type Parameter Key Value
DATA_SOURCE 0 dev r iommu_group_first_dev
RX_PATH
TASK_NOT_RUNNING
LOCK2 &group->mutex
HALF_LOCKED2 &igroup->lock
TYPE_LOCK (struct iommu_group)->mutex

drivers/iommu/iommu.c __iommu_group_remove_device() -> dev_has_iommu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev 1
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
LOCK2 &group->mutex
TYPE_LOCK (struct iommu_group)->mutex

drivers/iommu/iommu.c __iommu_paging_domain_alloc_flags() -> dev_has_iommu()

Type Parameter Key Value
BUF_SIZE 0 dev (-1),1616
BUF_SIZE 0 dev (-1),1616
BUF_SIZE 0 dev->dma_parms (-1),16
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
HALF_LOCKED2 &group->mutex

drivers/iommu/iommu.c device_iommu_capable() -> dev_has_iommu()

Type Parameter Key Value
BUF_SIZE 0 dev (-1),1616
BUF_SIZE 0 dev (-1),1616
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 dev->iommu.max_pasids 0-u32max
UNITS 0 dev unit_byte
HALF_LOCKED2 &group->device_lock
HALF_LOCKED2 &group->mutex
HALF_LOCKED2 &ioas->mutex
HALF_LOCKED2 &us_ibdev->usdev_lock
HALF_LOCKED2 &vf->lock

drivers/iommu/iommu.c iommu_get_group_resv_regions() -> dev_has_iommu()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
LOCK2 &group->mutex
HALF_LOCKED2 &container->group_lock
HALF_LOCKED2 &iommu->lock
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct iommu_group)->mutex

drivers/iommu/iommu.c pci_dev_reset_iommu_done() -> dev_has_iommu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pdev->dev.mutex

drivers/iommu/iommu.c pci_dev_reset_iommu_prepare() -> dev_has_iommu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pdev->dev.mutex