kernel-ark/drivers/net/wireless/iwlwifi
Bruno Randolf 566bfe5a8b mac80211: use hardware flags for signal/noise units
trying to clean up the signal/noise code. the previous code in mac80211 had
confusing names for the related variables, did not have much definition of
what units of signal and noise were provided and used implicit mechanisms from
the wireless extensions.

this patch introduces hardware capability flags to let the hardware specify
clearly if it can provide signal and noise level values and which units it can
provide. this also anticipates possible new units like RCPI in the future.

for signal:

  IEEE80211_HW_SIGNAL_UNSPEC - unspecified, unknown, hw specific
  IEEE80211_HW_SIGNAL_DB     - dB difference to unspecified reference point
  IEEE80211_HW_SIGNAL_DBM    - dBm, difference to 1mW

for noise we currently only have dBm:

  IEEE80211_HW_NOISE_DBM     - dBm, difference to 1mW

if IEEE80211_HW_SIGNAL_UNSPEC or IEEE80211_HW_SIGNAL_DB is used the driver has
to provide the maximum value (max_signal) it reports in order for applications
to make sense of the signal values.

i tried my best to find out for each driver what it can provide and update it
but i'm not sure (?) for some of them and used the more conservative guess in
doubt. this can be fixed easily after this patch has been merged by changing
the hardware flags of the driver.

DRIVER          SIGNAL    MAX	NOISE   QUAL
-----------------------------------------------------------------
adm8211         unspec(?) 100   n/a     missing
at76_usb        unspec(?) (?)   unused  missing
ath5k           dBm             dBm     percent rssi
b43legacy       dBm             dBm     percent jssi(?)
b43             dBm             dBm     percent jssi(?)
iwl-3945        dBm             dBm     percent snr+more
iwl-4965        dBm             dBm     percent snr+more
p54             unspec    127   n/a     missing
rt2x00          dBm	        n/a     percent rssi+tx/rx frame success
  rt2400        dBm             n/a
  rt2500pci     dBm             n/a
  rt2500usb     dBm             n/a
  rt61pci       dBm             n/a
  rt73usb       dBm             n/a
rtl8180         unspec(?) 65    n/a     (?)
rtl8187         unspec(?) 65    (?)     noise(?)
zd1211          dB(?)     100   n/a     percent

drivers/net/wireless/ath5k/base.c:      Changes-licensed-under: 3-Clause-BSD

