From 05d9e677a88993c13753d81e34f2e10f6350ef47 Mon Sep 17 00:00:00 2001 From: Ravi Joshi Date: Tue, 22 Nov 2016 17:31:46 -0800 Subject: [PATCH] qcacmn: Enable timer based polling for DP rings Enable timer based polling of the UMAC rings for Tx completion and Rx. (Interrupts are not yet ready on UMAC rings). (DP_INTR_POLL_BASED is defined through Kbuild) Also define the polling timer as 100 ms. Change-Id: I243f94c3d49a80005ef9eec8a9a6f03abc81870c CRs-Fixed: 1074199 --- dp/wifi3.0/dp_main.c | 4 +++- dp/wifi3.0/dp_types.h | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index 3c42f18e52bf..c107362d1976 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -30,6 +30,7 @@ #include "dp_rx.h" #include "../../wlan_cfg/wlan_cfg.h" +#define DP_INTR_POLL_TIMER_MS 100 /** * dp_setup_srng - Internal function to setup SRNG rings used by data path */ @@ -236,7 +237,8 @@ void dp_soc_interrupt_detach(void *txrx_soc) struct dp_soc *soc = (struct dp_soc *)txrx_soc; qdf_timer_stop(&soc->int_timer); - qdf_timer_detach(&soc->int_timer); + + /* TODO -- call timer detach? */ } #else /* diff --git a/dp/wifi3.0/dp_types.h b/dp/wifi3.0/dp_types.h index ab1763e3d461..c520b6ff7454 100644 --- a/dp/wifi3.0/dp_types.h +++ b/dp/wifi3.0/dp_types.h @@ -32,6 +32,7 @@ #endif #include + #define MAX_PDEV_CNT 3 #define MAX_LINK_DESC_BANKS 8 #define MAX_TXDESC_POOLS 4 @@ -424,6 +425,11 @@ struct dp_soc { /* Enable processing of Tx completion status words */ bool process_tx_status; + +#ifdef DP_INTR_POLL_BASED + /*interrupt timer*/ + qdf_timer_t int_timer; +#endif };