Home
last modified time | relevance | path

Searched refs:dmamux (Results 1 – 16 of 16) sorted by relevance

/linux-6.12.1/drivers/dma/
Dlpc18xx-dmamux.c44 struct lpc18xx_dmamux_data *dmamux = dev_get_drvdata(dev); in lpc18xx_dmamux_free() local
48 spin_lock_irqsave(&dmamux->lock, flags); in lpc18xx_dmamux_free()
50 spin_unlock_irqrestore(&dmamux->lock, flags); in lpc18xx_dmamux_free()
57 struct lpc18xx_dmamux_data *dmamux = platform_get_drvdata(pdev); in lpc18xx_dmamux_reserve() local
67 if (mux >= dmamux->dma_master_requests) { in lpc18xx_dmamux_reserve()
86 spin_lock_irqsave(&dmamux->lock, flags); in lpc18xx_dmamux_reserve()
87 if (dmamux->muxes[mux].busy) { in lpc18xx_dmamux_reserve()
88 spin_unlock_irqrestore(&dmamux->lock, flags); in lpc18xx_dmamux_reserve()
90 mux, mux, dmamux->muxes[mux].value); in lpc18xx_dmamux_reserve()
95 dmamux->muxes[mux].busy = true; in lpc18xx_dmamux_reserve()
[all …]
Dlpc32xx-dmamux.c79 struct lpc32xx_dmamux_data *dmamux = dev_get_drvdata(dev); in lpc32xx_dmamux_release() local
85 guard(spinlock)(&dmamux->lock); in lpc32xx_dmamux_release()
95 struct lpc32xx_dmamux_data *dmamux = platform_get_drvdata(pdev); in lpc32xx_dmamux_reserve() local
130 spin_lock_irqsave(&dmamux->lock, flags); in lpc32xx_dmamux_reserve()
132 spin_unlock_irqrestore(&dmamux->lock, flags); in lpc32xx_dmamux_reserve()
142 regmap_update_bits(dmamux->reg, mux->muxreg, BIT(mux->bit), mux->muxval); in lpc32xx_dmamux_reserve()
143 spin_unlock_irqrestore(&dmamux->lock, flags); in lpc32xx_dmamux_reserve()
157 struct lpc32xx_dmamux_data *dmamux; in lpc32xx_dmamux_probe() local
159 dmamux = devm_kzalloc(&pdev->dev, sizeof(*dmamux), GFP_KERNEL); in lpc32xx_dmamux_probe()
160 if (!dmamux) in lpc32xx_dmamux_probe()
[all …]
DMakefile53 obj-$(CONFIG_LPC18XX_DMAMUX) += lpc18xx-dmamux.o
54 obj-$(CONFIG_LPC32XX_DMAMUX) += lpc32xx-dmamux.o
/linux-6.12.1/drivers/dma/dw/
Drzn1-dmamux.c31 struct rzn1_dmamux_data *dmamux = dev_get_drvdata(dev); in rzn1_dmamux_free() local
36 clear_bit(map->req_idx, dmamux->used_chans); in rzn1_dmamux_free()
45 struct rzn1_dmamux_data *dmamux = platform_get_drvdata(pdev); in rzn1_dmamux_route_allocate() local
87 if (test_and_set_bit(map->req_idx, dmamux->used_chans)) { in rzn1_dmamux_route_allocate()
100 clear_bit(map->req_idx, dmamux->used_chans); in rzn1_dmamux_route_allocate()
119 struct rzn1_dmamux_data *dmamux; in rzn1_dmamux_probe() local
121 dmamux = devm_kzalloc(&pdev->dev, sizeof(*dmamux), GFP_KERNEL); in rzn1_dmamux_probe()
122 if (!dmamux) in rzn1_dmamux_probe()
134 dmamux->dmarouter.dev = &pdev->dev; in rzn1_dmamux_probe()
135 dmamux->dmarouter.route_free = rzn1_dmamux_free; in rzn1_dmamux_probe()
[all …]
DMakefile13 obj-$(CONFIG_RZN1_DMAMUX) += rzn1-dmamux.o
/linux-6.12.1/drivers/dma/stm32/
Dstm32-dmamux.c66 struct stm32_dmamux_data *dmamux = dev_get_drvdata(dev); in stm32_dmamux_free() local
71 spin_lock_irqsave(&dmamux->lock, flags); in stm32_dmamux_free()
73 stm32_dmamux_write(dmamux->iomem, STM32_DMAMUX_CCR(mux->chan_id), 0); in stm32_dmamux_free()
74 clear_bit(mux->chan_id, dmamux->dma_inuse); in stm32_dmamux_free()
78 spin_unlock_irqrestore(&dmamux->lock, flags); in stm32_dmamux_free()
90 struct stm32_dmamux_data *dmamux = platform_get_drvdata(pdev); in stm32_dmamux_route_allocate() local
101 if (dma_spec->args[0] > dmamux->dmamux_requests) { in stm32_dmamux_route_allocate()
111 spin_lock_irqsave(&dmamux->lock, flags); in stm32_dmamux_route_allocate()
112 mux->chan_id = find_first_zero_bit(dmamux->dma_inuse, in stm32_dmamux_route_allocate()
113 dmamux->dma_requests); in stm32_dmamux_route_allocate()
[all …]
DMakefile3 obj-$(CONFIG_STM32_DMAMUX) += stm32-dmamux.o
/linux-6.12.1/arch/arm/boot/dts/nxp/lpc/
Dlpc18xx.dtsi216 dmamux: dma-mux { label
217 compatible = "nxp,lpc1850-dmamux";
291 dmas = <&dmamux 1 1 2
292 &dmamux 2 1 2
293 &dmamux 11 2 2
294 &dmamux 12 2 2>;
307 dmas = <&dmamux 3 1 2
308 &dmamux 4 1 2>;
320 dmas = <&dmamux 9 0 2
321 &dmamux 10 0 2>;
[all …]
/linux-6.12.1/Documentation/devicetree/bindings/dma/
Dlpc1850-dmamux.txt4 - compatible: "nxp,lpc1850-dmamux"
37 dmamux: dma-mux {
38 compatible = "nxp,lpc1850-dmamux";
51 dmas = <&dmamux 1 1 2
52 &dmamux 2 1 2>;
/linux-6.12.1/arch/arm/boot/dts/renesas/
Dr9a06g032.dtsi111 dmamux: dma-router@a0 { label
112 compatible = "renesas,rzn1-dmamux";
214 dmas = <&dmamux 0 0 0 0 0 1>, <&dmamux 1 0 0 0 1 1>;
227 dmas = <&dmamux 2 0 0 0 2 1>, <&dmamux 3 0 0 0 3 1>;
240 dmas = <&dmamux 4 0 0 0 4 1>, <&dmamux 5 0 0 0 5 1>;
253 dmas = <&dmamux 6 0 0 0 6 1>, <&dmamux 7 0 0 0 7 1>;
266 dmas = <&dmamux 4 0 0 0 20 1>, <&dmamux 5 0 0 0 21 1>;
/linux-6.12.1/drivers/clk/renesas/
Dr9a06g032-clocks.c681 u32 dmamux; in r9a06g032_sysctrl_set_dmamux() local
688 dmamux = readl(sysctrl_priv->reg + R9A06G032_SYSCTRL_DMAMUX); in r9a06g032_sysctrl_set_dmamux()
689 dmamux &= ~mask; in r9a06g032_sysctrl_set_dmamux()
690 dmamux |= val & mask; in r9a06g032_sysctrl_set_dmamux()
691 writel(dmamux, sysctrl_priv->reg + R9A06G032_SYSCTRL_DMAMUX); in r9a06g032_sysctrl_set_dmamux()
/linux-6.12.1/arch/arm/boot/dts/st/
Dstm32h743.dtsi292 compatible = "st,stm32h7-dmamux";
Dstm32mp131.dtsi738 compatible = "st,stm32h7-dmamux";
Dstm32mp151.dtsi1407 compatible = "st,stm32h7-dmamux";
/linux-6.12.1/Documentation/arch/arm/stm32/
Dstm32-dma-mdma-chaining.rst409 .. _AN5224: https://www.st.com/resource/en/application_note/an5224-stm32-dmamux-the-dma-request-rou…
/linux-6.12.1/
DMAINTAINERS2528 F: drivers/dma/lpc32xx-dmamux.c
2541 F: Documentation/devicetree/bindings/dma/nxp,lpc3220-dmamux.yaml
22411 F: Documentation/devicetree/bindings/dma/renesas,rzn1-dmamux.yaml