| /linux/drivers/dma/ |
| H A D | of-dma.c | 32 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 D | lpc18xx-dmamux.c | 53 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 D | lpc32xx-dmamux.c | 90 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 D | cv1800b-dmamux.c | 96 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 D | fsl-edma-main.c | 251 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 D | st_fdma.c | 167 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 D | ep93xx_dma.c | 1445 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 D | mmp_tdma.c | 608 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 D | at_hdmac.c | 1801 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 D | mxs-dma.c | 724 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 D | nbpfaxi.c | 1100 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 D | dma-crossbar.c | 77 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 D | k3-psil.c | 78 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 D | edma.c | 2229 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 D | of.c | 16 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 D | rzn1-dmamux.c | 41 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 D | acpi.c | 13 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 D | stm32-dmamux.c | 86 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 D | stm32-mdma.c | 1541 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 D | stm32-dma.c | 1521 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 D | of_dma.h | 49 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 D | mmci_qcom_dml.c | 101 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 D | usb-dmac.c | 639 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 D | rz-dmac.c | 763 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 D | rcar-dmac.c | 1687 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()
|