projects
/
GitHub
/
moto-9609
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
2f27b81
)
dmaengine: pl330: do not emit loop for 1 byte transfer.
author
Michal Suchanek
<hramrach@gmail.com>
Thu, 23 Jul 2015 16:04:49 +0000
(18:04 +0200)
committer
Vinod Koul
<vinod.koul@intel.com>
Wed, 19 Aug 2015 16:41:46 +0000
(22:11 +0530)
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>
drivers/dma/pl330.c
patch
|
blob
|
blame
|
history
diff --git
a/drivers/dma/pl330.c
b/drivers/dma/pl330.c
index f513f77b1d85471ff0997f8d9f4755deca293621..257e0d90475a2fd024b6753937980f332a4c4e0d 100644
(file)
--- a/
drivers/dma/pl330.c
+++ b/
drivers/dma/pl330.c
@@
-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;