-----Original Message-----
> Date: Tue, 3 Apr 2018 20:35:10 +0530
> From: Pavan Nikhilesh <[email protected]>
> To: [email protected], [email protected],
> [email protected]
> Cc: [email protected], Pavan Nikhilesh <[email protected]>
> Subject: [dpdk-dev] [PATCH v3 08/12] event/octeontx: add burst mode for
> timer arm
> X-Mailer: git-send-email 2.16.3
>
> Signed-off-by: Pavan Nikhilesh <[email protected]>
> ---
> drivers/event/octeontx/timvf_evdev.c | 1 +
> drivers/event/octeontx/timvf_evdev.h | 3 ++
> drivers/event/octeontx/timvf_worker.c | 38 ++++++++++++++
> drivers/event/octeontx/timvf_worker.h | 95
> +++++++++++++++++++++++++++++++++++
> 4 files changed, 137 insertions(+)
>
> diff --git a/drivers/event/octeontx/timvf_evdev.c
> b/drivers/event/octeontx/timvf_evdev.c
> index a32892107..b23500e0d 100644
> --- a/drivers/event/octeontx/timvf_evdev.c
> +++ b/drivers/event/octeontx/timvf_evdev.c
> @@ -333,6 +333,7 @@ timvf_timer_adapter_caps_get(const struct rte_eventdev
> *dev, uint64_t flags,
> else
> timvf_ops.arm_burst = timvf_timer_reg_burst_mp;
>
> + timvf_ops.arm_tmo_tick_burst = timvf_timer_reg_brst;
IMO, To inline with spec name, may we could use arm_burst/cancel_burst instead
of
reg_brst or unreg_burst.
> timvf_ops.cancel_burst = timvf_timer_unreg_burst;
>
> *caps = RTE_EVENT_TIMER_ADAPTER_CAP_INTERNAL_PORT;
> diff --git a/drivers/event/octeontx/timvf_evdev.h
> b/drivers/event/octeontx/timvf_evdev.h
> index ab2de678f..d8a6d111f 100644
> --- a/drivers/event/octeontx/timvf_evdev.h
> +++ b/drivers/event/octeontx/timvf_evdev.h
> @@ -200,6 +200,9 @@ uint16_t timvf_timer_reg_burst_sp(const struct
> rte_event_timer_adapter *adptr,
> struct rte_event_timer **tim, const uint16_t nb_timers);
> uint16_t timvf_timer_reg_burst_mp(const struct rte_event_timer_adapter
> *adptr,
> struct rte_event_timer **tim, const uint16_t nb_timers);
> +uint16_t timvf_timer_reg_brst(const struct rte_event_timer_adapter *adptr,
> + struct rte_event_timer **tim, const uint64_t timeout_tick,
> + const uint16_t nb_timers);
> void timvf_set_chunk_refill(struct timvf_ring * const timr);
>
> #endif /* __TIMVF_EVDEV_H__ */
> diff --git a/drivers/event/octeontx/timvf_worker.c
> b/drivers/event/octeontx/timvf_worker.c
> index 139dfdc07..f4f40d150 100644
> --- a/drivers/event/octeontx/timvf_worker.c
> +++ b/drivers/event/octeontx/timvf_worker.c
> @@ -113,6 +113,44 @@ timvf_timer_reg_burst_mp(const struct
> rte_event_timer_adapter *adptr,
> return index;
> }
>
> +/* Burst mode functions */
> +static inline int
> +timvf_add_entry_brst(struct timvf_ring * const timr, const uint16_t rel_bkt,
> + struct rte_event_timer ** const tim,
> + const struct tim_mem_entry *ents,
> + const uint16_t nb_timers)
> +{
> + int16_t rem;
> + int16_t crem = 0;
> + uint8_t lock_cnt;
> + uint16_t index = 0;
> + uint16_t chunk_remainder = 0;
Looks like above all assignments to 'zero' is unnecessary.