History log of /drivers/net/wireless/ath/ath6kl/wmi.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
05aab177a9a231455d8dfcb71c7179da0985e7f8 07-Mar-2012 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: fix too long lines

Found by checkpatch:

drivers/net/wireless/ath/ath6kl/init.c:78: WARNING: line over 80 characters
drivers/net/wireless/ath/ath6kl/init.c:397: WARNING: line over 80 characters
drivers/net/wireless/ath/ath6kl/init.c:407: WARNING: line over 80 characters
drivers/net/wireless/ath/ath6kl/htc.c:189: WARNING: line over 80 characters
drivers/net/wireless/ath/ath6kl/htc.c:704: WARNING: line over 80 characters
drivers/net/wireless/ath/ath6kl/htc.c:2452: WARNING: line over 80 characters

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
12eb9444a8df7ab4aa5f4c91f8e3049af5d9819b 07-Mar-2012 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: document all spinlocks

Also fixes quite a few checkpatch warnings like this:

ath6kl/hif.h:226: CHECK: spinlock_t definition without comment

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
ce0dc0cfeac9fde9964fa4b07aecd7cc604060e0 20-Feb-2012 Raja Mani <rmani@qca.qualcomm.com> ath6kl: Set optimal listen intvl,bmiss,scan params while going to wow suspend

* In order to save the target power in WOW suspend state,
configure the best optimal values for the below parameters,
- listen interval.
- beacon miss interval.
- scan parameters.

Default values for above attributes are reverted in
wow resume operation.

* The default listen interval is set before the host issue
connect request.

* New function is added to configure beacon miss count.

kvalo: minor changes to fix open parenthesis alignment

Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
67cd22e48d4acd3ac8c0032b628537bb27e92a24 29-Feb-2012 Thomas Pedersen <c_tpeder@qca.qualcomm.com> ath6kl: implement hidden ssid

The ath6kl FW does not distinguish between different types of hidden
SSIDs (empty or null), so treat all cfg80211 requests for hidden ssid
the same.

Signed-off-by: Thomas Pedersen <c_tpeder@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
d0ff7383a3164adff7072719717d574436ec1677 09-Feb-2012 Naveen Gangadharan <ngangadh@qca.qualcomm.com> ath6kl: Add unicast mgmt frame buffering

PS buffering of unicast Action frames that are sent in a context
of a BSS. In AP mode when the recepient station goes to powersave
and PS_POLL flag is not set, we would buffer the frames. Send out
unicast mgmt bufferred frame when PS_POLL is received.

This fixes a bug in P2P GO behavior when sending a GO Discoverability
Request to a client that is in sleep mode.

kvalo: indentation fixes

Signed-off-by: Thirumalai Pachamuthu <tpachamu@qca.qualcomm.com>
Signed-off-by: Naveen Gangadharan <ngangadh@qca.qualcomm.com>
Signed-off-by: Aarthi Thiruvengadam <athiruve@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
1b2df4073447234034e2329f0df584c6346a8ec3 06-Feb-2012 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Update license header

Update license header with the copyright to Qualcomm Atheros, Inc.
for the year 2011-2012.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
081c7a84e969453716e2a7bd315417067c3643ad 30-Jan-2012 Raja Mani <rmani@qca.qualcomm.com> ath6kl: Wait for host sleep mode cmd processed event during WOW suspend

For every WMI_SET_HOST_SLEEP_MODE_CMDID command (send from the host),
the firmware sends WMI_SET_HOST_SLEEP_MODE_CMD_PROCESSED_EVENTID as
an acknowledgement to the host.

In order to being sync with the firmware, the host has to wait for
WMI_SET_HOST_SLEEP_MODE_CMD_PROCESSED_EVENT event before going to
the suspend state. This patch ensures ath6kl_wow_suspend() waits
until it gets this event after sending set host sleep mode command.

