linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arend van Spriel <arend.vanspriel@broadcom.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: linux-wireless <linux-wireless@vger.kernel.org>,
	Arend van Spriel <arend.vanspriel@broadcom.com>
Subject: [RFC V3 00/11] nl80211: add support for g-scan
Date: Mon, 12 Dec 2016 11:59:46 +0000	[thread overview]
Message-ID: <1481543997-24624-1-git-send-email-arend.vanspriel@broadcom.com> (raw)

Android employs a Wifi-HAL layer in its wireless frame. It basically abstracts
dealing with netlink messages from the framework. For some features it employs
nl80211 vendor commands. The goal I set myself is to be able to have a generic
nl80211 Wifi-HAL implementation. One of the features currently requiring the
vendor commands is g-scan. We can only guess what the 'g' stands for ;-) This
series converts the vendor command api into common nl80211 api.

This series adds basic support of g-scan (or GScan, or gscan, or something
completely different; suggestions are welcome). A basic g-scan request consists
of some common attributes and so-called buckets. Each bucket represents a
re-occurring scan request with a given interval and a set of channels. The
common attributes specify how much scans (m) should be stored and how many
BSS-es (n) should be kept per scan before an event is sent. The other option
is to specify a percentage at which an event is sent, where 100% equals (m * n).
A special case of bucket is the exponential backoff bucket, which has an
increasing interval.

The series is applied on top of master branch of wireless-testing as it relied
on patches pending in wireless-drivers-next. As such this series include two
fixes against those pending patched. Hopefully using wireless-testing allows
the nl80211 changes in this series to apply to mac80211-next. I consider it
still in RFC state so it may not matter right now.

Changes:
 V2
  - remove pr_err() statement from nl80211.c
  - get rid of #if 0 code.
  - reordered patches resolving compilation issue.
 V3
  - drop support for RTT info in scan results.
  - cleanup attribute definitions.
  - add driver implementation for brcmfmac.

Arend van Spriel (11):
  nl80211: add reporting of gscan capabilities
  nl80211: rename some notification functions
  nl80211: add support for gscan
  nl80211: add driver api for gscan notifications
  brcmfmac: fix memory leak in brcmf_cfg80211_attach()
  brcmfmac: fix uninitialized field in scheduled scan ssid configuration
  brcmfmac: add firmware feature detection for gscan feature
  brcmfmac: report gscan capabilities if firmware supports it
  brcmfmac: implement gscan functionality
  brcmfmac: handle gscan events from firmware
  brcmfmac: allow gscan to run concurrent with scheduled scan

 .../broadcom/brcm80211/brcmfmac/cfg80211.c         | 266 +++++++++++--
 .../broadcom/brcm80211/brcmfmac/cfg80211.h         |  12 +-
 .../wireless/broadcom/brcm80211/brcmfmac/core.c    |   5 +-
 .../wireless/broadcom/brcm80211/brcmfmac/debug.h   |   2 +
 .../wireless/broadcom/brcm80211/brcmfmac/feature.c |  22 +-
 .../wireless/broadcom/brcm80211/brcmfmac/feature.h |   4 +-
 .../wireless/broadcom/brcm80211/brcmfmac/fweh.h    |   1 +
 .../broadcom/brcm80211/brcmfmac/fwil_types.h       |  92 +++++
 .../net/wireless/broadcom/brcm80211/brcmfmac/pno.c | 381 +++++++++++++++++-
 .../net/wireless/broadcom/brcm80211/brcmfmac/pno.h |  37 ++
 include/net/cfg80211.h                             | 155 ++++++++
 include/uapi/linux/nl80211.h                       | 207 ++++++++++
 net/wireless/core.c                                |  33 ++
 net/wireless/core.h                                |   6 +
 net/wireless/nl80211.c                             | 430 ++++++++++++++++++++-
 net/wireless/nl80211.h                             |   4 +-
 net/wireless/rdev-ops.h                            |  25 ++
 net/wireless/scan.c                                |  90 ++++-
 net/wireless/trace.h                               |  19 +
 19 files changed, 1726 insertions(+), 65 deletions(-)

--
1.9.1

             reply	other threads:[~2016-12-12 12:00 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-12 11:59 Arend van Spriel [this message]
2016-12-12 11:59 ` [RFC V3 01/11] nl80211: add reporting of gscan capabilities Arend van Spriel
2016-12-13 16:15   ` Johannes Berg
2016-12-13 20:02     ` Arend Van Spriel
2016-12-12 11:59 ` [RFC V3 02/11] nl80211: rename some notification functions Arend van Spriel
2016-12-12 11:59 ` [RFC V3 03/11] nl80211: add support for gscan Arend van Spriel
2016-12-12 17:43   ` Dan Williams
2016-12-12 20:01     ` Arend Van Spriel
2016-12-13 16:19   ` Johannes Berg
2016-12-13 20:09     ` Arend Van Spriel
2016-12-13 22:29       ` Johannes Berg
2016-12-14  9:01         ` Arend Van Spriel
2016-12-16 10:13           ` Johannes Berg
2016-12-16 12:21             ` Arend Van Spriel
2016-12-12 11:59 ` [RFC V3 04/11] nl80211: add driver api for gscan notifications Arend van Spriel
2016-12-13 16:20   ` Johannes Berg
2016-12-14 10:07     ` Arend Van Spriel
2016-12-16 10:02       ` Johannes Berg
2016-12-16 12:17         ` Arend Van Spriel
2016-12-16 12:36           ` Johannes Berg
2016-12-12 11:59 ` [RFC V3 05/11] brcmfmac: fix memory leak in brcmf_cfg80211_attach() Arend van Spriel
2016-12-12 11:59 ` [RFC V3 06/11] brcmfmac: fix uninitialized field in scheduled scan ssid configuration Arend van Spriel
2016-12-12 11:59 ` [RFC V3 07/11] brcmfmac: add firmware feature detection for gscan feature Arend van Spriel
2016-12-12 11:59 ` [RFC V3 08/11] brcmfmac: report gscan capabilities if firmware supports it Arend van Spriel
2016-12-12 11:59 ` [RFC V3 09/11] brcmfmac: implement gscan functionality Arend van Spriel
2016-12-12 11:59 ` [RFC V3 10/11] brcmfmac: handle gscan events from firmware Arend van Spriel
2016-12-12 11:59 ` [RFC V3 11/11] brcmfmac: allow gscan to run concurrent with scheduled scan Arend van Spriel

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=1481543997-24624-1-git-send-email-arend.vanspriel@broadcom.com \
    --to=arend.vanspriel@broadcom.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.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 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).