From: Felix Fietkau <nbd@openwrt.org>
To: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Cc: linville@tuxdriver.com, linux-wireless@vger.kernel.org
Subject: Re: [PATCH] ath9k_hw: Update IFS parameters properly
Date: Sun, 28 Aug 2011 01:28:15 +0200 [thread overview]
Message-ID: <4E597D8F.4050506@openwrt.org> (raw)
In-Reply-To: <1314436569-6855-1-git-send-email-rmanohar@qca.qualcomm.com>
On 2011-08-27 11:16 AM, Rajkumar Manoharan wrote:
> Configure IFS parameters read from chip in case of
> full rate channel and non-AR9287 v1.3+. And also
> read the ack and cts timeouts from chip and increase the
> timeout when coverage class is defined. For half/Quarter
> rate channel, IFS values needs to be reconfigured.
> This patch removes the 2GHz workaround done for
> acktimeout(64 us) because of reading acktime from chip.
> The mentioned IFS parameters for AR9287 v1.3+ was
> verified in HT40 2-chanin mode.
>
> Signed-off-by: Rajkumar Manoharan<rmanohar@qca.qualcomm.com>
> ---
> drivers/net/wireless/ath/ath9k/hw.c | 30 +++++++++++++++++-------------
> 1 files changed, 17 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
> index 284d2a4..de31f2b 100644
> --- a/drivers/net/wireless/ath/ath9k/hw.c
> +++ b/drivers/net/wireless/ath/ath9k/hw.c
> @@ -958,11 +958,11 @@ static bool ath9k_hw_set_global_txtimeout(struct ath_hw *ah, u32 tu)
> void ath9k_hw_init_global_settings(struct ath_hw *ah)
> {
> struct ath_common *common = ath9k_hw_common(ah);
> - struct ieee80211_conf *conf =&common->hw->conf;
> const struct ath9k_channel *chan = ah->curchan;
> int acktimeout;
> int slottime;
> int sifstime;
> + u32 ctstimeout;
> int rx_lat = 0, tx_lat = 0, eifs = 0;
> u32 reg;
>
> @@ -1018,23 +1018,27 @@ void ath9k_hw_init_global_settings(struct ath_hw *ah)
> sifstime = 10;
> }
>
> - /* As defined by IEEE 802.11-2007 17.3.8.6 */
> - acktimeout = slottime + sifstime + 3 * ah->coverage_class;
> + if (AR_SREV_9287(ah)&& AR_SREV_9287_13_OR_LATER(ah)) {
> + /* Verified values (us) in 2chanin HT40 mode */
> + acktimeout = 64;
> + ctstimeout = 48;
> + } else {
> + acktimeout = MS(REG_READ(ah, AR_TIME_OUT), AR_TIME_OUT_ACK)/
> + common->clockrate;
> + ctstimeout = MS(REG_READ(ah, AR_TIME_OUT), AR_TIME_OUT_CTS)/
> + common->clockrate;
> + }
Why this mess of partially reused values from initvals? I think it's
much better to just override these based on the standard 802.11 values,
and selectively add the 64-usec-minimum workaround for 2.4 ghz as needed.
- Felix
next prev parent reply other threads:[~2011-08-27 23:28 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-27 9:16 [PATCH] ath9k_hw: Update IFS parameters properly Rajkumar Manoharan
2011-08-27 23:28 ` Felix Fietkau [this message]
2011-08-27 23:52 ` Felix Fietkau
2011-08-29 5:24 ` Rajkumar Manoharan
2011-08-29 5:31 ` Senthil Balasubramanian
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=4E597D8F.4050506@openwrt.org \
--to=nbd@openwrt.org \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=rmanohar@qca.qualcomm.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;
as well as URLs for NNTP newsgroup(s).