This patch adds,
* New command WMI_SET_HOST_SLEEP_MODE_CMD_PROCESSED_EVENTID in
WMI event table.
* New WMI function ath6kl_wmi_host_sleep_mode_cmd_prcd_evt_rx()
to process the event.
* New flag HOST_SLEEP_MODE_CMD_PROCESSED in VIF flags to record
the arrival of the event.

Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
d91e8eee046e0d4ae7a8a585616b5ce800f54568 30-Jan-2012 Raja Mani <rmani@qca.qualcomm.com> ath6kl: Configure WOW patterns while going to wow_suspend

First preference is given to the user configured WOW patterns.
If the user doesn't configure any patterns (for ex, via iw command),
the default patterns will be configured based on the current mode
(vif->nw_type) while going to WOW suspend.

Summary of changes:

* ath6kl_wow_ap() is added to configure the below default
patterns when the system enters into WOW suspend in AP mode.
+ Unicast IP, EAPOL-like and ARP packet pattern
+ ARP packet pattern
+ mDNS/SSDP/LLMNR pattern
+ DHCP broadcast pattern

* ath6kl_wow_sta() is added to configure the below default
patterns when the system enters into WOW suspend in STA mode.
+ Unicast packet pattern
+ mDNS/SSDP/LLMNR pattern

* Move the user provided WOW patterns configuration code
from ath6kl_wow_suspend() to a separate function called
ath6kl_wow_usr().

* Two argument variable's ('filter' and 'mask) data type in
ath6kl_wmi_add_wow_pattern_cmd() are changed from 'u8 *' to
'const u8 *'. This is needed to make all pattern and mask
arrays to be 'static const u8' in the caller function.

* New conditional check is added to make sure user
configured pattern count is within the limit (WOW_MAX_FILTERS_PER_LIST).

Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
c1762a3fe196483981f91b926f5f6ee18af757f2 12-Jan-2012 Thirumalai Pachamuthu <tpachamu@qca.qualcomm.com> ath6kl: Add support for uAPSD

* A new APSD power save queue is added in the station structure.
* When a station has APSD capability and goes to power save, the frame
designated to the station will be buffered in APSD queue.
* When the host receives a frame which the firmware marked as trigger,
host delivers the buffered frame from the APSD power save queue.
Number of frames to deliver is decided by MAX SP length.
* When a station moves from sleep to awake state, all frames buffered
in APSD power save queue are sent to the firmware.
* When a station is disconnected, all frames bufferes in APSD power save
queue are dropped.
* When the host queues the first frame to the APSD queue or removes the
last frame from the APSD queue, it is indicated to the firmware using
WMI_AP_APSD_BUFFERED_TRAFFIC_CMD.

kvalo: fix buggy handling of sks queues, made it more obvious
the user priority when wmm is disabled, remove unneed else block and
combined some variable declarations

Signed-off-by: Thirumalai Pachamuthu <tpachamu@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
f914edd38920369d8926261f9ab72da6756c3e0c 03-Jan-2012 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Add a function in wmi.c to add/delete a multicast filter

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
3f3c4ee735ff0957a53b9dccae66c8e5ead25b17 03-Jan-2012 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Add a function in wmi to send WMI_MCAST_FILTER_CMDID

This will be used to disable/enable multicast receive.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
792ecb33080f4e315695e0fe21cf3a3c2a514dd0 29-Dec-2011 Vivek Natarajan <nataraja@qca.qualcomm.com> ath6kl: Remove redundant key_index check.

Less-than-zero comparison of an unsigned value is never true.

kvalo: remove WMI_MIN_KEY_INDEX altogether, it's useless

Signed-off-by: Vivek Natarajan <nataraja@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
bc48ad31c5814feb4ff8faca9a8d422279593cb1 27-Dec-2011 Rishi Panjwani <rpanjwan@qca.qualcomm.com> ath6kl: Support for TCP checksum offload to firmware

The change enables offloading TCP checksum calculation to firmware.
There are still some issues with the checksum offload so better to
disable it by default until the issues are resolved.

To enable TCP checksum offload for tx and rx paths, use
the ethtool as follows:
ethtool -K <interface> tx on
ethtool -K <interface> rx on

