Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/dma/sh/rcar-dmac.c rcar_dmac_chan_get_residue() -> rcar_dmac_chan_read()

Type Parameter Key Value
PARAM_VALUE 0 chan 4096-ptr_max
PARAM_VALUE 1 reg 28
CAPPED_DATA 0 chan->chan.completed_cookie 1
CAPPED_DATA 0 chan->chan.cookie 1
DATA_SOURCE 0 chan $0
PARAM_COMPARE 0 chan->chan.completed_cookie != $0->chan.cookie
PREEMPT_ADD
TASK_NOT_RUNNING
LOCK2 0 &chan->lock
HALF_LOCKED2 &dcmi->irqlock
HALF_LOCKED2 &host->io_mutex
HALF_LOCKED2 &host->lock
HALF_LOCKED2 &info->lock
HALF_LOCKED2 &pcdev->lock
HALF_LOCKED2 &port->lock
HALF_LOCKED2 &up->port.lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct rcar_dmac_chan)->lock

drivers/dma/sh/rcar-dmac.c rcar_dmac_chan_get_residue() -> rcar_dmac_chan_read()

Type Parameter Key Value
PARAM_VALUE 0 chan 4096-ptr_max
PARAM_VALUE 1 reg 24
CAPPED_DATA 0 chan->chan.completed_cookie 1
CAPPED_DATA 0 chan->chan.cookie 1
DATA_SOURCE 0 chan $0
PARAM_COMPARE 0 chan->chan.completed_cookie != $0->chan.cookie
PREEMPT_ADD
TASK_NOT_RUNNING
LOCK2 0 &chan->lock
HALF_LOCKED2 &dcmi->irqlock
HALF_LOCKED2 &host->io_mutex
HALF_LOCKED2 &host->lock
HALF_LOCKED2 &info->lock
HALF_LOCKED2 &pcdev->lock
HALF_LOCKED2 &port->lock
HALF_LOCKED2 &up->port.lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct rcar_dmac_chan)->lock

drivers/dma/sh/rcar-dmac.c rcar_dmac_chan_get_residue() -> rcar_dmac_chan_read()

Type Parameter Key Value
PARAM_VALUE 0 chan 4096-ptr_max
PARAM_VALUE 1 reg 28
CAPPED_DATA 0 chan->chan.completed_cookie 1
CAPPED_DATA 0 chan->chan.cookie 1
DATA_SOURCE 0 chan $0
PARAM_COMPARE 0 chan->chan.completed_cookie != $0->chan.cookie
PREEMPT_ADD
TASK_NOT_RUNNING
LOCK2 0 &chan->lock
HALF_LOCKED2 &dcmi->irqlock
HALF_LOCKED2 &host->io_mutex
HALF_LOCKED2 &host->lock
HALF_LOCKED2 &info->lock
HALF_LOCKED2 &pcdev->lock
HALF_LOCKED2 &port->lock
HALF_LOCKED2 &up->port.lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct rcar_dmac_chan)->lock

drivers/dma/sh/rcar-dmac.c rcar_dmac_chan_halt() -> rcar_dmac_chan_read()

Type Parameter Key Value
PARAM_VALUE 0 chan 4096-ptr_max
PARAM_VALUE 1 reg 12
DATA_SOURCE 0 chan $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &chan->lock
HALF_LOCKED2 &_dev->mutex
HALF_LOCKED2 irq
TYPE_LOCK (struct rcar_dmac_chan)->lock

drivers/dma/sh/rcar-dmac.c rcar_dmac_chan_is_busy() -> rcar_dmac_chan_read()

Type Parameter Key Value
PARAM_VALUE 0 chan 4096-ptr_max
PARAM_VALUE 1 reg 12
DATA_SOURCE 0 chan $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &chan->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct rcar_dmac_chan)->lock

drivers/dma/sh/rcar-dmac.c rcar_dmac_chcr_de_barrier() -> rcar_dmac_chan_read()

Type Parameter Key Value
PARAM_VALUE 0 chan 4096-ptr_max
PARAM_VALUE 1 reg 12
DATA_SOURCE 0 chan $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &chan->lock
TYPE_LOCK (struct rcar_dmac_chan)->lock

drivers/dma/sh/rcar-dmac.c rcar_dmac_clear_chcr_de() -> rcar_dmac_chan_read()

Type Parameter Key Value
PARAM_VALUE 0 chan 4096-ptr_max
PARAM_VALUE 1 reg 12
DATA_SOURCE 0 chan $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &chan->lock
HALF_LOCKED2 &host->io_mutex
HALF_LOCKED2 &port->lock
HALF_LOCKED2 &priv->rx_dma_lock
HALF_LOCKED2 flags
TYPE_LOCK (struct rcar_dmac_chan)->lock

drivers/dma/sh/rcar-dmac.c rcar_dmac_isr_channel() -> rcar_dmac_chan_read()

Type Parameter Key Value
PARAM_VALUE 0 chan 4096-ptr_max
PARAM_VALUE 1 reg 12
DATA_SOURCE 0 chan $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &chan->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 flags
TYPE_LOCK (struct rcar_dmac_chan)->lock

drivers/dma/sh/rcar-dmac.c rcar_dmac_isr_desc_stage_end() -> rcar_dmac_chan_read()

Type Parameter Key Value
PARAM_VALUE 0 chan 4096-ptr_max
PARAM_VALUE 1 reg 28
DATA_SOURCE 0 chan $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &chan->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct rcar_dmac_chan)->lock