All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Greear <greearb@candelatech.com>
To: Adrian Chadd <adrian@freebsd.org>
Cc: ath10k <ath10k@lists.infradead.org>
Subject: Re: Need to re-associate firmware peer when SMPS_CHANGED is set?
Date: Mon, 14 Sep 2015 09:07:37 -0700	[thread overview]
Message-ID: <55F6F0C9.5020603@candelatech.com> (raw)
In-Reply-To: <CAJ-Vmo=X-6ht1vqJOtJYZWBFr9hMpc3tPYRLrw0tv2GZLiOSKA@mail.gmail.com>

On 09/14/2015 12:41 AM, Adrian Chadd wrote:
> Hm! Well, iirc what we did in the rate control code for 11n chips was
> just to limit the transmit rate control selection to MCS0-7 even
> though we were in 2- or 3- stream modes.
>
> What else is it causing to change?

If rate-ctrl is currently in VHT with MCS 9, and we set the NSS
to 1, then it can no longer use MCS 9.  Something should proactively
kick the rate-ctrl logic when this happens.

The 10.1 rate-ctrl logic is all sorts of broken, especially with regard
to configuring this sort of change on the fly.  I'm fixing that in
CT firmware.  10.1 actually tries to reconfig everything properly
when SMPS changes, but it will fail to do so because it doesn't know
how to fetch the rate-ctrl object from the host's memory cache.

I've added an API for driver to request that firmware fetch the rate-ctrl
object...so calling that, then waiting 1ms, then calling the reassoc() logic
likely will work at least most of the time.  I didn't want to have to add
the same fetch + sleep hack for SMPS since the reassoc already does that.

Either way, I can hack the driver accordingly....I'll be testing out my
changes today.

Hopefully the newer ath10k upstream firmware do this all better, but
since I don't have source, I've no real idea of that.

Thanks,
Ben

>
>
> -a
>
>
> On 13 September 2015 at 21:58, Ben Greear <greearb@candelatech.com> wrote:
>> While digging in 10.1 firmware, I notice that setting WMI_PEER_SMPS_STATE
>> can cause
>> the chainmask to change.  And, that in turn can change all sorts of things
>> related to
>> available rates and such.
>>
>> Maybe we should do a re-assoc when we notice SMPS_CHANGED, similar to how it
>> is done for NSS_CHANGED?
>>
>> Thanks,
>> Ben
>>
>> --
>> Ben Greear <greearb@candelatech.com>
>> Candela Technologies Inc  http://www.candelatech.com
>>
>>
>> _______________________________________________
>> ath10k mailing list
>> ath10k@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/ath10k
>
> _______________________________________________
> ath10k mailing list
> ath10k@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/ath10k
>


-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com


_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

  reply	other threads:[~2015-09-14 16:07 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-14  4:58 Need to re-associate firmware peer when SMPS_CHANGED is set? Ben Greear
2015-09-14  7:41 ` Adrian Chadd
2015-09-14 16:07   ` Ben Greear [this message]
2015-09-14 17:18     ` Adrian Chadd

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=55F6F0C9.5020603@candelatech.com \
    --to=greearb@candelatech.com \
    --cc=adrian@freebsd.org \
    --cc=ath10k@lists.infradead.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.