To disable TCP checksum offload, for tx and rx paths, use
the ethtool as follows:
ethtool -K <interface> tx off
ethtool -K <interface> rx off

kvalo: indentation changes

Signed-off-by: Rishi Panjwani <rpanjwan@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
ca1d16a08fc2c26b693e65ad92fa37a4c778e60d 16-Dec-2011 Raja Mani <rmani@qca.qualcomm.com> ath6kl: Avoid taking struct as argument in ath6kl_wmi_set_ip_cmd

In this way, caller is free to pass only the value of IP addr
to configure.

In addition to this,
* 'ips' variable data type in struct wmi_set_ip_cmd is changed
from __le32 to __be32 in order to match network byte order.
* ipv4_is_multicast() is used to validate multicast ip addr.
* New argument if_idx is added to supply correct vif index
to ath6kl_wmi_cmd_send().

This will be used in the next patch.

Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Thirumalai Pachamuthu <tpachamu@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
3ca9d1fc9aa64077645a26c396de9399b49ea226 13-Dec-2011 Aarthi Thiruvengadam <athiruve@qca.qualcomm.com> ath6kl: support for P2P mgmt operations on station interface

This patch enables support for doing P2P management operations like device
discovery on top of a station interface. After group formation, the station
interface will become a P2P GO/client interface as the case may be.

This feature requires modifications to a couple of existing WMI structures and
therefore new command ids and structures have been defined in order to be
compatible with older firmware versions and other chips. The exception here is
the wmi_connect_cmd. Adding a new field to the end of the structure will not
cause any issues with previous firmware versions since firmware only checks for
minimum length of the command. The other structures are of variable length,
hence it was not possible to add new fields to the end.

The new command ids have to be added to the end of enum wmi_cmd_id, so it has
updated to match the firmware.

The driver will support both the 'old' and the 'new' commands for a while by
checking the firmware capabilities.

Signed-off-by: Aarthi Thiruvengadam <athiruve@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
10509f903ebb7d2a02571f30cb937dd923b023cf 13-Dec-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: implement scheduled scan

ath6kl firmware supports scheduled scan functionality with the wow ssid
filter. But the firmware does not send any events after scan results
so I had to add a timer which notifies about new scan results.

Sched scan needs firmware version 3.2.0.6 or later. If firmware doesn't
support sched scan the driver will not enable the feature.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
75ae3bc48fc8f5d1e5f5fe43cd07078325a6194b 13-Dec-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: fix value of WOW_FILTER_SSID

According to the firmware engineers WOW_FILTER_SSID is actually the
second bit, not the first.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
5081c80c7d3fecf59fda79af6648d8c705822b34 24-Nov-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Increase the maximum number of connections in AP mode

The maximum number of clients which ath6kl can support in AP mode
is 10. The limitation of 8 connections is only for older chipsets
which ath6kl does not support.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
0bb4e30f13ce7c4e811ea5937f39d985f02a9aff 23-Nov-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: remove unused sc_params from struct ath6kl

It was only initialised but not used anywhere. Also remove two defines
which ended up unused after this change.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
902b46293ba6fe2320970bbd400e3201992059d0 07-Nov-2011 Raja Mani <rmani@qca.qualcomm.com> ath6kl: Remove few unused WMI stuff

* Removed unused WOW_MAX_FILTER_LISTS macro.

* Removed empty ath6kl_wmi_get_wow_list_event_rx() function.
List of configured WOW patterns are maintained in CFG layer
itself. No need to have this function in ath6kl to get
configured WOW pattern list. It can added later if we need
it for debugging.

Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
45cf110b2b77914a9f02bbf1ba60796f17898be2 07-Nov-2011 Raja Mani <rmani@qca.qualcomm.com> ath6kl: Add wmi functions to configure WOW mode and host sleep mode

It will be used in WOW suspend/resume functions to
active/deactivate WOW suspend mode.

Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
5c9b4fa19a488de48f1cc2268a7b7b247723568a 07-Nov-2011 Raja Mani <rmani@qca.qualcomm.com> ath6kl: Add wmi functions to add/delete WOW patterns

