Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/tty/serial/8250/8250_dma.c __dma_tx_complete() -> serial8250_tx_dma()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 p->dma 4096-ptr_max
PARAM_VALUE 0 p->dma->tx_running 0
PARAM_VALUE 0 p->dma->txchan 4096-ptr_max
PARAM_VALUE 0 p->dma->txchan->device 4096-ptr_max
PARAM_VALUE 0 p->dma->txchan->device->dev->flags 4096-ptr_max
PARAM_VALUE 0 p->port.cons 0,4096-ptr_max
BUF_SIZE 0 p s32min-(-2),1-s32max
BUF_SIZE 0 p s32min-(-2),1-s32max
DATA_SOURCE 0 p $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 0 p unit_byte
LOCK2 flags
LOCK2 0 &p->port.lock
HALF_LOCKED2 &bdma_chan->lock
HALF_LOCKED2 &ioat_chan->cleanup_lock
HALF_LOCKED2 &mv_chan->lock
HALF_LOCKED2 &pd_chan->lock
HALF_LOCKED2 &plxdev->ring_lock
HALF_LOCKED2 &swdma_chan->complete_lock
HALF_LOCKED2 &td_chan->lock
HALF_LOCKED2 bh
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/8250/8250_port.c __start_tx() -> (struct uart_8250_dma)->tx_dma()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 p->dma 4096-ptr_max
DATA_SOURCE 0 p r up_to_u8250p
CONTAINER 0 -0-800+0 $(-1)
TASK_NOT_RUNNING
HALF_LOCKED2 &_T->lock->lock
HALF_LOCKED2 _T->flags
HALF_LOCKED2 irq