All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adrian Chadd <adrian@freebsd.org>
To: sandeep suresh <sandeep.suresh@yahoo.co.in>
Cc: Sujith Manoharan <sujith@msujith.org>,
	ath9k-devel <ath9k-devel@lists.ath9k.org>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: Re: [ath9k-devel] AR9287 ; 2-wire coexistence expected behavior
Date: Mon, 8 Apr 2013 01:58:43 -0700	[thread overview]
Message-ID: <CAJ-VmomXWAE7H1AsCJWYkNLQqvtub=yZzeK=6N=8AXaN=JExdQ@mail.gmail.com> (raw)
In-Reply-To: <1365398445.32740.YahooMailNeo@web193504.mail.sg3.yahoo.com>

hi,

I'd first double-check that you've correctly configured the btactive
GPIO pin to be an input and the mux config makes it be BT_ACTIVE.

I can't really help you more than this right now; I haven't sat down
and actually tried this. :-(

But it doesn't look like much else needs to happen besides configuring
the GPIOs right, enabling BTCOEX and setting the weights.

Thanks,


Adrian

On 7 April 2013 22:20, sandeep suresh <sandeep.suresh@yahoo.co.in> wrote:
> Hello Mr.Adrian & Mr.Sujith,
>     Started doing some experiments with different settings but there wasn't
> any good progress. Need your help further in analysis & recommendation,
> please. I monitor WLAN_ACTIVE (GPIO5) and BT_ACTIVE (GPIO6) on the
> oscilloscope. There were always a lot of pulse trains on WLAN_ACTIVE. On
> BT_ACTIVE, I initially pulled it high and also tested with a periodic pulse
> train (450ms On and 450ms Off). The following were the different settings
> with which I tested; the difference across each test case is marked in
> underline/bold:
>
> 1. In ath9k_hw_btcoex_enable_2wire(), I added the following code:
>     ath9k_hw_btcoex_set_weight(ah, AR_BT_COEX_WGHT, AR_STOMP_LOW_WLAN_WGHT);
>     REG_WRITE(ah, AR_BT_COEX_WEIGHT, btcoex_hw->bt_coex_weights);
>     Result: WLAN_ACTIVE pulse trains observed during BT_ACTIVE high.
>
> 2. In ath9k_hw_btcoex_enable_2wire(), I added the following code:
>     ath9k_hw_btcoex_set_weight(ah, AR_BT_COEX_WGHT, AR_STOMP_ALL_WLAN_WGHT);
>     REG_WRITE(ah, AR_BT_COEX_WEIGHT, btcoex_hw->bt_coex_weights);
>     Result: WLAN_ACTIVE pulse trains observed during BT_ACTIVE high.
>
> 3. In ath9k_hw_btcoex_enable_2wire(), I added the following code:
>     ath9k_hw_btcoex_set_weight(ah, 0xFFFF, 0x0000);
>     REG_WRITE(ah, AR_BT_COEX_WEIGHT, btcoex_hw->bt_coex_weights);
>     Result: WLAN_ACTIVE pulse trains observed during BT_ACTIVE high.
>
> In the next test cases, I realized that there are two registers
> (AR_BT_COEX_MODE, AR_BT_COEX_MODE2) for setting the coexistence mode. The
> following is the code and the test results:
>
> 4. In ath9k_hw_btcoex_enable_2wire(), I added the following code:
>     REG_WRITE(ah, AR_BT_COEX_MODE, btcoex_hw->bt_coex_mode);
>     REG_WRITE(ah, AR_BT_COEX_MODE2, btcoex_hw->bt_coex_mode);
>     ath9k_hw_btcoex_set_weight(ah, AR_BT_COEX_WGHT, AR_STOMP_LOW_WLAN_WGHT);
>     REG_WRITE(ah, AR_BT_COEX_WEIGHT, btcoex_hw->bt_coex_weights);
>     Result: WLAN_ACTIVE pulse trains observed during BT_ACTIVE high.
>
>
>     Result: WLAN_ACTIVE pulse trains observed during BT_ACTIVE high.
>
> 5.    Next I changed different enum for BT coex modes i.e ath_bt_mode.
> Changed from ATH_BT_COEX_MODE_SLOTTED, ATH_BT_COEX_MODE_UNSLOTTED and
> ATH_BT_COEX_MODE_LEGACY. I used again the above settings. But there still
> there were pulse trains observed.
>
> Please help to further solve these problems, please.
> Regards
> Sandeep Suresh.
> From: Adrian Chadd <adrian@freebsd.org>
> To: sandeep suresh <sandeep.suresh@yahoo.co.in>
> Cc: Sujith Manoharan <sujith@msujith.org>; ath9k-devel
> <ath9k-devel@lists.ath9k.org>; "linux-wireless@vger.kernel.org"
> <linux-wireless@vger.kernel.org>
> Sent: Sunday, 7 April 2013 11:16 PM
>
> Subject: Re: [ath9k-devel] AR9287 ; 2-wire coexistence expected behavior
>
> On 7 April 2013 07:54, sandeep suresh <sandeep.suresh@yahoo.co.in> wrote:
>> Hello Mr.Adrian and Mr.Sujith,
>>    Thanks for your responses. In order to ensure that all of us are on the
>> same page and referring to the same code base, some queries:
>>
>> 1. Please let me know you are referring to freebsd.org or
>> linuxwireless.org
>> drivers? Because you are referring to Kite & Kiwi which are in FreeBSD.
>>    FreeBSD --> http://svn.freebsd.org/base/head/sys/
>>    Ath9k --> http://linuxwireless.org/en/users/Drivers/ath9k
>>    Because currently I am using ath9k drivers only from linuxwireless.org.
>
> Kite = AR9285
> Kiwi = AR9287
>
> I know ath9k enough to be (somewhat) helpful and dangerous. But I'm
> the FreeBSD guy here; I know the HAL and FreeBSD code much better.
>
> The FreeBSD code is closer to what our reference driver does / did
> than Linux, at least for the legacy chipset support.
>
>> 2. Which version of ath9k driver is stable & complete from 2-wire/3-wire
>> coexistence? The reason for this query is that I downloaded
>> compat-wireless-3.6.8-1 which contains the function ath9k_start_btcoex()
>> in
>> which the Weight register is initialized. But this function is not
>> available
>> in some of the stable versions of ath9k which I am using.
>
> Not unsurprising. ath9k's btcoex code is (relatively) recent. it
> sounds like you've been using an older kernel.
>
>> 3. What exactly are Kite and Kiwi? Are these third party modules using
>> AR9287 Atheros chipsets? I did not see this in linuxwireless.org but only
>> in
>> FreeBSD.
>
> They're chip names. AR9285 = Kite, AR9287 = Kiwi.
>
>> 4. Just wanted to confirm if the address of the weight register that you
>> are
>> mentioning below for 2-wire coexistence is : AR_BT_COEX_WEIGHT (0x8174)
>
> Yup. That's what it is for AR5146 -> AR9287. AR9380 changed this.
>
>> 5. Just wanted to cross check if the weight register mentioned is for
>> 2-wire
>> coexistence? The reason for this doubt is I see bt_freq, bt_prio bits
>>    in BT weight register and these bits are relevant to BT_FREQUENCY and
>> BT_PRIORITY lines which are relevant for 3-wire coexistence?
>
> The weight register is still used. I just don't quite know what the
> table mapping is.
>
> But specifically, as you're effectively trying to implement "bluetooth
> stomps everything", what you really want is a table where bt wins each
> round, except perhaps for beacon interval (so you send out beacons
> reliably.) There should already be static stomp register values for
> "BT wins all" and "Wifi wins all." That's all you should need to write
> into that register.
>
>
>
>
> Adrian
>
>

WARNING: multiple messages have this Message-ID (diff)
From: Adrian Chadd <adrian@freebsd.org>
To: ath9k-devel@lists.ath9k.org
Subject: [ath9k-devel] AR9287 ; 2-wire coexistence expected behavior
Date: Mon, 8 Apr 2013 01:58:43 -0700	[thread overview]
Message-ID: <CAJ-VmomXWAE7H1AsCJWYkNLQqvtub=yZzeK=6N=8AXaN=JExdQ@mail.gmail.com> (raw)
In-Reply-To: <1365398445.32740.YahooMailNeo@web193504.mail.sg3.yahoo.com>

hi,

I'd first double-check that you've correctly configured the btactive
GPIO pin to be an input and the mux config makes it be BT_ACTIVE.

I can't really help you more than this right now; I haven't sat down
and actually tried this. :-(

But it doesn't look like much else needs to happen besides configuring
the GPIOs right, enabling BTCOEX and setting the weights.

Thanks,


Adrian

On 7 April 2013 22:20, sandeep suresh <sandeep.suresh@yahoo.co.in> wrote:
> Hello Mr.Adrian & Mr.Sujith,
>     Started doing some experiments with different settings but there wasn't
> any good progress. Need your help further in analysis & recommendation,
> please. I monitor WLAN_ACTIVE (GPIO5) and BT_ACTIVE (GPIO6) on the
> oscilloscope. There were always a lot of pulse trains on WLAN_ACTIVE. On
> BT_ACTIVE, I initially pulled it high and also tested with a periodic pulse
> train (450ms On and 450ms Off). The following were the different settings
> with which I tested; the difference across each test case is marked in
> underline/bold:
>
> 1. In ath9k_hw_btcoex_enable_2wire(), I added the following code:
>     ath9k_hw_btcoex_set_weight(ah, AR_BT_COEX_WGHT, AR_STOMP_LOW_WLAN_WGHT);
>     REG_WRITE(ah, AR_BT_COEX_WEIGHT, btcoex_hw->bt_coex_weights);
>     Result: WLAN_ACTIVE pulse trains observed during BT_ACTIVE high.
>
> 2. In ath9k_hw_btcoex_enable_2wire(), I added the following code:
>     ath9k_hw_btcoex_set_weight(ah, AR_BT_COEX_WGHT, AR_STOMP_ALL_WLAN_WGHT);
>     REG_WRITE(ah, AR_BT_COEX_WEIGHT, btcoex_hw->bt_coex_weights);
>     Result: WLAN_ACTIVE pulse trains observed during BT_ACTIVE high.
>
> 3. In ath9k_hw_btcoex_enable_2wire(), I added the following code:
>     ath9k_hw_btcoex_set_weight(ah, 0xFFFF, 0x0000);
>     REG_WRITE(ah, AR_BT_COEX_WEIGHT, btcoex_hw->bt_coex_weights);
>     Result: WLAN_ACTIVE pulse trains observed during BT_ACTIVE high.
>
> In the next test cases, I realized that there are two registers
> (AR_BT_COEX_MODE, AR_BT_COEX_MODE2) for setting the coexistence mode. The
> following is the code and the test results:
>
> 4. In ath9k_hw_btcoex_enable_2wire(), I added the following code:
>     REG_WRITE(ah, AR_BT_COEX_MODE, btcoex_hw->bt_coex_mode);
>     REG_WRITE(ah, AR_BT_COEX_MODE2, btcoex_hw->bt_coex_mode);
>     ath9k_hw_btcoex_set_weight(ah, AR_BT_COEX_WGHT, AR_STOMP_LOW_WLAN_WGHT);
>     REG_WRITE(ah, AR_BT_COEX_WEIGHT, btcoex_hw->bt_coex_weights);
>     Result: WLAN_ACTIVE pulse trains observed during BT_ACTIVE high.
>
>
>     Result: WLAN_ACTIVE pulse trains observed during BT_ACTIVE high.
>
> 5.    Next I changed different enum for BT coex modes i.e ath_bt_mode.
> Changed from ATH_BT_COEX_MODE_SLOTTED, ATH_BT_COEX_MODE_UNSLOTTED and
> ATH_BT_COEX_MODE_LEGACY. I used again the above settings. But there still
> there were pulse trains observed.
>
> Please help to further solve these problems, please.
> Regards
> Sandeep Suresh.
> From: Adrian Chadd <adrian@freebsd.org>
> To: sandeep suresh <sandeep.suresh@yahoo.co.in>
> Cc: Sujith Manoharan <sujith@msujith.org>; ath9k-devel
> <ath9k-devel@lists.ath9k.org>; "linux-wireless at vger.kernel.org"
> <linux-wireless@vger.kernel.org>
> Sent: Sunday, 7 April 2013 11:16 PM
>
> Subject: Re: [ath9k-devel] AR9287 ; 2-wire coexistence expected behavior
>
> On 7 April 2013 07:54, sandeep suresh <sandeep.suresh@yahoo.co.in> wrote:
>> Hello Mr.Adrian and Mr.Sujith,
>>    Thanks for your responses. In order to ensure that all of us are on the
>> same page and referring to the same code base, some queries:
>>
>> 1. Please let me know you are referring to freebsd.org or
>> linuxwireless.org
>> drivers? Because you are referring to Kite & Kiwi which are in FreeBSD.
>>    FreeBSD --> http://svn.freebsd.org/base/head/sys/
>>    Ath9k --> http://linuxwireless.org/en/users/Drivers/ath9k
>>    Because currently I am using ath9k drivers only from linuxwireless.org.
>
> Kite = AR9285
> Kiwi = AR9287
>
> I know ath9k enough to be (somewhat) helpful and dangerous. But I'm
> the FreeBSD guy here; I know the HAL and FreeBSD code much better.
>
> The FreeBSD code is closer to what our reference driver does / did
> than Linux, at least for the legacy chipset support.
>
>> 2. Which version of ath9k driver is stable & complete from 2-wire/3-wire
>> coexistence? The reason for this query is that I downloaded
>> compat-wireless-3.6.8-1 which contains the function ath9k_start_btcoex()
>> in
>> which the Weight register is initialized. But this function is not
>> available
>> in some of the stable versions of ath9k which I am using.
>
> Not unsurprising. ath9k's btcoex code is (relatively) recent. it
> sounds like you've been using an older kernel.
>
>> 3. What exactly are Kite and Kiwi? Are these third party modules using
>> AR9287 Atheros chipsets? I did not see this in linuxwireless.org but only
>> in
>> FreeBSD.
>
> They're chip names. AR9285 = Kite, AR9287 = Kiwi.
>
>> 4. Just wanted to confirm if the address of the weight register that you
>> are
>> mentioning below for 2-wire coexistence is : AR_BT_COEX_WEIGHT (0x8174)
>
> Yup. That's what it is for AR5146 -> AR9287. AR9380 changed this.
>
>> 5. Just wanted to cross check if the weight register mentioned is for
>> 2-wire
>> coexistence? The reason for this doubt is I see bt_freq, bt_prio bits
>>    in BT weight register and these bits are relevant to BT_FREQUENCY and
>> BT_PRIORITY lines which are relevant for 3-wire coexistence?
>
> The weight register is still used. I just don't quite know what the
> table mapping is.
>
> But specifically, as you're effectively trying to implement "bluetooth
> stomps everything", what you really want is a table where bt wins each
> round, except perhaps for beacon interval (so you send out beacons
> reliably.) There should already be static stomp register values for
> "BT wins all" and "Wifi wins all." That's all you should need to write
> into that register.
>
>
>
>
> Adrian
>
>

  reply	other threads:[~2013-04-08  8:58 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-15  0:10 Announcement: open source AR9380 and later HAL Adrian Chadd
2013-03-15  0:10 ` [ath9k-devel] " Adrian Chadd
2013-04-01 22:20 ` Nick Kossifidis
2013-04-01 22:20   ` [ath9k-devel] " Nick Kossifidis
2013-04-02  3:00   ` [ath9k-devel] Source code for Bluetooth AR3012 drivers sandeep suresh
2013-04-02  3:07     ` Adrian Chadd
2013-04-02  3:07       ` Adrian Chadd
2013-04-02  4:15       ` sandeep suresh
2013-04-02 11:57   ` [ath9k-devel] AR9287; mapping between GPIOs and COEX pins sandeep suresh
2013-04-02 14:53     ` Adrian Chadd
2013-04-02 14:53       ` [ath9k-devel] " Adrian Chadd
2013-04-02 15:20       ` sandeep suresh
2013-04-02 16:47         ` Adrian Chadd
2013-04-02 16:47           ` [ath9k-devel] " Adrian Chadd
2013-04-04 15:19   ` [ath9k-devel] AR9287 ; 2-wire coexistence expected behavior sandeep suresh
2013-04-04 18:06     ` Adrian Chadd
2013-04-04 18:06       ` [ath9k-devel] " Adrian Chadd
2013-04-05  3:08       ` sandeep suresh
2013-04-05  4:13         ` Adrian Chadd
2013-04-05  4:13           ` [ath9k-devel] " Adrian Chadd
2013-04-05  8:00           ` sandeep suresh
2013-04-05  8:17             ` Adrian Chadd
2013-04-05  8:17               ` [ath9k-devel] " Adrian Chadd
2013-04-05  9:06               ` sandeep suresh
2013-04-05  9:13                 ` Adrian Chadd
2013-04-05  9:13                   ` [ath9k-devel] " Adrian Chadd
2013-04-05 11:31                 ` Sujith Manoharan
2013-04-05 11:31                   ` Sujith Manoharan
2013-04-05 15:24                   ` sandeep suresh
2013-04-05 16:41                     ` Adrian Chadd
2013-04-05 16:41                       ` Adrian Chadd
2013-04-05 17:37                       ` Adrian Chadd
2013-04-05 17:37                         ` Adrian Chadd
2013-04-05 22:36                         ` Adrian Chadd
2013-04-05 22:36                           ` Adrian Chadd
2013-04-07 14:54                           ` sandeep suresh
2013-04-07 17:46                             ` Adrian Chadd
2013-04-07 17:46                               ` Adrian Chadd
2013-04-08  5:20                               ` sandeep suresh
2013-04-08  8:58                                 ` Adrian Chadd [this message]
2013-04-08  8:58                                   ` Adrian Chadd
2013-04-08  9:00                                 ` Adrian Chadd
2013-04-08  9:00                                   ` Adrian Chadd
2013-04-08  9:39                                   ` sandeep suresh
2013-04-08 15:09                                     ` sandeep suresh
2013-04-08 18:39                                       ` Adrian Chadd
2013-04-08 18:39                                         ` Adrian Chadd
2013-04-09 23:00                                         ` Adrian Chadd
2013-04-09 23:00                                           ` Adrian Chadd
2013-04-10  2:37                                           ` sandeep suresh
2013-04-10  5:37                                             ` Adrian Chadd
2013-04-10  5:37                                               ` Adrian Chadd
2013-04-10  6:13                                               ` sandeep suresh
2013-04-10  7:22                                                 ` Adrian Chadd
2013-04-10  7:22                                                   ` Adrian Chadd
2013-04-15  7:53                                                   ` sandeep suresh
2013-04-15 14:21                                                     ` Adrian Chadd
2013-04-15 14:21                                                       ` Adrian Chadd
2013-04-15 15:40                                                       ` sandeep suresh
2013-04-15 15:44                                                       ` sandeep suresh
2013-04-15 16:13                                                       ` sandeep suresh
2013-04-15 17:45                                                         ` Adrian Chadd
2013-04-15 17:45                                                           ` Adrian Chadd
2013-04-16  3:16                                                           ` sandeep suresh
2013-04-16  3:55                                                           ` sandeep suresh
2013-04-16 17:00                                                             ` Adrian Chadd
2013-04-16 17:00                                                               ` Adrian Chadd
2013-04-17 10:33                                                               ` sandeep suresh
     [not found]                                                                 ` <CAJ-Vmokx0MbTC47+0fcRt9yQshfTaPEDte2A=7Ycn2bzwLSPxg@mail.gmail.com>
     [not found]                                                                   ` <1366248389.18545.YahooMailNeo@web193503.mail.sg3.yahoo.com>
     [not found]                                                                     ` <CAJ-VmomXz93U7HCmscd=NVZKQ+RFbty+Xh_wcOPYEDhX57ptbw@mail.gmail.com>
     [not found]                                                                       ` <1366281249.7026.YahooMailNeo@web193504.mail.sg3.yahoo.com>
2013-04-18 14:16                                                                         ` Adrian Chadd
2013-04-18 14:16                                                                           ` Adrian Chadd
2013-05-21  6:40                                                                           ` sandeep suresh
2013-05-21 14:33                                                                             ` Adrian Chadd
2013-05-21 14:33                                                                               ` Adrian Chadd
2013-05-22  5:49                                                                               ` sandeep suresh
2013-06-25  6:09                                                                                 ` sandeep suresh
2013-07-03 22:24                                                                                   ` Kamran Nishat
2013-07-05 14:45                                                                                     ` sandeep suresh
2014-02-07 14:48                                                                                       ` [ath9k-devel] How to prepare a 802.11 channel map with energy using ATH9K sandeep suresh
2014-02-09 21:41                                                                                         ` karl at aspodata.se
2014-02-11  3:09                                                                                           ` sandeep suresh
2014-02-11  7:53                                                                                             ` karl
2014-02-11  7:53                                                                                               ` karl at aspodata.se
2014-02-26 16:46                                                                                               ` Linux board that supports AR9287 and 7" display with ath9k support sandeep suresh
2014-02-26 16:46                                                                                                 ` [ath9k-devel] " sandeep suresh
2013-05-27  8:10                                                                               ` [ath9k-devel] AR9287; WiFi AP Mode - Increase interbeacon duration of 100ms sandeep suresh
2013-06-03 10:15                                                                                 ` sandeep suresh
2013-06-03 16:16                                                                                   ` Ben Greear
2013-06-03 16:16                                                                                     ` Ben Greear
2013-06-04 10:36                                                                                     ` sandeep suresh
2014-03-31 14:35                                         ` Impact of migration from compat wireless to backports sandeep suresh
2014-03-31 14:35                                           ` [ath9k-devel] " sandeep suresh
2014-04-04  1:55                                           ` Wifi client Bluetooth coexistence; non smooth video streams sandeep suresh
2014-04-04  1:55                                             ` [ath9k-devel] " sandeep suresh
2013-04-06 19:36                     ` [ath9k-devel] AR9287 ; 2-wire coexistence expected behavior Sujith Manoharan
2013-04-06 19:36                       ` Sujith Manoharan
2013-04-06 19:40                       ` Sujith Manoharan
2013-04-06 19:40                         ` Sujith Manoharan
2013-04-07 14:46                         ` sandeep suresh
2013-04-04 22:27     ` Adrian Chadd
2013-04-05  2:55       ` sandeep suresh

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='CAJ-VmomXWAE7H1AsCJWYkNLQqvtub=yZzeK=6N=8AXaN=JExdQ@mail.gmail.com' \
    --to=adrian@freebsd.org \
    --cc=ath9k-devel@lists.ath9k.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=sandeep.suresh@yahoo.co.in \
    --cc=sujith@msujith.org \
    /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.