[dpdk-dev] [PATCH v3 00/12] event/octeontx: add event timer adapter driver
Pavan Nikhilesh
pbhagavatula at caviumnetworks.com
Tue Apr 3 17:05:02 CEST 2018
The event timer adapter[1] provides APIs to configure an event timer device
that allows an application to arm timers which on expiry push events to an
event device such as OcteonTx SSO.
The OcteonTx TIM is a co-processor that can be configured as an event timer
adapter which can be used by an application to manage event timers.
The TIM co-processor processes the event timers registered and pushes
expired event timers to SSO based on the event queue, schedule type, flow
id etc. provided as rte_event while arming the event timer. It maintains
event timers with high precision and time granularity of 1us (microsecond).
[1] http://dpdk.org/dev/patchwork/patch/33525/
This patch set depends on:
1. http://dpdk.org/dev/patchwork/bundle/pbhagavatula/event_timerdev_v9
2. http://dpdk.org/dev/patchwork/patch/35216/
3. http://dpdk.org/dev/patchwork/patch/36089/
v3 Changes:
- change datapath function return from int to uint16_t.
- Add missing state checks while arm/cancel.
- add stats.
v2 Changes:
- Move common code changes to separate patches.
- Reduce ifdef clutter.
- fix improper return value (erik).
- remove redundent ops assignment (erik).
- update octeontx documentation.
Pavan Nikhilesh (12):
mempool/octeontx: probe timvf PCIe devices
usertools: add Cavium TIM as an event device
event/octeontx: add support to create and free timer adapter
event/octeontx: add support to start and stop timer device
event/octeontx: add event timer stats get and reset
event/octeontx: add multiproducer timer arm and cancel
event/octeontx: add single producer timer arm variant
event/octeontx: add burst mode for timer arm
event/octeontx: optimize timer adapter resolution parameters
event/octeontx: add option to use fpavf as chunk pool
doc: update eventdev OcteonTx documentation
maintainers: claim responsibility for octeontx timvf
MAINTAINERS | 4 +
doc/guides/eventdevs/octeontx.rst | 9 +
drivers/event/octeontx/Makefile | 7 +
drivers/event/octeontx/meson.build | 4 +-
drivers/event/octeontx/ssovf_evdev.c | 3 +
drivers/event/octeontx/timvf_evdev.c | 408 +++++++++++++++++++
drivers/event/octeontx/timvf_evdev.h | 215 ++++++++++
drivers/event/octeontx/timvf_worker.c | 161 ++++++++
drivers/event/octeontx/timvf_worker.h | 445 +++++++++++++++++++++
drivers/mempool/octeontx/Makefile | 1 +
drivers/mempool/octeontx/meson.build | 1 +
drivers/mempool/octeontx/octeontx_mbox.h | 7 +
drivers/mempool/octeontx/octeontx_timvf.c | 145 +++++++
.../octeontx/rte_mempool_octeontx_version.map | 3 +
usertools/dpdk-devbind.py | 4 +-
15 files changed, 1415 insertions(+), 2 deletions(-)
create mode 100644 drivers/event/octeontx/timvf_evdev.c
create mode 100644 drivers/event/octeontx/timvf_evdev.h
create mode 100644 drivers/event/octeontx/timvf_worker.c
create mode 100644 drivers/event/octeontx/timvf_worker.h
create mode 100644 drivers/mempool/octeontx/octeontx_timvf.c
--
2.16.3
More information about the dev
mailing list