Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/iommu/amd/iommu.c amd_iommu_clear_gcr3() -> update_gcr3()

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->gcr3_info.glx 0-3
PARAM_VALUE 2 gcr3 0
PARAM_VALUE 3 set 0
DATA_SOURCE 0 dev_data $0
DATA_SOURCE 1 pasid $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev_data unit_byte
LOCK2 flags
HALF_LOCKED2 &pdom->lock
HALF_LOCKED2 &sva_pdom->lock
HALF_LOCKED2 global &srcu
TYPE_LOCK (struct protection_domain)->lock

drivers/iommu/amd/iommu.c amd_iommu_set_gcr3() -> update_gcr3()

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->max_pasids 2-u32max
PARAM_VALUE 0 dev_data->pasid_enabled 1
PARAM_VALUE 1 pasid 1-4294967294
PARAM_VALUE 3 set 1
BUF_SIZE 0 dev_data s32min-(-2),1-s32max
BUF_SIZE 0 dev_data s32min-(-2),1-s32max
CAPPED_DATA 1 pasid 1
DATA_SOURCE 0 dev_data $0
DATA_SOURCE 1 pasid $1
DATA_SOURCE 2 gcr3 $2
NOSPEC 1 pasid
NOSPEC 1 pasid
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 pasid 1-4294967294[c]
UNITS 0 dev_data unit_byte
LOCK2 &sva_pdom->lock
LOCK2 flags
HALF_LOCKED2 &group->mutex
TYPE_LOCK (struct protection_domain)->lock

drivers/iommu/amd/iommu.c destroy_gcr3_table() -> update_gcr3()

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
PARAM_VALUE 0 dev_data->domain 4096-ptr_max
PARAM_VALUE 0 dev_data->domain->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dev_data->dte_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dev_data->mutex.dep_map->name 0-255
PARAM_VALUE 0 dev_data->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev_data->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev_data->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev_data->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev_data->mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev_data->mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 dev_data->ppr 0
PARAM_VALUE 1 pasid 0
PARAM_VALUE 2 gcr3 0
PARAM_VALUE 3 set 0
BUF_SIZE 0 dev_data s32min-(-1),1-s32max
BUF_SIZE 0 dev_data s32min-(-1),1-s32max
DATA_SOURCE 0 dev_data $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dev_data unit_byte
LOCK2 0 &dev_data->mutex
TYPE_LOCK (struct iommu_dev_data)->mutex

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

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
PARAM_VALUE 0 dev_data->domain 0
PARAM_VALUE 0 dev_data->gcr3_info.gcr3_tbl 18379471554275704832,18446612682070032384
PARAM_VALUE 0 dev_data->gcr3_info.glx 0-3
PARAM_VALUE 0 dev_data->mutex.dep_map->name 0-255
PARAM_VALUE 0 dev_data->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev_data->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev_data->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev_data->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev_data->mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev_data->mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 pasid 0
PARAM_VALUE 3 set 1
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