/linux-6.12.1/drivers/dma/ |
D | mmp_tdma.c | 123 size_t period_len; member 424 size_t period_len, enum dma_transfer_direction direction, in mmp_tdma_prep_dma_cyclic() argument 429 int num_periods = buf_len / period_len; in mmp_tdma_prep_dma_cyclic() 442 if (period_len > TDMA_MAX_XFER_BYTES) { in mmp_tdma_prep_dma_cyclic() 445 period_len, TDMA_MAX_XFER_BYTES); in mmp_tdma_prep_dma_cyclic() 474 desc->byte_cnt = period_len; in mmp_tdma_prep_dma_cyclic() 475 dma_addr += period_len; in mmp_tdma_prep_dma_cyclic() 476 buf += period_len; in mmp_tdma_prep_dma_cyclic() 485 tdmac->period_len = period_len; in mmp_tdma_prep_dma_cyclic()
|
D | bcm2835-dma.c | 225 size_t period_len, in bcm2835_dma_create_cb_set_length() argument 235 if (!period_len) in bcm2835_dma_create_cb_set_length() 247 if (*total_len + control_block->length < period_len) { in bcm2835_dma_create_cb_set_length() 254 control_block->length = period_len - *total_len; in bcm2835_dma_create_cb_set_length() 304 size_t period_len, gfp_t gfp) in bcm2835_dma_create_cb_chain() argument 348 len, period_len, &total_len, in bcm2835_dma_create_cb_chain() 694 size_t period_len, enum dma_transfer_direction direction, in bcm2835_dma_prep_dma_cyclic() argument 721 period_len = buf_len; in bcm2835_dma_prep_dma_cyclic() 727 if (buf_len % period_len) in bcm2835_dma_prep_dma_cyclic() 730 __func__, buf_len, period_len); in bcm2835_dma_prep_dma_cyclic() [all …]
|
D | tegra210-adma.c | 121 size_t period_len; member 403 return desc->buf_len - (periods_remaining * desc->period_len); in tegra_adma_get_residue() 623 ch_regs->tc = desc->period_len & ADMA_CH_TC_COUNT_MASK; in tegra_adma_set_xfer_params() 630 size_t period_len, enum dma_transfer_direction direction, in tegra_adma_prep_dma_cyclic() argument 636 if (!buf_len || !period_len || period_len > ADMA_CH_TC_COUNT_MASK) { in tegra_adma_prep_dma_cyclic() 641 if (buf_len % period_len) { in tegra_adma_prep_dma_cyclic() 656 desc->period_len = period_len; in tegra_adma_prep_dma_cyclic() 657 desc->num_periods = buf_len / period_len; in tegra_adma_prep_dma_cyclic()
|
D | apple-admac.c | 142 size_t period_len; member 252 size_t period_len, enum dma_transfer_direction direction, in admac_prep_dma_cyclic() argument 270 adtx->period_len = period_len; in admac_prep_dma_cyclic() 293 WARN_ON_ONCE(addr + tx->period_len > tx->buf_end); in admac_cyclic_write_one_desc() 296 channo, &addr, tx->period_len, FLAG_DESC_NOTIFY); in admac_cyclic_write_one_desc() 300 writel_relaxed(tx->period_len, ad->base + REG_DESC_WRITE(channo)); in admac_cyclic_write_one_desc() 303 tx->submitted_pos += tx->period_len; in admac_cyclic_write_one_desc() 367 pos = adtx->reclaimed_pos + adtx->period_len * (nreports + 1) - residue2; in admac_cyclic_read_residue() 659 tx->reclaimed_pos += nreports * tx->period_len; in admac_handle_status_desc_done()
|
D | loongson1-apb-dma.c | 319 size_t buf_len, size_t period_len, in ls1x_dma_prep_dma_cyclic() argument 330 buf_len, period_len, flags, dmaengine_get_direction_text(dir)); in ls1x_dma_prep_dma_cyclic() 337 sg_len = buf_len / period_len; in ls1x_dma_prep_dma_cyclic() 345 period_len, offset_in_page(buf_addr)); in ls1x_dma_prep_dma_cyclic() 347 sg_dma_len(&sgl[i]) = period_len; in ls1x_dma_prep_dma_cyclic() 348 buf_addr += period_len; in ls1x_dma_prep_dma_cyclic()
|
D | dma-axi-dmac.c | 584 unsigned int num_periods, unsigned int period_len, in axi_dmac_fill_linear_sg() argument 592 num_segments = DIV_ROUND_UP(period_len, chan->max_length); in axi_dmac_fill_linear_sg() 593 segment_size = DIV_ROUND_UP(period_len, num_segments); in axi_dmac_fill_linear_sg() 598 for (len = period_len; len > segment_size; sg++) { in axi_dmac_fill_linear_sg() 705 size_t period_len, enum dma_transfer_direction direction, in axi_dmac_prep_dma_cyclic() argument 719 if (period_len == 0 || buf_len % period_len) in axi_dmac_prep_dma_cyclic() 722 num_periods = buf_len / period_len; in axi_dmac_prep_dma_cyclic() 723 num_segments = DIV_ROUND_UP(period_len, chan->max_length); in axi_dmac_prep_dma_cyclic() 735 period_len, desc->sg); in axi_dmac_prep_dma_cyclic()
|
D | mxs-dma.c | 575 size_t period_len, enum dma_transfer_direction direction, in mxs_dma_prep_dma_cyclic() argument 580 u32 num_periods = buf_len / period_len; in mxs_dma_prep_dma_cyclic() 597 if (period_len > MAX_XFER_BYTES) { in mxs_dma_prep_dma_cyclic() 600 period_len, MAX_XFER_BYTES); in mxs_dma_prep_dma_cyclic() 613 ccw->xfer_bytes = period_len; in mxs_dma_prep_dma_cyclic() 624 dma_addr += period_len; in mxs_dma_prep_dma_cyclic() 625 buf += period_len; in mxs_dma_prep_dma_cyclic()
|
D | st_fdma.c | 450 size_t period_len, enum dma_transfer_direction direction, in st_fdma_prep_dma_cyclic() argument 461 if (!period_len) in st_fdma_prep_dma_cyclic() 470 if (len % period_len != 0) { in st_fdma_prep_dma_cyclic() 475 sg_len = len / period_len; in st_fdma_prep_dma_cyclic() 496 hw_node->saddr = buf_addr + (i * period_len); in st_fdma_prep_dma_cyclic() 498 hw_node->daddr = buf_addr + (i * period_len); in st_fdma_prep_dma_cyclic() 500 hw_node->nbytes = period_len; in st_fdma_prep_dma_cyclic() 501 hw_node->generic.length = period_len; in st_fdma_prep_dma_cyclic()
|
D | at_hdmac.c | 1407 size_t period_len) in atc_dma_cyclic_check_values() argument 1409 if (period_len > (ATC_BTSIZE_MAX << reg_width)) in atc_dma_cyclic_check_values() 1411 if (unlikely(period_len & ((1 << reg_width) - 1))) in atc_dma_cyclic_check_values() 1428 unsigned int reg_width, size_t period_len, in atc_dma_cyclic_fill_desc() argument 1445 lli->saddr = buf_addr + (period_len * i); in atc_dma_cyclic_fill_desc() 1459 lli->daddr = buf_addr + (period_len * i); in atc_dma_cyclic_fill_desc() 1477 period_len >> reg_width; in atc_dma_cyclic_fill_desc() 1478 desc->sg[i].len = period_len; in atc_dma_cyclic_fill_desc() 1494 size_t period_len, enum dma_transfer_direction direction, in atc_prep_dma_cyclic() argument 1503 unsigned int periods = buf_len / period_len; in atc_prep_dma_cyclic() [all …]
|
D | mmp_pdma.c | 605 dma_addr_t buf_addr, size_t len, size_t period_len, in mmp_pdma_prep_dma_cyclic() argument 613 if (!dchan || !len || !period_len) in mmp_pdma_prep_dma_cyclic() 617 if (len % period_len != 0) in mmp_pdma_prep_dma_cyclic() 620 if (period_len > PDMA_MAX_DESC_BYTES) in mmp_pdma_prep_dma_cyclic() 651 (DCMD_LENGTH & period_len)); in mmp_pdma_prep_dma_cyclic() 664 len -= period_len; in mmp_pdma_prep_dma_cyclic() 667 dma_src += period_len; in mmp_pdma_prep_dma_cyclic() 669 dma_dst += period_len; in mmp_pdma_prep_dma_cyclic()
|
D | ls2x-apb-dma.c | 383 size_t period_len, enum dma_transfer_direction direction, in ls2x_dma_prep_dma_cyclic() argument 392 if (unlikely(!buf_len || !period_len)) in ls2x_dma_prep_dma_cyclic() 402 num_periods = buf_len / period_len; in ls2x_dma_prep_dma_cyclic() 423 ldma_sg->phys = buf_addr + period_len * i; in ls2x_dma_prep_dma_cyclic() 424 ldma_sg->len = period_len; in ls2x_dma_prep_dma_cyclic()
|
D | pxa_dma.c | 1014 dma_addr_t buf_addr, size_t len, size_t period_len, in pxad_prep_dma_cyclic() argument 1024 if (!dchan || !len || !period_len) in pxad_prep_dma_cyclic() 1032 if (len % period_len != 0 || period_len > PDMA_MAX_DESC_BYTES || in pxad_prep_dma_cyclic() 1033 !IS_ALIGNED(period_len, 1 << PDMA_ALIGNMENT)) in pxad_prep_dma_cyclic() 1037 dcmd |= PXA_DCMD_ENDIRQEN | (PXA_DCMD_LENGTH & period_len); in pxad_prep_dma_cyclic() 1040 __func__, (unsigned long)buf_addr, len, period_len, dir, flags); in pxad_prep_dma_cyclic() 1042 nb_desc = DIV_ROUND_UP(period_len, PDMA_MAX_DESC_BYTES); in pxad_prep_dma_cyclic() 1043 nb_desc *= DIV_ROUND_UP(len, period_len); in pxad_prep_dma_cyclic() 1057 dma += period_len; in pxad_prep_dma_cyclic() 1058 len -= period_len; in pxad_prep_dma_cyclic()
|
D | imx-sdma.c | 401 unsigned int period_len; member 889 bd->mode.count = desc->period_len; in sdma_update_channel_loop() 1728 size_t period_len, enum dma_transfer_direction direction, in sdma_prep_dma_cyclic() argument 1741 num_periods = buf_len / period_len; in sdma_prep_dma_cyclic() 1749 desc->period_len = period_len; in sdma_prep_dma_cyclic() 1753 if (period_len > SDMA_BD_MAX_CNT) { in sdma_prep_dma_cyclic() 1755 channel, period_len, SDMA_BD_MAX_CNT); in sdma_prep_dma_cyclic() 1768 bd->mode.count = period_len; in sdma_prep_dma_cyclic() 1782 i, period_len, (u64)dma_addr, in sdma_prep_dma_cyclic() 1788 dma_addr += period_len; in sdma_prep_dma_cyclic() [all …]
|
D | sun4i-dma.c | 673 size_t period_len, enum dma_transfer_direction dir, in sun4i_dma_prep_dma_cyclic() argument 754 if (vchan->is_dedicated || period_len <= SUN4I_NDMA_MAX_SEG_SIZE / 2) { in sun4i_dma_prep_dma_cyclic() 755 period_len *= 2; in sun4i_dma_prep_dma_cyclic() 759 nr_periods = DIV_ROUND_UP(len, period_len); in sun4i_dma_prep_dma_cyclic() 762 offset = i * period_len; in sun4i_dma_prep_dma_cyclic() 763 plength = min((len - offset), period_len); in sun4i_dma_prep_dma_cyclic()
|
D | k3dma.c | 588 size_t buf_len, size_t period_len, in k3_dma_prep_dma_cyclic() argument 602 buf_len, period_len, (int)dir); in k3_dma_prep_dma_cyclic() 619 if (period_len < modulo) in k3_dma_prep_dma_cyclic() 620 modulo = period_len; in k3_dma_prep_dma_cyclic() 633 if (since >= period_len) { in k3_dma_prep_dma_cyclic() 636 since -= period_len; in k3_dma_prep_dma_cyclic()
|
D | dma-jz4780.c | 408 size_t period_len, enum dma_transfer_direction direction, in jz4780_dma_prep_dma_cyclic() argument 416 if (buf_len % period_len) in jz4780_dma_prep_dma_cyclic() 419 periods = buf_len / period_len; in jz4780_dma_prep_dma_cyclic() 427 period_len, direction); in jz4780_dma_prep_dma_cyclic() 433 buf_addr += period_len; in jz4780_dma_prep_dma_cyclic()
|
D | owl-dma.c | 983 size_t period_len, in owl_prep_dma_cyclic() argument 993 unsigned int periods = buf_len / period_len; in owl_prep_dma_cyclic() 1011 src = buf_addr + (period_len * i); in owl_prep_dma_cyclic() 1015 dst = buf_addr + (period_len * i); in owl_prep_dma_cyclic() 1018 ret = owl_dma_cfg_lli(vchan, lli, src, dst, period_len, in owl_prep_dma_cyclic()
|
/linux-6.12.1/sound/soc/loongson/ |
D | loongson_dma.c | 142 size_t period_len = params_period_bytes(params); in loongson_pcm_hw_params() local 148 if (buf_len % period_len) { in loongson_pcm_hw_params() 153 num_periods = buf_len / period_len; in loongson_pcm_hw_params() 181 desc->length = period_len >> 2; in loongson_pcm_hw_params() 185 mem_addr += period_len; in loongson_pcm_hw_params()
|
/linux-6.12.1/drivers/dma/stm32/ |
D | stm32-dma.c | 1157 size_t period_len, enum dma_transfer_direction direction, in stm32_dma_prep_dma_cyclic() argument 1166 if (!buf_len || !period_len) { in stm32_dma_prep_dma_cyclic() 1176 if (buf_len % period_len) { in stm32_dma_prep_dma_cyclic() 1192 ret = stm32_dma_set_xfer_param(chan, direction, &buswidth, period_len, in stm32_dma_prep_dma_cyclic() 1197 nb_data_items = period_len / buswidth; in stm32_dma_prep_dma_cyclic() 1204 if (buf_len == period_len) { in stm32_dma_prep_dma_cyclic() 1214 num_periods = buf_len / period_len; in stm32_dma_prep_dma_cyclic() 1222 desc->sg_req[i].len = period_len; in stm32_dma_prep_dma_cyclic() 1231 desc->sg_req[i].chan_reg.dma_sm1ar += period_len; in stm32_dma_prep_dma_cyclic() 1234 buf_addr += period_len; in stm32_dma_prep_dma_cyclic() [all …]
|
D | stm32-mdma.c | 842 size_t buf_len, size_t period_len, in stm32_mdma_prep_dma_cyclic() argument 866 if (!buf_len || !period_len || period_len > STM32_MDMA_MAX_BLOCK_LEN) { in stm32_mdma_prep_dma_cyclic() 871 if (buf_len % period_len) { in stm32_mdma_prep_dma_cyclic() 876 count = buf_len / period_len; in stm32_mdma_prep_dma_cyclic() 886 &ctbr, src_addr, period_len); in stm32_mdma_prep_dma_cyclic() 892 &ctbr, dst_addr, period_len); in stm32_mdma_prep_dma_cyclic() 908 src_addr = buf_addr + i * period_len; in stm32_mdma_prep_dma_cyclic() 911 dst_addr += period_len; in stm32_mdma_prep_dma_cyclic() 915 src_addr += period_len; in stm32_mdma_prep_dma_cyclic() 916 dst_addr = buf_addr + i * period_len; in stm32_mdma_prep_dma_cyclic() [all …]
|
D | stm32-dma3.c | 1279 size_t buf_len, size_t period_len, in stm32_dma3_prep_dma_cyclic() argument 1289 if (!buf_len || !period_len || period_len > STM32_DMA3_MAX_BLOCK_SIZE) { in stm32_dma3_prep_dma_cyclic() 1294 if (buf_len % period_len) { in stm32_dma3_prep_dma_cyclic() 1299 count = buf_len / period_len; in stm32_dma3_prep_dma_cyclic() 1309 src, dst, period_len); in stm32_dma3_prep_dma_cyclic() 1315 src, dst, period_len); in stm32_dma3_prep_dma_cyclic() 1326 src = buf_addr + i * period_len; in stm32_dma3_prep_dma_cyclic() 1330 dst = buf_addr + i * period_len; in stm32_dma3_prep_dma_cyclic() 1333 stm32_dma3_chan_prep_hwdesc(chan, swdesc, i, src, dst, period_len, in stm32_dma3_prep_dma_cyclic()
|
/linux-6.12.1/drivers/dma/sh/ |
D | shdma-base.c | 693 size_t period_len, enum dma_transfer_direction direction, in shdma_prep_dma_cyclic() argument 700 unsigned int sg_len = buf_len / period_len; in shdma_prep_dma_cyclic() 718 if (slave_id < 0 || (buf_len < period_len)) { in shdma_prep_dma_cyclic() 721 __func__, buf_len, period_len, slave_id); in shdma_prep_dma_cyclic() 738 dma_addr_t src = buf_addr + (period_len * i); in shdma_prep_dma_cyclic() 740 sg_set_page(&sgl[i], pfn_to_page(PFN_DOWN(src)), period_len, in shdma_prep_dma_cyclic() 743 sg_dma_len(&sgl[i]) = period_len; in shdma_prep_dma_cyclic()
|
D | rcar-dmac.c | 1225 size_t buf_len, size_t period_len, in rcar_dmac_prep_dma_cyclic() argument 1235 if (rchan->mid_rid < 0 || buf_len < period_len) { in rcar_dmac_prep_dma_cyclic() 1238 __func__, buf_len, period_len, rchan->mid_rid); in rcar_dmac_prep_dma_cyclic() 1245 sg_len = buf_len / period_len; in rcar_dmac_prep_dma_cyclic() 1264 dma_addr_t src = buf_addr + (period_len * i); in rcar_dmac_prep_dma_cyclic() 1266 sg_set_page(&sgl[i], pfn_to_page(PFN_DOWN(src)), period_len, in rcar_dmac_prep_dma_cyclic() 1269 sg_dma_len(&sgl[i]) = period_len; in rcar_dmac_prep_dma_cyclic()
|
/linux-6.12.1/drivers/dma/xilinx/ |
D | xilinx_dpdma.c | 689 size_t period_len, unsigned long flags) in xilinx_dpdma_chan_prep_cyclic() argument 693 unsigned int periods = buf_len / period_len; in xilinx_dpdma_chan_prep_cyclic() 717 hw_desc->xfer_size = period_len; in xilinx_dpdma_chan_prep_cyclic() 720 period_len) | in xilinx_dpdma_chan_prep_cyclic() 722 period_len); in xilinx_dpdma_chan_prep_cyclic() 729 buf_addr += period_len; in xilinx_dpdma_chan_prep_cyclic() 1272 size_t buf_len, size_t period_len, in xilinx_dpdma_prep_dma_cyclic() argument 1281 if (buf_len % period_len) in xilinx_dpdma_prep_dma_cyclic() 1285 period_len, flags); in xilinx_dpdma_prep_dma_cyclic()
|
/linux-6.12.1/drivers/dma/ti/ |
D | edma.c | 1298 size_t period_len, enum dma_transfer_direction direction, in edma_prep_dma_cyclic() argument 1310 if (unlikely(!echan || !buf_len || !period_len)) in edma_prep_dma_cyclic() 1333 if (unlikely(buf_len % period_len)) { in edma_prep_dma_cyclic() 1338 nslots = (buf_len / period_len) + 1; in edma_prep_dma_cyclic() 1355 if (burst == period_len) { in edma_prep_dma_cyclic() 1356 period_len = buf_len; in edma_prep_dma_cyclic() 1375 __func__, echan->ch_num, nslots, period_len, buf_len); in edma_prep_dma_cyclic() 1397 dst_addr, burst, dev_width, period_len, in edma_prep_dma_cyclic() 1405 dst_addr += period_len; in edma_prep_dma_cyclic() 1407 src_addr += period_len; in edma_prep_dma_cyclic()
|