Home
last modified time | relevance | path

Searched full:mdma (Results 1 – 25 of 36) sorted by relevance

12

/linux-6.12.1/drivers/dma/
Dimg-mdc-dma.c117 struct mdc_dma *mdma; member
148 static inline u32 mdc_readl(struct mdc_dma *mdma, u32 reg) in mdc_readl() argument
150 return readl(mdma->regs + reg); in mdc_readl()
153 static inline void mdc_writel(struct mdc_dma *mdma, u32 val, u32 reg) in mdc_writel() argument
155 writel(val, mdma->regs + reg); in mdc_writel()
160 return mdc_readl(mchan->mdma, mchan->chan_nr * 0x040 + reg); in mdc_chan_readl()
165 mdc_writel(mchan->mdma, val, mchan->chan_nr * 0x040 + reg); in mdc_chan_writel()
180 static inline struct device *mdma2dev(struct mdc_dma *mdma) in mdma2dev() argument
182 return mdma->dma_dev.dev; in mdma2dev()
209 struct mdc_dma *mdma = mchan->mdma; in mdc_list_desc_config() local
[all …]
Dmpc512x_dma.c256 struct mpc_dma *mdma = dma_chan_to_mpc_dma(&mchan->chan); in mpc_dma_execute() local
300 memcpy_toio(&mdma->tcd[cid], first->tcd, sizeof(struct mpc_dma_tcd)); in mpc_dma_execute()
303 mdma->tcd[cid].e_sg = 1; in mpc_dma_execute()
305 if (mdma->is_mpc8308) { in mpc_dma_execute()
307 out_8(&mdma->regs->dmassrt, cid); in mpc_dma_execute()
310 out_8(&mdma->regs->dmaserq, cid); in mpc_dma_execute()
313 out_8(&mdma->regs->dmassrt, cid); in mpc_dma_execute()
318 static void mpc_dma_irq_process(struct mpc_dma *mdma, u32 is, u32 es, int off) in mpc_dma_irq_process() argument
327 mchan = &mdma->channels[ch + off]; in mpc_dma_irq_process()
331 out_8(&mdma->regs->dmacint, ch + off); in mpc_dma_irq_process()
[all …]
Ddma-jz4780.c1110 { .compatible = "ingenic,jz4760-mdma", .data = &jz4760_mdma_soc_data },
1113 { .compatible = "ingenic,jz4760b-mdma", .data = &jz4760b_mdma_soc_data },
/linux-6.12.1/Documentation/arch/arm/stm32/
Dstm32-dma-mdma-chaining.rst4 STM32 DMA-MDMA chaining
11 This document describes the STM32 DMA-MDMA chaining feature. But before going
17 STM32MP1 SoCs embed both STM32 DMA and STM32 MDMA controllers. STM32 DMA
33 **STM32 MDMA**
35 STM32 MDMA (Master DMA) is mainly used to manage direct data transfers between
38 interfaces for AHB peripherals, while the STM32 MDMA acts as a second level
39 DMA with better performance. As a AXI/AHB master, STM32 MDMA can take control
46 STM32 DMA-MDMA chaining feature relies on the strengths of STM32 DMA and
47 STM32 MDMA controllers.
52 counter is automatically reloaded. This allows the SW or the STM32 MDMA to
[all …]
/linux-6.12.1/Documentation/devicetree/bindings/dma/stm32/
Dst,stm32-mdma.yaml4 $id: http://devicetree.org/schemas/dma/stm32/st,stm32-mdma.yaml#
7 title: STMicroelectronics STM32 MDMA Controller
10 The STM32 MDMA is a general-purpose direct memory access controller capable of
12 DMA clients connected to the STM32 MDMA controller must use the format
14 a phandle to the MDMA controller plus the following five integer cells:
43 0x00: Each MDMA request triggers a buffer transfer (max 128 bytes)
44 0x1: Each MDMA request triggers a block transfer (max 64K bytes)
45 0x2: Each MDMA request triggers a repeated block transfer
46 0x3: Each MDMA request triggers a linked list transfer
48 if no HW ack signal is used by the MDMA client
[all …]
/linux-6.12.1/drivers/dma/stm32/
Dstm32-mdma.c8 * Driver for STM32 MDMA controller
35 #define STM32_MDMA_GISR0 0x0000 /* MDMA Int Status Reg 1 */
37 /* MDMA Channel x interrupt/status register */
46 /* MDMA Channel x interrupt flag clear register */
59 /* MDMA Channel x error status register */
68 /* MDMA Channel x control register */
89 /* MDMA Channel x transfer configuration register */
128 /* MDMA Channel x block number of data register */
139 /* MDMA Channel x source address register */
142 /* MDMA Channel x destination address register */
[all …]
DKconfig32 Enable support for the on-chip MDMA controller on STMicroelectronics
35 and want to use MDMA say Y here.
DMakefile4 obj-$(CONFIG_STM32_MDMA) += stm32-mdma.o
Dstm32-dma.c197 * struct stm32_dma_mdma_config - STM32 DMA MDMA configuration
198 * @stream_id: DMA request to trigger STM32 MDMA transfer
200 * used by STM32 MDMA to clear DMA Transfer Complete flag
404 /* Check if user is requesting DMA to trigger STM32 MDMA */ in stm32_dma_slave_config()
586 /* When DMA triggers STM32 MDMA, DMA Transfer Complete is managed by STM32 MDMA */ in stm32_dma_start_transfer()
1115 /* Activate Double Buffer Mode if DMA triggers STM32 MDMA and more than 1 sg */ in stm32_dma_prep_slave_sg()
/linux-6.12.1/Documentation/devicetree/bindings/dma/
Dingenic,dma.yaml24 - ingenic,jz4760-mdma
27 - ingenic,jz4760b-mdma
/linux-6.12.1/drivers/dma/qcom/
Dhidma.c110 struct hidma_dev *mdma = to_hidma_dev(ddev); in hidma_process_completed() local
134 llstat = hidma_ll_status(mdma->lldev, mdesc->tre_ch); in hidma_process_completed()
397 struct hidma_dev *mdma = mchan->dmadev; in hidma_prep_dma_memcpy() local
412 hidma_ll_set_transfer_params(mdma->lldev, mdesc->tre_ch, in hidma_prep_dma_memcpy()
430 struct hidma_dev *mdma = mchan->dmadev; in hidma_prep_dma_memset() local
456 hidma_ll_set_transfer_params(mdma->lldev, mdesc->tre_ch, in hidma_prep_dma_memset()
536 struct hidma_dev *mdma = mchan->dmadev; in hidma_free_chan_resources() local
551 hidma_ll_free(mdma->lldev, mdesc->tre_ch); in hidma_free_chan_resources()
/linux-6.12.1/drivers/rapidio/devices/
Dtsi721.c115 void __iomem *regs = priv->regs + TSI721_DMAC_BASE(priv->mdma.ch_id); in tsi721_maint_dma()
127 bd_ptr = priv->mdma.bd_base; in tsi721_maint_dma()
155 priv->mdma.ch_id, ch_stat); in tsi721_maint_dma()
1458 priv->mdma.ch_id = TSI721_DMACH_MAINT; in tsi721_bdma_maint_init()
1468 priv->mdma.bd_num = bd_num; in tsi721_bdma_maint_init()
1469 priv->mdma.bd_phys = bd_phys; in tsi721_bdma_maint_init()
1470 priv->mdma.bd_base = bd_ptr; in tsi721_bdma_maint_init()
1487 priv->mdma.bd_base = NULL; in tsi721_bdma_maint_init()
1491 priv->mdma.sts_phys = sts_phys; in tsi721_bdma_maint_init()
1492 priv->mdma.sts_base = sts_ptr; in tsi721_bdma_maint_init()
[all …]
/linux-6.12.1/drivers/ata/
Dpata_pdc2027x.c85 { 0xdf, 0x5f }, /* MDMA mode 0 */
86 { 0x6b, 0x27 }, /* MDMA mode 1 */
87 { 0x69, 0x25 }, /* MDMA mode 2 */
357 /* Set the MDMA timing registers with value table for 133MHz */ in pdc2027x_set_dmamode()
360 ata_port_dbg(ap, "Set mdma regs... \n"); in pdc2027x_set_dmamode()
369 ata_port_dbg(ap, "Set to mdma mode[%u] \n", mdma_mode); in pdc2027x_set_dmamode()
Dpata_mpc52xx.c81 /* ATAPI-4 MDMA specs (in clocks) */
214 u32 mdma1; /* ATA + 0x10 MDMA Timing 1 */
215 u32 mdma2; /* ATA + 0x14 MDMA Timing 2 */
Dpata_macio.c65 "KeyLargo ATA-3", /* KeyLargo ATA-3 (MDMA only) */
111 * and MDMA, I think I've figured the format of the timing register,
167 * Can do pio & mdma modes, clock unit is 30ns (33Mhz)
Dpata_ep93xx.c99 /* MDMA Operation Register */
107 /* PIO/MDMA/UDMA Data Registers */
/linux-6.12.1/Documentation/arch/arm/
Dindex.rst63 stm32/stm32-dma-mdma-chaining
/linux-6.12.1/arch/arm/boot/dts/st/
Dstm32mp131.dtsi912 mdma: dma-controller@58000000 { label
913 compatible = "st,stm32h7-mdma";
916 clocks = <&rcc MDMA>;
1419 dmas = <&mdma 30 0x2 0x1000a02 0x0 0x0>;
1460 dmas = <&mdma 24 0x2 0x12000a02 0x0 0x0>,
1461 <&mdma 24 0x2 0x12000a08 0x0 0x0>,
1462 <&mdma 25 0x2 0x12000a0a 0x0 0x0>;
1475 dmas = <&mdma 26 0x2 0x10100002 0x0 0x0>,
1476 <&mdma 26 0x2 0x10100008 0x0 0x0>;
/linux-6.12.1/Documentation/devicetree/bindings/iommu/
Dti,omap-iommu.txt28 instance number should be 0 for DSP MDMA MMUs and 1 for
/linux-6.12.1/include/dt-bindings/clock/
Dstm32mp13-clks.h97 #define MDMA 69 macro
Dstm32mp1-clks.h113 #define MDMA 100 macro
/linux-6.12.1/arch/arm64/boot/dts/xilinx/
Dzynqmp-zc1751-xm017-dc3.dts132 arasan,has-mdma;
Dzynqmp-zc1751-xm016-dc2.dts138 arasan,has-mdma;
/linux-6.12.1/drivers/clk/stm32/
Dclk-stm32mp13.c887 static struct clk_stm32_gate mdma = { variable
889 .hw.init = CLK_HW_INIT("mdma", "ck_axi", &clk_stm32_gate_ops, 0),
1389 STM32_GATE_CFG(MDMA, mdma, SECF_NONE),
/linux-6.12.1/drivers/clk/ingenic/
Djz4760-cgu.c325 "mdma", CGU_CLK_GATE,

12