android_kernel_motorola_sm6225/drivers/net/wireless/iwlwifi
Cindy H. Kao 4613e72dbd iwlwifi: support the svtool messages interactions through nl80211 test mode
This patch adds the feature to support the test mode operation through
the generic netlink channel NL80211_CMD_TESTMODE between intel
wireless device iwlwifi and the user space application svtool.

The main purpose is to create a transportation layer between the iwlwifi
device and the user space application so that the interaction between the
user space application svtool and the iwlwifi device in the kernel space is
in a way of generic netlink messaging.

The detail specific functions are:

1. The function iwl_testmode_cmd() is added to digest the svtool test command
   from the user space application. The svtool test commands are categorized  to
   three types : commands to be processed by the device ucode, commands to access
   the registers, and commands to be processed at the driver level(such as reload
   the ucode). iwl_testmode_cmd() dispatches the commands the corresponding handlers
   and reply to user space regarding the command execution status. Extra data is
   returned to the user space application if there's any.

2. The function iwl_testmode_ucode_rx_pkt() is added to multicast all the spontaneous
   messages from the iwlwifi device to the user space. Regardless the message types,
   whenever there is a valid spontaneous message received by the iwlwifi ISR,
   iwl_testmode_ucode_rx_pkt() is invoked to multicast the message content to user
   space. The message content is not attacked and the message parsing is left to
   the user space application.

Implementation guidelines:

1. The generic netlink messaging for iwliwif test mode is through  NL80211_CMD_TESTMODE
   channel, therefore, the codes need to follow the regulations set by cfg80211.ko
   to get the actual device instance ieee80211_ops via cfg80211.ko, so that the iwlwifi
   device is indicated with ieee80211_ops and can be actually accessed.

   Therefore, a callback iwl_testmode_cmd() is added to the structure
   iwlagn_hw_ops in iwl-agn.c.

2. It intends to utilize those low level device access APIs from iwlwifi device driver
   (ie. iwlagn.ko) rather than creating it's own set of device access functions.
   For example, iwl_send_cmd(), iwl_read32(), iwl_write8(), and iwl_write32() are reused.

3. The main functions are maintained in new files instead of spreading all over the
   existing iwlwifi driver files.

   The new files added are :

   drivers/net/wireless/iwlwifi/iwl-sv-open.c
        - to handle the user space test mode application command
          and reply the respective command status to the user space application.
        - to multicast the spontaneous messages from device to user space.

   drivers/net/wireless/iwlwifi/iwl-testmode.h
        - the commonly referenced definitions for the TLVs used in
          the generic netlink messages

