diff options
| author | Anurag Chouhan <achouhan@codeaurora.org> | 2016-02-19 17:00:08 +0530 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-03-24 11:57:52 -0700 |
| commit | 754fbd8d95652b4186ee7fb2c23ebcf88ec83bfe (patch) | |
| tree | a4fe2f204f0b9c9f0ebe2255677f0b090811f856 | |
| parent | 512c7d5fcad7c938aaeecde23094b3afaaffc5e3 (diff) | |
qcacld-3.0: Add QDF timer API's
Replace CDF timer API's with QDF timer API's
Change-Id: I43aa23676ed893a7309135dec6a8b897b113f00e
CRs-Fixed: 981188
| -rw-r--r-- | core/cdf/inc/cdf_softirq_timer.h | 118 | ||||
| -rw-r--r-- | core/cdf/inc/osdep.h | 10 | ||||
| -rw-r--r-- | core/cdf/src/i_cdf_softirq_timer.h | 152 | ||||
| -rw-r--r-- | core/dp/htt/htt_rx.c | 12 | ||||
| -rw-r--r-- | core/dp/htt/htt_types.h | 4 | ||||
| -rw-r--r-- | core/dp/txrx/ol_rx_reorder_timeout.c | 10 | ||||
| -rw-r--r-- | core/dp/txrx/ol_tx.c | 12 | ||||
| -rw-r--r-- | core/dp/txrx/ol_tx_queue.c | 14 | ||||
| -rw-r--r-- | core/dp/txrx/ol_txrx.c | 14 | ||||
| -rw-r--r-- | core/dp/txrx/ol_txrx_types.h | 10 | ||||
| -rw-r--r-- | core/sap/dfs/inc/dfs.h | 2 | ||||
| -rw-r--r-- | core/utils/epping/inc/epping_internal.h | 2 | ||||
| -rw-r--r-- | core/utils/epping/src/epping_tx.c | 8 | ||||
| -rw-r--r-- | core/utils/epping/src/epping_txrx.c | 9 |
14 files changed, 54 insertions, 323 deletions
diff --git a/core/cdf/inc/cdf_softirq_timer.h b/core/cdf/inc/cdf_softirq_timer.h deleted file mode 100644 index d05a9509f59d..000000000000 --- a/core/cdf/inc/cdf_softirq_timer.h +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (c) 2014-2015 The Linux Foundation. All rights reserved. - * - * Previously licensed under the ISC license by Qualcomm Atheros, Inc. - * - * - * Permission to use, copy, modify, and/or distribute this software for - * any purpose with or without fee is hereby granted, provided that the - * above copyright notice and this permission notice appear in all - * copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -/* - * This file was originally distributed by Qualcomm Atheros, Inc. - * under proprietary terms before Copyright ownership was assigned - * to the Linux Foundation. - */ - -/** - * DOC: cdf_softirq_timer - * This file abstracts OS timers running in soft IRQ context. - */ - -#ifndef _CDF_SOFTIRQ_TIMER_H -#define _CDF_SOFTIRQ_TIMER_H - -#include <cdf_types.h> -#include <i_cdf_softirq_timer.h> - -/* Platform timer object */ -typedef __cdf_softirq_timer_t cdf_softirq_timer_t; - -/** - * cdf_softirq_timer_init() - initialize a softirq timer - * @hdl: OS handle - * @timer: Timer object pointer - * @func: Timer function - * @arg: Arguement of timer function - * @type: deferrable or non deferrable timer type - * - * Timer type CDF_TIMER_TYPE_SW means its a deferrable sw timer which will - * not cause CPU wake upon expiry - * Timer type CDF_TIMER_TYPE_WAKE_APPS means its a non-deferrable timer which - * will cause CPU wake up on expiry - * - * Return: none - */ -static inline void -cdf_softirq_timer_init(cdf_handle_t hdl, - cdf_softirq_timer_t *timer, - cdf_softirq_timer_func_t func, void *arg, - CDF_TIMER_TYPE type) -{ - __cdf_softirq_timer_init(hdl, timer, func, arg, type); -} - -/** - * cdf_softirq_timer_start() - start a one-shot softirq timer - * @timer: Timer object pointer - * @msec: Expiration period in milliseconds - * - * Return: none - */ -static inline void -cdf_softirq_timer_start(cdf_softirq_timer_t *timer, int msec) -{ - __cdf_softirq_timer_start(timer, msec); -} - -/** - * cdf_softirq_timer_mod() - modify existing timer to new timeout value - * @timer: Timer object pointer - * @msec: Expiration period in milliseconds - * - * Return: none - */ -static inline void cdf_softirq_timer_mod(cdf_softirq_timer_t *timer, int msec) -{ - __cdf_softirq_timer_mod(timer, msec); -} - -/** - * cdf_softirq_timer_cancel() - cancel cdf softirq timer - * @timer: Timer object pointer - * @retval: Timer was cancelled and deactived - * @retval: Timer was cancelled but already got fired. - * - * The function will return after any running timer completes. - * - * Return: none - */ -static inline bool cdf_softirq_timer_cancel(cdf_softirq_timer_t *timer) -{ - return __cdf_softirq_timer_cancel(timer); -} - -/** - * cdf_softirq_timer_free() - free cdf softirq timer - * @timer: Timer object pointer - * - * The function will return after any running timer completes. - * Return: none - */ -static inline void cdf_softirq_timer_free(cdf_softirq_timer_t *timer) -{ - __cdf_softirq_timer_free(timer); -} - -#endif diff --git a/core/cdf/inc/osdep.h b/core/cdf/inc/osdep.h index 6bb05f193bb7..e5bc0bf1ba46 100644 --- a/core/cdf/inc/osdep.h +++ b/core/cdf/inc/osdep.h @@ -32,7 +32,7 @@ #include <cdf_memory.h> #include <cdf_lock.h> #include <qdf_time.h> -#include <cdf_softirq_timer.h> +#include <qdf_timer.h> #include <qdf_defer.h> #include <cdf_nbuf.h> #include <cds_if_upperproto.h> @@ -282,13 +282,13 @@ static INLINE unsigned char *os_malloc(osdev_t pNicDev, (_arg) = (_type)(timer_arg) #define OS_INIT_TIMER(_osdev, _timer, _fn, _ctx, type) \ - cdf_softirq_timer_init(_osdev, _timer, _fn, _ctx, type) + qdf_timer_init(_osdev, _timer, _fn, _ctx, type) -#define OS_SET_TIMER(_timer, _ms) cdf_softirq_timer_mod(_timer, _ms) +#define OS_SET_TIMER(_timer, _ms) qdf_timer_mod(_timer, _ms) -#define OS_CANCEL_TIMER(_timer) cdf_softirq_timer_cancel(_timer) +#define OS_CANCEL_TIMER(_timer) qdf_timer_stop(_timer) -#define OS_FREE_TIMER(_timer) cdf_softirq_timer_cancel(_timer) +#define OS_FREE_TIMER(_timer) qdf_timer_stop(_timer) /* * These are required for network manager support diff --git a/core/cdf/src/i_cdf_softirq_timer.h b/core/cdf/src/i_cdf_softirq_timer.h deleted file mode 100644 index 14cc9fcd18c0..000000000000 --- a/core/cdf/src/i_cdf_softirq_timer.h +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Copyright (c) 2014-2015 The Linux Foundation. All rights reserved. - * - * Previously licensed under the ISC license by Qualcomm Atheros, Inc. - * - * - * Permission to use, copy, modify, and/or distribute this software for - * any purpose with or without fee is hereby granted, provided that the - * above copyright notice and this permission notice appear in all - * copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -/* - * This file was originally distributed by Qualcomm Atheros, Inc. - * under proprietary terms before Copyright ownership was assigned - * to the Linux Foundation. - */ - -#ifndef _I_CDF_SOFTIRQ_TIMER_H -#define _I_CDF_SOFTIRQ_TIMER_H - -#include <linux/version.h> -#include <linux/delay.h> -#include <linux/timer.h> -#include <linux/jiffies.h> -#include <cdf_types.h> - -/* timer data type */ -typedef struct timer_list __cdf_softirq_timer_t; - -/* ugly - but every other OS takes, sanely, a void */ - -typedef void (*cdf_dummy_timer_func_t)(unsigned long arg); - -/** - * __cdf_softirq_timer_init() - initialize a softirq timer - * @hdl: OS handle - * @timer: Pointer to timer object - * @func: Function pointer - * @arg: Arguement - * @type: deferrable or non deferrable timer type - * - * Timer type CDF_TIMER_TYPE_SW means its a deferrable sw timer which will - * not cause CPU wake upon expiry - * Timer type CDF_TIMER_TYPE_WAKE_APPS means its a non-deferrable timer which - * will cause CPU wake up on expiry - * - * Return: none - */ -static inline QDF_STATUS -__cdf_softirq_timer_init(cdf_handle_t hdl, - struct timer_list *timer, - cdf_softirq_timer_func_t func, void *arg, - CDF_TIMER_TYPE type) -{ - if (CDF_TIMER_TYPE_SW == type) - init_timer_deferrable(timer); - else - init_timer(timer); - timer->function = (cdf_dummy_timer_func_t) func; - timer->data = (unsigned long)arg; - - return QDF_STATUS_SUCCESS; -} - -/** - * __cdf_softirq_timer_start() - start a cdf softirq timer - * @timer: Pointer to timer object - * @delay: Delay in milli seconds - * - * Return: none - */ -static inline QDF_STATUS -__cdf_softirq_timer_start(struct timer_list *timer, uint32_t delay) -{ - timer->expires = jiffies + msecs_to_jiffies(delay); - add_timer(timer); - - return QDF_STATUS_SUCCESS; -} - -/** - * __cdf_softirq_timer_mod() - modify a timer - * @timer: Pointer to timer object - * @delay: Delay in milli seconds - * - * Return: none - */ -static inline QDF_STATUS -__cdf_softirq_timer_mod(struct timer_list *timer, uint32_t delay) -{ - mod_timer(timer, jiffies + msecs_to_jiffies(delay)); - - return QDF_STATUS_SUCCESS; -} - -/** - * __cdf_softirq_timer_cancel() - cancel a timer - * @timer: Pointer to timer object - * - * Return: true if timer was cancelled and deactived, - * false if timer was cancelled but already got fired. - */ -static inline bool __cdf_softirq_timer_cancel(struct timer_list *timer) -{ - if (likely(del_timer(timer))) - return 1; - else - return 0; -} - -/** - * __cdf_softirq_timer_free() - free a cdf timer - * @timer: Pointer to timer object - * - * Return: true if timer was cancelled and deactived, - * false if timer was cancelled but already got fired. - */ -static inline void __cdf_softirq_timer_free(struct timer_list *timer) -{ - del_timer_sync(timer); -} - -/** - * __cdf_sostirq_timer_sync_cancel() - Synchronously canel a timer - * @timer: Pointer to timer object - * - * Synchronization Rules: - * 1. caller must make sure timer function will not use - * cdf_softirq_set_timer to add iteself again. - * 2. caller must not hold any lock that timer function - * is likely to hold as well. - * 3. It can't be called from interrupt context. - * - * Return: true if timer was cancelled and deactived, - * false if timer was cancelled but already got fired. - */ -static inline bool __cdf_sostirq_timer_sync_cancel(struct timer_list *timer) -{ - return del_timer_sync(timer); -} - -#endif /*_ADF_OS_TIMER_PVT_H*/ diff --git a/core/dp/htt/htt_rx.c b/core/dp/htt/htt_rx.c index 191a567a267d..c1749877021f 100644 --- a/core/dp/htt/htt_rx.c +++ b/core/dp/htt/htt_rx.c @@ -42,7 +42,7 @@ #include <cdf_memory.h> /* cdf_mem_malloc,free, etc. */ #include <cdf_types.h> /* cdf_print, bool */ #include <cdf_nbuf.h> /* cdf_nbuf_t, etc. */ -#include <cdf_softirq_timer.h> /* cdf_softirq_timer_free */ +#include <qdf_timer.h> /* qdf_timer_free */ #include <htt.h> /* HTT_HL_RX_DESC_SIZE */ #include <ol_cfg.h> @@ -237,7 +237,7 @@ void htt_rx_ring_fill_n(struct htt_pdev_t *pdev, int num) cdf_nbuf_alloc(pdev->osdev, HTT_RX_BUF_SIZE, 0, 4, false); if (!rx_netbuf) { - cdf_softirq_timer_cancel(&pdev->rx_ring. + qdf_timer_stop(&pdev->rx_ring. refill_retry_timer); /* * Failed to fill it to the desired level - @@ -248,7 +248,7 @@ void htt_rx_ring_fill_n(struct htt_pdev_t *pdev, int num) #ifdef DEBUG_DMA_DONE pdev->rx_ring.dbg_refill_cnt++; #endif - cdf_softirq_timer_start( + qdf_timer_start( &pdev->rx_ring.refill_retry_timer, HTT_RX_RING_REFILL_RETRY_TIME_MS); goto fail; @@ -342,8 +342,8 @@ unsigned int htt_rx_in_order_ring_elems(struct htt_pdev_t *pdev) void htt_rx_detach(struct htt_pdev_t *pdev) { - cdf_softirq_timer_cancel(&pdev->rx_ring.refill_retry_timer); - cdf_softirq_timer_free(&pdev->rx_ring.refill_retry_timer); + qdf_timer_stop(&pdev->rx_ring.refill_retry_timer); + qdf_timer_free(&pdev->rx_ring.refill_retry_timer); if (pdev->cfg.is_full_reorder_offload) { cdf_os_mem_free_consistent(pdev->osdev, @@ -2208,7 +2208,7 @@ int htt_rx_attach(struct htt_pdev_t *pdev) qdf_atomic_inc(&pdev->rx_ring.refill_ref_cnt); /* Initialize the Rx refill retry timer */ - cdf_softirq_timer_init(pdev->osdev, + qdf_timer_init(pdev->osdev, &pdev->rx_ring.refill_retry_timer, htt_rx_ring_refill_retry, (void *)pdev, CDF_TIMER_TYPE_SW); diff --git a/core/dp/htt/htt_types.h b/core/dp/htt/htt_types.h index e3229809f266..68a937c31157 100644 --- a/core/dp/htt/htt_types.h +++ b/core/dp/htt/htt_types.h @@ -31,7 +31,7 @@ #include <osdep.h> /* uint16_t, dma_addr_t */ #include <cdf_types.h> /* cdf_device_t */ #include <cdf_lock.h> /* cdf_spinlock_t */ -#include <cdf_softirq_timer.h> /* cdf_softirq_timer_t */ +#include <qdf_timer.h> /* qdf_timer_t */ #include <qdf_atomic.h> /* qdf_atomic_inc */ #include <cdf_nbuf.h> /* cdf_nbuf_t */ #include <htc_api.h> /* HTC_PACKET */ @@ -324,7 +324,7 @@ struct htt_pdev_t { * refill_retry_timer - timer triggered when the ring is not * refilled to the level expected */ - cdf_softirq_timer_t refill_retry_timer; + qdf_timer_t refill_retry_timer; /* * refill_ref_cnt - ref cnt for Rx buffer replenishment - this diff --git a/core/dp/txrx/ol_rx_reorder_timeout.c b/core/dp/txrx/ol_rx_reorder_timeout.c index f4e80775877e..f908bd65b9b2 100644 --- a/core/dp/txrx/ol_rx_reorder_timeout.c +++ b/core/dp/txrx/ol_rx_reorder_timeout.c @@ -28,7 +28,7 @@ /*=== header file includes ===*/ /* generic utilities */ #include <cdf_nbuf.h> /* cdf_nbuf_t, etc. */ -#include <cdf_softirq_timer.h> +#include <qdf_timer.h> #include <qdf_time.h> /* datapath internal interfaces */ @@ -68,7 +68,7 @@ ol_rx_reorder_timeout_start(struct ol_tx_reorder_cat_timeout_t list_elem = TAILQ_FIRST(&rx_reorder_timeout_ac->virtual_timer_list); duration_ms = list_elem->timestamp_ms - time_now_ms; - cdf_softirq_timer_start(&rx_reorder_timeout_ac->timer, duration_ms); + qdf_timer_start(&rx_reorder_timeout_ac->timer, duration_ms); } static inline void @@ -178,7 +178,7 @@ void ol_rx_reorder_timeout_init(struct ol_txrx_pdev_t *pdev) rx_reorder_timeout_ac = &pdev->rx.reorder_timeout.access_cats[i]; /* init the per-AC timers */ - cdf_softirq_timer_init(pdev->osdev, + qdf_timer_init(pdev->osdev, &rx_reorder_timeout_ac->timer, ol_rx_reorder_timeout, rx_reorder_timeout_ac); @@ -211,8 +211,8 @@ void ol_rx_reorder_timeout_cleanup(struct ol_txrx_pdev_t *pdev) struct ol_tx_reorder_cat_timeout_t *rx_reorder_timeout_ac; rx_reorder_timeout_ac = &pdev->rx.reorder_timeout.access_cats[i]; - cdf_softirq_timer_cancel(&rx_reorder_timeout_ac->timer); - cdf_softirq_timer_free(&rx_reorder_timeout_ac->timer); + qdf_timer_stop(&rx_reorder_timeout_ac->timer); + qdf_timer_free(&rx_reorder_timeout_ac->timer); } } diff --git a/core/dp/txrx/ol_tx.c b/core/dp/txrx/ol_tx.c index 3ab78276c228..3ac0976aac65 100644 --- a/core/dp/txrx/ol_tx.c +++ b/core/dp/txrx/ol_tx.c @@ -806,8 +806,8 @@ static void ol_tx_vdev_ll_pause_queue_send_base(struct ol_txrx_vdev_t *vdev) } } if (vdev->ll_pause.txq.depth) { - cdf_softirq_timer_cancel(&vdev->ll_pause.timer); - cdf_softirq_timer_start(&vdev->ll_pause.timer, + qdf_timer_stop(&vdev->ll_pause.timer); + qdf_timer_start(&vdev->ll_pause.timer, OL_TX_VDEV_PAUSE_QUEUE_SEND_PERIOD_MS); vdev->ll_pause.is_q_timer_on = true; if (vdev->ll_pause.txq.depth >= vdev->ll_pause.max_q_depth) @@ -846,8 +846,8 @@ ol_tx_vdev_pause_queue_append(struct ol_txrx_vdev_t *vdev, cdf_nbuf_set_next(vdev->ll_pause.txq.tail, NULL); if (start_timer) { - cdf_softirq_timer_cancel(&vdev->ll_pause.timer); - cdf_softirq_timer_start(&vdev->ll_pause.timer, + qdf_timer_stop(&vdev->ll_pause.timer); + qdf_timer_start(&vdev->ll_pause.timer, OL_TX_VDEV_PAUSE_QUEUE_SEND_PERIOD_MS); vdev->ll_pause.is_q_timer_on = true; } @@ -995,8 +995,8 @@ void ol_tx_pdev_ll_pause_queue_send_all(struct ol_txrx_pdev_t *pdev) TAILQ_FOREACH(vdev, &pdev->vdev_list, vdev_list_elem) { cdf_spin_lock_bh(&vdev->ll_pause.mutex); if (vdev->ll_pause.txq.depth) { - cdf_softirq_timer_cancel(&pdev->tx_throttle.tx_timer); - cdf_softirq_timer_start( + qdf_timer_stop(&pdev->tx_throttle.tx_timer); + qdf_timer_start( &pdev->tx_throttle.tx_timer, OL_TX_VDEV_PAUSE_QUEUE_SEND_PERIOD_MS); cdf_spin_unlock_bh(&vdev->ll_pause.mutex); diff --git a/core/dp/txrx/ol_tx_queue.c b/core/dp/txrx/ol_tx_queue.c index 9ff8fcdfbe11..b60789c16fe3 100644 --- a/core/dp/txrx/ol_tx_queue.c +++ b/core/dp/txrx/ol_tx_queue.c @@ -88,7 +88,7 @@ void ol_txrx_vdev_unpause(ol_txrx_vdev_handle vdev, uint32_t reason) void ol_txrx_vdev_flush(ol_txrx_vdev_handle vdev) { cdf_spin_lock_bh(&vdev->ll_pause.mutex); - cdf_softirq_timer_cancel(&vdev->ll_pause.timer); + qdf_timer_stop(&vdev->ll_pause.timer); vdev->ll_pause.is_q_timer_on = false; while (vdev->ll_pause.txq.head) { cdf_nbuf_t next = @@ -310,7 +310,7 @@ void ol_tx_pdev_throttle_phase_timer(void *context) THROTTLE_LEVEL_0) { TXRX_PRINT(TXRX_PRINT_LEVEL_WARN, "start timer %d ms\n", ms); - cdf_softirq_timer_start(&pdev->tx_throttle. + qdf_timer_start(&pdev->tx_throttle. phase_timer, ms); } } else { @@ -325,7 +325,7 @@ void ol_tx_pdev_throttle_phase_timer(void *context) THROTTLE_LEVEL_0) { TXRX_PRINT(TXRX_PRINT_LEVEL_WARN, "start timer %d ms\n", ms); - cdf_softirq_timer_start(&pdev->tx_throttle.phase_timer, + qdf_timer_start(&pdev->tx_throttle.phase_timer, ms); } } @@ -363,10 +363,10 @@ void ol_tx_throttle_set_level(struct ol_txrx_pdev_t *pdev, int level) ms = pdev->tx_throttle. throttle_time_ms[level][THROTTLE_PHASE_OFF]; - cdf_softirq_timer_cancel(&pdev->tx_throttle.phase_timer); + qdf_timer_stop(&pdev->tx_throttle.phase_timer); if (level != THROTTLE_LEVEL_0) - cdf_softirq_timer_start(&pdev->tx_throttle.phase_timer, ms); + qdf_timer_start(&pdev->tx_throttle.phase_timer, ms); } /* This table stores the duty cycle for each level. @@ -411,13 +411,13 @@ void ol_tx_throttle_init(struct ol_txrx_pdev_t *pdev) ol_tx_throttle_init_period(pdev, throttle_period); - cdf_softirq_timer_init(pdev->osdev, + qdf_timer_init(pdev->osdev, &pdev->tx_throttle.phase_timer, ol_tx_pdev_throttle_phase_timer, pdev, CDF_TIMER_TYPE_SW); #ifdef QCA_LL_LEGACY_TX_FLOW_CONTROL - cdf_softirq_timer_init(pdev->osdev, + qdf_timer_init(pdev->osdev, &pdev->tx_throttle.tx_timer, ol_tx_pdev_throttle_tx_timer, pdev, CDF_TIMER_TYPE_SW); diff --git a/core/dp/txrx/ol_txrx.c b/core/dp/txrx/ol_txrx.c index 3f4ee5eb9a4f..6dbf31c04b7e 100644 --- a/core/dp/txrx/ol_txrx.c +++ b/core/dp/txrx/ol_txrx.c @@ -979,11 +979,11 @@ void ol_txrx_pdev_detach(ol_txrx_pdev_handle pdev, int force) OL_RX_REORDER_TIMEOUT_CLEANUP(pdev); #ifdef QCA_SUPPORT_TX_THROTTLE /* Thermal Mitigation */ - cdf_softirq_timer_cancel(&pdev->tx_throttle.phase_timer); - cdf_softirq_timer_free(&pdev->tx_throttle.phase_timer); + qdf_timer_stop(&pdev->tx_throttle.phase_timer); + qdf_timer_free(&pdev->tx_throttle.phase_timer); #ifdef QCA_LL_LEGACY_TX_FLOW_CONTROL - cdf_softirq_timer_cancel(&pdev->tx_throttle.tx_timer); - cdf_softirq_timer_free(&pdev->tx_throttle.tx_timer); + qdf_timer_stop(&pdev->tx_throttle.tx_timer); + qdf_timer_free(&pdev->tx_throttle.tx_timer); #endif #endif ol_tso_seg_list_deinit(pdev); @@ -1108,7 +1108,7 @@ ol_txrx_vdev_attach(ol_txrx_pdev_handle pdev, vdev->ll_pause.paused_reason = 0; vdev->ll_pause.txq.head = vdev->ll_pause.txq.tail = NULL; vdev->ll_pause.txq.depth = 0; - cdf_softirq_timer_init(pdev->osdev, + qdf_timer_init(pdev->osdev, &vdev->ll_pause.timer, ol_tx_vdev_ll_pause_queue_send, vdev, CDF_TIMER_TYPE_SW); @@ -1186,8 +1186,8 @@ ol_txrx_vdev_detach(ol_txrx_vdev_handle vdev, TXRX_ASSERT2(vdev); cdf_spin_lock_bh(&vdev->ll_pause.mutex); - cdf_softirq_timer_cancel(&vdev->ll_pause.timer); - cdf_softirq_timer_free(&vdev->ll_pause.timer); + qdf_timer_stop(&vdev->ll_pause.timer); + qdf_timer_free(&vdev->ll_pause.timer); vdev->ll_pause.is_q_timer_on = false; while (vdev->ll_pause.txq.head) { cdf_nbuf_t next = cdf_nbuf_next(vdev->ll_pause.txq.head); diff --git a/core/dp/txrx/ol_txrx_types.h b/core/dp/txrx/ol_txrx_types.h index 7c0bc80817a9..9f5e7fbf5ea2 100644 --- a/core/dp/txrx/ol_txrx_types.h +++ b/core/dp/txrx/ol_txrx_types.h @@ -39,7 +39,7 @@ #include <htt.h> /* htt_sec_type, htt_pkt_type, etc. */ #include <qdf_atomic.h> /* qdf_atomic_t */ #include <wdi_event_api.h> /* wdi_event_subscribe */ -#include <cdf_softirq_timer.h> /* cdf_softirq_timer_t */ +#include <qdf_timer.h> /* qdf_timer_t */ #include <cdf_lock.h> /* cdf_spinlock */ #include <pktlog.h> /* ol_pktlog_dev_handle */ #include <ol_txrx_stats.h> @@ -202,7 +202,7 @@ struct ol_rx_reorder_timeout_list_elem_t { struct ol_tx_reorder_cat_timeout_t { TAILQ_HEAD(, ol_rx_reorder_timeout_list_elem_t) virtual_timer_list; - cdf_softirq_timer_t timer; + qdf_timer_t timer; uint32_t duration_ms; struct ol_txrx_pdev_t *pdev; }; @@ -729,9 +729,9 @@ struct ol_txrx_pdev_t { cdf_spinlock_t mutex; /* timer used to monitor the throttle "on" phase and "off" phase */ - cdf_softirq_timer_t phase_timer; + qdf_timer_t phase_timer; /* timer used to send tx frames */ - cdf_softirq_timer_t tx_timer; + qdf_timer_t tx_timer; /* This is the time in ms of the throttling window, it will * include an "on" phase and an "off" phase */ uint32_t throttle_period_ms; @@ -833,7 +833,7 @@ struct ol_txrx_vdev_t { } txq; uint32_t paused_reason; cdf_spinlock_t mutex; - cdf_softirq_timer_t timer; + qdf_timer_t timer; int max_q_depth; bool is_q_paused; bool is_q_timer_on; diff --git a/core/sap/dfs/inc/dfs.h b/core/sap/dfs/inc/dfs.h index e65543fbf519..6516e15aa9ec 100644 --- a/core/sap/dfs/inc/dfs.h +++ b/core/sap/dfs/inc/dfs.h @@ -54,7 +54,7 @@ #include <cdf_lock.h> /* cdf_spinlock */ #include <cds_queue.h> /* TAILQ */ #include <qdf_time.h> -#include <cdf_softirq_timer.h> +#include <qdf_timer.h> #include <cdf_memory.h> #include <osdep.h> /*DFS Utility Include END*/ diff --git a/core/utils/epping/inc/epping_internal.h b/core/utils/epping/inc/epping_internal.h index 2e03fd50a9f1..2675c703dcd0 100644 --- a/core/utils/epping/inc/epping_internal.h +++ b/core/utils/epping/inc/epping_internal.h @@ -143,7 +143,7 @@ typedef struct epping_adapter_s { /* for mboxping */ cdf_spinlock_t data_lock; cdf_nbuf_queue_t nodrop_queue; - cdf_softirq_timer_t epping_timer; + qdf_timer_t epping_timer; epping_tx_timer_state_t epping_timer_state; bool registered; bool started; diff --git a/core/utils/epping/src/epping_tx.c b/core/utils/epping/src/epping_tx.c index 38489b25ff82..a1f0f4e3feab 100644 --- a/core/utils/epping/src/epping_tx.c +++ b/core/utils/epping/src/epping_tx.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014-2015 The Linux Foundation. All rights reserved. + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -53,7 +53,7 @@ #define TX_RETRY_TIMEOUT_IN_MS 1 -static bool enb_tx_dump = 0; +static bool enb_tx_dump; void epping_tx_dup_pkt(epping_adapter_t *pAdapter, HTC_ENDPOINT_ID eid, cdf_nbuf_t skb) @@ -204,7 +204,7 @@ void epping_tx_timer_expire(epping_adapter_t *pAdapter) /* if nodrop queue is not empty, continue to arm timer */ if (pAdapter->epping_timer_state != EPPING_TX_TIMER_RUNNING) { pAdapter->epping_timer_state = EPPING_TX_TIMER_RUNNING; - cdf_softirq_timer_mod(&pAdapter->epping_timer, + qdf_timer_mod(&pAdapter->epping_timer, TX_RETRY_TIMEOUT_IN_MS); } cdf_spin_unlock_bh(&pAdapter->data_lock); @@ -291,7 +291,7 @@ tx_fail: cdf_spin_lock_bh(&pAdapter->data_lock); if (pAdapter->epping_timer_state != EPPING_TX_TIMER_RUNNING) { pAdapter->epping_timer_state = EPPING_TX_TIMER_RUNNING; - cdf_softirq_timer_mod(&pAdapter->epping_timer, + qdf_timer_mod(&pAdapter->epping_timer, TX_RETRY_TIMEOUT_IN_MS); } cdf_spin_unlock_bh(&pAdapter->data_lock); diff --git a/core/utils/epping/src/epping_txrx.c b/core/utils/epping/src/epping_txrx.c index f3a3101eefcc..d703ac9c4e13 100644 --- a/core/utils/epping/src/epping_txrx.c +++ b/core/utils/epping/src/epping_txrx.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014-2015 The Linux Foundation. All rights reserved. + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -267,7 +267,8 @@ static int epping_register_adapter(epping_adapter_t *pAdapter) { int ret = 0; - if ((ret = register_netdev(pAdapter->dev)) != 0) { + ret = register_netdev(pAdapter->dev); + if (ret != 0) { EPPING_LOG(CDF_TRACE_LEVEL_FATAL, "%s: unable to register device\n", pAdapter->dev->name); @@ -308,7 +309,7 @@ void epping_destroy_adapter(epping_adapter_t *pAdapter) epping_unregister_adapter(pAdapter); cdf_spinlock_destroy(&pAdapter->data_lock); - cdf_softirq_timer_free(&pAdapter->epping_timer); + qdf_timer_free(&pAdapter->epping_timer); pAdapter->epping_timer_state = EPPING_TX_TIMER_STOPPED; while (cdf_nbuf_queue_len(&pAdapter->nodrop_queue)) { @@ -369,7 +370,7 @@ epping_adapter_t *epping_add_adapter(epping_context_t *pEpping_ctx, cdf_spinlock_init(&pAdapter->data_lock); cdf_nbuf_queue_init(&pAdapter->nodrop_queue); pAdapter->epping_timer_state = EPPING_TX_TIMER_STOPPED; - cdf_softirq_timer_init(epping_get_cdf_ctx(), &pAdapter->epping_timer, + qdf_timer_init(epping_get_cdf_ctx(), &pAdapter->epping_timer, epping_timer_expire, dev, CDF_TIMER_TYPE_SW); dev->type = ARPHRD_IEEE80211; dev->netdev_ops = &epping_drv_ops; |
