aboutsummaryrefslogtreecommitdiff
path: root/platform
AgeCommit message (Collapse)Author
2015-09-30linux-generic: pktio: enable classifier only when neededPetri Savolainen
Packet input does not call packet_classifier function when there are no cos (pmr, default cos or l2/l3 table) set for the pktio interface. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Balasubramanian Manoharan <bala.manoharan@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-22linux-generic: odp_time: reutrn 0 if t2 = t1 for diffIvan Khoronzhuk
When times are equal the difference should be 0. Currently it's equal to UINT64_MAX and doesn't allow to compare ranges beginning from start time. The validation test to check it will be added later. Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-16linux-generic: odp_schedule: fix odp_schdule_wait_timeIvan Khoronzhuk
Depending on resolution, a low nsec value could be converted to 0 cycles, wich was specified as ODP_SCHED_WAIT and would instruct a schedule call to wait forever. Also ODP_SCHED_NO_WAIT corresponds to 1 tick, it's rarely but can wait a little, when shced time has slower rate. It should correspond to schedule only once. So, change ODP_SCHED_NO_WAIT to 0 and ODP_SCHED_NO_WAIT to UINT64_MAX. Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-14linux-generic: queue: direct internal enqueues to target queueBill Fischofer
Fix Bug https://bugs.linaro.org/show_bug.cgi?id=1803 by ensuring that enqueues are directed at a buffer's target rather than origin queue. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Nicolas Morey-Chaisemartin <nmorey@kalrey.eu> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-14linux-generic: queue: remove obsolete prototypesNicolas Morey-Chaisemartin
Signed-off-by: Nicolas Morey-Chaisemartin <nmorey@kalray.eu> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-14linux-generic: queue: fix pktout_enqueue() logicStuart Haslam
Fix inverted logic when checking the return value of pktout_enqueue. Signed-off-by: Stuart Haslam <stuart.haslam@linaro.org> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-08linux-generic: pktio: factor state management into packet_ioNicolas Morey-Chaisemartin
Actual check/changes of the pktio state is now done by the pktio global interface. Each pktio can still implement a start/stop function to do additional actions. Signed-off-by: Nicolas Morey-Chaisemartin <nmorey@kalray.eu> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-03linux-generic: general: add odp_forward_typedefs to resolve clang issueBill Fischofer
With the addition of ordered queues, there is a circular typedef relationship between odp_queue_internal.h and odp_buffer_internal.h. The standard forward declaration technique that GCC accepts is strictly not acceptable to C99 and is flagged by clang. The solution is to create a common header file that can contain these forward declarations. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Mike Holmes <mike.holmes@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-03linux-generic: schedule: fix race condition in ordered locksBill Fischofer
Correct race condition that arises due to attempt to permit ordered locks to be reusable. For now, ordered locks can only be used once per scheduled event. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-and-Tested-by: Maxim Uvarov <maxim.uvarov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-03linux-generic: queue: correct handling of reorder completionBill Fischofer
Fix a race condition that could cause events to be stuck in an ordered queue's reorder queue. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-and-Tested-by: Maxim Uvarov <maxim.uvarov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-03linux-generic: queue: prevent lookup of destroyed queuesBill Fischofer
odp_queue_lookup() should not be able to find queues in the transient state QUEUE_STATUS_DESTOYED Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-and-Tested-by: Maxim Uvarov <maxim.uvarov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-03linux-generic: queue: add destroy check for ordered queuesBill Fischofer
Ensure that the reorder queue associated with ordered queues is empty as part of odp_queue_destroy() processing Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-and-Tested-by: Maxim Uvarov <maxim.uvarov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-03linux-generic: schedule: streamline handling of event deq processingBill Fischofer
Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-and-Tested-by: Maxim Uvarov <maxim.uvarov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-03linux-generic: schedule: correct scheduling for ordered queuesBill Fischofer
Ordered queues must be rescheduled before caching context locally to avoid contaminating the scheduler poll queues with false ordering info. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-and-Tested-by: Maxim Uvarov <maxim.uvarov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-03linux-generic: schedule: correct schedule group handlingBill Fischofer
Correct the range check on odp_schedule_group_destroy() and the associated handling of scheduler group names. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-and-Tested-by: Maxim Uvarov <maxim.uvarov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-01linux-generic: queue: add missing release lock in release_order()Maxim Uvarov
schedule test can hang deadlock in due to missing spin unlock. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org>
2015-09-01linux-generic: schedule: implement ordered locksBill Fischofer
Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-01linux-generic: schedule: implement odp_schedule_prefetch()Bill Fischofer
Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-01linux-generic: queue: implement ordered queuesBill Fischofer
Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-01linux-generic: schedule: implement scheduler groupsBill Fischofer
Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-01linux-generic: schedule: rename ordered lock typedefBill Fischofer
Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-27linux-generic: default state for pktio is STOPMaxim Uvarov
After open pktio remains stopped. Inside worker thread (after all configuration done it should be started.) In that patch I just start it everywhere to keep original logic and be easy for review. Putting it inside worker threads will require thread arguments change and understanding logic of current app. It's better to do further changes in separate patches per app. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-27linux-generic: socket: implement pktio_start and pktio_stopMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-27linux-generic: socket mmap: implement pktio_start and pktio_stopMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-27linux-generic: loop: implement pktio_start and pktio_stopMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-27linux-generic: schedule pktin_poll: account pktio stop stateMaxim Uvarov
If pktio in state stop return 0, which means no packets was received but that pktio is good to be sheduled next time. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-27linux-generic: add pktio_start and pktio_stopMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-27Merge branch 'master' into api-nextMaxim Uvarov
2015-08-25scripts/git_hash: change repo to CUSTOM_STRAnders Roxell
other platforms should export CUSTOM_STR in their platform/<target>/Makefile.am Signed-off-by: Anders Roxell <anders.roxell@linaro.org> Reviewed-and-tested-by: Mike Holmes <mike.holmes@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-25scripts/git_hash: fix build from tar sourceAnders Roxell
Signed-off-by: Anders Roxell <anders.roxell@linaro.org> Reviewed-and-tested-by: Mike Holmes <mike.holmes@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-24linux-generic: pktio: always test loop interfaceStuart Haslam
Test using the loop interface even when running as root. Fixes bug: https://bugs.linaro.org/show_bug.cgi?id=1735 Signed-off-by: Stuart Haslam <stuart.haslam@linaro.org> Reviewed-and-tested-by: Mike Holmes <mike.holmes@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-18Merge branch 'master' into api-nextMaxim Uvarov
2015-08-18linux-generic: pktio: handle segmented packet in socket modeNicolas Morey-Chaisemartin
Fixes bug: https://bugs.linaro.org/show_bug.cgi?id=1670 Signed-off-by: Nicolas Morey-Chaisemartin <nmorey@kalray.eu> Reviewed-and-Tested-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-18linux-generic: pktio: remove basic socket implementationNicolas Morey-Chaisemartin
Signed-off-by: Nicolas Morey-Chaisemartin <nmorey@kalray.eu> Reviewed-and-Tested-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-12Merge branch 'master' into api-nextMaxim Uvarov
2015-08-12linux-generic: pktio: store errno correctly in setupStuart Haslam
errno must be stored immediately after the failure to avoid it being overwritten by the ODP_ERR() call. Signed-off-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-12linux-generic: move default cpumask functions to separate fileMaxim Uvarov
Keep functions which iterates with bit mask and more likely will not be accelerated by hw in odp_cpumask.c. And put functions for default cpu mask to odp_cpumask_task.c, which is more platform specific. That patch should simplify portability to other platforms when odp_cpumask.c will be inherit from linux generic. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Mike Holmes <mike.holmes@linaro.org>
2015-08-11Merge branch 'master' into api-nextMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Conflicts: example/timer/odp_timer_test.c
2015-08-11linux-generic: move openssl checks inside linux-genericMaxim Uvarov
openssl is not requirement for other platform. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Nicolas Morey-Chaisemartin <morey@kalray.eu> Reviewed-by: Anders Roxell <anders.roxell@linaro.org>
2015-08-11linux-generic: move pthread checks inside linux-genericMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Nicolas Morey-Chaisemartin <morey@kalray.eu> Reviewed-by: Anders Roxell <anders.roxell@linaro.org>
2015-08-11linux-generic: remove linux-generic makefile generation from common configure.acMaxim Uvarov
Platform is free to choose internal structure. No need to create Makefiles from common configure.ac. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Nicolas Morey-Chaisemartin <morey@kalray.eu> Reviewed-by: Anders Roxell <anders.roxell@linaro.org>
2015-08-07linux-generic: Makefile.am: fix basename conflictsAnders Roxell
Building generated this warning message: "copying selected object files to avoid basename conflicts..." Reported-by: Mile Holmes <mike.holmes@linaro.org> Signed-off-by: Anders Roxell <anders.roxell@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-07linux-generic: Makefile: add all arch to the tarballAnders Roxell
Reported-by: Maxim Uvarov <maxim.uvarov@linaro.org> Signed-off-by: Anders Roxell <anders.roxell@linaro.org> Reviewed-by: Mike Holmes <mike.holmes@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-07-29Merge branch 'master' into api-nextMaxim Uvarov
2015-07-28linux-generic: fix logic for calling pktio init and term functionsMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org>
2015-07-28linux-generic: pktio: add global init and term function for pktiosNicolas Morey-Chaisemartin
Each pktio type can now provide an optional init and term function to set and clean itself up. Signed-off-by: Nicolas Morey-Chaisemartin <nmorey@kalray.eu> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-07-28api: queue: rename queue context get/set for consistencyStuart Haslam
Rename queue context APIs to make them consistent with the naming of other getter and setter APIs. Signed-off-by: Stuart Haslam <stuart.haslam@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-07-27Merge branch 'master' into api-nextMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Conflicts: helper/test/odp_chksum.c include/odp/api/init.h platform/linux-generic/include/odp/plat/thrmask_types.h test/validation/cpumask/cpumask.h
2015-07-24linux-generic: pktio: remove _pkt suffix for open, close, recv and send ↵Nicolas Morey-Chaisemartin
pktio methods Unifies the format for all pktio_if_ops_t functions Signed-off-by: Nicolas Morey-Chaisemartin <nmorey@kalray.eu> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-07-23linux-generic: cpumask: zero mask before settingStuart Haslam
odp_cpumask_def_control() was neglecting to zero out the provided mask. Change-Id: I647632b0686d5bd059f7e81c630be7ebb3d081ab Signed-off-by: Stuart Haslam <stuart.haslam@linaro.org> Reviewed-by: Christophe Milard <christophe.milard@linaro.org>