summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgaolez <gaolez@codeaurora.org>2018-03-28 15:04:13 +0800
committernshrivas <nshrivas@codeaurora.org>2018-04-11 02:30:21 -0700
commit8be4679f7006db6506a419c44bd383f11a9ff77c (patch)
treea0c66bdec4082c99e632677852953dade7977e84
parent08effe26002da74338940c7f02c2a1517af9d576 (diff)
qcacld-3.0: fix compatible issue for timestamping feature
qcacld-2.0 to qcacld-3.0 propagation Use qdf_do_div() for 64 bit division, because '/' can't be used for 64 bit division on arm32 platform. Change-Id: I19a1db8adbc1fe7acaee0ec824f670b67284f628 CRs-Fixed: 2155143
-rw-r--r--core/hdd/src/wlan_hdd_tsf.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/core/hdd/src/wlan_hdd_tsf.c b/core/hdd/src/wlan_hdd_tsf.c
index 5bacd90cf155..a11a6dc98ac9 100644
--- a/core/hdd/src/wlan_hdd_tsf.c
+++ b/core/hdd/src/wlan_hdd_tsf.c
@@ -282,9 +282,6 @@ static enum hdd_tsf_op_result hdd_indicate_tsf_internal(
*/
#define WLAN_HDD_CAPTURE_TSF_INTERVAL_SEC 10
#define WLAN_HDD_CAPTURE_TSF_INIT_INTERVAL_MS 100
-#define NORMAL_INTERVAL_TARGET \
- ((int64_t)((int64_t)WLAN_HDD_CAPTURE_TSF_INTERVAL_SEC * \
- NSEC_PER_SEC / HOST_TO_TARGET_TIME_RATIO))
#define OVERFLOW_INDICATOR32 (((int64_t)0x1) << 32)
#define CAP_TSF_TIMER_FIX_SEC 1
@@ -553,6 +550,7 @@ static inline int32_t hdd_get_hosttime_from_targettime(
int32_t ret = -EINVAL;
int64_t delta32_target;
bool in_cap_state;
+ int64_t normal_interval_target;
in_cap_state = hdd_tsf_is_in_cap(adapter);
@@ -567,11 +565,15 @@ static inline int32_t hdd_get_hosttime_from_targettime(
delta32_target = (int64_t)((target_time & U32_MAX) -
(adapter->last_target_time & U32_MAX));
+ normal_interval_target =
+ qdf_do_div(WLAN_HDD_CAPTURE_TSF_INTERVAL_SEC *
+ NSEC_PER_SEC, HOST_TO_TARGET_TIME_RATIO);
+
if (delta32_target <
- (NORMAL_INTERVAL_TARGET - OVERFLOW_INDICATOR32))
+ (normal_interval_target - OVERFLOW_INDICATOR32))
delta32_target += OVERFLOW_INDICATOR32;
else if (delta32_target >
- (OVERFLOW_INDICATOR32 - NORMAL_INTERVAL_TARGET))
+ (OVERFLOW_INDICATOR32 - normal_interval_target))
delta32_target -= OVERFLOW_INDICATOR32;
ret = hdd_64bit_plus(adapter->last_host_time,