Skip to content

Commit be4054b

Browse files
Peter Ujfalusivinodkoul
authored andcommitted
dmaengine: ti: k3-udma: Fix TR mode flags for slave_sg and memcpy
cppi5_tr_csf_set() clears previously set Configuration Specific Flags. Setting the EOP flag clears the SUPR_EVT flag for the last TR which is not desirable as we do not want to have events from the TR. Signed-off-by: Peter Ujfalusi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Vinod Koul <[email protected]>
1 parent ee63fab commit be4054b

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

drivers/dma/ti/k3-udma.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2156,7 +2156,8 @@ udma_prep_slave_sg_tr(struct udma_chan *uc, struct scatterlist *sgl,
21562156
d->residue += sg_dma_len(sgent);
21572157
}
21582158

2159-
cppi5_tr_csf_set(&tr_req[tr_idx - 1].flags, CPPI5_TR_CSF_EOP);
2159+
cppi5_tr_csf_set(&tr_req[tr_idx - 1].flags,
2160+
CPPI5_TR_CSF_SUPR_EVT | CPPI5_TR_CSF_EOP);
21602161

21612162
return d;
21622163
}
@@ -2733,7 +2734,8 @@ udma_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dest, dma_addr_t src,
27332734
tr_req[1].dicnt3 = 1;
27342735
}
27352736

2736-
cppi5_tr_csf_set(&tr_req[num_tr - 1].flags, CPPI5_TR_CSF_EOP);
2737+
cppi5_tr_csf_set(&tr_req[num_tr - 1].flags,
2738+
CPPI5_TR_CSF_SUPR_EVT | CPPI5_TR_CSF_EOP);
27372739

27382740
if (uc->config.metadata_size)
27392741
d->vd.tx.metadata_ops = &metadata_ops;

0 commit comments

Comments
 (0)