[dpdk-dev] [PATCH v3 08/12] event/octeontx: add burst mode for timer arm
Jerin Jacob
jerin.jacob at caviumnetworks.com
Sun Apr 8 10:06:16 CEST 2018
-----Original Message-----
> Date: Tue, 3 Apr 2018 20:35:10 +0530
> From: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
> To: jerin.jacob at caviumnetworks.com, santosh.shukla at caviumnetworks.com,
> erik.g.carrillo at intel.com
> Cc: dev at dpdk.org, Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
> 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 <pbhagavatula at caviumnetworks.com>
> ---
> 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.
More information about the dev
mailing list