936c50dd0605d7d81772f53700ef42f45525ffad |
|
11-Jul-2014 |
Eliad Peller <eliad@wizery.com> |
wlcore: add smart config definitions Add definitions for the smart config commands. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
633e27132625a0692440c4db58b901fb3cb67c55 |
|
06-Feb-2014 |
David Spinadel <david.spinadel@intel.com> |
mac80211: split sched scan IEs Split sched scan IEs to band specific and not band specific blocks. Common IEs blocks may be sent to the FW once per command, instead of per band. This allows optimization of size of the command, which may be required by some drivers (eg. iwlmvm with newer firmware version). As this changes the mac80211 API, update all drivers to use the new version correctly, even if they don't (yet) make use of the split data. Signed-off-by: David Spinadel <david.spinadel@intel.com> Reviewed-by: Alexander Bondar <alexander.bondar@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
5b07d97a381508dfc79bda72778ac27c1bdba320 |
|
10-Feb-2014 |
Yaniv Machani <yanivma@ti.com> |
wlcore: increase timeout to 5000 msecs dfs configuration command might take longer than the current timeout. increase it to 5 seconds. Signed-off-by: Yaniv Machani <yanivma@ti.com> Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
028e7243ac411c3aba7a754bcc775c2fbb0b3e5c |
|
10-Feb-2014 |
Eliad Peller <eliad@wizery.com> |
wl18xx: move to new firmware (wl18xx-fw-3.bin) Bump the min wl18xx fw version to 8.8.0.0.13 This fw is not backward compatible with older firmware (due to api changes), so use bump the firmware name as well. Some modifications were done to the driver-fw api in order to support multiple APs. Additionally, some of the consts (such as max stations, max links and max RX BA sessions) were changed. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
4b6741443264d20aa7a1cb52185a7d13589590fe |
|
08-Sep-2013 |
Igal Chernobelsky <igalc@ti.com> |
wlcore: fix interrogate command length Change interrogate command prototype to have command size and returned buffer length. This fixes the issue when command parameters are needed to be passed to FW in addition to acx header as in the case with get RSSI command, where role_id has to be passed. Signed-off-by: Igal Chernobelsky <igalc@ti.com> Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
|
ea5084356fb05093da9ff225fd2c2fcfd363371c |
|
27-Nov-2012 |
Eliad Peller <eliad@wizery.com> |
wlcore: allow fw commands to fail Currently, each fw command/acx that return a status code different than CMD_STATUS_SUCCESS will trigger a recovery in the driver. However, it is a valid for some fw commands to fail (e.g. due to temporary lack of resources), so add new functions that allow passing bitmap of valid error return values. (make the current wl1271_cmd_send/wl1271_cmd_configure wrappers around the new functions, in order to avoid changing the whole driver) Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
|
6b70e7eb70cd6c5ad445ec02f74b84131a4c721a |
|
25-Nov-2012 |
Victor Goldenshtein <victorg@ti.com> |
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>
|
978cd3a0b82969c1f85942e208f8a00412964ef6 |
|
22-Nov-2012 |
Eliad Peller <eliad@wizery.com> |
wlcore: save session_id per-link A new session_id is generated on link allocation. it is saved in a global array and used later, on tx. The new fw api adds new bcast/global_session_id fields to start_role(ap) command, and a new session_id field to add_peer command. align the driver with it. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
|
d50529c0d8b7f03012f140349161c29b0f7bd24c |
|
22-Nov-2012 |
Eliad Peller <eliad@wizery.com> |
wlcore: pass wmm configuration to the fw New fields were added to start_role(ap) and set_peer_state commands, so the fw will be able to know whether the sta/ap supports wmm (the fw uses it in order to choose the AC for some of its internally-generated frames) For sta, take this value right from bss_conf->qos. For ap, check for wmm support by looking for the WMM IE in the configured beacon. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
|
c50a282515dc7092f7318708a0f3ae7ca7342b9f |
|
22-Nov-2012 |
Eliad Peller <eliad@wizery.com> |
wlcore: update events enum/struct to new fw api The event mailbox in wl18xx has a different (non-compatible) structure. Create common functions in wlcore to handle the events, and call them from the chip-specific event mailbox parsers. This way, each driver (wl12xx/wl18xx) extracts the event mailbox by itself according to its own structure, and then calls the common wlcore functions to handle it. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
|
fcab189027cdd68df7f97474d1419aaa4a82130c |
|
22-Nov-2012 |
Eliad Peller <eliad@wizery.com> |
wlcore: update channel_switch/stop_channel_switch commands Some fields were added to the channel_switch and stop_channel_switch commands. Unfortunately, the new 18xx channel_switch struct is not backward compatible with the 12xx channel switch struct. Add a new channel_switch op to wlcore, and update the driver accordingly. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
|
78e28062fea51c62280cd17fe6143ed583f83ba0 |
|
22-Nov-2012 |
Eliad Peller <eliad@wizery.com> |
wlcore: split 18xx and 12xx scan mechanism The scan APIs of 12xx and 18xx are totally different. Use some common functions as much as possible (e.g. for setting scan channels), but split scan.c into chip-specific scan.c files, each implementing its own scan mechanism. (in other words - move most of the current wlcore's scan.c into wl12xx, and implement a similar mechanism in 18xx, according to the new api) New wlcore ops are introduced in order to call the chip-specific scan functions. The template indices used for each scan (regular/scheduled) are also different between the chips, so set the correct indices used for each scan type after identifying the chip. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
|
e9b9d4550733dc322cd0d191e0423a480d9180ef |
|
22-Nov-2012 |
Eliad Peller <eliad@wizery.com> |
wlcore: update commands enum to new fw api Align the commands enum with the new fw api (8.4.0.0.19) Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
|
dabf37dba405565ab46f4d1821c781730285b9ed |
|
20-Nov-2012 |
Eliad Peller <eliad@wizery.com> |
wlcore: implement .remain_on_channel() callback implement the reamin_on_channel() callback by starting a dev role (already associated with the current vif) on the requested channel/band. This channel is usually different from the channel of the sta role, so pass it to wl12xx_roc() as well, and notify mac80211 (async) when the fw is ready on the new channel. Now, in case of offchannel tx, we should use the dev role hlid, instead of the sta hlid. Signed-off-by: Eliad Peller <eliad@wizery.com> Reviewed-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
|
001e39a8effd5a9774153ca6ca67849a93b95852 |
|
16-Aug-2012 |
Eliad Peller <eliad@wizery.com> |
wlcore: use dynamic keep-alive template ids Currently, all the (station) roles use the same keep-alive template id (0). However, the klv template ids shouldn't be shared by different roles. Implement a simple klv_templates bitmap, and let each role allocate its own klv template id on role initialization. [Arik - remove invalidation of KLV template when getting into "idle". This is already handled in unjoin] Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <luca@coelho.fi>
|
e8c7b335faca2cbce715da3b0e1663d75d422f5b |
|
18-Jul-2012 |
Luciano Coelho <coelho@ti.com> |
wlcore: increase command completion timeout In some rare cases, the CMD_ROC completion may take over 1 second. The timeout had earlier been increased to 1000ms (from 750ms), but it is still not enoug. Increase it to 1500ms. Signed-off-by: Luciano Coelho <coelho@ti.com>
|
3df74f46d88e39a032eb2cc3f2a571b66082acba |
|
27-Jun-2012 |
Yoni Divinsky <yoni.divinsky@ti.com> |
wlcore: add probe request templates for sched and one-shot scans The driver configures the firmware template for probe requests during the scan process. If the same template is used for one-shot and sched scans they will override each other when running scans simultaneously. This fix works only on firmwares later than X.3.9.2.112 for single role and X.3.9.2.23 for multi-role. [Some cleaning-up and renaming of the quirk to something smaller -- Luca.] Signed-off-by: Yoni Divinsky <yoni.divinsky@ti.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
|
b0b09e312ad36993a9ae51993b73448c1e38fc14 |
|
13-Jun-2012 |
Yair Shapira <yair.shapira@ti.com> |
wlcore: add print logs of radio_status in case of BIP calibration FEM BIP calibration may fail with fw/phy radio status. In order to recognize these failures a log is added to the calibration answer (TEST_CMD_P2G_CAL) Signed-off-by: Yair Shapira <yair.shapira@ti.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
|
0c2129843502833c6e4117db8f312b625a23ef15 |
|
15-May-2012 |
Eliad Peller <eliad@wizery.com> |
wlcore: increase WL1271_EVENT_TIMEOUT In some cases, the ROC_COMPLETE event might exceed the current timeout (750 msec). Increase it to 1 sec. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
|
a6298dbe95b5121dfc74102e7a113001859a1335 |
|
09-May-2012 |
Arik Nemtsov <arik@wizery.com> |
wl18xx: send channel type to FW on role start Translate the NL80211 channel type to a FW-specific channel type and send it to the FW as part of the role-start command. For wl12xx this has no effect - this element is treated as padding. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
|
9d68d1eea7fb4d05b5bd037da6a66329d640b2f1 |
|
01-Dec-2011 |
Luciano Coelho <coelho@ti.com> |
wlcore/wl12xx: add hw_init operation Move all the wl12xx-specific hw initialization procedures into a new hw_init op. Move some commands and ACX functions to wl12xx. Signed-off-by: Luciano Coelho <coelho@ti.com>
|
00782136b4d6e2316e0a2a55f3b1fba160e9576e |
|
29-Nov-2011 |
Luciano Coelho <coelho@ti.com> |
wlcore/wl12xx: implement chip-specific register tables Add register tables support in wlcore, add some new IO functions to read and write to chip-specific register and data addresses. Move some common register values from wl12xx to wlcore and add the registers table to wl12xx. Signed-off-by: Luciano Coelho <coelho@ti.com>
|
c31be25a7144ebc9b7a22128909bac7654d4c46b |
|
21-Nov-2011 |
Luciano Coelho <coelho@ti.com> |
wl12xx/wlcore: move wl1271 struct to wlcore and add ops In order to add chip-specific operations and prepare for future elements that need to be set by the lower driver, move the wl1271 structure to the wlcore.h file and add an empty placeholder for the operations structure. Signed-off-by: Luciano Coelho <coelho@ti.com>
|
7b3115f265de1b669b757f3802b67c9a7f146223 |
|
02-Dec-2011 |
Luciano Coelho <coelho@ti.com> |
wl12xx/wlcore: rename wl12xx to wlcore Rename the wl12xx driver directory to wlcore as an initial step towards the split of the driver into wlcore and wl12xx. We just rename the directory first to keep git blame happy. Signed-off-by: Luciano Coelho <coelho@ti.com>
|