summaryrefslogtreecommitdiffstats
path: root/drivers/soc/fsl
diff options
context:
space:
mode:
authorIoana Ciocoi Radulescu2018-12-14 17:04:05 +0100
committerLi Yang2019-01-11 22:06:54 +0100
commitf1e250bf365962519c96a1255b2fe34b6c0d6c60 (patch)
treedcb0aecc6a476ade4441825c84c00ebfc2d804af /drivers/soc/fsl
parentbus: fsl-mc: automatically add a device_link on fsl_mc_[portal,object]_allocate (diff)
downloadkernel-qcow2-linux-f1e250bf365962519c96a1255b2fe34b6c0d6c60.tar.gz
kernel-qcow2-linux-f1e250bf365962519c96a1255b2fe34b6c0d6c60.tar.xz
kernel-qcow2-linux-f1e250bf365962519c96a1255b2fe34b6c0d6c60.zip
soc: fsl: dpio: Add prefetch instruction
In dpaa2_io_store_next(), if the current dequeue entry is not the last, prefetch the next one as most likely it will be requested shortly by the consumer driver. This brings a ~3% improvement for dpaa2 ethernet driver IP forwarding with small size frames. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: Li Yang <leoyang.li@nxp.com>
Diffstat (limited to 'drivers/soc/fsl')
-rw-r--r--drivers/soc/fsl/dpio/dpio-service.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/soc/fsl/dpio/dpio-service.c b/drivers/soc/fsl/dpio/dpio-service.c
index bc801934602a..5389336463c0 100644
--- a/drivers/soc/fsl/dpio/dpio-service.c
+++ b/drivers/soc/fsl/dpio/dpio-service.c
@@ -630,6 +630,7 @@ struct dpaa2_dq *dpaa2_io_store_next(struct dpaa2_io_store *s, int *is_last)
if (!(dpaa2_dq_flags(ret) & DPAA2_DQ_STAT_VALIDFRAME))
ret = NULL;
} else {
+ prefetch(&s->vaddr[s->idx]);
*is_last = 0;
}