linux/drivers/net/wireless/ti/wl18xx
Victor Goldenshtein 6b70e7eb70 wlcore: add new reg-domain configuration command
In 18xx the calibration process of the PHY Cortex domain
requires to perform an active calibration of the channel
before it can be used for transmission. To fulfill world
wide regulatory restrictions, fw should be always
synchronized/updated with current CRDA configuration.
Add a new "CMD_DFS_CHANNEL_CONFIG" command to update the
fw with current reg-domain, this command passes a bit map
of channels that are allowed to be used for transmission.

The driver shall update the fw during initialization and
after each change in the current reg-domain
configuration. The driver will save the channel number of
incoming beacons during the scan process, as they might
be a result of the passive scan on
"IEEE80211_CHAN_PASSIVE_SCAN" channel and will update the
fw accordingly once the scan is finished, the purpose of
this is to be ready in case of the authentication request
on one of these disabled (uncalibrated) channels.

The new command requires to wait for the fw completion
event "DFS_CHANNELS_CONFIG_COMPLETE_EVENT".

No scan commands (including the sched scan) can be
executed concurrently with the "CMD_DFS_CHANNEL_CONFIG",
wl->mutex ensures that.

[Arik - move reset of reg_ch_conf_last to safe place inside
op_stop_locked]
[Eliad - adjust to new event waiting api]

Signed-off-by: Victor Goldenshtein <victorg@ti.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2012-11-28 11:41:43 +02:00
..
acx.c wlcore: update acx enum 2012-11-27 10:49:28 +02:00
acx.h wlcore: update acx enum 2012-11-27 10:49:28 +02:00
cmd.c wlcore: update channel_switch/stop_channel_switch commands 2012-11-27 10:49:28 +02:00
cmd.h wlcore: update channel_switch/stop_channel_switch commands 2012-11-27 10:49:28 +02:00
conf.h wl18xx: add support for ht_mode in conf.h 2012-07-18 15:08:21 +03:00
debugfs.c wlcore: Prevent interaction with HW after recovery is queued 2012-09-27 12:13:50 +03:00
debugfs.h wl18xx: implement fw status debugfs entries 2012-06-05 15:58:16 +03:00
event.c wlcore: add new reg-domain configuration command 2012-11-28 11:41:43 +02:00
event.h wlcore: update events enum/struct to new fw api 2012-11-27 10:49:29 +02:00
io.c wl18xx: fix bogus compile warning on cc config option 2012-07-18 15:08:21 +03:00
io.h wlcore: Force checking of io functions' return values 2012-06-22 10:49:45 +03:00
Kconfig wl18xx: add dependency on mac80211 2012-06-05 17:16:09 +03:00
main.c wlcore: add new reg-domain configuration command 2012-11-28 11:41:43 +02:00
Makefile wlcore: update events enum/struct to new fw api 2012-11-27 10:49:29 +02:00
reg.h wl18xx: align wl18xx_conf_phy with FW variant and remove it 2012-06-08 09:42:09 +03:00
scan.c wlcore: split 18xx and 12xx scan mechanism 2012-11-27 10:49:27 +02:00
scan.h wl18xx: increase MAX_CHANNELS_5GHZ 2012-11-27 10:49:27 +02:00
tx.c wlcore/wl12xx/wl18xx: introduce quirk to remove TKIP header space 2012-06-06 19:28:04 +03:00
tx.h wl18xx: pad only last frame in aggregration buffer for PG2 2012-06-07 18:11:06 +03:00
wl18xx.h wl18xx: change fw name and temporarily fail loading 2012-11-27 10:49:26 +02:00