Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/gpu/buddy.c __alloc_contig_aligned_retry() -> __gpu_buddy_alloc_range()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->free_trees 4096-ptr_max
PARAM_VALUE 0 mm->n_roots 0-s32max
PARAM_VALUE 0 mm->size 1-u64max
PARAM_VALUE 3 total_allocated_on_err 0
PARAM_VALUE 4 blocks 4096-ptr_max
PARAM_VALUE 4 blocks->next 4096-ptr_max
PARAM_VALUE 4 blocks->next->next 4096-ptr_max
PARAM_VALUE 4 blocks->prev 4096-ptr_max
PARAM_VALUE 4 blocks->prev->next 4096-ptr_max
PARAM_VALUE 4 blocks->prev->prev 4096-ptr_max
CAPPED_DATA 0 mm->chunk_size 1
CAPPED_DATA 0 mm->n_roots 1
CAPPED_DATA 0 mm->size 1
CAPPED_DATA 1 start 1
CAPPED_DATA 1 start 1
CAPPED_DATA 4 blocks 1
DATA_SOURCE 0 mm $0
DATA_SOURCE 2 size $2
DATA_SOURCE 4 blocks $4
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 start 0-u64max[c]
USER_DATA 2 size 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 mm->chunk_size
NO_OVERFLOW_SIMPLE 0 mm->n_roots
NO_OVERFLOW_SIMPLE 2 size
UNITS 2 size unit_byte
HALF_LOCKED2 &bman->lock
HALF_LOCKED2 &manager->lock
HALF_LOCKED2 &mgr->lock

drivers/gpu/buddy.c __alloc_contig_try_harder() -> __gpu_buddy_alloc_range()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->free_trees 4096-ptr_max
PARAM_VALUE 0 mm->size 1-u64max
PARAM_VALUE 1 start 0,4096-u64max
PARAM_VALUE 3 total_allocated_on_err 390924565060505600
PARAM_VALUE 4 blocks 4096-ptr_max
BUF_SIZE 0 mm (-1),80
BUF_SIZE 0 mm (-1),80
BUF_SIZE 4 blocks (-1),16
BUF_SIZE 4 blocks (-1),16
CAPPED_DATA 0 mm->chunk_size 1
CAPPED_DATA 0 mm->size 1
CAPPED_DATA 1 start 1
CAPPED_DATA 1 start 1
CAPPED_DATA 4 blocks 1
DATA_SOURCE 0 mm $0
DATA_SOURCE 1 start r gpu_buddy_block_offset
DATA_SOURCE 2 size $1
DATA_SOURCE 4 blocks $3
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 size 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 mm->avail
NO_OVERFLOW_SIMPLE 0 mm->chunk_size
NO_OVERFLOW_SIMPLE 0 mm->size
UNITS 1 start unit_byte
UNITS 2 size unit_byte
HALF_LOCKED2 &bman->lock
HALF_LOCKED2 &manager->lock
HALF_LOCKED2 &mgr->lock

drivers/gpu/buddy.c gpu_buddy_alloc_blocks() -> __gpu_buddy_alloc_range()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->size 1-u64max
PARAM_VALUE 1 start 0-18446744073709551614
PARAM_VALUE 3 total_allocated_on_err 0
PARAM_VALUE 4 blocks 4096-ptr_max
BUF_SIZE 0 mm (-1),80
BUF_SIZE 0 mm (-1),80
BUF_SIZE 4 blocks (-1),16
BUF_SIZE 4 blocks (-1),16
CAPPED_DATA 0 mm->chunk_size 1
DATA_SOURCE 0 mm $0
DATA_SOURCE 1 start $1
DATA_SOURCE 2 size $3
DATA_SOURCE 4 blocks $5
PARAM_COMPARE 0 mm->chunk_size <= $2
PARAM_COMPARE 2 size >= $0->chunk_size
NOSPEC 2 size
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 mm->chunk_size
NO_OVERFLOW_SIMPLE 1 start
NO_OVERFLOW_SIMPLE 2 size
UNITS 1 start unit_byte
UNITS 2 size unit_byte
HALF_LOCKED2 &bman->lock
HALF_LOCKED2 &manager->lock
HALF_LOCKED2 &mgr->lock