These commands will be used in WOW suspend/resume functions
to configure WOW parameters like patterns to be matched
and it's mask value, etc.

Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
f4bb9a6fbc1f49058fc9eb6dcb4a3022d99013b4 02-Nov-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Fix key configuration to copy at most seq_len from seq

There is no guarantee on the caller using 8-octet buffer for
key->seq, so better follow the key->seq_len parameter on figuring
out how many octets to copy.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
1ddc3377e1f43b0bd62c7042cb2032824ebfb663 02-Nov-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Remove unused WMI crypto defines

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
1c17d313891c1477f5aad8d2e1da473bf8b9499d 01-Nov-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: add aborted parameter to ath6kl_cfg80211_scan_complete_event()

Currently it takes an error code as status, but what we really want to
tell is if the scan was aborted or not.

Also fix a bug where we were comparing firmware scan status values
with kernel error codes, which is obviously wrong. This meant
that ath6kl didn't detect when firmware informed about failed scans. I
doubt that this fix doesn't make any difference in practise but it
still needs to be fixed. This is fixed by adding an enum for the success
status code and checking for that.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
c89c591d19ace9904cfd658f54d7d72aa54b3371 27-Oct-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: rename ath6kl_wmi_qos_state_init() to _wmi_reset()

Just to make it more clear that this function is supposed to
reset wmi related variables.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
635412127e089cc401fdd793f4d3731450419231 25-Oct-2011 Aarthi Thiruvengadam <athiruve@qca.qualcomm.com> ath6kl: add support for WPS

Add control flag CONNECT_WPS_FLAG if a WPS IE is present in the
Association Request IEs. This flag is needed when the station must
connect to a WPS-enabled AP.

Signed-off-by: Aarthi Thiruvengadam <athiruve@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
0ce5944552d87fe6e007a0338059a75525142dd3 25-Oct-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Initialize target wlan values for every vif

Wlan parameters need to be configured for every vif
in target.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
990bd9151927ad55c7e3da3b05cf13ecfe7a31bf 25-Oct-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Maintain virtual interface in a list

This patch removes all references to ar->vif and takes
vif from a list.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
6765d0aa5ff5b92098f5e571f26904106eae6ff3 25-Oct-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Use interface index from wmi data headr

Interface index is passed in wmi data header as well, use it
to get the corresponding vif structure.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
240d279940ef496e9456db2287b7989f6521e2e2 25-Oct-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Take vif information from wmi event

Interface index is passed in wmi command header from target.
Use this index to get the appropriate vif.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
334234b51453fe5def250bd60ea63b1f04a8e0d2 25-Oct-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Maintain firmware interface index in struct ath6kl_vif

Pass this index to target in wmi commands to specify the interface
for which the command needs to be handled.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
1261875f7a0a22d0d47bd400b9e9a5cf99909bbf 11-Oct-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Add debugfs files for roaming control

Roaming mode can be changed by writing roam mode (default, bssbias, or
lock) to roam_mode. Forced roam can be requested by writing the BSSID
into force_roam.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
4b28a80dd6713c404f4f0084007456b769aba553 11-Oct-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Add debugfs file for target roam table

The new roam_table debugfs file can be used to display the current
roam table from the target.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
cbf49a6fff1d87510f36afe7e7cec188e452f1db 04-Oct-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: fix struct host_app_area endian handling

It was missing endian annotation.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
a7f0c58b893e29b377e7d453883fb4f3793105cf 04-Oct-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: remove unused parameters from struct wmi

There's no use for these, at least right now, so better to remove them.
If some of them are ever needed, we can always add them back.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
aa6cffc1a275a9369ca83e13cebc4b09e4f23954 05-Oct-2011 Chilam Ng <chilamng@qca.qualcomm.com> ath6kl: make sure WLAN power save is enabled during suspend

Power save is enabled during ath6kl init. But when user space disables power
save, the system will go into suspend with power save disabled. The ath6kl
driver will now explicitly enable power save prior to entering suspend and
restore its previous setting upon resume