Signed-off-by: Cindy H. Kao <cindy.h.kao@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
2011-05-06 10:44:46 -07:00
..
iwl-1000.c iwlagn: remove un-necessary debugfs callback 2011-04-30 09:10:53 -07:00
iwl-2000.c iwlagn: remove un-necessary debugfs callback 2011-04-30 09:10:53 -07:00
iwl-5000-hw.h iwlagn: change Copyright to 2011 2011-04-07 15:51:37 -04:00
iwl-5000.c iwlagn: remove un-necessary debugfs callback 2011-04-30 09:10:53 -07:00
iwl-6000-hw.h iwlagn: change Copyright to 2011 2011-04-07 15:51:37 -04:00
iwl-6000.c iwlagn: remove un-necessary debugfs callback 2011-04-30 09:10:53 -07:00
iwl-agn-calib.c iwlagn: clean up & autodetect statistics 2011-04-08 08:19:00 -07:00
iwl-agn-calib.h iwlagn: clean up & autodetect statistics 2011-04-08 08:19:00 -07:00
iwl-agn-eeprom.c iwlagn: semaphore and calib cleanup 2011-04-30 08:56:59 -07:00
iwl-agn-hcmd.c iwlagn: make rxon_assoc static function 2011-04-30 08:39:44 -07:00
iwl-agn-hw.h iwlagn: change Copyright to 2011 2011-04-07 15:51:37 -04:00
iwl-agn-ict.c iwlagn: change Copyright to 2011 2011-04-07 15:51:37 -04:00
iwl-agn-lib.c iwlagn: mod param cleanup 2011-04-30 08:56:45 -07:00
iwl-agn-rs.c iwlagn: change Copyright to 2011 2011-04-07 15:51:37 -04:00
iwl-agn-rs.h iwlagn: no 3945 define needed 2011-04-08 08:00:19 -07:00
iwl-agn-rxon.c iwlagn: mod param cleanup 2011-04-30 08:56:45 -07:00
iwl-agn-sta.c iwlagn: change Copyright to 2011 2011-04-07 15:51:37 -04:00
iwl-agn-tt.c iwlagn: change Copyright to 2011 2011-04-07 15:51:37 -04:00
iwl-agn-tt.h iwlagn: change Copyright to 2011 2011-04-07 15:51:37 -04:00
iwl-agn-tx.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2011-04-26 15:39:10 -04:00
iwl-agn-ucode.c iwlwifi: support the svtool messages interactions through nl80211 test mode 2011-05-06 10:44:46 -07:00
iwl-agn.c iwlwifi: support the svtool messages interactions through nl80211 test mode 2011-05-06 10:44:46 -07:00
iwl-agn.h iwlwifi: support the svtool messages interactions through nl80211 test mode 2011-05-06 10:44:46 -07:00
iwl-commands.h iwlagn: remove 5000 from rxon_assoc structure 2011-04-30 08:39:53 -07:00
iwl-core.c iwlagn: prefer BSS context 2011-04-30 08:57:32 -07:00
iwl-core.h iwlagn: remove un-necessary debugfs callback 2011-04-30 09:10:53 -07:00
iwl-csr.h iwlagn: change Copyright to 2011 2011-04-07 15:51:37 -04:00
iwl-debug.h iwlagn: move IO functions out of line 2011-04-07 15:52:28 -04:00
iwl-debugfs.c iwlagn: remove un-necessary debugfs callback 2011-04-30 09:10:53 -07:00
iwl-dev.h iwlwifi: support the svtool messages interactions through nl80211 test mode 2011-05-06 10:44:46 -07:00
iwl-devtrace.c iwlagn: change Copyright to 2011 2011-04-07 15:51:37 -04:00
iwl-devtrace.h iwlagn: change Copyright to 2011 2011-04-07 15:51:37 -04:00
iwl-eeprom.c iwlagn: semaphore and calib cleanup 2011-04-30 08:56:59 -07:00
iwl-eeprom.h iwlagn: semaphore and calib cleanup 2011-04-30 08:56:59 -07:00
iwl-fh.h iwlagn: more cleanup to remove unused reference 2011-04-08 08:01:37 -07:00
iwl-hcmd.c iwlagn: remove most BUG_ON instances 2011-04-18 09:14:30 -07:00
iwl-helpers.h iwlagn: combine firmware code/data 2011-04-22 10:21:18 -07:00
iwl-io.c iwlagn: introduce silent grabbing of NIC access 2011-04-30 08:39:22 -07:00
iwl-io.h iwlagn: introduce silent grabbing of NIC access 2011-04-30 08:39:22 -07:00
iwl-led.c iwlagn: use direct call for led functions 2011-04-18 08:47:43 -07:00
iwl-led.h iwlagn: use direct call for led functions 2011-04-18 08:47:43 -07:00
iwl-power.c iwlagn: temperature should be measure for all _agn devices 2011-04-18 09:30:09 -07:00
iwl-power.h iwlagn: change Copyright to 2011 2011-04-07 15:51:37 -04:00
iwl-prph.h iwlagn: more cleanup to remove unused reference 2011-04-08 08:01:37 -07:00
iwl-rx.c iwlagn: mod param cleanup 2011-04-30 08:56:45 -07:00
iwl-scan.c iwlagn: change Copyright to 2011 2011-04-07 15:51:37 -04:00
iwl-sta.c iwlagn: remove most BUG_ON instances 2011-04-18 09:14:30 -07:00
iwl-sta.h iwlagn: change Copyright to 2011 2011-04-07 15:51:37 -04:00
iwl-sv-open.c iwlwifi: support the svtool messages interactions through nl80211 test mode 2011-05-06 10:44:46 -07:00
iwl-testmode.h iwlwifi: support the svtool messages interactions through nl80211 test mode 2011-05-06 10:44:46 -07:00
iwl-tx.c iwlwifi: fix possible data overwrite in hcmd callback 2011-04-25 14:50:15 -04:00
Kconfig iwlwifi: support the svtool messages interactions through nl80211 test mode 2011-05-06 10:44:46 -07:00
Makefile iwlwifi: support the svtool messages interactions through nl80211 test mode 2011-05-06 10:44:46 -07:00