dmaengine: pl330: do not emit loop for 1 byte transfer.
When there is only one burst required do not emit loop instructions to loop exactly once. Emit just the body of the loop. Signed-off-by: Michal Suchanek <hramrach@gmail.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
parent
2f27b81c0e
commit
31495d60a0
@ -1198,6 +1198,9 @@ static inline int _loop(unsigned dry_run, u8 buf[],
|
||||
unsigned lcnt0, lcnt1, ljmp0, ljmp1;
|
||||
struct _arg_LPEND lpend;
|
||||
|
||||
if (*bursts == 1)
|
||||
return _bursts(dry_run, buf, pxs, 1);
|
||||
|
||||
/* Max iterations possible in DMALP is 256 */
|
||||
if (*bursts >= 256*256) {
|
||||
lcnt1 = 256;
|
||||
|
Loading…
Reference in New Issue
Block a user