Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

drivers/gpu/drm/nouveau/dispnv04/crtc.c nv04_crtc_cursor_set() -> nouveau_gem_object()

Type Parameter Key Value
PARAM_VALUE 0 gem 4096-ptr_max
DATA_SOURCE 0 gem r drm_gem_object_lookup
RX_PATH
LOCK2 &crtc->mutex
TYPE_LOCK (struct drm_crtc)->mutex

drivers/gpu/drm/nouveau/dispnv04/crtc.c nv04_crtc_do_mode_set_base() -> nouveau_gem_object()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &crtc->mutex
HALF_LOCKED2 &plane->mutex

drivers/gpu/drm/nouveau/dispnv04/crtc.c nv04_crtc_page_flip() -> nouveau_gem_object()

Type Parameter Key Value
LOCK2 &crtc->mutex
LOCK2 &plane->mutex
TYPE_LOCK (struct drm_crtc)->mutex
TYPE_LOCK (struct drm_plane)->mutex

drivers/gpu/drm/nouveau/dispnv04/crtc.c nv04_crtc_page_flip() -> nouveau_gem_object()

Type Parameter Key Value
LOCK2 &crtc->mutex
LOCK2 &plane->mutex
TYPE_LOCK (struct drm_crtc)->mutex
TYPE_LOCK (struct drm_plane)->mutex

drivers/gpu/drm/nouveau/dispnv04/crtc.c nv_crtc_swap_fbs() -> nouveau_gem_object()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/gpu/drm/nouveau/nouveau_gem.c nouveau_gem_info() -> nouveau_gem_object()

Type Parameter Key Value
PARAM_VALUE 0 gem 4096-ptr_max
DATA_SOURCE 0 gem $1

drivers/gpu/drm/nouveau/nouveau_gem.c nouveau_gem_ioctl_cpu_fini() -> nouveau_gem_object()

Type Parameter Key Value
PARAM_VALUE 0 gem 4096-ptr_max
DATA_SOURCE 0 gem r drm_gem_object_lookup

drivers/gpu/drm/nouveau/nouveau_gem.c nouveau_gem_ioctl_cpu_prep() -> nouveau_gem_object()

Type Parameter Key Value
PARAM_VALUE 0 gem 4096-ptr_max
DATA_SOURCE 0 gem r drm_gem_object_lookup

drivers/gpu/drm/nouveau/nouveau_gem.c nouveau_gem_object_close() -> nouveau_gem_object()

Type Parameter Key Value
PARAM_VALUE 0 gem 4096-ptr_max
DATA_SOURCE 0 gem $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->object_name_lock

drivers/gpu/drm/nouveau/nouveau_gem.c nouveau_gem_object_del() -> nouveau_gem_object()

Type Parameter Key Value
PARAM_VALUE 0 gem 4096-ptr_max
DATA_SOURCE 0 gem $0

drivers/gpu/drm/nouveau/nouveau_gem.c nouveau_gem_object_open() -> nouveau_gem_object()

Type Parameter Key Value
PARAM_VALUE 0 gem 4096-ptr_max
BUF_SIZE 0 gem (-1),1-4064
BUF_SIZE 0 gem (-1),1-4064
BUF_SIZE 0 gem->dma_buf s32min-(-1),1-s32max
BUF_SIZE 0 gem->funcs (-1),120
DATA_SOURCE 0 gem $0
STR_LEN 0 gem->dev (-1),4
NOSPEC 0 gem->size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 gem->filp->f_flags 0-18433,32770
USER_DATA 0 gem->filp->f_mode 33554432,34078720-571342855[c]
USER_DATA 0 gem->size 0-u64max[c]
USER_DATA 0 gem->vma_node.vm_node.size 1-s32max[c]
USER_DATA 0 gem->vma_node.vm_node.start 0-s32max[c]
NO_OVERFLOW_SIMPLE 0 gem->base.dev->num_crtcs
NO_OVERFLOW_SIMPLE 0 gem->dev->mode_config.num_colorop
NO_OVERFLOW_SIMPLE 0 gem->dev->mode_config.num_crtc
NO_OVERFLOW_SIMPLE 0 gem->dev->mode_config.num_total_plane
NO_OVERFLOW_SIMPLE 0 gem->dev->num_crtcs
NO_OVERFLOW_SIMPLE 0 gem->num_pages
HALF_LOCKED2 &dev->object_name_lock
HALF_LOCKED2 &file_priv->driver_priv->mutex
HALF_LOCKED2 &file_priv->prime.lock
HALF_LOCKED2 0 &gem->dev->object_name_lock

drivers/gpu/drm/nouveau/nouveau_gem.c nouveau_gem_set_domain() -> nouveau_gem_object()

Type Parameter Key Value
PARAM_VALUE 0 gem 3618475209504832496
DATA_SOURCE 0 gem $0
LOCK2 &file_priv->driver_priv->mutex

drivers/gpu/drm/nouveau/nouveau_gem.c validate_init() -> nouveau_gem_object()

Type Parameter Key Value
PARAM_VALUE 0 gem 4096-ptr_max
DATA_SOURCE 0 gem r drm_gem_object_lookup
LOCK2 &file_priv->driver_priv->mutex

drivers/gpu/drm/nouveau/nouveau_display.c nouveau_framebuffer_get_layout() -> nouveau_gem_object()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &(plane->dev)->mode_config.panic_lock
HALF_LOCKED2 flags

drivers/gpu/drm/nouveau/nouveau_display.c nouveau_framebuffer_new() -> nouveau_gem_object()