Signed-off-by: Chilam Ng <chilamng@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
865121361f0be55555c540c3df444ed06e090b33 21-Sep-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Report PMKSA candidate events through cfg80211

This allows RSN pre-authentication to be used when roaming decisions are
done in the target.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
82e14f56f7408cb13c47eef9fd6922f22e88109a 19-Sep-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Remove unnecessary bssinfo event header conversion

There is no point in unconditionally converting the bssinfo header
to the old version since only the new header is being used and the
driver can as well read the values from it when needed. Leaving out
the conversion saves some extra memory copying.

In addition, use the calculated "rssi" value snr - 95 dBm to get the
proper value in cfg80211 BSS table (i.e., something that more or less
matches with the value used in STA info).

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
457fb0415a887b6389854b850e9815cf0ec44178 19-Sep-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Remove the unused node table implementation

Now that the scan results are reported directly to the cfg80211 BSS
table there is no need for maintaining this internal node table
implementation for scan results. Remove the definitions and node
table functions.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
ac59a2b285abbcec1ec487ef56dcc25c654853fb 10-Sep-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Remove auth type fall back in auto authentication mode

Target already tries with different authentication mechanism
when authentication type is configured to NL80211_AUTHTYPE_AUTOMATIC.
Remove this piece of code from driver. Having this code in driver
even affects auto + WEP authentication in some cases.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
060337604577e55c5bf3246bcaf161929c603d54 06-Sep-2011 Vivek Natarajan <nataraja@qca.qualcomm.com> ath6kl: Process regulatory requests from firmware.

Process the regulatory code from eeprom and pass the
country information to cfg80211.

kvalo: add space between struct name and *

Signed-off-by: Vivek Natarajan <nataraja@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
572e27c00c9d1250ae2b4951eae7e73992174138 05-Sep-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Fix AP mode connect event parsing and TIM updates

This cleans up the connect event parsing by defining a union in
struct wmi_connect_event to match with the three possible sets of
fields that the target uses depending on which type of connect
event is being indicated. In addition, two AP cases are now
separated from ath6kl_connect_event() so that correct field names
can be used to make it actually possible to understand what the
code is doing.

The bug hiding in the previous mess was in parsing the AID incorrectly
when processing the new station connecting event in AP mode. The fix
here for that is also fixing TIM updates for PS buffering to use the
correct AID.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
d6e51e6a0cc50b6dd8d9f3a733427cca3f9afdee 05-Sep-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Fix WMI message structure for AP_SET_PVB

There is a 2-octet reserved field between the flag and aid fields. Fix
that to make the target actually behave as requested.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
e5090444be811ce45653969363be8fcb4c52d597 31-Aug-2011 Vivek Natarajan <nataraja@qca.qualcomm.com> ath6kl: Add debugfs entry to modify roaming parameters.

Firmware initiates roaming only after it reaches a rssi of 20.
This lower rssi threshold can be modified through a wmi command
to modify the roaming behavior.

kvalo: rename debugfs functions and move comment about rssi units next to
ath6kl_wmi_set_roam_lrssi_cmd()

Signed-off-by: Vivek Natarajan <nataraja@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
939f1ccec80bd2dad5638de2a6819c66d4cb6f32 02-Sep-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: implement support to set firmware log parameters

Firmware log parameters can be controlled now with help of fwlog_mask
debugfs file.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
003353b0d27489228eff79447d0731687cea0207 01-Sep-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: add testmode support

This is port from the staging version of ath6kl. The interface to user space
is exactly same.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
a0df5db15b432cd49319254132fda80cb3081ad6 30-Aug-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Notify cfg80211 of TX status of mgmt_tx frames

Use WMI_TX_STATUS_EVENTID event to generate cfg80211_mgmt_tx_frame()
calls. Since we support only a single pending frame for now, use the
hardcoded cookie value 1 and store a copy of the pending frame in
the driver.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
b84da8c738681b96e7691d985191ebf9ee4a21e8 30-Aug-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Use set_appie command to add Probe Request IEs

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
6465ddcf6c1e06d3fde870624be4418e747f0e8b 30-Aug-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Add new WMI commands and events for P2P

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
238751365a1c42b1d66beb03dd81ca5d0fd12833 30-Aug-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Use change_station() to authorize/unauthorize STAs

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
6a7c9badab158086b6162c661a47c4f1a4a68e92 30-Aug-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Add functionality for starting AP mode

