Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c amdgpu_vcn_get_profile() -> amdgpu_dpm_switch_power_profile()

Type Parameter Key Value
PARAM_VALUE 0 adev 4096-ptr_max
PARAM_VALUE 0 adev->vcn.inst 4096-ptr_max
PARAM_VALUE 0 adev->vcn.workload_profile_active 0
PARAM_VALUE 0 adev->vcn.workload_profile_mutex.dep_map->name 0-255
PARAM_VALUE 0 adev->vcn.workload_profile_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 adev->vcn.workload_profile_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 adev->vcn.workload_profile_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 adev->vcn.workload_profile_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 adev->vcn.workload_profile_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 type 3
PARAM_VALUE 2 en 1
CAPPED_DATA 0 &adev->vcn.workload_profile_mutex 1
DATA_SOURCE 0 adev $0
BIT_INFO 0 adev->pg_flags 0x0,0xffffffff
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &adev->vcn.workload_profile_mutex
HALF_LOCKED2 &adev->gfx.gpu_clock_mutex
HALF_LOCKED2 &adev->reset_domain->sem
HALF_LOCKED2 &adev->srbm_mutex
HALF_LOCKED2 &kiq->ring_lock
HALF_LOCKED2 &mux->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &drm_unplug_srcu
HALF_LOCKED2 ring_lock
TYPE_LOCK (struct amdgpu_vcn)->workload_profile_mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c amdgpu_vcn_put_profile() -> amdgpu_dpm_switch_power_profile()

Type Parameter Key Value
PARAM_VALUE 0 adev 4096-ptr_max
PARAM_VALUE 0 adev->vcn.inst 4096-ptr_max
PARAM_VALUE 0 adev->vcn.workload_profile_mutex.dep_map->name 0-255
PARAM_VALUE 0 adev->vcn.workload_profile_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 adev->vcn.workload_profile_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 adev->vcn.workload_profile_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 adev->vcn.workload_profile_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 adev->vcn.workload_profile_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 type 3
PARAM_VALUE 2 en 0
CAPPED_DATA 0 adev->vcn.num_vcn_inst 1
CAPPED_DATA 0 &adev->vcn.workload_profile_mutex 1
DATA_SOURCE 0 adev $0
LOCK2 0 &adev->vcn.workload_profile_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct amdgpu_vcn)->workload_profile_mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c amdgpu_amdkfd_set_compute_idle() -> amdgpu_dpm_switch_power_profile()

Type Parameter Key Value
PARAM_VALUE 0 adev 4096-ptr_max
PARAM_VALUE 0 adev->reset_domain->sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 adev->reset_domain->sem.first_waiter->type 0-1
PARAM_VALUE 1 type 5
DATA_SOURCE 0 adev $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &p->mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c amdgpu_gfx_profile_idle_work_handler() -> amdgpu_dpm_switch_power_profile()

Type Parameter Key Value
PARAM_VALUE 0 adev 4096-ptr_max
PARAM_VALUE 0 adev->gfx.compute_ring 4096-ptr_max
PARAM_VALUE 0 adev->gfx.gfx_ring 4096-ptr_max
PARAM_VALUE 0 adev->gfx.total_submission_cnt.counter 0
PARAM_VALUE 0 adev->gfx.workload_profile_active 1
PARAM_VALUE 0 adev->gfx.workload_profile_mutex.dep_map->name 0-255
PARAM_VALUE 0 adev->gfx.workload_profile_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 adev->gfx.workload_profile_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 adev->gfx.workload_profile_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 adev->gfx.workload_profile_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 adev->gfx.workload_profile_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 type 1,5
PARAM_VALUE 2 en 0
CAPPED_DATA 0 &adev->gfx.workload_profile_mutex 1
FUZZY_MAX 1 type 5
BIT_INFO 1 type 0x1,0x5
HARD_MAX 1 type 5
LOCK2 0 &adev->gfx.workload_profile_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct amdgpu_gfx)->workload_profile_mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c amdgpu_gfx_profile_ring_begin_use() -> amdgpu_dpm_switch_power_profile()

Type Parameter Key Value
PARAM_VALUE 0 adev 4096-ptr_max
PARAM_VALUE 0 adev->gfx.workload_profile_active 0
PARAM_VALUE 0 adev->gfx.workload_profile_mutex.dep_map->name 0-255
PARAM_VALUE 0 adev->gfx.workload_profile_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 adev->gfx.workload_profile_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 adev->gfx.workload_profile_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 adev->gfx.workload_profile_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 adev->gfx.workload_profile_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 type 1,5
PARAM_VALUE 2 en 1
CAPPED_DATA 0 adev 1
CAPPED_DATA 0 &adev->gfx.workload_profile_mutex 1
FUZZY_MAX 1 type 5
BIT_INFO 1 type 0x1,0x5
HARD_MAX 1 type 5
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &adev->gfx.workload_profile_mutex
HALF_LOCKED2 &adev->gfx.gpu_clock_mutex
HALF_LOCKED2 &adev->reset_domain->sem
HALF_LOCKED2 &adev->srbm_mutex
HALF_LOCKED2 &kiq->ring_lock
HALF_LOCKED2 &mux->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &drm_unplug_srcu
HALF_LOCKED2 ring_lock
TYPE_LOCK (struct amdgpu_gfx)->workload_profile_mutex