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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.