Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/iommu/amd/iommu.c amd_iommu_set_dirty_tracking() -> get_amd_iommu_from_dev_data()

Type Parameter Key Value
PARAM_VALUE 0 dev_data 4096-ptr_max
CAPPED_DATA 0 &dev_data->list 1
PREEMPT_ADD <- disables preempt
LOCK2 &iopt->iova_rwsem
LOCK2 &pdomain->lock
LOCK2 flags
LOCK2 0 &dev_data->dte_lock
TYPE_LOCK (struct io_pagetable)->iova_rwsem
TYPE_LOCK (struct iommu_dev_data)->dte_lock
TYPE_LOCK (struct protection_domain)->lock

drivers/iommu/amd/iommu.c attach_device() -> get_amd_iommu_from_dev_data()

Type Parameter Key Value
BUF_SIZE 0 dev_data s32min-(-2),1-s32max
BUF_SIZE 0 dev_data s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev_data unit_byte
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &group->mutex

drivers/iommu/amd/iommu.c detach_device() -> get_amd_iommu_from_dev_data()

Type Parameter Key Value
BUF_SIZE 0 dev_data s32min-(-1),1-s32max
BUF_SIZE 0 dev_data s32min-(-1),1-s32max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev_data unit_byte

drivers/iommu/amd/iommu.c device_flush_dte() -> get_amd_iommu_from_dev_data()

Type Parameter Key Value
PARAM_VALUE 0 dev_data 4096-ptr_max
BUF_SIZE 0 dev_data s32min-(-1),1-s32max
BUF_SIZE 0 dev_data s32min-(-1),1-s32max
DATA_SOURCE 0 dev_data $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev_data unit_byte
HALF_LOCKED2 &iopt->iova_rwsem
HALF_LOCKED2 &pdomain->lock
HALF_LOCKED2 domain_lock
HALF_LOCKED2 flags
HALF_LOCKED2 0 &dev_data->mutex

drivers/iommu/amd/iommu.c device_flush_iotlb() -> get_amd_iommu_from_dev_data()

Type Parameter Key Value
PARAM_VALUE 0 dev_data 4096-ptr_max
BUF_SIZE 0 dev_data s32min-(-1),1-s32max
BUF_SIZE 0 dev_data s32min-(-1),1-s32max
DATA_SOURCE 0 dev_data $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev_data unit_byte
HALF_LOCKED2 &domain->lock
HALF_LOCKED2 flags
HALF_LOCKED2 0 &dev_data->mutex

drivers/iommu/amd/iommu.c init_gcr3_table() -> get_amd_iommu_from_dev_data()

Type Parameter Key Value
PARAM_VALUE 0 dev_data 4096-ptr_max
PARAM_VALUE 0 dev_data->dev 4096-ptr_max
PARAM_VALUE 0 dev_data->dev->iommu 4096-ptr_max
BUF_SIZE 0 dev_data s32min-(-2),1-s32max
BUF_SIZE 0 dev_data s32min-(-2),1-s32max
DATA_SOURCE 0 dev_data $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev_data unit_byte
LOCK2 0 &dev_data->mutex
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &group->mutex
TYPE_LOCK (struct iommu_dev_data)->mutex

drivers/iommu/amd/nested.c nested_attach_device() -> get_amd_iommu_from_dev_data()

Type Parameter Key Value
BUF_SIZE 0 dev_data s32min-(-2),1-s32max
BUF_SIZE 0 dev_data s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev_data unit_byte
HALF_LOCKED2 &group->mutex