Lines Matching refs:dmamux
66 struct stm32_dmamux_data *dmamux = dev_get_drvdata(dev);
71 spin_lock_irqsave(&dmamux->lock, flags);
73 stm32_dmamux_write(dmamux->iomem, STM32_DMAMUX_CCR(mux->chan_id), 0);
74 clear_bit(mux->chan_id, dmamux->dma_inuse);
78 spin_unlock_irqrestore(&dmamux->lock, flags);
90 struct stm32_dmamux_data *dmamux = platform_get_drvdata(pdev);
101 if (dma_spec->args[0] > dmamux->dmamux_requests) {
111 spin_lock_irqsave(&dmamux->lock, flags);
112 mux->chan_id = find_first_zero_bit(dmamux->dma_inuse,
113 dmamux->dma_requests);
115 if (mux->chan_id == dmamux->dma_requests) {
116 spin_unlock_irqrestore(&dmamux->lock, flags);
121 set_bit(mux->chan_id, dmamux->dma_inuse);
122 spin_unlock_irqrestore(&dmamux->lock, flags);
125 for (i = 1, min = 0, max = dmamux->dma_reqs[i];
126 i <= dmamux->dma_reqs[0];
127 min += dmamux->dma_reqs[i], max += dmamux->dma_reqs[++i])
141 spin_lock_irqsave(&dmamux->lock, flags);
144 spin_unlock_irqrestore(&dmamux->lock, flags);
147 spin_unlock_irqrestore(&dmamux->lock, flags);
158 stm32_dmamux_write(dmamux->iomem, STM32_DMAMUX_CCR(mux->chan_id),
166 clear_bit(mux->chan_id, dmamux->dma_inuse);
280 /* Reset the dmamux */
381 { .compatible = "st,stm32h7-dmamux" },
388 .name = "stm32-dmamux",