Lines Matching refs:channel
32 #define XEC_DMA_CHAN_REGS_ADDR(base, channel) \ argument
34 ((uintptr_t)(channel) * XEC_DMA_CHAN_REGS_SIZE))
164 uint32_t channel) in xec_chan_irq_info() argument
166 return &devcfg->irq_info_list[channel]; in xec_chan_irq_info()
335 static int dma_xec_configure(const struct device *dev, uint32_t channel, in dma_xec_configure() argument
344 if (!config || (channel >= (uint32_t)devcfg->dma_channels)) { in dma_xec_configure()
352 const struct dma_xec_irq_info *info = xec_chan_irq_info(devcfg, channel); in dma_xec_configure()
353 struct dma_xec_chan_regs * const chregs = xec_chan_regs(regs, channel); in dma_xec_configure()
354 struct dma_xec_channel *chdata = &data->channels[channel]; in dma_xec_configure()
451 static int dma_xec_reload(const struct device *dev, uint32_t channel, in dma_xec_reload() argument
459 if (channel >= (uint32_t)devcfg->dma_channels) { in dma_xec_reload()
463 struct dma_xec_channel *chdata = &data->channels[channel]; in dma_xec_reload()
464 struct dma_xec_chan_regs *chregs = xec_chan_regs(regs, channel); in dma_xec_reload()
496 static int dma_xec_start(const struct device *dev, uint32_t channel) in dma_xec_start() argument
502 if (channel >= (uint32_t)devcfg->dma_channels) { in dma_xec_start()
506 struct dma_xec_chan_regs *chregs = xec_chan_regs(regs, channel); in dma_xec_start()
529 static int dma_xec_stop(const struct device *dev, uint32_t channel) in dma_xec_stop() argument
535 if (channel >= (uint32_t)devcfg->dma_channels) { in dma_xec_stop()
539 struct dma_xec_chan_regs *chregs = xec_chan_regs(regs, channel); in dma_xec_stop()
579 static int dma_xec_get_status(const struct device *dev, uint32_t channel, in dma_xec_get_status() argument
587 if ((channel >= (uint32_t)devcfg->dma_channels) || (!status)) { in dma_xec_get_status()
592 struct dma_xec_channel *chan_data = &data->channels[channel]; in dma_xec_get_status()
593 struct dma_xec_chan_regs *chregs = xec_chan_regs(regs, channel); in dma_xec_get_status()
711 static void dma_xec_irq_handler(const struct device *dev, uint32_t channel) in dma_xec_irq_handler() argument
716 struct dma_xec_channel *chan_data = &data->channels[channel]; in dma_xec_irq_handler()
717 struct dma_xec_chan_regs * const regs = xec_chan_regs(devcfg->regs, channel); in dma_xec_irq_handler()
722 uint8_t idx = channel_isr_idx[channel]; in dma_xec_irq_handler()
725 channel_isr_sts[channel][idx] = sts; in dma_xec_irq_handler()
726 channel_isr_ctrl[channel][idx] = regs->control; in dma_xec_irq_handler()
727 channel_isr_idx[channel] = ++idx; in dma_xec_irq_handler()
735 mchp_xec_ecia_girq_src_clr(info[channel].gid, info[channel].gpos); in dma_xec_irq_handler()
747 chan_data->cb(dev, chan_data->user_data, channel, cb_status); in dma_xec_irq_handler()