Type Parameter Key Value
PARAM_VALUE 0 gem 4096-ptr_max
DATA_SOURCE 0 gem $3
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &crtc->cursor->mutex
HALF_LOCKED2 &crtc->mutex

drivers/gpu/drm/nouveau/nouveau_uvmm.c bind_lock_validate() -> nouveau_gem_object()

Type Parameter Key Value
PARAM_VALUE 0 gem 4096-ptr_max
DATA_SOURCE 0 gem r op_gem_obj
LOCK2 &sched->mutex
LOCK2 &uvmm->mutex
HALF_LOCKED2 &file_priv->driver_priv->mutex
TYPE_LOCK (struct nouveau_sched)->mutex
TYPE_LOCK (struct nouveau_uvmm)->mutex

drivers/gpu/drm/nouveau/nouveau_uvmm.c nouveau_uvmm_bo_validate() -> nouveau_gem_object()

Type Parameter Key Value
HALF_LOCKED2 &queue->lock
HALF_LOCKED2 &sched->mutex
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/nouveau/nouveau_uvmm.c op_map() -> nouveau_gem_object()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &adev->reset_domain->sem
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &guc->submission_state.lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &sched->job_list_lock

drivers/gpu/drm/nouveau/nouveau_uvmm.c select_page_shift() -> nouveau_gem_object()

Type Parameter Key Value
LOCK2 &sched->mutex
LOCK2 &uvmm->mutex
HALF_LOCKED2 &file_priv->driver_priv->mutex
TYPE_LOCK (struct nouveau_sched)->mutex
TYPE_LOCK (struct nouveau_uvmm)->mutex

drivers/gpu/drm/nouveau/dispnv04/disp.c nv04_display_fini() -> nouveau_gem_object()

Type Parameter Key Value
PARAM_VALUE 0 gem 1-u64max
RX_PATH
TASK_NOT_RUNNING

drivers/gpu/drm/nouveau/dispnv04/disp.c nv04_display_init() -> nouveau_gem_object()

Type Parameter Key Value
PARAM_VALUE 0 gem 1-u64max
RX_PATH
TASK_NOT_RUNNING

drivers/gpu/drm/nouveau/dispnv50/wndw.c nv50_wndw_cleanup_fb() -> nouveau_gem_object()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/gpu/drm/nouveau/dispnv50/wndw.c nv50_wndw_get_scanout_buffer() -> nouveau_gem_object()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &(plane->dev)->mode_config.panic_lock
LOCK2 flags
HALF_LOCKED2 rcu_read

drivers/gpu/drm/nouveau/dispnv50/wndw.c nv50_wndw_prepare_fb() -> nouveau_gem_object()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/gpu/drm/nouveau/nouveau_prime.c nouveau_gem_prime_export() -> nouveau_gem_object()

Type Parameter Key Value
PARAM_VALUE 0 gem 4096-ptr_max
DATA_SOURCE 0 gem $0
LOCK2 &dev->object_name_lock
LOCK2 &file_priv->prime.lock
TYPE_LOCK (struct drm_device)->object_name_lock
TYPE_LOCK (struct drm_prime_file_private)->lock

drivers/gpu/drm/nouveau/nouveau_prime.c nouveau_gem_prime_get_sg_table() -> nouveau_gem_object()

Type Parameter Key Value
PARAM_VALUE 0 gem 4096-ptr_max
BUF_SIZE 0 gem (-1),16,24,40,48,56,72,80,112,120,136,168,184,224
BUF_SIZE 0 gem (-1),16,24,40,48,56,72,80,112,120,136,168,184,224
DATA_SOURCE 0 gem $0
RX_PATH
TASK_NOT_RUNNING

drivers/gpu/drm/nouveau/nouveau_prime.c nouveau_gem_prime_pin() -> nouveau_gem_object()

Type Parameter Key Value
PARAM_VALUE 0 gem 4096-ptr_max
BUF_SIZE 0 gem (-1),1-4064
BUF_SIZE 0 gem (-1),1-4064
DATA_SOURCE 0 gem $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 gem->resv
HALF_LOCKED2 &dev->object_name_lock
HALF_LOCKED2 &file_priv->prime.lock

drivers/gpu/drm/nouveau/nouveau_prime.c nouveau_gem_prime_unpin() -> nouveau_gem_object()

Type Parameter Key Value
PARAM_VALUE 0 gem 4096-ptr_max
BUF_SIZE 0 gem 16,24,40,48,56,72,80,112,120,136,168,184,224
BUF_SIZE 0 gem 16,24,40,48,56,72,80,112,120,136,168,184,224
DATA_SOURCE 0 gem $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 gem->resv
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &dev->object_name_lock
HALF_LOCKED2 &drm->object_name_lock
HALF_LOCKED2 &file_priv->prime.lock
HALF_LOCKED2 &priv->lock
HALF_LOCKED2 &vde->map_lock

drivers/gpu/drm/nouveau/dispnv04/overlay.c nv04_update_plane() -> nouveau_gem_object()

Type Parameter Key Value
HALF_LOCKED2 &crtc->cursor->mutex
HALF_LOCKED2 &crtc->mutex
HALF_LOCKED2 &plane->dev->mode_config.connection_mutex
HALF_LOCKED2 &plane->dev->mode_config.mutex

drivers/gpu/drm/nouveau/dispnv04/overlay.c nv10_update_plane() -> nouveau_gem_object()

Type Parameter Key Value
HALF_LOCKED2 &crtc->cursor->mutex
HALF_LOCKED2 &crtc->mutex
HALF_LOCKED2 &plane->dev->mode_config.connection_mutex
HALF_LOCKED2 &plane->dev->mode_config.mutex