Signed-off-by: Bruno Randolf <br1@einfach.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-05-14 16:29:49 -04:00
..
iwl3945-base.c mac80211: use hardware flags for signal/noise units 2008-05-14 16:29:49 -04:00
iwl4965-base.c iwlwifi: adding parameter of fw_restart 2008-05-14 16:29:48 -04:00
iwl-3945-commands.h iwlwifi: iwl3945 remove 4965 commands 2008-03-25 16:41:54 -04:00
iwl-3945-core.h iwlwifi: add struct iwl_cfg 2008-03-07 16:03:00 -05:00
iwl-3945-debug.h iwlwifi: update copyright year 2008-03-13 19:32:32 -04:00
iwl-3945-hw.h iwlwifi: 3945 remove unused SCD definitions 2008-05-07 15:02:20 -04:00
iwl-3945-io.h iwlwifi: update copyright year 2008-03-13 19:32:32 -04:00
iwl-3945-led.c iwlwifi: Add led support 2008-03-27 16:03:16 -04:00
iwl-3945-led.h iwlwifi: Add led support 2008-03-27 16:03:16 -04:00
iwl-3945-rs.c iwlwifi: remove includes to net/ieee80211.h 2008-05-07 15:02:15 -04:00
iwl-3945-rs.h iwlwifi: move rate registration to module load 2008-04-01 17:13:19 -04:00
iwl-3945.c mac80211: use hardware flags for signal/noise units 2008-05-14 16:29:49 -04:00
iwl-3945.h iwlwifi : Set monitor mode for 3945 2008-05-14 16:29:46 -04:00
iwl-4965-hw.h iwlwifi: move NIC init and Tx queues init to iwlcore 2008-05-14 16:29:46 -04:00
iwl-4965-rs.c iwlwifi: move per driverdebug_level to per device 2008-05-14 16:29:45 -04:00
iwl-4965-rs.h iwlwifi: rename iwl-4965.h to iwl-dev.h 2008-05-07 15:02:26 -04:00
iwl-4965.c mac80211: use hardware flags for signal/noise units 2008-05-14 16:29:49 -04:00
iwl-5000-hw.h iwlwifi-5000: update the byte count in SCD 2008-05-07 15:02:25 -04:00
iwl-5000.c iwlwifi: adding parameter of fw_restart 2008-05-14 16:29:48 -04:00
iwl-calib.c iwlwifi: rename iwl-4965.h to iwl-dev.h 2008-05-07 15:02:26 -04:00
iwl-calib.h iwlwifi: rename iwl-4965.h to iwl-dev.h 2008-05-07 15:02:26 -04:00
iwl-commands.h iwlwifi: generalize iwl4965_send_add_station function 2008-05-14 16:29:45 -04:00
iwl-core.c mac80211: use hardware flags for signal/noise units 2008-05-14 16:29:49 -04:00
iwl-core.h iwlwifi: adding parameter of fw_restart 2008-05-14 16:29:48 -04:00
iwl-csr.h iwlwifi-5000: Add HW REV of 5000 HW family 2008-05-07 15:02:25 -04:00
iwl-debug.h iwlwifi: move debug_level to sysfs/bus/pci/devices 2008-05-14 16:29:47 -04:00
iwl-debugfs.c iwlwifi: debugfs EEPROM dump 2008-05-14 16:29:42 -04:00
iwl-dev.h iwlwifi: remove 4965 prefix from iwl4965_kw and iwl4965_tx_queue 2008-05-14 16:29:47 -04:00
iwl-eeprom.c iwlwifi: rename iwl-4965.h to iwl-dev.h 2008-05-07 15:02:26 -04:00
iwl-eeprom.h iwlwifi-5000: add nic config handler for 5000 HW 2008-05-07 15:02:25 -04:00
iwl-fh.h iwlwifi: move Flow Handlers define to iwl-fh.h 2008-05-07 15:02:20 -04:00
iwl-hcmd.c iwlwifi: remove 4965 from rx_packet 2008-05-14 16:29:44 -04:00
iwl-helpers.h iwlwifi: update copyright year 2008-03-13 19:32:32 -04:00
iwl-io.h iwlwifi: improve NIC i/o debug prints information 2008-03-27 16:03:17 -04:00
iwl-led.c iwlwifi: rename iwl-4965.h to iwl-dev.h 2008-05-07 15:02:26 -04:00
iwl-led.h iwlwifi: Add led support 2008-03-27 16:03:16 -04:00
iwl-power.c iwlwifi: rename iwl-4965.h to iwl-dev.h 2008-05-07 15:02:26 -04:00
iwl-power.h iwlwifi: rename iwl-4965-commands to iwl-commands.h 2008-05-07 15:02:26 -04:00
iwl-prph.h iwlwifi: clean up register names and defines 2008-05-07 15:02:19 -04:00
iwl-rfkill.c iwlwifi: rename iwl-4965.h to iwl-dev.h 2008-05-07 15:02:26 -04:00
iwl-rfkill.h iwlwifi: make Makefile more concise 2008-04-16 15:59:59 -04:00
iwl-rx.c iwlwifi: handle shared memory Rx index access 2008-05-14 16:29:46 -04:00
iwl-spectrum.h iwlwifi: update copyright year 2008-03-13 19:32:32 -04:00
iwl-sta.c iwlwifi: compile iwl-sta into iwlcore 2008-05-14 16:29:46 -04:00
iwl-sta.h iwlwifi: iwl-sta redundant includes clean up 2008-05-07 15:02:20 -04:00
iwl-tx.c iwlwifi: remove 4965 prefix from iwl4965_kw and iwl4965_tx_queue 2008-05-14 16:29:47 -04:00
Kconfig iwlwifi: move debug_level to sysfs/bus/pci/devices 2008-05-14 16:29:47 -04:00
Makefile iwlwifi: compile iwl-sta into iwlcore 2008-05-14 16:29:46 -04:00