Home
last modified time | relevance | path

Searched refs:dma_spec (Results 1 – 25 of 43) sorted by relevance

12

/linux/drivers/dma/
H A Dof-dma.c32 static struct of_dma *of_dma_find_controller(const struct of_phandle_args *dma_spec) in of_dma_find_controller() argument
37 if (ofdma->of_node == dma_spec->np) in of_dma_find_controller()
41 dma_spec->np); in of_dma_find_controller()
55 static struct dma_chan *of_dma_router_xlate(struct of_phandle_args *dma_spec, in of_dma_router_xlate() argument
64 memcpy(&dma_spec_target, dma_spec, sizeof(dma_spec_target)); in of_dma_router_xlate()
227 int index, struct of_phandle_args *dma_spec) in of_dma_match_channel() argument
238 dma_spec)) in of_dma_match_channel()
254 struct of_phandle_args dma_spec; in of_dma_request_slave_channel() local
285 &dma_spec)) in of_dma_request_slave_channel()
289 ofdma = of_dma_find_controller(&dma_spec); in of_dma_request_slave_channel()
[all …]
H A Dlpc18xx-dmamux.c53 static void *lpc18xx_dmamux_reserve(struct of_phandle_args *dma_spec, in lpc18xx_dmamux_reserve() argument
62 if (dma_spec->args_count != 3) { in lpc18xx_dmamux_reserve()
67 mux = dma_spec->args[0]; in lpc18xx_dmamux_reserve()
70 dma_spec->args[0]); in lpc18xx_dmamux_reserve()
74 if (dma_spec->args[1] > LPC18XX_DMAMUX_MAX_VAL) { in lpc18xx_dmamux_reserve()
76 dma_spec->args[1]); in lpc18xx_dmamux_reserve()
81 dma_spec->np = of_parse_phandle(ofdma->of_node, "dma-masters", 0); in lpc18xx_dmamux_reserve()
82 if (!dma_spec->np) { in lpc18xx_dmamux_reserve()
92 of_node_put(dma_spec->np); in lpc18xx_dmamux_reserve()
98 dmamux->muxes[mux].value = dma_spec->args[1]; in lpc18xx_dmamux_reserve()
[all …]
H A Dlpc32xx-dmamux.c90 static void *lpc32xx_dmamux_reserve(struct of_phandle_args *dma_spec, in lpc32xx_dmamux_reserve() argument
101 if (dma_spec->args_count != 3) { in lpc32xx_dmamux_reserve()
107 if (lpc32xx_muxes[i].signal == dma_spec->args[0]) { in lpc32xx_dmamux_reserve()
114 dma_spec->args[0]); in lpc32xx_dmamux_reserve()
118 if (dma_spec->args[2] > 1) { in lpc32xx_dmamux_reserve()
120 dma_spec->args[1]); in lpc32xx_dmamux_reserve()
125 dma_spec->np = of_parse_phandle(ofdma->of_node, "dma-masters", 0); in lpc32xx_dmamux_reserve()
126 if (!dma_spec->np) { in lpc32xx_dmamux_reserve()
136 of_node_put(dma_spec->np); in lpc32xx_dmamux_reserve()
142 mux->muxval = dma_spec->args[2] ? BIT(mux->bit) : 0; in lpc32xx_dmamux_reserve()
[all …]
H A Dcv1800b-dmamux.c96 static void *cv1800_dmamux_route_allocate(struct of_phandle_args *dma_spec, in cv1800_dmamux_route_allocate() argument
107 if (dma_spec->args_count != DMAMUX_NCELLS) { in cv1800_dmamux_route_allocate()
112 devid = dma_spec->args[0]; in cv1800_dmamux_route_allocate()
113 cpuid = dma_spec->args[1]; in cv1800_dmamux_route_allocate()
114 dma_spec->args_count = 1; in cv1800_dmamux_route_allocate()
126 dma_spec->np = of_parse_phandle(ofdma->of_node, "dma-masters", 0); in cv1800_dmamux_route_allocate()
127 if (!dma_spec->np) { in cv1800_dmamux_route_allocate()
167 dma_spec->args[0] = chid; in cv1800_dmamux_route_allocate()
178 of_node_put(dma_spec->np); in cv1800_dmamux_route_allocate()
H A Dfsl-edma-main.c251 static struct dma_chan *fsl_edma_xlate(struct of_phandle_args *dma_spec, in fsl_edma_xlate() argument
260 if (dma_spec->args_count != 2) in fsl_edma_xlate()
269 if (fsl_edma_srcid_in_use(fsl_edma, dma_spec->args[1])) in fsl_edma_xlate()
272 if ((chan->chan_id / chans_per_mux) == dma_spec->args[0]) { in fsl_edma_xlate()
277 fsl_chan->srcid = dma_spec->args[1]; in fsl_edma_xlate()
294 static struct dma_chan *fsl_edma3_xlate(struct of_phandle_args *dma_spec, in fsl_edma3_xlate() argument
303 if (dma_spec->args_count != 3) in fsl_edma3_xlate()
316 if (fsl_edma_srcid_in_use(fsl_edma, dma_spec->args[0])) in fsl_edma3_xlate()
320 fsl_chan->priority = dma_spec->args[1]; in fsl_edma3_xlate()
321 fsl_chan->is_rxchan = dma_spec->args[2] & FSL_EDMA_RX; in fsl_edma3_xlate()
[all …]
H A Dst_fdma.c167 static struct dma_chan *st_fdma_of_xlate(struct of_phandle_args *dma_spec, in st_fdma_of_xlate() argument
175 if (dma_spec->args_count < 1) in st_fdma_of_xlate()
178 if (fdev->dma_device.dev->of_node != dma_spec->np) in st_fdma_of_xlate()
193 fchan->cfg.of_node = dma_spec->np; in st_fdma_of_xlate()
194 fchan->cfg.req_line = dma_spec->args[0]; in st_fdma_of_xlate()
198 if (dma_spec->args_count > 1) in st_fdma_of_xlate()
199 fchan->cfg.req_ctrl = dma_spec->args[1] in st_fdma_of_xlate()
202 if (dma_spec->args_count > 2) in st_fdma_of_xlate()
203 fchan->cfg.type = dma_spec->args[2]; in st_fdma_of_xlate()
H A Dep93xx_dma.c1445 static struct dma_chan *ep93xx_m2p_dma_of_xlate(struct of_phandle_args *dma_spec, in ep93xx_m2p_dma_of_xlate() argument
1451 u8 port = dma_spec->args[0]; in ep93xx_m2p_dma_of_xlate()
1452 u8 direction = dma_spec->args[1]; in ep93xx_m2p_dma_of_xlate()
1476 static struct dma_chan *ep93xx_m2m_dma_of_xlate(struct of_phandle_args *dma_spec, in ep93xx_m2m_dma_of_xlate() argument
1482 u8 port = dma_spec->args[0]; in ep93xx_m2m_dma_of_xlate()
1483 u8 direction = dma_spec->args[1]; in ep93xx_m2m_dma_of_xlate()
H A Dmmp_tdma.c608 static struct dma_chan *mmp_tdma_xlate(struct of_phandle_args *dma_spec, in mmp_tdma_xlate() argument
615 if (dma_spec->args_count != 1) in mmp_tdma_xlate()
618 param.chan_id = dma_spec->args[0]; in mmp_tdma_xlate()
H A Dat_hdmac.c1801 static struct dma_chan *at_dma_xlate(struct of_phandle_args *dma_spec, in at_dma_xlate() argument
1811 if (dma_spec->args_count != 2) in at_dma_xlate()
1814 dmac_pdev = of_find_device_by_node(dma_spec->np); in at_dma_xlate()
1832 per_id = dma_spec->args[1] & AT91_DMA_CFG_PER_ID_MASK; in at_dma_xlate()
1839 switch (dma_spec->args[1] & AT91_DMA_CFG_FIFOCFG_MASK) { in at_dma_xlate()
1862 atchan->per_if = dma_spec->args[0] & 0xff; in at_dma_xlate()
1863 atchan->mem_if = (dma_spec->args[0] >> 16) & 0xff; in at_dma_xlate()
1868 static struct dma_chan *at_dma_xlate(struct of_phandle_args *dma_spec, in at_dma_xlate() argument
H A Dmxs-dma.c724 static struct dma_chan *mxs_dma_xlate(struct of_phandle_args *dma_spec, in mxs_dma_xlate() argument
731 if (dma_spec->args_count != 1) in mxs_dma_xlate()
734 param.chan_id = dma_spec->args[0]; in mxs_dma_xlate()
H A Dnbpfaxi.c1100 static struct dma_chan *nbpf_of_xlate(struct of_phandle_args *dma_spec, in nbpf_of_xlate() argument
1107 if (dma_spec->args_count != 2) in nbpf_of_xlate()
1115 dma_spec->np); in nbpf_of_xlate()
1119 chan->terminal = dma_spec->args[0]; in nbpf_of_xlate()
1120 chan->flags = dma_spec->args[1]; in nbpf_of_xlate()
/linux/drivers/dma/ti/
H A Ddma-crossbar.c77 static void *ti_am335x_xbar_route_allocate(struct of_phandle_args *dma_spec, in ti_am335x_xbar_route_allocate() argument
84 if (dma_spec->args_count != 3) in ti_am335x_xbar_route_allocate()
87 if (dma_spec->args[2] >= xbar->xbar_events) { in ti_am335x_xbar_route_allocate()
89 dma_spec->args[2]); in ti_am335x_xbar_route_allocate()
93 if (dma_spec->args[0] >= xbar->dma_requests) { in ti_am335x_xbar_route_allocate()
95 dma_spec->args[0]); in ti_am335x_xbar_route_allocate()
100 dma_spec->np = of_parse_phandle(ofdma->of_node, "dma-masters", 0); in ti_am335x_xbar_route_allocate()
101 if (!dma_spec->np) { in ti_am335x_xbar_route_allocate()
108 of_node_put(dma_spec->np); in ti_am335x_xbar_route_allocate()
113 map->dma_line = (u16)dma_spec->args[0]; in ti_am335x_xbar_route_allocate()
[all …]
H A Dk3-psil.c78 struct of_phandle_args dma_spec; in psil_set_new_ep_config() local
90 index, &dma_spec)) in psil_set_new_ep_config()
93 thread_id = dma_spec.args[0]; in psil_set_new_ep_config()
99 of_node_put(dma_spec.np); in psil_set_new_ep_config()
105 of_node_put(dma_spec.np); in psil_set_new_ep_config()
H A Dedma.c2229 static struct dma_chan *of_edma_xlate(struct of_phandle_args *dma_spec, in of_edma_xlate() argument
2237 if (!ecc || dma_spec->args_count < 1) in of_edma_xlate()
2242 if (echan->ch_num == dma_spec->args[0]) { in of_edma_xlate()
2251 if (echan->ecc->legacy_mode && dma_spec->args_count == 1) in of_edma_xlate()
2254 if (!echan->ecc->legacy_mode && dma_spec->args_count == 2 && in of_edma_xlate()
2255 dma_spec->args[1] < echan->ecc->num_tc) { in of_edma_xlate()
2256 echan->tc = &echan->ecc->tc_list[dma_spec->args[1]]; in of_edma_xlate()
2277 static struct dma_chan *of_edma_xlate(struct of_phandle_args *dma_spec, in of_edma_xlate() argument
/linux/drivers/dma/dw/
H A Dof.c16 static struct dma_chan *dw_dma_of_xlate(struct of_phandle_args *dma_spec, in dw_dma_of_xlate() argument
25 if (dma_spec->args_count < 3 || dma_spec->args_count > 4) in dw_dma_of_xlate()
28 slave.src_id = dma_spec->args[0]; in dw_dma_of_xlate()
29 slave.dst_id = dma_spec->args[0]; in dw_dma_of_xlate()
30 slave.m_master = dma_spec->args[1]; in dw_dma_of_xlate()
31 slave.p_master = dma_spec->args[2]; in dw_dma_of_xlate()
32 if (dma_spec->args_count >= 4) in dw_dma_of_xlate()
33 slave.channels = dma_spec->args[3]; in dw_dma_of_xlate()
H A Drzn1-dmamux.c41 static void *rzn1_dmamux_route_allocate(struct of_phandle_args *dma_spec, in rzn1_dmamux_route_allocate() argument
51 if (dma_spec->args_count != RNZ1_DMAMUX_NCELLS) { in rzn1_dmamux_route_allocate()
62 chan = dma_spec->args[0]; in rzn1_dmamux_route_allocate()
63 map->req_idx = dma_spec->args[4]; in rzn1_dmamux_route_allocate()
64 val = dma_spec->args[5]; in rzn1_dmamux_route_allocate()
65 dma_spec->args_count -= 2; in rzn1_dmamux_route_allocate()
81 dma_spec->np = of_parse_phandle(ofdma->of_node, "dma-masters", dmac_idx); in rzn1_dmamux_route_allocate()
82 if (!dma_spec->np) { in rzn1_dmamux_route_allocate()
107 of_node_put(dma_spec->np); in rzn1_dmamux_route_allocate()
H A Dacpi.c13 struct acpi_dma_spec *dma_spec = param; in dw_dma_acpi_filter() local
15 .dma_dev = dma_spec->dev, in dw_dma_acpi_filter()
16 .src_id = dma_spec->slave_id, in dw_dma_acpi_filter()
17 .dst_id = dma_spec->slave_id, in dw_dma_acpi_filter()
/linux/drivers/dma/stm32/
H A Dstm32-dmamux.c86 static void *stm32_dmamux_route_allocate(struct of_phandle_args *dma_spec, in stm32_dmamux_route_allocate() argument
96 if (dma_spec->args_count != 3) { in stm32_dmamux_route_allocate()
101 if (dma_spec->args[0] > dmamux->dmamux_requests) { in stm32_dmamux_route_allocate()
103 dma_spec->args[0]); in stm32_dmamux_route_allocate()
135 dma_spec->np = of_parse_phandle(ofdma->of_node, "dma-masters", i - 1); in stm32_dmamux_route_allocate()
136 if (!dma_spec->np) { in stm32_dmamux_route_allocate()
150 mux->request = dma_spec->args[0]; in stm32_dmamux_route_allocate()
153 dma_spec->args[3] = dma_spec->args[2] | mux->chan_id << 16; in stm32_dmamux_route_allocate()
154 dma_spec->args[2] = dma_spec->args[1]; in stm32_dmamux_route_allocate()
155 dma_spec->args[1] = 0; in stm32_dmamux_route_allocate()
[all …]
H A Dstm32-mdma.c1541 static struct dma_chan *stm32_mdma_of_xlate(struct of_phandle_args *dma_spec, in stm32_mdma_of_xlate() argument
1550 if (dma_spec->args_count < 5) { in stm32_mdma_of_xlate()
1556 config.request = dma_spec->args[0]; in stm32_mdma_of_xlate()
1557 config.priority_level = dma_spec->args[1]; in stm32_mdma_of_xlate()
1558 config.transfer_config = dma_spec->args[2]; in stm32_mdma_of_xlate()
1559 config.mask_addr = dma_spec->args[3]; in stm32_mdma_of_xlate()
1560 config.mask_data = dma_spec->args[4]; in stm32_mdma_of_xlate()
H A Dstm32-dma.c1521 static struct dma_chan *stm32_dma_of_xlate(struct of_phandle_args *dma_spec, in stm32_dma_of_xlate() argument
1530 if (dma_spec->args_count < 4) { in stm32_dma_of_xlate()
1535 cfg.channel_id = dma_spec->args[0]; in stm32_dma_of_xlate()
1536 cfg.request_line = dma_spec->args[1]; in stm32_dma_of_xlate()
1537 cfg.stream_config = dma_spec->args[2]; in stm32_dma_of_xlate()
1538 cfg.features = dma_spec->args[3]; in stm32_dma_of_xlate()
/linux/include/linux/
H A Dof_dma.h49 extern struct dma_chan *of_dma_simple_xlate(struct of_phandle_args *dma_spec,
51 extern struct dma_chan *of_dma_xlate_by_chan_id(struct of_phandle_args *dma_spec,
83 static inline struct dma_chan *of_dma_simple_xlate(struct of_phandle_args *dma_spec, in of_dma_simple_xlate() argument
/linux/drivers/mmc/host/
H A Dmmci_qcom_dml.c101 struct of_phandle_args dma_spec; in of_get_dml_pipe_index() local
109 &dma_spec)) in of_get_dml_pipe_index()
112 if (dma_spec.args_count) in of_get_dml_pipe_index()
113 return dma_spec.args[0]; in of_get_dml_pipe_index()
/linux/drivers/dma/sh/
H A Dusb-dmac.c639 struct of_phandle_args *dma_spec = arg; in usb_dmac_chan_filter() local
642 if (uchan->index != dma_spec->args[0]) in usb_dmac_chan_filter()
648 static struct dma_chan *usb_dmac_of_xlate(struct of_phandle_args *dma_spec, in usb_dmac_of_xlate() argument
654 if (dma_spec->args_count != 1) in usb_dmac_of_xlate()
661 chan = __dma_request_channel(&mask, usb_dmac_chan_filter, dma_spec, in usb_dmac_of_xlate()
H A Drz-dmac.c763 struct of_phandle_args *dma_spec = arg; in rz_dmac_chan_filter() local
766 channel->mid_rid = dma_spec->args[0] & MID_RID_MASK; in rz_dmac_chan_filter()
767 ch_cfg = (dma_spec->args[0] & CHCFG_MASK) >> 10; in rz_dmac_chan_filter()
774 static struct dma_chan *rz_dmac_of_xlate(struct of_phandle_args *dma_spec, in rz_dmac_of_xlate() argument
779 if (dma_spec->args_count != 1) in rz_dmac_of_xlate()
786 return __dma_request_channel(&mask, rz_dmac_chan_filter, dma_spec, in rz_dmac_of_xlate()
H A Drcar-dmac.c1687 struct of_phandle_args *dma_spec = arg; in rcar_dmac_chan_filter() local
1699 return !test_and_set_bit(dma_spec->args[0], dmac->modules); in rcar_dmac_chan_filter()
1702 static struct dma_chan *rcar_dmac_of_xlate(struct of_phandle_args *dma_spec, in rcar_dmac_of_xlate() argument
1709 if (dma_spec->args_count != 1) in rcar_dmac_of_xlate()
1716 chan = __dma_request_channel(&mask, rcar_dmac_chan_filter, dma_spec, in rcar_dmac_of_xlate()
1722 rchan->mid_rid = dma_spec->args[0]; in rcar_dmac_of_xlate()

12