Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/nvme/host/pci.c blk_rq_dma_unmap() -> dma_need_unmap()

Type Parameter Key Value
DATA_SOURCE 0 dev $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

drivers/nvme/host/pci.c nvme_pci_prp_save_mapping() -> dma_need_unmap()

Type Parameter Key Value
DATA_SOURCE 0 dev $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

mm/hmm.c hmm_dma_map_alloc() -> dma_need_unmap()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->dma_mask 0,4096-ptr_max
PARAM_VALUE 0 dev->flags 4096-ptr_max
CAPPED_DATA 0 dev 1
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte

mm/hmm.c hmm_dma_map_pfn() -> dma_need_unmap()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
HALF_LOCKED2 &odp_imr->umem_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &umem_odp->umem_mutex

mm/hmm.c hmm_dma_map_pfn() -> dma_need_unmap()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
HALF_LOCKED2 &odp_imr->umem_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &umem_odp->umem_mutex

mm/hmm.c hmm_dma_map_pfn() -> dma_need_unmap()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->dma_mask 4096-ptr_max
PARAM_VALUE 0 dev->flags 4096-ptr_max
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
HALF_LOCKED2 &odp_imr->umem_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &umem_odp->umem_mutex

mm/hmm.c hmm_dma_unmap_pfn() -> dma_need_unmap()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
LOCK2 &umem_odp->umem_mutex
TYPE_LOCK (struct ib_umem_odp)->umem_mutex