/kernel/linux/linux-5.10/drivers/dma/ |
H A 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() 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() 422 mmp_tdma_prep_dma_cyclic( struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) mmp_tdma_prep_dma_cyclic() argument [all...] |
H A D | bcm2835-dma.c | 225 size_t period_len, in bcm2835_dma_create_cb_set_length() 235 if (!period_len) in bcm2835_dma_create_cb_set_length() 239 * period_len means: that we need to generate in bcm2835_dma_create_cb_set_length() 241 * multiple of period_len - this is typically 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() 293 * @period_len: the period length when to apply @finalextrainfo 297 * (or when period_len is reached in case of cyclic) 304 size_t period_len, gfp_t gfp) in bcm2835_dma_create_cb_chain() 348 len, period_len, in bcm2835_dma_create_cb_chain() 221 bcm2835_dma_create_cb_set_length( struct bcm2835_chan *chan, struct bcm2835_dma_cb *control_block, size_t len, size_t period_len, size_t *total_len, u32 finalextrainfo) bcm2835_dma_create_cb_set_length() argument 300 bcm2835_dma_create_cb_chain( struct dma_chan *chan, enum dma_transfer_direction direction, bool cyclic, u32 info, u32 finalextrainfo, size_t frames, dma_addr_t src, dma_addr_t dst, size_t buf_len, size_t period_len, gfp_t gfp) bcm2835_dma_create_cb_chain() argument 692 bcm2835_dma_prep_dma_cyclic( struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) bcm2835_dma_prep_dma_cyclic() argument [all...] |
H A D | tegra210-adma.c | 123 size_t period_len; member 404 return desc->buf_len - (periods_remaining * desc->period_len); in tegra_adma_get_residue() 603 ch_regs->tc = desc->period_len & ADMA_CH_TC_COUNT_MASK; in tegra_adma_set_xfer_params() 610 size_t period_len, enum dma_transfer_direction direction, in tegra_adma_prep_dma_cyclic() 616 if (!buf_len || !period_len || period_len > ADMA_CH_TC_COUNT_MASK) { in tegra_adma_prep_dma_cyclic() 621 if (buf_len % period_len) { in tegra_adma_prep_dma_cyclic() 622 dev_err(tdc2dev(tdc), "buf_len not a multiple of period_len\n"); in tegra_adma_prep_dma_cyclic() 636 desc->period_len = period_len; in tegra_adma_prep_dma_cyclic() 608 tegra_adma_prep_dma_cyclic( struct dma_chan *dc, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) tegra_adma_prep_dma_cyclic() argument [all...] |
H A D | dma-axi-dmac.c | 494 unsigned int num_periods, unsigned int period_len, in axi_dmac_fill_linear_sg() 502 num_segments = DIV_ROUND_UP(period_len, chan->max_length); in axi_dmac_fill_linear_sg() 503 segment_size = DIV_ROUND_UP(period_len, num_segments); in axi_dmac_fill_linear_sg() 508 len = period_len; in axi_dmac_fill_linear_sg() 578 size_t period_len, enum dma_transfer_direction direction, in axi_dmac_prep_dma_cyclic() 592 if (period_len == 0 || buf_len % period_len) in axi_dmac_prep_dma_cyclic() 595 num_periods = buf_len / period_len; in axi_dmac_prep_dma_cyclic() 596 num_segments = DIV_ROUND_UP(period_len, chan->max_length); in axi_dmac_prep_dma_cyclic() 603 period_len, des in axi_dmac_prep_dma_cyclic() 492 axi_dmac_fill_linear_sg(struct axi_dmac_chan *chan, enum dma_transfer_direction direction, dma_addr_t addr, unsigned int num_periods, unsigned int period_len, struct axi_dmac_sg *sg) axi_dmac_fill_linear_sg() argument 576 axi_dmac_prep_dma_cyclic( struct dma_chan *c, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) axi_dmac_prep_dma_cyclic() argument [all...] |
H A D | st_fdma.c | 449 size_t period_len, enum dma_transfer_direction direction, in st_fdma_prep_dma_cyclic() 460 if (!period_len) in st_fdma_prep_dma_cyclic() 468 /* the buffer length must be a multiple of period_len */ in st_fdma_prep_dma_cyclic() 469 if (len % period_len != 0) { in st_fdma_prep_dma_cyclic() 474 sg_len = len / period_len; in st_fdma_prep_dma_cyclic() 495 hw_node->saddr = buf_addr + (i * period_len); in st_fdma_prep_dma_cyclic() 497 hw_node->daddr = buf_addr + (i * period_len); in st_fdma_prep_dma_cyclic() 499 hw_node->nbytes = period_len; in st_fdma_prep_dma_cyclic() 500 hw_node->generic.length = period_len; in st_fdma_prep_dma_cyclic() 447 st_fdma_prep_dma_cyclic( struct dma_chan *chan, dma_addr_t buf_addr, size_t len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) st_fdma_prep_dma_cyclic() argument
|
H A D | at_hdmac.c | 1168 size_t period_len) in atc_dma_cyclic_check_values() 1170 if (period_len > (ATC_BTSIZE_MAX << reg_width)) in atc_dma_cyclic_check_values() 1172 if (unlikely(period_len & ((1 << reg_width) - 1))) in atc_dma_cyclic_check_values() 1189 unsigned int reg_width, size_t period_len, in atc_dma_cyclic_fill_desc() 1201 | period_len >> reg_width; in atc_dma_cyclic_fill_desc() 1205 desc->lli.saddr = buf_addr + (period_len * period_index); in atc_dma_cyclic_fill_desc() 1213 desc->len = period_len; in atc_dma_cyclic_fill_desc() 1218 desc->lli.daddr = buf_addr + (period_len * period_index); in atc_dma_cyclic_fill_desc() 1225 desc->len = period_len; in atc_dma_cyclic_fill_desc() 1240 * @period_len 1167 atc_dma_cyclic_check_values(unsigned int reg_width, dma_addr_t buf_addr, size_t period_len) atc_dma_cyclic_check_values() argument 1187 atc_dma_cyclic_fill_desc(struct dma_chan *chan, struct at_desc *desc, unsigned int period_index, dma_addr_t buf_addr, unsigned int reg_width, size_t period_len, enum dma_transfer_direction direction) atc_dma_cyclic_fill_desc() argument 1245 atc_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) atc_prep_dma_cyclic() argument [all...] |
H A D | mxs-dma.c | 576 size_t period_len, enum dma_transfer_direction direction, in mxs_dma_prep_dma_cyclic() 581 u32 num_periods = buf_len / period_len; in mxs_dma_prep_dma_cyclic() 598 if (period_len > MAX_XFER_BYTES) { in mxs_dma_prep_dma_cyclic() 601 period_len, MAX_XFER_BYTES); in mxs_dma_prep_dma_cyclic() 614 ccw->xfer_bytes = period_len; in mxs_dma_prep_dma_cyclic() 625 dma_addr += period_len; in mxs_dma_prep_dma_cyclic() 626 buf += period_len; in mxs_dma_prep_dma_cyclic() 574 mxs_dma_prep_dma_cyclic( struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) mxs_dma_prep_dma_cyclic() argument
|
H A D | imx-sdma.c | 311 * @period_len: period length, used in cyclic. 323 unsigned int period_len; member 802 bd->mode.count = desc->period_len; in sdma_update_channel_loop() 1520 size_t period_len, enum dma_transfer_direction direction, in sdma_prep_dma_cyclic() 1525 int num_periods = buf_len / period_len; in sdma_prep_dma_cyclic() 1538 desc->period_len = period_len; in sdma_prep_dma_cyclic() 1542 if (period_len > SDMA_BD_MAX_CNT) { in sdma_prep_dma_cyclic() 1544 channel, period_len, SDMA_BD_MAX_CNT); in sdma_prep_dma_cyclic() 1554 bd->mode.count = period_len; in sdma_prep_dma_cyclic() 1518 sdma_prep_dma_cyclic( struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) sdma_prep_dma_cyclic() argument [all...] |
H A D | mmp_pdma.c | 607 dma_addr_t buf_addr, size_t len, size_t period_len, in mmp_pdma_prep_dma_cyclic() 615 if (!dchan || !len || !period_len) in mmp_pdma_prep_dma_cyclic() 618 /* the buffer length must be a multiple of period_len */ in mmp_pdma_prep_dma_cyclic() 619 if (len % period_len != 0) in mmp_pdma_prep_dma_cyclic() 622 if (period_len > PDMA_MAX_DESC_BYTES) in mmp_pdma_prep_dma_cyclic() 653 (DCMD_LENGTH & period_len)); in mmp_pdma_prep_dma_cyclic() 666 len -= period_len; in mmp_pdma_prep_dma_cyclic() 669 dma_src += period_len; in mmp_pdma_prep_dma_cyclic() 671 dma_dst += period_len; in mmp_pdma_prep_dma_cyclic() 606 mmp_pdma_prep_dma_cyclic(struct dma_chan *dchan, dma_addr_t buf_addr, size_t len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) mmp_pdma_prep_dma_cyclic() argument
|
/kernel/linux/linux-6.6/drivers/dma/ |
H A 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() 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() 422 mmp_tdma_prep_dma_cyclic( struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) mmp_tdma_prep_dma_cyclic() argument [all...] |
H A D | bcm2835-dma.c | 225 size_t period_len, in bcm2835_dma_create_cb_set_length() 235 if (!period_len) in bcm2835_dma_create_cb_set_length() 239 * period_len means: that we need to generate in bcm2835_dma_create_cb_set_length() 241 * multiple of period_len - this is typically 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() 293 * @period_len: the period length when to apply @finalextrainfo 297 * (or when period_len is reached in case of cyclic) 304 size_t period_len, gfp_t gfp) in bcm2835_dma_create_cb_chain() 348 len, period_len, in bcm2835_dma_create_cb_chain() 221 bcm2835_dma_create_cb_set_length( struct bcm2835_chan *chan, struct bcm2835_dma_cb *control_block, size_t len, size_t period_len, size_t *total_len, u32 finalextrainfo) bcm2835_dma_create_cb_set_length() argument 300 bcm2835_dma_create_cb_chain( struct dma_chan *chan, enum dma_transfer_direction direction, bool cyclic, u32 info, u32 finalextrainfo, size_t frames, dma_addr_t src, dma_addr_t dst, size_t buf_len, size_t period_len, gfp_t gfp) bcm2835_dma_create_cb_chain() argument 692 bcm2835_dma_prep_dma_cyclic( struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) bcm2835_dma_prep_dma_cyclic() argument [all...] |
H A 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() 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() 250 admac_prep_dma_cyclic( struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) admac_prep_dma_cyclic() argument [all...] |
H A D | dma-axi-dmac.c | 498 unsigned int num_periods, unsigned int period_len, in axi_dmac_fill_linear_sg() 506 num_segments = DIV_ROUND_UP(period_len, chan->max_length); in axi_dmac_fill_linear_sg() 507 segment_size = DIV_ROUND_UP(period_len, num_segments); in axi_dmac_fill_linear_sg() 512 len = period_len; in axi_dmac_fill_linear_sg() 582 size_t period_len, enum dma_transfer_direction direction, in axi_dmac_prep_dma_cyclic() 596 if (period_len == 0 || buf_len % period_len) in axi_dmac_prep_dma_cyclic() 599 num_periods = buf_len / period_len; in axi_dmac_prep_dma_cyclic() 600 num_segments = DIV_ROUND_UP(period_len, chan->max_length); in axi_dmac_prep_dma_cyclic() 607 period_len, des in axi_dmac_prep_dma_cyclic() 496 axi_dmac_fill_linear_sg(struct axi_dmac_chan *chan, enum dma_transfer_direction direction, dma_addr_t addr, unsigned int num_periods, unsigned int period_len, struct axi_dmac_sg *sg) axi_dmac_fill_linear_sg() argument 580 axi_dmac_prep_dma_cyclic( struct dma_chan *c, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) axi_dmac_prep_dma_cyclic() argument [all...] |
H A D | tegra210-adma.c | 121 size_t period_len; member 402 return desc->buf_len - (periods_remaining * desc->period_len); in tegra_adma_get_residue() 622 ch_regs->tc = desc->period_len & ADMA_CH_TC_COUNT_MASK; in tegra_adma_set_xfer_params() 629 size_t period_len, enum dma_transfer_direction direction, in tegra_adma_prep_dma_cyclic() 635 if (!buf_len || !period_len || period_len > ADMA_CH_TC_COUNT_MASK) { in tegra_adma_prep_dma_cyclic() 640 if (buf_len % period_len) { in tegra_adma_prep_dma_cyclic() 641 dev_err(tdc2dev(tdc), "buf_len not a multiple of period_len\n"); in tegra_adma_prep_dma_cyclic() 655 desc->period_len = period_len; in tegra_adma_prep_dma_cyclic() 627 tegra_adma_prep_dma_cyclic( struct dma_chan *dc, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) tegra_adma_prep_dma_cyclic() argument [all...] |
H A D | st_fdma.c | 449 size_t period_len, enum dma_transfer_direction direction, in st_fdma_prep_dma_cyclic() 460 if (!period_len) in st_fdma_prep_dma_cyclic() 468 /* the buffer length must be a multiple of period_len */ in st_fdma_prep_dma_cyclic() 469 if (len % period_len != 0) { in st_fdma_prep_dma_cyclic() 474 sg_len = len / period_len; in st_fdma_prep_dma_cyclic() 495 hw_node->saddr = buf_addr + (i * period_len); in st_fdma_prep_dma_cyclic() 497 hw_node->daddr = buf_addr + (i * period_len); in st_fdma_prep_dma_cyclic() 499 hw_node->nbytes = period_len; in st_fdma_prep_dma_cyclic() 500 hw_node->generic.length = period_len; in st_fdma_prep_dma_cyclic() 447 st_fdma_prep_dma_cyclic( struct dma_chan *chan, dma_addr_t buf_addr, size_t len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) st_fdma_prep_dma_cyclic() argument
|
H A D | mxs-dma.c | 575 size_t period_len, enum dma_transfer_direction direction, in mxs_dma_prep_dma_cyclic() 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() 573 mxs_dma_prep_dma_cyclic( struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) mxs_dma_prep_dma_cyclic() argument
|
H A D | at_hdmac.c | 1397 size_t period_len) in atc_dma_cyclic_check_values() 1399 if (period_len > (ATC_BTSIZE_MAX << reg_width)) in atc_dma_cyclic_check_values() 1401 if (unlikely(period_len & ((1 << reg_width) - 1))) in atc_dma_cyclic_check_values() 1418 unsigned int reg_width, size_t period_len, in atc_dma_cyclic_fill_desc() 1435 lli->saddr = buf_addr + (period_len * i); in atc_dma_cyclic_fill_desc() 1449 lli->daddr = buf_addr + (period_len * i); in atc_dma_cyclic_fill_desc() 1467 period_len >> reg_width; in atc_dma_cyclic_fill_desc() 1468 desc->sg[i].len = period_len; in atc_dma_cyclic_fill_desc() 1478 * @period_len: number of bytes for each period 1484 size_t period_len, enu in atc_prep_dma_cyclic() 1396 atc_dma_cyclic_check_values(unsigned int reg_width, dma_addr_t buf_addr, size_t period_len) atc_dma_cyclic_check_values() argument 1416 atc_dma_cyclic_fill_desc(struct dma_chan *chan, struct at_desc *desc, unsigned int i, dma_addr_t buf_addr, unsigned int reg_width, size_t period_len, enum dma_transfer_direction direction) atc_dma_cyclic_fill_desc() argument 1483 atc_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) atc_prep_dma_cyclic() argument [all...] |
H A D | stm32-dma.c | 1159 size_t period_len, enum dma_transfer_direction direction, in stm32_dma_prep_dma_cyclic() 1168 if (!buf_len || !period_len) { in stm32_dma_prep_dma_cyclic() 1178 if (buf_len % period_len) { in stm32_dma_prep_dma_cyclic() 1179 dev_err(chan2dev(chan), "buf_len not multiple of period_len\n"); in stm32_dma_prep_dma_cyclic() 1194 ret = stm32_dma_set_xfer_param(chan, direction, &buswidth, period_len, in stm32_dma_prep_dma_cyclic() 1199 nb_data_items = period_len / buswidth; in stm32_dma_prep_dma_cyclic() 1206 if (buf_len == period_len) { in stm32_dma_prep_dma_cyclic() 1216 num_periods = buf_len / period_len; in stm32_dma_prep_dma_cyclic() 1223 desc->sg_req[i].len = period_len; in stm32_dma_prep_dma_cyclic() 1232 desc->sg_req[i].chan_reg.dma_sm1ar += period_len; in stm32_dma_prep_dma_cyclic() 1157 stm32_dma_prep_dma_cyclic( struct dma_chan *c, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) stm32_dma_prep_dma_cyclic() argument 1327 u32 dma_scr, dma_smar, id, period_len; stm32_dma_is_current_sg() local [all...] |
H A D | imx-sdma.c | 378 * @period_len: period length, used in cyclic. 390 unsigned int period_len; member 881 bd->mode.count = desc->period_len; in sdma_update_channel_loop() 1689 size_t period_len, enum dma_transfer_direction direction, in sdma_prep_dma_cyclic() 1702 num_periods = buf_len / period_len; in sdma_prep_dma_cyclic() 1710 desc->period_len = period_len; in sdma_prep_dma_cyclic() 1714 if (period_len > SDMA_BD_MAX_CNT) { in sdma_prep_dma_cyclic() 1716 channel, period_len, SDMA_BD_MAX_CNT); in sdma_prep_dma_cyclic() 1729 bd->mode.count = period_len; in sdma_prep_dma_cyclic() 1687 sdma_prep_dma_cyclic( struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) sdma_prep_dma_cyclic() argument [all...] |
H A D | mmp_pdma.c | 606 dma_addr_t buf_addr, size_t len, size_t period_len, in mmp_pdma_prep_dma_cyclic() 614 if (!dchan || !len || !period_len) in mmp_pdma_prep_dma_cyclic() 617 /* the buffer length must be a multiple of period_len */ in mmp_pdma_prep_dma_cyclic() 618 if (len % period_len != 0) in mmp_pdma_prep_dma_cyclic() 621 if (period_len > PDMA_MAX_DESC_BYTES) in mmp_pdma_prep_dma_cyclic() 652 (DCMD_LENGTH & period_len)); in mmp_pdma_prep_dma_cyclic() 665 len -= period_len; in mmp_pdma_prep_dma_cyclic() 668 dma_src += period_len; in mmp_pdma_prep_dma_cyclic() 670 dma_dst += period_len; in mmp_pdma_prep_dma_cyclic() 605 mmp_pdma_prep_dma_cyclic(struct dma_chan *dchan, dma_addr_t buf_addr, size_t len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) mmp_pdma_prep_dma_cyclic() argument
|
H A D | stm32-mdma.c | 843 size_t buf_len, size_t period_len, in stm32_mdma_prep_dma_cyclic() 867 if (!buf_len || !period_len || period_len > STM32_MDMA_MAX_BLOCK_LEN) { in stm32_mdma_prep_dma_cyclic() 872 if (buf_len % period_len) { in stm32_mdma_prep_dma_cyclic() 873 dev_err(chan2dev(chan), "buf_len not multiple of period_len\n"); in stm32_mdma_prep_dma_cyclic() 877 count = buf_len / period_len; in stm32_mdma_prep_dma_cyclic() 887 &ctbr, src_addr, period_len); in stm32_mdma_prep_dma_cyclic() 893 &ctbr, dst_addr, period_len); in stm32_mdma_prep_dma_cyclic() 909 src_addr = buf_addr + i * period_len; in stm32_mdma_prep_dma_cyclic() 912 dst_addr += period_len; in stm32_mdma_prep_dma_cyclic() 842 stm32_mdma_prep_dma_cyclic(struct dma_chan *c, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) stm32_mdma_prep_dma_cyclic() argument [all...] |
/kernel/linux/linux-6.6/sound/soc/loongson/ |
H A D | loongson_dma.c | 143 size_t period_len = params_period_bytes(params); in loongson_pcm_hw_params() local 149 if (buf_len % period_len) { in loongson_pcm_hw_params() 154 num_periods = buf_len / period_len; in loongson_pcm_hw_params() 182 desc->length = period_len >> 2; in loongson_pcm_hw_params() 186 mem_addr += period_len; in loongson_pcm_hw_params()
|
/kernel/linux/linux-5.10/drivers/dma/sh/ |
H A D | shdma-base.c | 693 size_t period_len, enum dma_transfer_direction direction, in shdma_prep_dma_cyclic() 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() 720 "%s: bad parameter: buf_len=%zu, period_len=%zu, id=%d\n", 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() 691 shdma_prep_dma_cyclic( struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) shdma_prep_dma_cyclic() argument
|
/kernel/linux/linux-5.10/drivers/staging/ralink-gdma/ |
H A D | ralink-gdma.c | 606 size_t period_len, enum dma_transfer_direction direction, in gdma_dma_prep_dma_cyclic() 613 if (buf_len % period_len) in gdma_dma_prep_dma_cyclic() 616 if (period_len > GDMA_REG_CTRL0_TX_MASK) { in gdma_dma_prep_dma_cyclic() 618 period_len); in gdma_dma_prep_dma_cyclic() 622 num_periods = buf_len / period_len; in gdma_dma_prep_dma_cyclic() 640 desc->sg[i].len = period_len; in gdma_dma_prep_dma_cyclic() 641 buf_addr += period_len; in gdma_dma_prep_dma_cyclic() 604 gdma_dma_prep_dma_cyclic( struct dma_chan *c, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) gdma_dma_prep_dma_cyclic() argument
|
/kernel/linux/linux-6.6/drivers/dma/sh/ |
H A D | shdma-base.c | 693 size_t period_len, enum dma_transfer_direction direction, in shdma_prep_dma_cyclic() 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() 720 "%s: bad parameter: buf_len=%zu, period_len=%zu, id=%d\n", 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() 691 shdma_prep_dma_cyclic( struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags) shdma_prep_dma_cyclic() argument
|