Lines Matching refs:dmamux
64 struct stm32_dmamux_data *dmamux = dev_get_drvdata(dev);
69 spin_lock_irqsave(&dmamux->lock, flags);
71 stm32_dmamux_write(dmamux->iomem, STM32_DMAMUX_CCR(mux->chan_id), 0);
72 clear_bit(mux->chan_id, dmamux->dma_inuse);
76 spin_unlock_irqrestore(&dmamux->lock, flags);
88 struct stm32_dmamux_data *dmamux = platform_get_drvdata(pdev);
99 if (dma_spec->args[0] > dmamux->dmamux_requests) {
109 spin_lock_irqsave(&dmamux->lock, flags);
110 mux->chan_id = find_first_zero_bit(dmamux->dma_inuse,
111 dmamux->dma_requests);
113 if (mux->chan_id == dmamux->dma_requests) {
114 spin_unlock_irqrestore(&dmamux->lock, flags);
119 set_bit(mux->chan_id, dmamux->dma_inuse);
120 spin_unlock_irqrestore(&dmamux->lock, flags);
123 for (i = 1, min = 0, max = dmamux->dma_reqs[i];
124 i <= dmamux->dma_reqs[0];
125 min += dmamux->dma_reqs[i], max += dmamux->dma_reqs[++i])
139 spin_lock_irqsave(&dmamux->lock, flags);
142 spin_unlock_irqrestore(&dmamux->lock, flags);
145 spin_unlock_irqrestore(&dmamux->lock, flags);
156 stm32_dmamux_write(dmamux->iomem, STM32_DMAMUX_CCR(mux->chan_id),
164 clear_bit(mux->chan_id, dmamux->dma_inuse);
286 /* Reset the dmamux */
387 { .compatible = "st,stm32h7-dmamux" },
394 .name = "stm32-dmamux",