From: Kalle Valo <kvalo@qca.qualcomm.com>
To: Michal Kazior <michal.kazior@tieto.com>
Cc: linux-wireless@vger.kernel.org, ath10k@lists.infradead.org
Subject: Re: [PATCH v3 1/2] ath10k: handle cycle counter wraparound
Date: Fri, 22 May 2015 14:36:56 +0300 [thread overview]
Message-ID: <87zj4w4zdz.fsf@kamboji.qca.qualcomm.com> (raw)
In-Reply-To: <1432282693-4553-1-git-send-email-michal.kazior@tieto.com> (Michal Kazior's message of "Fri, 22 May 2015 10:18:12 +0200")
Michal Kazior <michal.kazior@tieto.com> writes:
> When QCA988X cycle counter HW register wraps
> around it resets to 0x7fffffff instead of 0. All
> other cycle counter related registers are divided
> by 2 so they never wraparound themselves. QCA61X4
> has a uniform CC and it wraparounds in a regular
> fashion though.
>
> Worst case wraparound time is approx 24 seconds
> (2**31 / 88MHz). Since scan channel visit times
> are max 5 seconds (offchannel case) it is
> guaranteed there's been at most 1 wraparound and
> it is possible to compute survey data.
>
> This fixes some occasional incorrect survey data
> on QCA988X as some channels (depending on how/when
> scan/offchannel requests were requested) would
> have approx 24 sec active time which wasn't
> actually the case.
>
> This should help make hostapd ACS more reliable.
>
> Reported-by: Srinivasa Duvvuri <sduvvuri@chromium.org>
> Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
[...]
> +void ath10k_core_get_cc_delta(struct ath10k *ar,
> + u32 *cc_delta, u32 *rcc_delta,
> + u32 cc, u32 rcc,
> + u32 cc_prev, u32 rcc_prev)
> +{
> + if (ar->hw_params.has_shifted_cc_wraparound && cc < cc_prev) {
> + cc_prev -= 0x7fffffff;
> + rcc *= 2;
> + }
> +
> + *cc_delta = cc - cc_prev;
> + *rcc_delta = rcc - rcc_prev;
> +}
Why do you have this function in core.c? Why not in wmi.c?
--
Kalle Valo
_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k
next prev parent reply other threads:[~2015-05-22 11:37 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-15 22:29 [PATCH v2] ath10k: handle cycle count wrap around Srinivasa Duvvuri
2015-05-18 12:05 ` Michal Kazior
2015-05-22 8:18 ` [PATCH v3 1/2] ath10k: handle cycle counter wraparound Michal Kazior
2015-05-22 8:18 ` [PATCH v3 2/2] ath10k: fix inconsistent survey reports Michal Kazior
2015-05-22 11:36 ` Kalle Valo [this message]
2015-05-22 11:56 ` [PATCH v3 1/2] ath10k: handle cycle counter wraparound Michal Kazior
2015-05-22 12:00 ` Michal Kazior
2015-05-22 12:12 ` Kalle Valo
[not found] ` <CACZoB6-+AUWN6gBqnwgJY101jfjBkDukLYNNffbe2bWNidjJ0Q@mail.gmail.com>
2015-05-25 8:23 ` Michal Kazior
2015-05-25 12:06 ` [PATCH v4 1/3] ath10k: move cycle_count macro Michal Kazior
2015-05-25 12:06 ` [PATCH v4 2/3] ath10k: handle cycle counter wraparound Michal Kazior
2015-05-25 12:06 ` [PATCH v4 3/3] ath10k: fix inconsistent survey reports Michal Kazior
2015-05-29 14:41 ` [PATCH v4 1/3] ath10k: move cycle_count macro Kalle Valo
2015-05-20 12:42 ` [PATCH v2] ath10k: handle cycle count wrap around Kalle Valo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87zj4w4zdz.fsf@kamboji.qca.qualcomm.com \
--to=kvalo@qca.qualcomm.com \
--cc=ath10k@lists.infradead.org \
--cc=linux-wireless@vger.kernel.org \
--cc=michal.kazior@tieto.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox