Linux wireless drivers development
 help / color / mirror / Atom feed
* [PATCHv2 00/18] Add support for 5 and 10 MHz channels
@ 2013-05-15 14:18 Simon Wunderlich
  2013-05-15 14:18 ` [PATCHv2 01/18] nl80211/cfg80211: add 5 and 10 MHz defines and wiphy flag Simon Wunderlich
                   ` (19 more replies)
  0 siblings, 20 replies; 28+ messages in thread
From: Simon Wunderlich @ 2013-05-15 14:18 UTC (permalink / raw)
  To: linux-wireless; +Cc: Johannes Berg, Mathias Kretschmer, Simon Wunderlich

This patchset adds support for 5 and 10 MHz in nl80211/cfg80211/mac80211
and enables support in ath5k and ath9k, which already support this feature
on the driver side. 5 and 10 MHz wide channels might be useful for:

 * long shot links, as the transmissions are more robust
 * future support for 802.11y which allows some 5 and 10 MHz channels in
   3.6 GHz range
 * future support for 802.11p which uses 10 MHz in 5.9 GHz range
 * ... and more "special" applications.

This patchset enables 5 and 10 MHz channels only for OFDM, and without
HT/MIMO/aggregation (for now). Support may be added later.

Changes to PATCHv1:
 * the actual datarates are handled, not the corresponding 20MHz rates
   as before. This should make it compatible to freebsd, although I was
   informed that some other implementors might still use the corresponding
   20MHz rates. Anyway, from looking at the standard using the actual rates
   should be the right thing to do.
 * txpower is decremented according to channel bandwidth (the regulation I
   checked all define limits in dBm/MHz)
 * radiotap support for 5/10 MHz channel flag was added
 * some fixes for ath5k/ath9k were included to make them interoperable
   (having the same SIFS improved performance quite well, 
    300kbps -> 6600 kbps for 5 MHz channels :) )

As always, any comments are appreciated!
Cheers,
        Simon

Simon Wunderlich (18):
  nl80211/cfg80211: add 5 and 10 MHz defines and wiphy flag
  nl80211: add half/quarter channel bitrate tables to supported band
    struct
  mac80211: fix various components for the new 5 and 10 MHz widths
  mac80211: fix timing for 5 MHz and 10 MHz channels
  mac80211: round rates to the next multiple of 500kbps
  mac80211: choose bitrate table according to bandwidth
  mac80211: add radiotap flag and handling for 5/10 MHz
  cfg80211/mac80211: use reduced txpower for 5 and 10 MHz
  mac80211: change IBSS channel state to chandef
  nl80211: allow 5 and 10 MHz channels for IBSS
  ath9k: always use SIFS times from OFDM for 5/10 MHz
  ath9k: use chandef instead of channel_type
  ath9k: add and use 5/10 MHz bitrate tables
  ath9k: report 5/10 MHz channels
  ath9k: announce that ath9k supports 5/10 MHz
  ath5k: add and use 5/10 MHz bitrate tables
  ath5k: report 5/10 MHz channels
  ath5k: enable support for 5 MHz and 10 MHz channels

 drivers/net/wireless/ath/ath5k/ath5k.h        |   11 +-
 drivers/net/wireless/ath/ath5k/base.c         |  133 +++++++++++++++++++++---
 drivers/net/wireless/ath/ath5k/base.h         |    2 +-
 drivers/net/wireless/ath/ath5k/debug.c        |   23 ++++-
 drivers/net/wireless/ath/ath5k/mac80211-ops.c |    2 +-
 drivers/net/wireless/ath/ath5k/pcu.c          |   30 +++++-
 drivers/net/wireless/ath/ath5k/qcu.c          |   23 ++++-
 drivers/net/wireless/ath/ath9k/beacon.c       |   13 ++-
 drivers/net/wireless/ath/ath9k/common.c       |   67 +++++++-----
 drivers/net/wireless/ath/ath9k/common.h       |    3 +-
 drivers/net/wireless/ath/ath9k/htc_drv_main.c |    5 +-
 drivers/net/wireless/ath/ath9k/hw.c           |    5 +-
 drivers/net/wireless/ath/ath9k/init.c         |   68 +++++++++---
 drivers/net/wireless/ath/ath9k/main.c         |    8 +-
 drivers/net/wireless/ath/ath9k/rc.c           |   13 ++-
 drivers/net/wireless/ath/ath9k/recv.c         |   24 ++++-
 drivers/net/wireless/ath/ath9k/xmit.c         |   14 ++-
 include/net/cfg80211.h                        |   66 ++++++++++++
 include/net/ieee80211_radiotap.h              |    4 +
 include/net/mac80211.h                        |   40 ++++++-
 include/uapi/linux/nl80211.h                  |    4 +
 net/mac80211/cfg.c                            |   50 +++++++--
 net/mac80211/ibss.c                           |   58 +++++++----
 net/mac80211/ieee80211_i.h                    |   47 ++++++++-
 net/mac80211/iface.c                          |    7 +-
 net/mac80211/main.c                           |    7 +-
 net/mac80211/mesh.c                           |    4 +-
 net/mac80211/mesh_plink.c                     |   18 +++-
 net/mac80211/mlme.c                           |   84 ++++++++++-----
 net/mac80211/rate.c                           |  102 ++++++++++++------
 net/mac80211/rc80211_minstrel.c               |   59 +++++++----
 net/mac80211/rc80211_minstrel_ht.c            |   26 +++--
 net/mac80211/rc80211_pid.h                    |    2 +
 net/mac80211/rc80211_pid_algo.c               |   68 +++++++++---
 net/mac80211/rx.c                             |   52 +++++++---
 net/mac80211/status.c                         |   18 +++-
 net/mac80211/tx.c                             |   43 ++++++--
 net/mac80211/util.c                           |  138 +++++++++++++++++++------
 net/wireless/chan.c                           |   57 ++++++++--
 net/wireless/nl80211.c                        |   23 ++++-
 net/wireless/util.c                           |   58 +++++++++++
 41 files changed, 1179 insertions(+), 300 deletions(-)

-- 
1.7.10.4


^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2013-05-17 15:39 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-15 14:18 [PATCHv2 00/18] Add support for 5 and 10 MHz channels Simon Wunderlich
2013-05-15 14:18 ` [PATCHv2 01/18] nl80211/cfg80211: add 5 and 10 MHz defines and wiphy flag Simon Wunderlich
2013-05-15 14:18 ` [PATCHv2 02/18] nl80211: add half/quarter channel bitrate tables to supported band struct Simon Wunderlich
2013-05-15 14:18 ` [PATCHv2 03/18] mac80211: fix various components for the new 5 and 10 MHz widths Simon Wunderlich
     [not found]   ` <CA+yqC4a6W6i9TUoEc1Boxe6a5eun_TSjLB0F+w3F2L_Hn+v_gA@mail.gmail.com>
2013-05-15 18:12     ` Johannes Berg
2013-05-15 20:22       ` Simon Wunderlich
2013-05-15 14:18 ` [PATCHv2 04/18] mac80211: fix timing for 5 MHz and 10 MHz channels Simon Wunderlich
2013-05-15 14:18 ` [PATCHv2 05/18] mac80211: round rates to the next multiple of 500kbps Simon Wunderlich
2013-05-15 14:18 ` [PATCHv2 06/18] mac80211: choose bitrate table according to bandwidth Simon Wunderlich
2013-05-15 14:18 ` [PATCHv2 07/18] mac80211: add radiotap flag and handling for 5/10 MHz Simon Wunderlich
2013-05-15 14:18 ` [PATCHv2 08/18] cfg80211/mac80211: use reduced txpower for 5 and 10 MHz Simon Wunderlich
2013-05-15 14:19 ` [PATCHv2 09/18] mac80211: change IBSS channel state to chandef Simon Wunderlich
2013-05-15 14:19 ` [PATCHv2 10/18] nl80211: allow 5 and 10 MHz channels for IBSS Simon Wunderlich
2013-05-15 14:19 ` [PATCHv2 11/18] ath9k: always use SIFS times from OFDM for 5/10 MHz Simon Wunderlich
2013-05-15 14:19 ` [PATCHv2 12/18] ath9k: use chandef instead of channel_type Simon Wunderlich
2013-05-15 14:19 ` [PATCHv2 13/18] ath9k: add and use 5/10 MHz bitrate tables Simon Wunderlich
2013-05-15 14:19 ` [PATCHv2 14/18] ath9k: report 5/10 MHz channels Simon Wunderlich
2013-05-15 14:19 ` [PATCHv2 15/18] ath9k: announce that ath9k supports 5/10 MHz Simon Wunderlich
2013-05-15 14:19 ` [PATCHv2 16/18] ath5k: add and use 5/10 MHz bitrate tables Simon Wunderlich
2013-05-15 14:19 ` [PATCHv2 17/18] ath5k: report 5/10 MHz channels Simon Wunderlich
2013-05-15 14:19 ` [PATCHv2 18/18] ath5k: enable support for 5 MHz and 10 " Simon Wunderlich
2013-05-15 20:24 ` [PATCHv2 00/18] Add support for 5 " Simon Wunderlich
2013-05-15 20:59 ` Adrian Chadd
2013-05-16 11:40   ` Simon Wunderlich
2013-05-16 15:34     ` Adrian Chadd
2013-05-17  9:58       ` Simon Wunderlich
     [not found]         ` <CA+yqC4bY_5Vd=B7nnmjEnDS+gJwD7fFZBkUCKEw0vb0aWucD5Q@mail.gmail.com>
2013-05-17 14:39           ` Johannes Berg
2013-05-17 15:39         ` Adrian Chadd

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox