All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bruno Randolf <br1@einfach.org>
To: "Luis R. Rodriguez" <lrodriguez@atheros.com>
Cc: "Luis R. Rodriguez" <mcgrof@gmail.com>,
	"ath5k-devel@lists.ath5k.org" <ath5k-devel@lists.ath5k.org>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	"linville@tuxdriver.com" <linville@tuxdriver.com>
Subject: Re: [ath5k-devel] [PATCH v2 13/20] cfg80211: Add nl80211 antenna configuration
Date: Thu, 20 May 2010 10:12:11 +0900	[thread overview]
Message-ID: <201005201012.12045.br1@einfach.org> (raw)
In-Reply-To: <20100520005143.GB10702@tux>

On Thursday 20 May 2010 09:51:43 Luis R. Rodriguez wrote:
> On Wed, May 19, 2010 at 05:35:40PM -0700, Bruno Randolf wrote:
> > On Thursday 20 May 2010 02:07:25 you wrote:
> > > On Tue, May 18, 2010 at 6:31 PM, Bruno Randolf <br1@einfach.org> wrote:
> > > > + * @NL80211_ATTR_ANTENNA_TX: Bitmap of antennas to use for
> > > > transmitting. + * @NL80211_ATTR_ANTENNA_RX: Bitmap of antennas to
> > > > use for receiving.
> > > 
> > > This gets the job done, but that's it. The API defined allows for a
> > > hugely loose implementation on each driver.
> > 
> > i tried to define it like this, in the commit log:
> >     The antenna configuration is defined as a bitmap of allowed antennas.
> >     This bitmap is 8 bit at the moment, each bit representing one
> >     antenna. If multiple antennas are selected, the driver may use
> >     diversity for receive and transmit.
> > 
> > is this not precise enough?
> 
> No, the commit log is just a placeholder of information, if you want to
> define API you do it through the kdoc so you can slap people when then
> submit patches that do not follow it. The kdoc above allows the flexibility
> you were looking for but that I do not think we should have since it will
> confuse the users who want to tune antenna settings on different drivers.

you are talking about the place where to put the definition, not about the 
definition itself. i agree, the definition should be in the kdoc, and i'll 
update the patch. what's wrong with the definition itself?

> I'd much prefer to see a consistant API for antenna settings so that if
> they know how to do it with ath5k, then they know how to do it for b43,
> or whatever.

that's what i'm trying to achieve...

> > i am mostly concerned with what i believe is the
> > most common usecase (selecting one fixed antenna, or antenna diversity).
> 
> In that case, then I recommend to restrict your patch to that case, and
> forget about a bitmask. Since lagcy just has antenna A, B, or auto, how
> about defining an API for just that?
>
> > i'd say this is 99% of all use cases.
> 
> For now, yes. I'm thinking about 802.11n though and for that we can
> just wait, and use some other API once someone with more time wants
> to iron it out.

yes, i'm trying to find an API for 'legacy' (as you call it).
 
> > but this API would also allow us to define
> > more advanved things like 'transmit on antenna 1, receive on antenna 2".
> 
> Sure.
> 
> > i know that there are possibly more crazy (and very rare) configurations,
> > like use several panel antennas + omni, which can't be configured with
> > this API,
> 
> How about we ignore those then on this API.

thats what i do. ;)
 
> > but it's hard to find a common API for all possibilities, and i think it
> > would be possible to extend the API later on for such cases.
> 
> Understood, how about just defining something very basic and simple
> for legacy based operation mode?

i think my implementation is quite basic and simple ;)
 
> > > And yet for another driver it could be something completely different
> > > in usersepace.
> > 
> > what do you think that could be, realistically, given the above
> > definition?
> 
> Well, anything that has to do with tx / rx antennas.

that's not very clear. can you give me an example?
 
> > > I think it would be better for us to define a static
> > > API for all legacy cards and another for 802.11n cards, or unify them
> > > but to be very specific about the API for antenna settings/chainmask
> > > settings.
> > 
> > sure. any suggestions?
> 
> Sure how about FIXED_A, FIXED_B, DIVERSITY ?

that's very ath5k centric.

what if there is a 'legacy' hardware with 3 or more antennas?
what if we want to configure RX on antenna 1, TX on antenna 2?
what if we want to use RX diversity but always TX on a fixed antenna?

these are possible and useful configurations, which are not supported right 
now by ath5k but it's easy to add them.

i don't see how "my" API is too complicated, and i think it allows for a clear 
configuration of these cases as well.

your criticism seems to be based on the fact that it's not clear how to handle 
802.11n chainmask + antenna configuration, but this is not what my patch is 
concerned about. let's go step by step...

bruno

  reply	other threads:[~2010-05-20  1:12 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-19  1:30 [PATCH v2 00/20] pending ath5k + antenna patches Bruno Randolf
2010-05-19  1:30 ` [PATCH v2 01/20] ath5k: add debugfs file for queue debugging Bruno Randolf
2010-05-19  1:30 ` [PATCH v2 02/20] ath5k: wake queues on reset Bruno Randolf
2010-05-20 12:51   ` [ath5k-devel] " Nick Kossifidis
2010-05-19  1:30 ` [PATCH v2 03/20] ath5k: initialize calibration timers Bruno Randolf
2010-05-20 12:48   ` Nick Kossifidis
2010-05-19  1:31 ` [PATCH v2 04/20] ath5k: move noise floor calibration into tasklet Bruno Randolf
2010-05-20 12:50   ` Nick Kossifidis
2010-05-19  1:31 ` [PATCH v2 05/20] ath5k: Stop queues only for NF calibration Bruno Randolf
2010-05-20 12:52   ` Nick Kossifidis
2010-05-19  1:31 ` [PATCH v2 06/20] ath5k: run NF calibration only every 60 seconds Bruno Randolf
2010-05-19  1:31 ` [PATCH v2 07/20] ath5k: remove ATH_TRACE macro Bruno Randolf
2010-05-20 12:56   ` Nick Kossifidis
2010-05-19  1:31 ` [PATCH v2 08/20] ath5k: clarify logic when to enable spur mitigation filter Bruno Randolf
2010-05-19  1:31 ` [PATCH v2 09/20] ath5k: use ath5k_softc as driver data Bruno Randolf
2010-05-19  1:31 ` [PATCH v2 10/20] ath5k: add sysfs files for ANI parameters Bruno Randolf
2010-05-20 12:58   ` Nick Kossifidis
2010-05-19  1:31 ` [PATCH v2 11/20] ath5k: always calculate ANI listen time Bruno Randolf
2010-05-20 12:59   ` Nick Kossifidis
2010-05-19  1:31 ` [PATCH v2 12/20] ath5k: print error message if ANI levels are out of range Bruno Randolf
2010-05-19  1:31 ` [PATCH v2 13/20] cfg80211: Add nl80211 antenna configuration Bruno Randolf
2010-05-19 17:07   ` Luis R. Rodriguez
2010-05-20  0:35     ` Bruno Randolf
2010-05-20  0:51       ` [ath5k-devel] " Luis R. Rodriguez
2010-05-20  1:12         ` Bruno Randolf [this message]
2010-05-20  1:26           ` Luis R. Rodriguez
2010-05-20  2:21             ` Bruno Randolf
2010-05-20  5:17               ` Luis R. Rodriguez
2010-05-20  5:36                 ` Bruno Randolf
2010-05-20  6:43                   ` Luis R. Rodriguez
2010-05-20 22:02                     ` David Quan
2010-05-20 22:05                     ` Luis R. Rodriguez
2010-05-20 22:14                       ` Sam Ng
2010-05-20 22:24                         ` Luis R. Rodriguez
2010-05-21  1:59                       ` Bruno Randolf
2010-05-21 17:11                         ` Luis R. Rodriguez
2010-05-21 19:10                           ` Felix Fietkau
2010-05-21 20:28                             ` Luis R. Rodriguez
2010-05-24  0:45                           ` Bruno Randolf
2010-05-24  9:15                             ` RHS Linux User
2010-06-04 19:30   ` John W. Linville
2010-06-04 21:21     ` [ath5k-devel] " Luis R. Rodriguez
2010-06-04 21:53       ` Luis R. Rodriguez
2010-06-07  3:45       ` Bruno Randolf
2010-05-19  1:31 ` [PATCH v2 14/20] mac80211: Add " Bruno Randolf
2010-05-19  1:31 ` [PATCH v2 15/20] ath5k: Add support for " Bruno Randolf
2010-05-19  1:32 ` [PATCH v2 16/20] ath5k: remove setting ANI and antenna thru debugfs files Bruno Randolf
2010-05-19  1:32 ` [PATCH v2 17/20] ath5k: fix NULL pointer in antenna configuration Bruno Randolf
2010-05-19  1:32 ` [PATCH v2 18/20] ath5k: update AR5K_PHY_RESTART_DIV_GC values to match masks Bruno Randolf
2010-05-20 12:54   ` Nick Kossifidis
2010-05-19  1:32 ` [PATCH v2 19/20] ath5k: new function for setting the antenna switch table Bruno Randolf
2010-05-19  1:32 ` [PATCH v2 20/20] ath5k: no need to save/restore the default antenna Bruno Randolf
2010-05-19  1:41 ` [PATCH v2 00/20] pending ath5k + antenna patches Luis R. Rodriguez
2010-05-19 12:59 ` John W. Linville

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=201005201012.12045.br1@einfach.org \
    --to=br1@einfach.org \
    --cc=ath5k-devel@lists.ath5k.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=lrodriguez@atheros.com \
    --cc=mcgrof@gmail.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.