aboutsummaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorIvan Khoronzhuk <ivan.khoronzhuk@linaro.org>2016-02-11 14:28:33 +0200
committerIvan Khoronzhuk <ivan.khoronzhuk@linaro.org>2016-02-11 15:40:24 +0200
commitb18cf6b3f03bafde73bce035a742b331df5346a3 (patch)
tree93c77a7a833e6ddacd256c8dd8e952288cd2fd6e /platform
parentf1fecf4050db21fa5a049b15591f75b192518c8a (diff)
linux-ks2: scheduler: add prescedule command just before loop
The first preschedule can take a while, so there is reason to call earlier. Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Diffstat (limited to 'platform')
-rw-r--r--platform/linux-keystone2/odp_schedule.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/platform/linux-keystone2/odp_schedule.c b/platform/linux-keystone2/odp_schedule.c
index 2cc01c73..712459a3 100644
--- a/platform/linux-keystone2/odp_schedule.c
+++ b/platform/linux-keystone2/odp_schedule.c
@@ -70,6 +70,7 @@ odp_event_t odp_schedule(odp_queue_t *out_queue, uint64_t wait)
em_queue_t em_queue = EM_QUEUE_UNDEF;
odp_event_t event = ODP_EVENT_INVALID;
+ ti_em_preschedule();
odp_pr_dbg("scheduling ....\n");
odp_schedule_release_atomic();
@@ -91,6 +92,7 @@ odp_event_t odp_schedule(odp_queue_t *out_queue, uint64_t wait)
*/
Osal_qmssConvertDescPhyToVirt(0, Osal_qmssVirtToPhy(
_odp_ev_to_cppi_desc(event)));
+
if (out_queue)
*out_queue = src_queue;
@@ -142,6 +144,7 @@ int odp_schedule_multi(odp_queue_t *out_queue, uint64_t wait,
em_queue_t em_queue = EM_QUEUE_UNDEF;
odp_event_t event = ODP_EVENT_INVALID;
+ ti_em_preschedule();
odp_pr_dbg("scheduling ....\n");
odp_schedule_release_atomic();
@@ -170,6 +173,7 @@ int odp_schedule_multi(odp_queue_t *out_queue, uint64_t wait,
*/
Osal_qmssConvertDescPhyToVirt(0, Osal_qmssVirtToPhy(
_odp_ev_to_cppi_desc(event)));
+
if (out_queue)
*out_queue = src_queue;