Lines Matching refs:cfg
608 int mec_hal_dma_chan_cfg(enum mec_dmac_channel chan, struct mec_dma_cfg *cfg) in mec_hal_dma_chan_cfg() argument
614 if (!cfg || (chan >= MEC_DMAC_CHAN_MAX)) { in mec_hal_dma_chan_cfg()
620 if ((cfg->unitsz == 4u) || (cfg->unitsz == 2u)) { in mec_hal_dma_chan_cfg()
621 usz = cfg->unitsz; in mec_hal_dma_chan_cfg()
627 if (cfg->dir == MEC_DMAC_DIR_MEM_TO_DEV) { in mec_hal_dma_chan_cfg()
629 regs->MSTART = cfg->src_addr; in mec_hal_dma_chan_cfg()
630 regs->MEND = cfg->src_addr + cfg->nbytes; in mec_hal_dma_chan_cfg()
631 regs->DSTART = cfg->dst_addr; in mec_hal_dma_chan_cfg()
632 if (cfg->flags & MEC_DMA_CFG_FLAG_INCR_SRC_ADDR) { in mec_hal_dma_chan_cfg()
635 if (cfg->flags & MEC_DMA_CFG_FLAG_INCR_DST_ADDR) { in mec_hal_dma_chan_cfg()
639 regs->MSTART = cfg->dst_addr; in mec_hal_dma_chan_cfg()
640 regs->MEND = cfg->dst_addr + cfg->nbytes; in mec_hal_dma_chan_cfg()
641 regs->DSTART = cfg->src_addr; in mec_hal_dma_chan_cfg()
642 if (cfg->flags & MEC_DMA_CFG_FLAG_INCR_SRC_ADDR) { in mec_hal_dma_chan_cfg()
645 if (cfg->flags & MEC_DMA_CFG_FLAG_INCR_DST_ADDR) { in mec_hal_dma_chan_cfg()
650 if (cfg->hwfc_dev < MEC_DMAC_DEV_ID_NONE) { in mec_hal_dma_chan_cfg()
651 ctrl |= (((uint32_t)cfg->hwfc_dev << MEC_DMA_CHAN_CTRL_HFC_DEV_Pos) in mec_hal_dma_chan_cfg()
663 int mec_hal_dma_chan_cfg_get(enum mec_dmac_channel chan, struct mec_dma_cfg *cfg) in mec_hal_dma_chan_cfg_get() argument
668 if (!cfg || (chan >= MEC_DMAC_CHAN_MAX)) { in mec_hal_dma_chan_cfg_get()
674 cfg->flags = 0u; in mec_hal_dma_chan_cfg_get()
678 cfg->hwfc_dev = MEC_DMAC_DEV_ID_NONE; in mec_hal_dma_chan_cfg_get()
680 cfg->hwfc_dev = (ctrl & MEC_DMA_CHAN_CTRL_HFC_DEV_Msk) >> MEC_DMA_CHAN_CTRL_HFC_DEV_Pos; in mec_hal_dma_chan_cfg_get()
684 cfg->dir = MEC_DMAC_DIR_MEM_TO_DEV; in mec_hal_dma_chan_cfg_get()
686 cfg->flags |= MEC_DMA_CFG_FLAG_INCR_SRC_ADDR; in mec_hal_dma_chan_cfg_get()
689 cfg->flags |= MEC_DMA_CFG_FLAG_INCR_DST_ADDR; in mec_hal_dma_chan_cfg_get()
692 cfg->dir = MEC_DMAC_DIR_DEV_TO_MEM; in mec_hal_dma_chan_cfg_get()
694 cfg->flags |= MEC_DMA_CFG_FLAG_INCR_DST_ADDR; in mec_hal_dma_chan_cfg_get()
697 cfg->flags |= MEC_DMA_CFG_FLAG_INCR_SRC_ADDR; in mec_hal_dma_chan_cfg_get()
701 cfg->nbytes = 0u; in mec_hal_dma_chan_cfg_get()
706 cfg->nbytes = mend - mstart; in mec_hal_dma_chan_cfg_get()
710 cfg->src_addr = mstart; in mec_hal_dma_chan_cfg_get()
711 cfg->dst_addr = dstart; in mec_hal_dma_chan_cfg_get()
713 cfg->src_addr = dstart; in mec_hal_dma_chan_cfg_get()
714 cfg->dst_addr = mstart; in mec_hal_dma_chan_cfg_get()