Lines Matching refs:dir
32 __dw_ch_regs(struct dw_edma *dw, enum dw_edma_dir dir, u16 ch) in __dw_ch_regs() argument
34 if (dir == EDMA_DIR_WRITE) in __dw_ch_regs()
40 #define SET_CH_32(dw, dir, ch, name, value) \ argument
41 writel(value, &(__dw_ch_regs(dw, dir, ch)->name))
43 #define GET_CH_32(dw, dir, ch, name) \ argument
44 readl(&(__dw_ch_regs(dw, dir, ch)->name))
66 static u16 dw_hdma_v0_core_ch_count(struct dw_edma *dw, enum dw_edma_dir dir) in dw_hdma_v0_core_ch_count() argument
82 GET_CH_32(dw, chan->id, chan->dir, ch_stat)); in dw_hdma_v0_core_ch_status()
96 SET_CH_32(dw, chan->dir, chan->id, int_clear, HDMA_V0_STOP_INT_MASK); in dw_hdma_v0_core_clear_done_int()
103 SET_CH_32(dw, chan->dir, chan->id, int_clear, HDMA_V0_ABORT_INT_MASK); in dw_hdma_v0_core_clear_abort_int()
110 return GET_CH_32(dw, chan->dir, chan->id, int_stat); in dw_hdma_v0_core_status_int()
114 dw_hdma_v0_core_handle_int(struct dw_edma_irq *dw_irq, enum dw_edma_dir dir, in dw_hdma_v0_core_handle_int() argument
123 if (dir == EDMA_DIR_WRITE) { in dw_hdma_v0_core_handle_int()
249 SET_CH_32(dw, chan->dir, chan->id, ch_en, BIT(0)); in dw_hdma_v0_core_start()
251 tmp = GET_CH_32(dw, chan->dir, chan->id, int_setup) | in dw_hdma_v0_core_start()
256 SET_CH_32(dw, chan->dir, chan->id, int_setup, tmp); in dw_hdma_v0_core_start()
258 SET_CH_32(dw, chan->dir, chan->id, control1, HDMA_V0_LINKLIST_EN); in dw_hdma_v0_core_start()
261 SET_CH_32(dw, chan->dir, chan->id, llp.lsb, in dw_hdma_v0_core_start()
263 SET_CH_32(dw, chan->dir, chan->id, llp.msb, in dw_hdma_v0_core_start()
267 SET_CH_32(dw, chan->dir, chan->id, cycle_sync, in dw_hdma_v0_core_start()
273 SET_CH_32(dw, chan->dir, chan->id, doorbell, HDMA_V0_DOORBELL_START); in dw_hdma_v0_core_start()
281 SET_CH_32(dw, chan->dir, chan->id, msi_stop.lsb, chan->msi.address_lo); in dw_hdma_v0_core_ch_config()
282 SET_CH_32(dw, chan->dir, chan->id, msi_stop.msb, chan->msi.address_hi); in dw_hdma_v0_core_ch_config()
284 SET_CH_32(dw, chan->dir, chan->id, msi_abort.lsb, chan->msi.address_lo); in dw_hdma_v0_core_ch_config()
285 SET_CH_32(dw, chan->dir, chan->id, msi_abort.msb, chan->msi.address_hi); in dw_hdma_v0_core_ch_config()
287 SET_CH_32(dw, chan->dir, chan->id, msi_msgdata, chan->msi.data); in dw_hdma_v0_core_ch_config()