archive mirror
 help / color / mirror / Atom feed
From: Felix Fietkau <>
To: "Luis R. Rodriguez" <>
Cc: Bruno Randolf <>,,,
Subject: Re: [PATCH v4 1/3] cfg80211: Add nl80211 antenna configuration
Date: Wed, 28 Jul 2010 23:26:35 +0200	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

On 2010-07-28 11:15 PM, Luis R. Rodriguez wrote:
> On Wed, Jul 28, 2010 at 10:50 AM, Felix Fietkau <> wrote:
>> This is easy to handle, it can work like this:
>> We treat the setting not as a raw chainmask, but actually as an antenna
>> mask. The chainmask gets calculated from that. If we disable all
>> antennas belonging to a particular chain, we disable the entire chain.
> Fair enough. Would cfg80211 deal with this logic then? That would be
> my preference. But then, do we even expose enough hardware
> capabilities for cfg80211 to make this decision already?
There isn't much for cfg80211 to deal with, really.

>> For AR9285 we will already deviate from treating this as a chainmask,
>> because it has one chain with rx diversity.
> Good point but the single stream 802.11n case just needs to be
> documented as well, it'll be like that for other single stream 802.11n
> devices, if there are others, not sure if Atheros has the only ones in
> the market or what.
>> Please accept this API
> If you really need some knobs without detailed review and discussion
> shoot for debugfs, otherwise I will take my time reviewing carefully
> all the details because once its API then.. well its set in stone and
> we have to deal with it. I realize I'm being a real big fucking pain
> in the ass with this but.. I believe these discussions have also been
> helpful.
>> I'm sure the API can be used to handle everything related to 802.11n
>> antenna/chain selection properly. :)
> Sure, but who deals with the 11n stuff? Right now this patches just
> pass two variables, TX and RX antenna mask, and has no special case
> handling for the different 802.11n cases, nor does it document who
> should handle that.
>   * STBC (11n 9.6.0.c, 9.7g, etc)
>   * TX Beamforming (11n 19.19)
>   * Antenna selection (11n 19.20)
> IMHO we should be thinking about this if we want to define an API that
> *all* 802.11 drivers can use if the API will be used for 802.11n as
> well.
We don't need any special case handling for this at all. Drivers already
calculate their HT capabilities based on the number of available chains.
Once the antenna selection stuff is actually used, they will have some
internal information about which chains have how many antennas.

The reason why we can ignore *all* of this stuff for the API is simple:
We only need to refactor the code to calculate these settings based on
effective chainmask / antenna mask instead of pure hardware capability.

The effective chainmask / antenna mask is basically the same as the
hardware settings, except that it gets masked with the values that are
configured through this API. That leaves us with something that's easy
to configure, easy to implement for drivers, and doesn't need special
case stuff for various 802.11n features.

- Felix

  reply	other threads:[~2010-07-28 21:26 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-27  9:47 [PATCH v4 0/3] Antenna configuration Bruno Randolf
2010-07-27  9:48 ` [PATCH v4 1/3] cfg80211: Add nl80211 antenna configuration Bruno Randolf
2010-07-27 10:05   ` Johannes Berg
2010-07-28  2:03     ` Bruno Randolf
2010-07-27 16:19   ` Luis R. Rodriguez
2010-07-27 16:39     ` Felix Fietkau
2010-07-27 16:47       ` Luis R. Rodriguez
2010-07-28  2:06         ` Bruno Randolf
2010-07-28 17:24           ` Luis R. Rodriguez
2010-07-28 17:50             ` Felix Fietkau
2010-07-28 21:15               ` Luis R. Rodriguez
2010-07-28 21:26                 ` Felix Fietkau [this message]
2010-07-28 21:39                   ` Luis R. Rodriguez
2010-07-28 22:05                     ` Felix Fietkau
2010-07-28 22:14                       ` Luis R. Rodriguez
2010-07-29  0:10                       ` Luis R. Rodriguez
2010-07-29  2:11             ` Bruno Randolf
2010-07-29 15:09               ` Luis R. Rodriguez
2010-08-02  3:59                 ` Bruno Randolf
2010-08-02  5:31                   ` Luis R. Rodriguez
2010-07-27  9:48 ` [PATCH v4 2/3] mac80211: Add " Bruno Randolf
2010-07-27  9:48 ` [PATCH v4 3/3] ath5k: Add support for " Bruno Randolf

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \ \ \

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