Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/gpu/drm/nouveau/nvkm/engine/device/base.c nvkm_device_fini() -> nvkm_subdev_fini()

Type Parameter Key Value
PARAM_VALUE 0 subdev 4096-ptr_max
PARAM_VALUE 0 subdev->func->fini 0,4096-ptr_max
PARAM_VALUE 1 suspend 0-2
CAPPED_DATA 0 &subdev->head 1
DATA_SOURCE 1 suspend $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &device->mutex
TYPE_LOCK (struct nvkm_device)->mutex

drivers/gpu/drm/nouveau/nvkm/engine/device/base.c nvkm_device_init() -> nvkm_subdev_fini()

Type Parameter Key Value
PARAM_VALUE 0 subdev 4096-ptr_max
PARAM_VALUE 0 subdev->use.mutex.dep_map->name 0-255
PARAM_VALUE 0 subdev->use.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 subdev->use.mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 subdev->use.mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 subdev->use.mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 subdev->use.mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 subdev->use.mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 1 suspend 0
CAPPED_DATA 0 &subdev->head 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &device->mutex
TYPE_LOCK (struct nvkm_device)->mutex

drivers/gpu/drm/nouveau/nvkm/core/engine.c nvkm_engine_reset() -> nvkm_subdev_fini()

Type Parameter Key Value
PARAM_VALUE 0 subdev 4096-ptr_max
PARAM_VALUE 1 suspend 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 &runl->mutex

drivers/gpu/drm/nouveau/nvkm/core/subdev.c nvkm_subdev_unref() -> nvkm_subdev_fini()

Type Parameter Key Value
PARAM_VALUE 0 subdev->use.mutex.dep_map->name 0-255
PARAM_VALUE 0 subdev->use.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 subdev->use.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 subdev->use.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 subdev->use.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 subdev->use.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 subdev->use.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 suspend 0
CAPPED_DATA 0 &subdev->use.mutex 1
DATA_SOURCE 0 subdev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &subdev->use.mutex
TYPE_LOCK (struct nvkm_subdev)->use.mutex