dma40: combine duplicated code in log_sg_to_dev
Acked-by: Per Forlin <per.forlin@stericsson.com> Acked-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
parent
1c4b0927fe
commit
e24b36bdf8
1 changed files with 23 additions and 29 deletions
|
@ -385,40 +385,34 @@ int d40_log_sg_to_dev(struct scatterlist *sg,
|
|||
struct d40_log_lli *lli_dst = lli->dst;
|
||||
|
||||
for_each_sg(sg, current_sg, sg_len, i) {
|
||||
total_size += sg_dma_len(current_sg);
|
||||
dma_addr_t sg_addr = sg_dma_address(current_sg);
|
||||
unsigned int len = sg_dma_len(current_sg);
|
||||
dma_addr_t src;
|
||||
dma_addr_t dst;
|
||||
|
||||
total_size += len;
|
||||
|
||||
if (direction == DMA_TO_DEVICE) {
|
||||
lli_src =
|
||||
d40_log_buf_to_lli(lli_src,
|
||||
sg_dma_address(current_sg),
|
||||
sg_dma_len(current_sg),
|
||||
lcsp->lcsp1, src_data_width,
|
||||
dst_data_width,
|
||||
true);
|
||||
lli_dst =
|
||||
d40_log_buf_to_lli(lli_dst,
|
||||
dev_addr,
|
||||
sg_dma_len(current_sg),
|
||||
lcsp->lcsp3, dst_data_width,
|
||||
src_data_width,
|
||||
false);
|
||||
src = sg_addr;
|
||||
dst = dev_addr;
|
||||
} else {
|
||||
lli_dst =
|
||||
d40_log_buf_to_lli(lli_dst,
|
||||
sg_dma_address(current_sg),
|
||||
sg_dma_len(current_sg),
|
||||
lcsp->lcsp3, dst_data_width,
|
||||
src_data_width,
|
||||
true);
|
||||
lli_src =
|
||||
d40_log_buf_to_lli(lli_src,
|
||||
dev_addr,
|
||||
sg_dma_len(current_sg),
|
||||
lcsp->lcsp1, src_data_width,
|
||||
dst_data_width,
|
||||
false);
|
||||
src = dev_addr;
|
||||
dst = sg_addr;
|
||||
}
|
||||
|
||||
lli_src = d40_log_buf_to_lli(lli_src, src, len,
|
||||
lcsp->lcsp1,
|
||||
src_data_width,
|
||||
dst_data_width,
|
||||
src == sg_addr);
|
||||
|
||||
lli_dst = d40_log_buf_to_lli(lli_dst, dst, len,
|
||||
lcsp->lcsp3,
|
||||
dst_data_width,
|
||||
src_data_width,
|
||||
dst == sg_addr);
|
||||
}
|
||||
|
||||
return total_size;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue