Lines Matching full:block
90 struct dma_block_config *block, LDMA_Descriptor_t *desc) in dma_silabs_block_to_descriptor() argument
94 if (block->dest_scatter_count || block->source_gather_count || in dma_silabs_block_to_descriptor()
95 block->source_gather_interval || block->dest_scatter_interval || in dma_silabs_block_to_descriptor()
96 block->dest_reload_en || block->source_reload_en) { in dma_silabs_block_to_descriptor()
100 if ((block->source_gather_en || block->dest_scatter_en) && config->block_count == 1) { in dma_silabs_block_to_descriptor()
122 if (block->block_size % config->source_data_size) { in dma_silabs_block_to_descriptor()
123 xfer_count = block->block_size / config->source_data_size; in dma_silabs_block_to_descriptor()
125 xfer_count = block->block_size / config->source_data_size - 1; in dma_silabs_block_to_descriptor()
146 * in the list (block for zephyr) in dma_silabs_block_to_descriptor()
150 desc->xfer.ignoreSrec = block->flow_control_mode; in dma_silabs_block_to_descriptor()
154 * to manage increment sign for each block desc which can't be done with in dma_silabs_block_to_descriptor()
155 * silabs LDMA. If increment sign is different in 2 block desc, then an in dma_silabs_block_to_descriptor()
158 if (block->source_addr_adj != DMA_ADDR_ADJ_NO_CHANGE && in dma_silabs_block_to_descriptor()
159 block->source_addr_adj != chan_conf->xfer_config.ldmaCfgSrcIncSign) { in dma_silabs_block_to_descriptor()
163 if (block->source_addr_adj == DMA_ADDR_ADJ_NO_CHANGE) { in dma_silabs_block_to_descriptor()
169 if (block->dest_addr_adj == DMA_ADDR_ADJ_NO_CHANGE) { in dma_silabs_block_to_descriptor()
178 if (block->source_address == 0) { in dma_silabs_block_to_descriptor()
181 if (block->dest_address == 0) { in dma_silabs_block_to_descriptor()
185 desc->xfer.srcAddr = block->source_address; in dma_silabs_block_to_descriptor()
186 desc->xfer.dstAddr = block->dest_address; in dma_silabs_block_to_descriptor()
217 struct dma_block_config *block = config->head_block; in dma_silabs_configure_descriptor() local
222 * block refers to user configured block (dma_block_config structure from dma.h) in dma_silabs_configure_descriptor()
223 * desc refers to driver configured block (LDMA_Descriptor_t structure from silabs in dma_silabs_configure_descriptor()
227 while (block) { in dma_silabs_configure_descriptor()
233 ret = dma_silabs_block_to_descriptor(config, chan_conf, block, desc); in dma_silabs_configure_descriptor()
247 block = block->next_block; in dma_silabs_configure_descriptor()
248 if (block == head_block) { in dma_silabs_configure_descriptor()
249 block = NULL; in dma_silabs_configure_descriptor()