Use cfg80211 add/del_beacon callbacks for starting/stopping AP mode and
set_beacon to update AP configuration (mainly, to update Beacon and
Probe Response IEs).

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
594a0bc85e3c2ffb17fc8c64a5121fa441c2d096 14-Aug-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Cleanup ath6kl_wmi_data_hdr_remove()

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
77fccc78a0fac77ac71fe341243970cfcd9a8ad3 21-Jul-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Remove ath6kl_wmi_iterate_nodes()

Use wlan_iterate_nodes() directly.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
39dd3fcba2fe57866fe0913486472ae22e342c0e 21-Jul-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Pass only the needed scan_table to ath6kl_wmi_iterate_nodes()

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
46ff8d5978b7796e3757b9ad908361beb8fb160b 21-Jul-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Remove ath6kl_wmi_get_current_bssid()

Use the bssid from ath6kl directly.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
70df0516884834156f763f0e64a81712e26917c2 21-Jul-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Remove bssid from struct wmi

This is nothing but bssid of struct ath6kl.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
7c3075e9ea20a5feca48c8ff22dd23140e55ab1e 21-Jul-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Move scan table from wmi to ath6kl

It does not need to be in wmi

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
2865785e96b5990db6928126996fa246d399ec6d 20-Jul-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Cleanup void *parent_dev in struct wmi

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h
bdcd81707973cf8aa9305337166f8ee842a050d4 17-Jul-2011 Kalle Valo <kvalo@qca.qualcomm.com> Add ath6kl cleaned up driver

Last May we started working on cleaning up ath6kl driver which is
currently in staging. The work has happened in a separate
ath6kl-cleanup tree:

http://git.kernel.org/?p=linux/kernel/git/kvalo/ath6kl-cleanup.git;a=summary

After over 1100 (!) patches we have now reached a state where I would
like to start discussing about pushing the driver to the wireless
trees and replacing the staging driver.

The driver is now a lot smaller and looks like a proper Linux driver.
The size of the driver (measured with simple wc -l) dropped from 49
kLOC to 18 kLOC and the number of the .c and .h files dropped from 107
to 22. Most importantly the number of subdirectories reduced from 26
to zero :)

There are two remaining checkpatch warnings in the driver which we
decided to omit for now:

drivers/net/wireless/ath/ath6kl/debug.c:31:
WARNING: printk() should include KERN_ facility level
drivers/net/wireless/ath/ath6kl/sdio.c:527:
WARNING: msleep < 20ms can sleep for up to 20ms;
see Documentation/timers/timers-howto.txt

The driver has endian annotations for all the hardware specific
structures and there are no sparse errors. Unfortunately I don't have
any big endian hardware to test that right now.

We have been testing the driver both on x86 and arm platforms. The
code is also compiled with sparc and parisc cross compilers.

Notable missing features compared to the current staging driver are:

o HCI over SDIO support
o nl80211 testmode
o firmware logging
o suspend support

Testmode, firmware logging and suspend support will be added soon. HCI
over SDIO support will be more difficult as the HCI driver needs to
share code with the wifi driver. This is something we need to research
more.

Also I want to point out the changes I did for signed endian support.
As I wasn't able to find any support for signed endian annotations I
decided to follow what NTFS has done and added my own. Grep for sle16
and sle32, especially from wmi.h.

Various people have been working on the cleanup, the hall of
fame based on number of patches is:

543 Vasanthakumar Thiagarajan
403 Raja Mani
252 Kalle Valo
16 Vivek Natarajan
12 Suraj Sumangala
3 Joe Perches
2 Jouni Malinen

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Vivek Natarajan <nataraja@qca.qualcomm.com>
Signed-off-by: Suraj Sumangala <surajs@qca.qualcomm.com>
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/wmi.h