Documented in 1 files:

Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page r hmm_pfn_to_page
RX_PATH
TASK_NOT_RUNNING
LOCK2 &gpusvm->notifier_lock
TYPE_LOCK (struct drm_gpusvm)->notifier_lock

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

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 &mm->mmap_lock

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

Type Parameter Key Value
BUF_SIZE 0 page 64
RX_PATH
TASK_NOT_RUNNING

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

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page r migrate_pfn_to_page
LOCK2 &driver_migrate_lock
LOCK2 &mm->mmap_lock
LOCK2 &vm->lock
LOCK2 global &drm_unplug_srcu
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct xe_vm)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 page 1-u64max
DATA_SOURCE 0 page r migrate_pfn_to_page
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

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

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 &mm->mmap_lock

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

Type Parameter Key Value
PARAM_VALUE 0 page 1-u64max
DATA_SOURCE 0 page r migrate_pfn_to_page
LOCK2 &driver_migrate_lock
LOCK2 &mm->mmap_lock
LOCK2 &vm->lock
LOCK2 global &drm_unplug_srcu
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct xe_vm)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 &mm->mmap_lock

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

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page r migrate_pfn_to_page
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &driver_migrate_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 global &drm_unplug_srcu

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

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
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