carl9170 firmware: move cmd.c into hostif.c The command handler is part of the host application interface too, so it will fit there nicely. Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: fix minute errors * typos in comments * inline static vs. static inline * line too long Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: move wowlan routines into separate files Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: fix use of uninitialized value Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: improve site survey data Luis' automatic channel selection needs tx_time in order to work. Trouble is, the documentation does not mention such a counter, so a software solution is needed. Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: report device tallies - channel active counter - main channel clear counter - ext channel clear counter - rx total counter - rx overrun counter Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: initial WoWLAN support Unlike the previous proof-of-concept implementation, this one supports nl80211's magic packet & disconnect wakeup triggers. Furthermore, the trigger can be enabled from userspace with "iw", so there's no need for a custom firmware anymore. Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: merge CARL9170FW_PSM with the standard RF code Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: update copyright boilerplate Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: per-vif tx sequence counter mac80211 will properly assign sequence numbers to QoS-data frames but cannot do so correctly for non-QoS-data and management frames because beacons need them from that counter as well and mac80211 cannot guarantee proper sequencing. Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: implement software rx filter Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: modify the right beacon Previously, the beacon address and length hardware registers were (ab-)used as additional parameters for the beacon modification functions. This idea worked fine, until I decided to change the associated code and moved the beacon address and length "set" _after_ the wlan_cab_modify_dtim_beacon... Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: rename cab_flush to bcn_ctrl and fix update delay Along with the renaming, this patch fixes the weird beacon update delay and removes the previously used workaround for the problem. Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: revamp Content After Beacon handling Commit "carl9170 firmware: Support multiple CAB queues" introduced a regression. The CAB queue was drained too early and therefore the bc/mc buffered frames were sent out at the wrong dtim period. This patch takes care of the stated regression, but it also fixes yet another, this time a more theoretical race in multi AP mode. Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: mac reset refactoring, take-2 No matter what, the current MAC-only reset code is not adequate, if the MAC state machine gets completely stuck. This patch introduces a configurable switch, which allows the firmware to delegate a full-chip reset to the driver. Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: remove unused dummys Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: Support multiple CAB queues Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: remove usb transport watchdog The idea of this watchdog was to check regulary, whenever the driver was still responding to firmware requests within a reasonable window. But the concept is flawed and never received any substantial testing. Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: revamp reset code Getting the reset code to work 100% proved to be a wild-goose chase. Therefore we'll settle with an easier solution and let the usb subsystem take care of the clean-up operation. Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carl9170 firmware: save a few bytes on the command handler Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>