linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).