Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/dma/mediatek/mtk-cqdma.c mtk_dma_rmw() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 0,4,8,12,20,28,32,36,96,100
DATA_SOURCE 0 hsdma $0
DATA_SOURCE 1 reg $1
HARD_MAX 1 reg 100
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 2 val 0-u32max[c]
HALF_LOCKED2 flags
HALF_LOCKED2 0 &hsdma->lock

drivers/dma/mediatek/mtk-hsdma.c mtk_dma_rmw() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 516,520,552
DATA_SOURCE 0 hsdma $0
DATA_SOURCE 1 reg $1
HARD_MAX 1 reg 552
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 2 val 0-u32max[c]

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_alloc_pchan() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 0
DATA_SOURCE 0 hsdma $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &dma_list_mutex

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_alloc_pchan() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 4
PARAM_VALUE 2 val 64
DATA_SOURCE 0 hsdma $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &dma_list_mutex

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_alloc_pchan() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 8
PARAM_VALUE 2 val 0
DATA_SOURCE 0 hsdma $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &dma_list_mutex

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_alloc_pchan() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 12
PARAM_VALUE 2 val 0
DATA_SOURCE 0 hsdma $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &dma_list_mutex

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_alloc_pchan() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 256
DATA_SOURCE 0 hsdma $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &dma_list_mutex

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_alloc_pchan() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 260
PARAM_VALUE 2 val 64
DATA_SOURCE 0 hsdma $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &dma_list_mutex

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_alloc_pchan() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 264
PARAM_VALUE 2 val 63
DATA_SOURCE 0 hsdma $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &dma_list_mutex

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_alloc_pchan() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 268
PARAM_VALUE 2 val 0
DATA_SOURCE 0 hsdma $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &dma_list_mutex

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_alloc_pchan() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 524
PARAM_VALUE 2 val 37908
DATA_SOURCE 0 hsdma $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &dma_list_mutex

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_free_pchan() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 0
PARAM_VALUE 2 val 0
DATA_SOURCE 0 hsdma $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &dma_list_mutex

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_free_pchan() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 4
PARAM_VALUE 2 val 0
DATA_SOURCE 0 hsdma $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &dma_list_mutex

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_free_pchan() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 8
PARAM_VALUE 2 val 0
DATA_SOURCE 0 hsdma $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &dma_list_mutex

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_free_pchan() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 256
PARAM_VALUE 2 val 0
DATA_SOURCE 0 hsdma $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &dma_list_mutex

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_free_pchan() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 260
PARAM_VALUE 2 val 0
DATA_SOURCE 0 hsdma $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &dma_list_mutex

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_free_pchan() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 264
PARAM_VALUE 2 val 63
DATA_SOURCE 0 hsdma $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &dma_list_mutex

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_free_rooms_in_ring() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 264
PARAM_VALUE 2 val 0-63
DATA_SOURCE 0 hsdma $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_free_rooms_in_ring() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 544
DATA_SOURCE 0 hsdma $0
DATA_SOURCE 2 val r mtk_dma_read
BIT_INFO 2 val 0x10000,0xffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 2 val 0-u32max
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_hw_deinit() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 516
PARAM_VALUE 2 val 0
BUF_SIZE 0 hsdma s32min-(-2),1-s32max
BUF_SIZE 0 hsdma s32min-(-2),1-s32max
BUF_SIZE 0 hsdma->clk (-1),1-s32max
BUF_SIZE 0 hsdma->pc (-1),64
BUF_SIZE 0 hsdma->vc (-1)-s32max
CAPPED_DATA 0 hsdma->dma_requests 1
DATA_SOURCE 0 hsdma $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 hsdma->dma_requests
UNITS 0 hsdma unit_byte
HALF_LOCKED2 &_dev->mutex

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_hw_init() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 0 hsdma->base 4096-ptr_max
PARAM_VALUE 1 reg 552
PARAM_VALUE 2 val 0
BUF_SIZE 0 hsdma 592
BUF_SIZE 0 hsdma->clk (-1),1-s32max
BUF_SIZE 0 hsdma->pc 64
BUF_SIZE 0 hsdma->vc 0-s32max
CAPPED_DATA 0 hsdma->dma_requests 1
DATA_SOURCE 0 hsdma $0
MEM_ZERO 0 hsdma
MEM_ZERO 0 hsdma->pc
MEM_ZERO 0 hsdma->vc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 hsdma->dma_requests

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_hw_init() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 0 hsdma->base 4096-ptr_max
PARAM_VALUE 1 reg 516
PARAM_VALUE 2 val 1125
BUF_SIZE 0 hsdma 592
BUF_SIZE 0 hsdma->clk (-1),1-s32max
BUF_SIZE 0 hsdma->pc 64
BUF_SIZE 0 hsdma->vc 0-s32max
CAPPED_DATA 0 hsdma->dma_requests 1
DATA_SOURCE 0 hsdma $0
MEM_ZERO 0 hsdma
MEM_ZERO 0 hsdma->pc
MEM_ZERO 0 hsdma->vc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 hsdma->dma_requests

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_issue_pending_vdesc() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 8
PARAM_VALUE 2 val 0-63
DATA_SOURCE 0 hsdma $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &hvc->vc.lock
LOCK2 flags
LOCK2 0 &hsdma->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct mtk_hsdma_device)->lock
TYPE_LOCK (struct virt_dma_chan)->lock

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_remove() -> mtk_dma_write()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 reg 552
PARAM_VALUE 2 val 0
BUF_SIZE 0 hsdma s32min-(-2),1-s32max
BUF_SIZE 0 hsdma s32min-(-2),1-s32max
CAPPED_DATA 0 hsdma->dma_requests 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 hsdma unit_byte
HALF_LOCKED2 &_dev->mutex