Age | Commit message (Collapse) | Author |
|
Change-Id: I111ab2cb92dc5fad3eb8938ceb76b7db715b54cc
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33545
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
* Accurate reporting of TX status is implemented (needed for UAPSD and PSPOLL).
* Leaking of TX rate policies is fixed.
* skb destructor is implemented.
* Time to live for queued frames is implemented.
* cw1200_tx is split by separate TX handlers (like in mac80211).
* cw1200_skb_to_wsm is not existing anymore.
* BT coex: null frames are prioritized as management frames.
* Debug: added printing of rate policies in use.
ST-Ericsson ID: 354950
ST-Ericsson ID: 360749
Change-Id: I920d398418df99c21b37a16ef16591e58a82151d
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33542
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
* buffered_multicasts_lock was renamed to ps_state_lock.
Previous name was quite confusive.
* Per-STA rx_queue was created for early RX-ed frames.
Not that we really need these frames, but PM status they are
holding is important.
* priv->tx_suspend_mask was removed, driver is not using it.
It was intended for UAPSD and is not needed in current
implementation on mac80211.
* Fix: cw1200_queue_unlock() was not called from cw1200_queue_clear()
when queue was internally locked.
ST-Ericsson ID: 360749
Change-Id: I61346db485d34f761d80af786b716d8c73e8b600
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33541
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
Asleep map in the driver was not updated. Bug was introduced by following commit:
"cw1200: Adaptation to U-APSD/AP support as on Thu, Sep 22, 2011".
ST-Ericsson ID: 360749
Change-Id: I5005a91f20ebc182e92f13f94510fa16fd7846ae
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33539
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
New mac80211 API for reporting buffered frames in SoftAP mode is supported.
SoftAP stability is significantly improved by that.
ST-Ericsson ID: 355584
Change-Id: I0f12c71fff05f7f6b79cd508181b7daab6838c7e
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/31927
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33530
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
U-APSD in SoftAP is fully offloaded to the mac80211 wireless stack.
Driver provides a transparent virtual link (with link_id = CW1200_LINK_ID_UAPSD)
which bypases powersave buffering. Mac80211 stack takes care to provide UAPSD
data when it is needed.
ST-Ericsson ID: 355584
Change-Id: Iabd65e7effcecc5564e76e05e081b8f6a98b4ddb
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30661
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33529
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
Configuration is now done in upper layers.
ST-Ericsson ID: 355584
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Change-Id: I96eff15907ea881e33446fef74a7acdd2b02655d
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29979
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-by: QATEST
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33521
Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com>
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
PM state is controlled separately by firmware and driver.
Firmware does not update own PM state when STA is removed,
so PM state of the driver and firmware could be out of sync.
The patch implements resyncronization of the PM state.
ST-Ericsson ID: 354923
Change-Id: Ie2d8f54bc9d6dc1578aead31eecdb04c9ce7505e
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29404
Reviewed-by: QABUILD
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33518
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
Release callback was missing in CW1200 PM device.
Also fixed register_platfor_device which chan not be done more than once.
PM device is allocating dyncmicly now.
ST-Ericsson ID: 358127
Change-Id: I3a7a7a8e72433380d00c7e2781db44e2f3abdca1
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29386
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33516
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
Temporary disabling U-APSD. It has negative impact
on performance.
Change-Id: Ie71fc42c5dcf290ec0714ee35340bfa86ba62945
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29351
Reviewed-by: QATEST
Reviewed-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com>
Tested-by: Tobias ANDERSON <tobias.xx.andersson@stericsson.com>
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33515
Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com>
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
* Added OID configuration for UAPSD configuration and related data
structure updates
* Added code to disable FastPS at FW in driver when UAPSD is enabled.
* Restructured the code
Change-Id: Ia64533960698646494268599c7f8f9aea57e4d88
Signed-off-by: Amit Shakya <amit.shakya@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29063
Reviewed-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com>
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33509
Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com>
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
* Code added to detect late (after suspend) interrupts and cancel
suspend in that case. Applicable only for GPIO IRQs.
Similar modification is required in the MMC/SDIO driver to handle
late SDIO IRQs properly.
* Code added to hold wakelock for 1 sec. when frame is sent from
the driver up to userspace.
Change-Id: Ia739c243164a6d35602dc9f634d3990214560eb9
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28850
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29061
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33507
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
Forced-join firmware mode, previously used for offchannel TXing,
has number of limitations and does not work well.
The patch re-implements offchannel TXing in monitor aka p2p-dev
mode.
Change-Id: Id5327792ab78f8515ece575639b02ddb70d4a73f
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28492
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28695
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33503
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
P2P power save support:
- Opportunistic Power Save
- Notice Of Absence
Change-Id: I5523c852632598d9c80acc390c920ccfb42eaefd
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28267
Tested-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com>
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33500
Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com>
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
* Driver unloading without prior "ifconfig wlan0 down" caused
warnings in cw1200_remove_interface() and cw1200_setup_mac().
* Entering SoftAP mode caused a warning in cw1200_set_tim_impl().
* Scan request failed with timeout if current BSS was out of range.
* wsm_set_pm is failing if scanned BSS is out of range, and it is
not a fault.
* Some state wariables were not reset to initial state in cw1200_stop().
ST-Ericsson ID: ER354873
ST-Ericsson ID: ER354919
Change-Id: I7f12748c0570de5c6f25aa8bf83b6012b44d87de
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28232
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33496
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
Legacy code from p54 driver was left by mistake in the main configuration,
causing power save to be disabled by default.
Change-Id: I6428a8a041e34c02cedd54652d54162aa9233f1c
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28210
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33494
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
* Enables wowlan ANY support for wiphy structure
* Set no off patterns support to 0
Change-Id: I56f58078850d13a3e178a021506cd1b64e9f3d35
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28169
Reviewed-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com>
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33491
Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com>
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
Refactoring of multicast handling:
* When multicast is coming, driver sets aid0 bit in TIM IE and puts
multicas in the queue with "AFTER_DTIM" link id.
* When WSM indicates DTIM beacon, driver verifies if aid0 indicating
beacon was sent and sends buffered multicasts.
* Driver clears aid0 bit in the TIM IE when no more multicasts are
available.
+ A stilistic change: 1 << shift is replaced by BIT(shift)
Change-Id: I15b134bf847913a907f00293ae99d7a71bbc7343
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27306
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33488
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
+ Core and SDIO power management is implemented as defined in
wireless-next v3.0-rc4.
+ SDD is cached to avoid disk access at suspend/resume time.
TODO:
- WoW conditions and filtering are not yet implemented.
- BUG: Late interrupts (coming after suspend() callback but
before the actual suspend) are not detected as wakeup sources.
Universal (Android/GLK) way of waking up halfly-suspended system
to be found.
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Change-Id: Ib4931a261e592f2927455e988055cd673250ec81
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27297
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33484
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
Earlier WSM firmware has not supported keepalive. Software workaround
was implemented to keep connection. This commit removes this code as
obsolete.
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Chnage-Id: Ib00260c8cc05c4e7170d8cc6a071415fc87b8f03
Change-Id: I32c3b7f89e97a262592151a582235c4401de594c
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27285
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33483
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
Change-Id: Iccec781533e5ac017ee0ed04741fc224a899f9d9
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27175
Reviewed-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com>
Tested-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com>
Reviewed-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33482
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com>
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
Driver should not provide MCS rates to mac80211 stack in
ieee80211_supported_band.bitrates table.
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Change-Id: I2f5287c4059f51ba7827607ac72fb2a93e4c05b8
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27148
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33481
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Change-Id: Iff214651c82fe1f7203f3ce016e7646e41cccc35
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27071
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33478
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
5GHz band support is disabled by default in the driver.
Use CW1200_5GHZ_SUPPORT kernel option to explicitly enable it
if your hardware supports 5GHz band.
Change-Id: I21c30ebd277ab19fcd92380f806111f2db668d0f
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/25623
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
* MCS rate indexes were wrongly interpreted by the driver as legacy rate offsets
in both TX and RX directions.
* HT rates have not been marked as MCS rates in rate description table.
* Driver should not expose AMPDU aggregation capability to the mac80211 stack,
aggrehation is fully controlled by the firmware. Firmware takes care of block
ACK negotiation.
* Block ACK action frames are filtered by driver: mac80211 layer is not involved
into BA dialog.
* Block ACK in TX direction is enabled.
* Block ACK in SoftAP mode is enabled.
* RX'ed frames should not be marked as "aggregated" for the mac80211 stack,
it confuses rate control algorithm quite a lot.
* CONFIG_CW1200_HT_SUPPORT option is removed: drivers always supports HT.
TODO:
- Modify minstrel rate policy "distillation" to prioritize higher bitrates.
- Verify greenfield mode.
Change-Id: I9288a2b99984785ae97d85de98ea79d3a49ea64f
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/24480
Reviewed-by: Robert MARKLUND <robert.marklund@stericsson.com>
Tested-by: Robert MARKLUND <robert.marklund@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/25620
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
Multi-tx offloads SDIO interface by reducing number of TX confirm messages.
Multiple PDUs are acknowledged by a single multi-tx confirm message.
Change-Id: Ie152a2dc9fc3ca18e2a8042965f626a6c2ec6409
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/24478
Reviewed-by: Robert MARKLUND <robert.marklund@stericsson.com>
Tested-by: Robert MARKLUND <robert.marklund@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/25618
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
* An expencive workaround against a bug in really old hardware
is removed.
* IEEE80211_HW_AMPDU_AGGREGATION is set in the device capability flags.
* Michael MIC is stripped by the driver: avoiding double-check by the
mac80211 stack.
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Change-Id: Iaf07e3f675685208c1c66a5faa6219ccbc893238
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/25614
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
Change-Id: I8dc24f029e78c9c2026dbe03f4a7111746316d70
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/25613
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
- .flush mac80211 API is implemented (expected to be called from
mac80211 off_channel code).
- TX queue statistics is implemented.
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Change-Id: If228ceccd856b699236999122c9989d0eca1e98d
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/23604
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
Drivers that use hardware scan should take care of setting
max_scan_ie_len themselves. cw1200 driver should do that as well.
Signed-off-by: Vitaly Wool <vitalywool@gmail.com>
Change-Id: I749a978675bcfb4fd8dbf56c9e52d4d42541a0cc
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/22857
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-by: Ajit Pal SINGH <ajitpal.singh@stericsson.com>
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
Tested-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
+ ampdu_action is implemented.
+ New configuration option for enabling 11n support (disabled by default).
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Change-Id: I66b873708e8ebe0967b56b5605871402b24ef09a
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/22856
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
Tested-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
wiphy_dev was not initialized.
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Change-Id: I799a78d12eee87c518e1613b4cb6a4726df253b2
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/22855
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
Tested-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
|
|
1. Added support for HREF/HREFV60/Snowball platforms.
2. Configuration cleanup.
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
|
|
Power management is on in this commit. Device is configured
in quiescent mode when idle and in dose mode when operating.
BH always checks if device is awake before trying to access it.
Timeout for putting device back to sleep is 1 second after
last device access.
Verification with WSM_A21.05.0288 shows that device is staying
awake even in quiescent mode. Bug in firmware? To be investigated.
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
|
|
LL IO API is defined and implemented.
TX queue is designed and implemented.
WSM API subset is defined.
mac80211 API is implemented partly.
FW downloading is working.
BH is _not_ implemented.
RX BH is implemented.
1. RX WSM API is defined and stubs are created.
2. RX BH is implemented (not verifiyed yet).
Reference WSM API implementation.
wsm_configuration / wsm_configuration_confirm.
Not veryfied yet.
BH and WSM TX, basic WSM notification.
Device startup is finished.
TODO at mac80211 layer:
- start
- add_interface
- config
- config_tx
- config_filter
- hw_scan
- remove_interface
- stop
TODO in general:
- proper (random?) MAC address
TODO in WSM:
- datapath
Basic mac80211 STA interface is implemented (not verified yet, but should be working).
Random MAC address is implemented.
Defined and implemented:
- cw1200_start
- cw1200_stop
- cw1200_add_interface
- cw1200_remove_interface
- cw1200_config
- cw1200_conf_tx
FW code is moved to fwio.[hc]
STA code is moved to sta.[hc]
AP code is moved to ap.[hc]
TODO:
- configure_filter()
- hw_scan()
- datapath
Some bugfix.
Piggyback RX-ing.
Bugbix: wrong buf_id_rx calculation.
Finaly! RX datapath is implemented.
TX datapath is implemented.
HW scan is implemented.
TODO:
- hw_scan: little refactoring. I hate gotos.
- Join
- Unjoin
- SKB pool
- BH monitor / chip restarter
Development.
+ Proper handling of scan IEs
Join. TX/RX should be working now.
Development.
+ Proper handling of scan IEs
+ Ping is working!!! (with some hacks)
Development.
+ TX rate policy cache is implemented.
+ TX rate policy table uploading is implemented.
+ TX queues stop/resume.
+ WSM STA API (except MIBs) is 100% finished.
+ Direct TX-ing of probe requests is converted to start-scan WSM cmd
(workaround against FW "feature").
+ All work moved to an own workqueue.
+ Scan timeout is implemented (workaround against a known bug in FW).
+ set_key is implemented.
TODO:
- Full WSM API support.
- Join refactoring
- Assoc status updates.
Verification and bugfixing.
+ Direct probe is verified. Some bugs fixed.
+ TX timeout is implemented... and rolled back: no way to cancel TX.
+ TX hang is fixed: FW hangs if tx->more is set but no more data available.
+ TX rate table uploading is moved into a separate workitem: can't schedule in datapath.
+ TX status reporting is enabled.
+ Removed hacks from Join: should be able to connect to any AP now.
+ TX rate cache bugfix: incorrect handling of policies like 100000000008900000000000.
+ TX rate cache optimization: upload only changed policies.
+ Unjoin is implemented for TX and RX.
+ Join is triggered for auth. frames only.
+ Join timeout is implemented.
+ wsm_set_bss_params is called from assoc notification.
+ wsm_set_association_mode is called from assoc notification.
+ set_beacon_wakeup_period is called from assoc notification.
+ HT information is now available in priv->ht_cap, priv->association_mode
+ CTS protection is set.
+ RTS threshold is set and verified.
+ Warning cleanup.
+ TODOs for compat-wireless-2010-07-16 API change.
+ Very basic RSSI subscription. However reporting is NIY.
+ Some bugfix for minestrel. F.e. policy like 10:9 11:9 0:1 0:1 -1:0 should be handled ok.
+ MaxTxCount (short/long) is implemented and verified.
+ Channel switch is protected now.
+ OverrideInternalTxRate is implemented.. and rolled back: internal rate controlselection is better.
TODO:
- Security is not validated yet
- Set HT parameters of TX data according to priv->ht_cap, priv->association_mode.
- Strange: set_beacon_wakeup_period is called with DTIM 1 always. Why???
- RSSI subscription events.
- How to do unjoin?
Style changes.
Modifications to make the code compatible with checkpath. Not finished yet.
1. // -> /* */
2. whitespaces
3. formatting
4. warning- & error fix
No functional changes in the commit.
Verification.
+ RSSI reporting is working.
+ WEP is working. Dynamic WEP key switching is implemented to select TX WEP key on-fly
+ WPA/CCMP and WPA2/CCMP are working.
+ WPA/TKIP and WPA2/TKIP are working.
+ MIC failure event is implemented.
+ Unjoin is implemented as a reset. Why not?
+ wsm_flush_tx() added to flush TX port after wsm_lock_tx_async().
+ race condition in wsm_lock_tx()/wsm_flush_tx() is fixed.
+ RSSI subscription is under research.
+ Event reporting is implemented.
+ Beacon loss event is prepared (but not sent)
+ Link loss is implemented.
TODO:
On target..
+ Bugfix: DMA from non-DMAble memory in FW downloading.
+ RSSI subscription is finished.
+ RSSI event reporting is implemented.
+ Beacon loss event is reimplemented with respect to scan.
+ Memory leak in WSM event processing is fixed.
+ Code is verified on target. Set CW1200_U8500_PLATFORM to build for target.
+ Scan turns on powersave to prevent AP from TXing.
+ Spinning of direct_probe work is fixed.
+ Workaround is implemented for "FIXME: we can't use 'more' at all: we don't know future."
TODO:
Verification on device.
+ Correct deinitialization of async work.
+ New WSM API.
+ WMM is verified and fixed (queue prioritization).
+ Bug in TX is fixed (freezing of TCP traffic).
+ STE CQM extensions are implemented.
+ HW revision detection is implemented.
+ A crash/hangs in scan is fixed.
+ 802.11 slot time is set
+ 11n: first steps: Mixed mode is working.
+ 11n: Block ACK config.
+ Keep-alive work is implemented (but it is not doing anything yet).
TODO:
- Copyright statements and COPYING
- STE API for power-save
- Need to deinit bt_thread, isn't it?
Copyright statements and bt_thread deinitialization.
+ Copyright statements
+ bt_thread deinitialization (NOT TESTED ON DEVICE AT ALL!!!)
Cumulative TODO:
- COPYING
- STE API for power-save
- Set HT parameters of TX data. 11n verification.
- SKB pool - reuse previously allocated SKBs
- BH monitor / chip restarter
- IBSS
- AP mode
- U-APSD configuration
- Memory leak verification, coverity, checkpatch
= It looks like that's it.
Mainline to compat-wireless-20010-12-03
No functional changes in this commit.
+ Changes in compat-wireless API.
+ Changes in kerner API.
+ Changes in kernel header structures.
TODO:
- New code in cw1200_bss_info_changed() needs to be verified.
- ht_operation_mode needs to be cached in priv.
Some HT refactoring.
+ ht_operation_mode is cached in priv
+ channel_type is cached in priv
+ New header for HT-related code: ht.h
+ Greenfield mode is used for TX if possible.
+ HT flags are reported back to rate control correctly.
TODO:
- Verify A-MPDU factor settings in cw1200_band_2ghz.
SKB cache is implemented.
Firmware loading refactoring.
+ CUT 2.0 detection is implemented.
+ Standard firmware loading API is used.
+ Firmware loading path is changed to /lib/firmware/cw1200/
+ Firmware is put to the project: ./firmware/
TODO:
- Firmware copying at build time.
Bringup after mainlining.
+ FW downloading is working now.
TODO:
- BH thread can't read data block from device.
Init: removing GPIO toggling. Not needed anymore.
WLAN: Fix for missing GPIO_HIGH, GPIO_LOW
The patch defines CW1200_GPIO_{HIGH|LOW} as replacement of
GPIO_{HIGH|LOW}, which might be absent on the target platform.
Also it allows build without compat wireless tree.
Added cw1200 to drivers/staging Kconfig and Makefile.
Added two CONFIG_ flags:
+ CONFIG_CW1200 - Enables the generic cw1200 module
+ CONFIG_CW1200_U8500_PLATFORM - U8500 platform integration
Removed binary firmware files, they do not belong in the kernel tree.
Added TODO file for cw1200 staging driver.
Added more help text to Kconfig
Removed checkpatch warnings. There is still one left.
Removed all checkpatch warnings for cw1200.h
Removed checkpatch warnings from cw1200_stdio.c.
There is still one left.
Removed checkpatch warnings for fwio.h
Removed checkpatch warning for hwio.c
Removed checkpatch warnings for main.c
There are still some warninges left.
Removed checkpatch warnings from queue.c
There are still some warnings left
Removed checkpatch warnings for queue.h
Removed checkpatch warnings for sbus.h
Removed checkpatch warnings for scan.c
Removed checkpatch warnings for scan.h
Removed checkpatch warnings for sta.c
Removed checkpatch warnings for txrc.c
Removed checkpatch warnings for txrx.h
Removed checkpatch warnings from wsm.c
Lots of "line over 80 char..." warnings left.
Minor checkpatch warning cleanup on wsm.c
WLAN: CW1200: Development: SoftAP mode
WLAN: CW1200: AP development.
+ Basic open AP is woking (prototyping done).
TODO:
- Check AP scan & assoc with sniffer
- WSM API: TxPowerLevel in scan requests.
- WSM API: Frame in TX and RX indication.
- WSM API: Flags in set_bss_params.
- WSM API: IGTKGroupKey in key info.
- WSM API: MultiTX confirm
- WSM API: Config block ACK
- WSM API: BA timeout indication.
CW1200: WLAN: Fix for a merge error.
This commit fixes build error introduced by WLAN: CW1200: AP development.
WLAN: CW1200: Fix for a warning in net/mac80211/rx.c
WLAN: CW1200: Add / remove key refactoring for AP mode.
Keys are cached in the driver and loaded after wsm_start() is called.
Verified (AP mode):
+ Open security: OK
+ WEP40: OK
+ WEP104: FAIL (WSM_STATUS_DECRYPTFAILURE)
+ CCMP: FAIL (MIC failure detected by STA. STA->AP decrypted OK)
+ TKIP: FAIL (MIC failure detected by STA. STA->AP decrypted OK)
WLAN: CW1200: Proper handling of stop request in the AP mode.
WLAN: CW1200: Firmware-driven keep-alive is implemented.
CW1200: SDIO card detection is implemented.
Removed dependency to u8500_sdio_detect_card().
New moule parameter "device" is implemented to point to the SDIO interface
device is connected to.
WLAN: CW1200: Checkpatch cleanup.
+ wsm.c is cleared.
+ sta.c is cleared.
+ ap.c is cleared.
+ bh.c is cleared.
+ cw1200_sdio.c is cleared.
+ main.c is cleared.
+ queue.c is cleared.
+ scan.c is cleared.
+ txrx.c is cleared.
+ cw1200.h is cleared.
+ hwio.h is cleared.
+ ht.h is cleared.
+ wsm_get_tx is (finally!) redesigned.
TODO:
- wsm.h
WLAN: CW1200: Checkpatch cleanup.
+ wsm.h is cleared.
Code is ready for submission.
WLAN: CW1200: Module parameter for MAC address.
New module parameter for cw1200_core.ko: "macaddr".
Usage: modprobe cw1200_core macaddr=0x00,0x80,0xE1,0x30,0x40,0x50
Random MAC address by default.
WLAN: CW1200: Fix for a crash in skb_release_data().
WLAN: CW1200: Fix for a too short WSM timeout in stressed condition.
WLAN: CW1200: Bugfix after regression testing.
Datapath is verified (several gigabytes of downloaded data).
WLAN: STA mode development.
+ AP API sta_add/sta_semove is implemented.
+ wsm_suspend_resume_indication is implemented.
+ Unique link ID is allocated for STAs in AP mode as WSM requires.
+ wsm_map_link is implemented.
+ wsm_reset is modified to support multiple link IDs.
+ cw1200_suspend_resume handler is implemented in the ap.c.
+ no more hardcoded SSIDs
+ Debug logs functionality is exposed to the kernel config.
+ Suspend / resume is supported by queue.
+ TKIP multicast TX (AP mode) is fixed.
TODO:
- AP mode with powersave is not verified.
WLAN: Support for non-power-of-two SDIO transfer.
WLAN: AP mode verification and bugfixing.
+ Fix for broken broadcasts.
+ Redesign of PS implementation in AP mode.
+ set_tim() is implemented.
+ sta_notify() is implemented.
WLAN: IV/ICV injection fixed.
Fixed: skb was modified prior to sanity check.
There is also a workaround against a bug in WSM_A21.05.0288
firmware in this commit. In AP mode FW calculates FCS incorrectly
when DA is FF:FF:FF:FF:FF:FF (was seen with TKIP and CCMP security).
Workaround checks DA and replaces FF:FF:FF:FF:FF:FF with multicast
address 01:00:5E:00:00:16. Workaround is disabled by #if 0 (can be
used only for verification, should not be enabled in production).
WLAN: Disabling debug printouts (STA/AP).
WLAN: Updating u8500_defconfig with CW1200 driver.
WLAN: AP mode fine-tuning.
+ Explicitly set broadcast bit in TIM when broadcasts are available.
+ Split handling of management frames (link ID = 0) and buffered
multicasts (link ID = CW1200_LINK_ID_AFTER_DTIM)
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
|