Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 devmem 4096-ptr_max
PARAM_VALUE 0 devmem->detached.wait.lock.magic 3735899821
PARAM_VALUE 0 devmem->detached.wait.lock.owner (-1)
PARAM_VALUE 0 devmem->detached.wait.lock.owner_cpu u32max
PARAM_VALUE 0 devmem->detached.wait.task_list.next 4096-ptr_max
PARAM_VALUE 0 devmem->detached.wait.task_list.prev 4096-ptr_max
PARAM_VALUE 0 devmem->dpagemap 4096-ptr_max
PARAM_VALUE 0 devmem->dpagemap->drm 4096-ptr_max
PARAM_VALUE 0 devmem->mm 4096-ptr_max
PARAM_VALUE 0 devmem->ops 8930995609089142784
PARAM_VALUE 0 devmem->ops->copy_to_devmem 7377531097234771968
PARAM_VALUE 0 devmem->ops->copy_to_ram 8587623386923905024
PARAM_VALUE 0 devmem->ops->populate_devmem_pfn 3940640190274199552
PARAM_VALUE 0 devmem->size 1-u64max
PARAM_VALUE 1 src_pfns 4096-ptr_max
PARAM_VALUE 2 dst_pfns 4096-ptr_max
PARAM_VALUE 2 *dst_pfns 0-4503601774854142
PARAM_VALUE 3 pages 4096-ptr_max
PARAM_VALUE 4 pagemap_addr 4096-ptr_max
PARAM_VALUE 5 last 4779020549999878144
PARAM_VALUE 5 last->start 0
PARAM_VALUE 6 cur 581659240314224640
PARAM_VALUE 6 cur->start 0-1,512-4503599627370494
PARAM_VALUE 7 mdetails 3190073550767620096
PARAM_VALUE 7 mdetails->can_migrate_same_pagemap 0
PARAM_VALUE 7 mdetails->timeslice_ms 0-17179869180
BUF_SIZE 1 src_pfns 40
BUF_SIZE 1 src_pfns 40
DATA_SOURCE 0 devmem $0
DATA_SOURCE 7 mdetails $4
PARAM_COMPARE 1 src_pfns <= $3
PARAM_COMPARE 1 src_pfns <= $4
MEM_ZERO 1 src_pfns
NO_OVERFLOW_SIMPLE 5 last->start
NO_OVERFLOW_SIMPLE 6 cur->start
UNITS 2 dst_pfns unit_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_devmem() -> drm_pagemap_migrate_range()

Type Parameter Key Value
PARAM_VALUE 0 devmem 4096-ptr_max
PARAM_VALUE 0 devmem->detached.wait.lock.magic 3735899821
PARAM_VALUE 0 devmem->detached.wait.lock.owner (-1)
PARAM_VALUE 0 devmem->detached.wait.lock.owner_cpu u32max
PARAM_VALUE 0 devmem->detached.wait.task_list.next 4096-ptr_max
PARAM_VALUE 0 devmem->detached.wait.task_list.prev 4096-ptr_max
PARAM_VALUE 0 devmem->dpagemap 4096-ptr_max
PARAM_VALUE 0 devmem->dpagemap->drm 4096-ptr_max
PARAM_VALUE 0 devmem->mm 4096-ptr_max
PARAM_VALUE 0 devmem->ops 8930995609089142784
PARAM_VALUE 0 devmem->ops->copy_to_devmem 7377531097234771968
PARAM_VALUE 0 devmem->ops->copy_to_ram 8587623386923905024
PARAM_VALUE 0 devmem->ops->populate_devmem_pfn 3940640190274199552
PARAM_VALUE 0 devmem->size 1-u64max
PARAM_VALUE 1 src_pfns 1-18446744073709551614
PARAM_VALUE 2 dst_pfns 4096-ptr_max
PARAM_VALUE 2 *dst_pfns 0-4503601774854142
PARAM_VALUE 3 pages 4096-ptr_max
PARAM_VALUE 4 pagemap_addr 4096-ptr_max
PARAM_VALUE 5 last 4779020549999878144
PARAM_VALUE 5 last->start 0-1,512-4503599627370494
PARAM_VALUE 6 cur 581659240314224640
PARAM_VALUE 6 cur->ops 0
PARAM_VALUE 6 cur->start 0-4503599627370495
PARAM_VALUE 7 mdetails 3190073550767620096
PARAM_VALUE 7 mdetails->can_migrate_same_pagemap 0
PARAM_VALUE 7 mdetails->timeslice_ms 0-17179869180
BUF_SIZE 1 src_pfns 40
BUF_SIZE 1 src_pfns 40
DATA_SOURCE 0 devmem $0
DATA_SOURCE 7 mdetails $4
PARAM_COMPARE 1 src_pfns <= $3
PARAM_COMPARE 1 src_pfns <= $4
MEM_ZERO 1 src_pfns
NO_OVERFLOW_SIMPLE 5 last->start
NO_OVERFLOW_SIMPLE 6 cur->start
UNITS 2 dst_pfns unit_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