Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

lib/test_hmm.c dmirror_devmem_fault() -> folio_zone_device_data()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 folio unit_page
HALF_LOCKED2 &mm->mmap_lock

lib/test_hmm.c dmirror_remove_free_pages() -> folio_zone_device_data()

Type Parameter Key Value
PARAM_VALUE 0 folio 1-u64max
BUF_SIZE 0 folio s32min-(-1),1-s32max
BUF_SIZE 0 folio s32min-(-1),1-s32max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 folio unit_page
LOCK2 &mdevice->devmem_lock
LOCK2 &mdevice->lock
TYPE_LOCK (struct dmirror_device)->devmem_lock
TYPE_LOCK (struct dmirror_device)->lock

lib/test_hmm.c dmirror_remove_free_pages() -> folio_zone_device_data()

Type Parameter Key Value
PARAM_VALUE 0 folio 1-u64max
BUF_SIZE 0 folio s32min-(-1),1-s32max
BUF_SIZE 0 folio s32min-(-1),1-s32max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 folio unit_page
LOCK2 &mdevice->devmem_lock
LOCK2 &mdevice->lock
TYPE_LOCK (struct dmirror_device)->devmem_lock
TYPE_LOCK (struct dmirror_device)->lock

drivers/gpu/drm/drm_gpusvm.c drm_pagemap_page_zone_device_data() -> folio_zone_device_data()

Type Parameter Key Value
DATA_SOURCE 0 folio r _compound_head
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &gpusvm->notifier_lock
LOCK2 &vm->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct drm_gpusvm)->notifier_lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/drm_pagemap.c drm_pagemap_folio_split() -> folio_zone_device_data()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->mapping 1-u64max
PARAM_VALUE 0 folio->mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 folio->mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 folio->page._refcount.counter 0-s32max
PARAM_VALUE 0 folio->pgmap 4096-ptr_max
PARAM_VALUE 0 folio->pgmap->ops 4096-ptr_max
PARAM_VALUE 0 folio->pgmap->ops->folio_split 5255345146419240960,5445675113818132480,7854188800798580736
PARAM_VALUE 0 folio->pgmap->type 1
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
HALF_LOCKED2 rcu_read

drivers/gpu/drm/drm_pagemap.c drm_pagemap_page_zone_device_data() -> folio_zone_device_data()

Type Parameter Key Value
DATA_SOURCE 0 folio r _compound_head
RX_PATH
TASK_NOT_RUNNING
UNITS 0 folio unit_page
HALF_LOCKED2 &driver_migrate_lock
HALF_LOCKED2 &gpusvm->notifier_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/nouveau/nouveau_dmem.c nouveau_dmem_folio_split() -> folio_zone_device_data()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->mapping 1-u64max
PARAM_VALUE 0 folio->mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 folio->mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 folio->page._refcount.counter 0-s32max
PARAM_VALUE 0 folio->pgmap 4096-ptr_max
PARAM_VALUE 0 folio->pgmap->ops 4096-ptr_max
PARAM_VALUE 0 folio->pgmap->ops->folio_split 5255345146419240960,5445675113818132480,7854188800798580736
PARAM_VALUE 0 folio->pgmap->type 1
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
HALF_LOCKED2 rcu_read

drivers/gpu/drm/nouveau/nouveau_dmem.c nouveau_dmem_migrate_to_ram() -> folio_zone_device_data()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio r _compound_head
RX_PATH
TASK_NOT_RUNNING
UNITS 0 folio unit_page
HALF_LOCKED2 &mm->mmap_lock