Commit Graph

559943 Commits

Author SHA1 Message Date
Peter Oh
7c97b72a62 ath10k: allow Mesh Point to install peer security key
Mesh Point requires peer security key install when running
in secured mode since it's a type of peer links, otherwise peer
link will be removed due to key install failure.

MFP feature set is required to run Mesh in secured mode and
QCA988X firmware, 10.2.4.70.14-2 and above, is the only one
supporting secured Mesh at this moment.

Signed-off-by: Peter Oh <poh@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-14 12:59:40 +02:00
Colin Ian King
ba38a1718b ath9k: fix inconsistent indenting on return statement
minor change, indenting is one tab out.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-11 14:09:00 +02:00
Miaoqing Pan
ed14dc0af7 ath9k: feeding entropy in kernel from ADC capture
This patch is derived from
commit 6301566e0b ("ath9k: export HW random number generator"),

We evaluated the entropy of the ADC data on QCA9531, QCA9561, QCA955x,
and AR9340, and it has sufficient quality random data (at least 10 bits
and up to 22 bits of min-entropy for a 32-bit value). We conservatively
assume the min-entropy is 10 bits out of 32 bits. Thus, ATH9K_RNG_BUF_SIZE
is set to 320 (u32) i.e., 1.25 kilobytes of data is inserted to fill up
the pool as soon as the entropy counter becomes 896/4096 (set by random.c).
Since ADC was not designed to be a dedicated HW RNG, we do not want to bind
it to /dev/hwrng framework directly. This patch feeds the entropy directly
from the WiFi driver to the input pool. The ADC register output is only
used as a seed for the Linux entropy pool. No conditioning is needed,
since all the conditioning is performed by the pool itself.

Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-11 14:08:58 +02:00
Miaoqing Pan
f0b2c30a20 ath9k: fix AR_RX_FILTER for ar9462/ar9565 when rx stopped
When rx stopped, AR_RX_FILTER should be cleared, but in
ath9k_hw_setrxfilter(), ATH9K_RX_FILTER_CONTROL_WRAPPER will always
be set for ar9462/ar9565.

Fix this by moving the code in ath9k_hw_setrxfilter() to
ath_calcrxfilter().

Signed-off-by: Miaoqing Pan <miaoqing@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-11 14:08:57 +02:00
Ben Greear
efc2b2b50c ath6kl: add log messages for firmware failure cases.
This gives a user a chance to know why a firmware load
is failing.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-11 14:08:55 +02:00
Ben Greear
26ca14d427 ath6kl: fix tx/rx antenna reporting for 2x2 devices
My previous patch incorrectly reported the antenna
for 2x2 devices. It should be a mask instead of
a numeric count. This patch fixes that.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-11 14:08:53 +02:00
Janusz Dziedzic
05a85a6c42 ath9k: remove ath9k_mod_tsf64_tu
Remove ath9k_mod_tsf64_tu() function while we could
use div_u64_rem() function.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-08 16:51:05 +02:00
Janusz Dziedzic
02edab5b5f ath9k: MCC, print time elapsed between events
This is useful for MCC debugging and bug fixing.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-08 16:51:02 +02:00
Janusz Dziedzic
a64d876ef7 ath9k: MCC, add NOA also in case of an AP
In case of MCC and AP interface, add also NOA attr
that will inform stations about absence of an AP.
There is a chance that some stations will handle
this NOA attr correctly and will know exactly when
AP is present/absent.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-08 16:50:58 +02:00
Janusz Dziedzic
b10b7fb31a ath9k: P2P_CLIENT, get/set NOA correctly
In case we get BSS_CHANGED_P2P_PS early, from
mac80211, we didn't set NOA timer correctly,
while p2p_ps_vif was NULL.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-08 16:50:55 +02:00
Janusz Dziedzic
3edbf0ba04 ath9k: MCC enable Opportunistic Power Save
When adding NOA attr enable Opportunistic Power Save.
Before we calculate ctwindow but didn't enable oppps.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-08 16:50:52 +02:00
Janusz Dziedzic
c1b7bea038 ath9k: setup correct skb priority for nullfunc
After queue nullfunc for MCC case, we hit WARN_ON
in xmit.c:2398 while skb priority wasn't set.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-08 16:50:48 +02:00
Janusz Dziedzic
631c45f419 ath9k: use u32 when calculate tsf
Use u32 while ath9k_hw_gettsf32() and
ath9k_hw_gen_timer_start() require u32.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-08 16:50:45 +02:00
Janusz Dziedzic
b77b59ae8a ath9k: P2P_CLIENT, send frames after 1ms AP/GO will aprear
AP/GO will aprear after NOA, wait 1ms to be sure AP
could receive/answer this frames.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-08 16:50:41 +02:00
Janusz Dziedzic
60337ed863 ath9k: queue null frames in case of MCC
While mac80211 using null frames when connection polling,
we should queue this frames while NOA could be there, and
AP, P2P_GO could be not present.

Without this patch, with no traffic we often saw disconnections
while we try to send nullfunc when AP/GO wasn't present.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-08 16:50:38 +02:00
Janusz Dziedzic
2f985539b9 ath9k: print real timer value
In case of low HZ before this patch we saw wrong
values in debug message. Print real timeout value.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-08 16:50:35 +02:00
Janusz Dziedzic
58bb9ca84c ath9k: add debug messages to aggr/chanctx funcs
Add/extend debug messages when chanctx used.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-08 16:50:31 +02:00
Maya Erez
452133a717 wil6210: prevent external wmi commands during suspend flow
In __wmi_send we check if fw is ready at the beginning of the function.
While we wait for the completion of the previous command, system suspend
can be invoked and reset the HW, causing __wmi_send to read from HW
registers while it is not ready.
Taking the wmi_mutex in the reset flow when setting the FW ready bit
to zero will prevent the above race condition.

Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-08 16:50:28 +02:00
Bob Copeland
410d13a6b0 ath5k: fix RTS/CTS by using proper rate flags
The rates in the tx control rateset do not have the protection
flags applied, so RTS/CTS would never get enabled if requested.

Fix by using the rate flags in the rates returned by
ieee80211_get_tx_rates().

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-08 16:50:24 +02:00
Steve deRosier
79fd1709b6 ath6kl: Don't print error message when recv is canceled
An error message ath6kl_htc_rxmsg_pending_handler isn't appropate for when
the error is ECANCELED. This could be the result of a perfectly appropriate
RX cancel due to shutdown or suspend. This allows the right cleanup to
continue, but without an alarming error message in this particular case.

Signed-off-by: Steve deRosier <steve.derosier@lairdtech.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-08 16:50:21 +02:00
Martin Blumenstingl
6fa658fd5a ath9k: Simplify and fix eeprom endianness swapping
The three eeprom implementations had quite some duplicate code when it
came to endianness swapping.
Additionally there was a bug in eeprom_4k and eeprom_9287 which
prevented the endianness swapping from working correctly, because the
swapping code was guarded within an "if (!ath9k_hw_use_flash(ah))". In
eeprom_def this check did not exist, so it seems that eeprom_def was the
only implementation where endianness swapping worked.

This patch takes the duplicate code and moves it from eeprom_* to
eeprom.c. The new code is derived from eeprom_def, while taking into
account the specifics from the other implementations.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-08 16:50:18 +02:00
Felix Fietkau
b057886524 ath10k: do not use coherent memory for allocated device memory chunks
Coherent memory is more expensive to allocate (and constrained on some
architectures where it has to be pre-allocated). It is also completely
unnecessary, since the host has no reason to even access these allocated
memory spaces

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-08 16:50:14 +02:00
Mohammed Shafi Shajakhan
81ec3c09ab ath10k: remove unnecessary amsdu/ampdu assignment in debugfs
The default values of max_num_amsdu / max_num_amdpu is assigned a
default value as part of 'ath10k_core_init_firmware_features'

Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-12-08 16:50:09 +02:00
Kalle Valo
2abcd3d40d * BT coex improvements (Avri, Moshe)
* D3 operation bugfixes (Luca, Eliad)
 * Rate control improvements (Eyal)
 * Firmware debugging infra improvements (Golan)
 * Ground work for multi Rx (Johannes)
 * Various security fixes (Johannes)
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWXfLYAAoJEC0Llv5uNjIBhTMP/R9/xbj7geqGHnyxP1XvONXT
 3/TdrLmDTzEtxoE1GvyMsXnCEbaMi4ki7vrKPFgJ37kzaKfOeJLJytl9MimyGXgn
 g3iXu2wB3Cm3vC5CTY7VfG1GqrJurMb2iNDwLVgmcyUjCHjCzOL2TEAD70SeAlNx
 ruQtM0c/Yoi0fWGj2C6gGgdK4Zv1/V2VGwzYL9g+/ZZLE23R04zpHnsa5IFzt3aP
 FL5QQG2yO5pX8RUrLMzo3J3PNvllqMWNzYwwuwwK1d4ZgQ4nfv7wWetEuOkSHhYX
 3X5KgBuizJkc5yL+G+mMIRvrFQaY0Qc0yStj+O2bEWIGu3hQHtqROzsPjaU1er3z
 npOo6JQfF42gJaM75eVAHDSmr9wm6wGBsAgu5pgU2s02PXuaSwWjiwx6m970Fv0C
 sveJqz1Z4azsyrHdGt1N/+sMFg2r4NbkWpAe7jHaAVApLaum7UDVpLjKVNMlgmtA
 wb0SG57r+lTwanKWdn1PcE70AIQYtoTubsx45XCkFTSHi5/SYwnJE6zECXfDeeby
 bVVDzy31pDphQ/B/jnzleRPGGj6oWHW33It/lmKNXume3L981wyGN0EMeAE8OgNr
 VcKJlL4UbuCKGKd381RBz1U0QT1Z/CO07PSoLpbBkF7C1TisfnGBTjU7AMgkk/r8
 vAgbKwuoyx1LLxxSnFBz
 =GDfS
 -----END PGP SIGNATURE-----

Merge tag 'iwlwifi-next-for-kalle-2015-12-01' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next

* BT coex improvements (Avri, Moshe)
* D3 operation bugfixes (Luca, Eliad)
* Rate control improvements (Eyal)
* Firmware debugging infra improvements (Golan)
* Ground work for multi Rx (Johannes)
* Various security fixes (Johannes)
2015-12-03 17:23:43 +02:00
Kalle Valo
f1b4b51184 Merge ath-next from ath.git
Major changes:

ath10k

* support Manegement Frame Protection (MFP)
* add thermal throttling support for 10.4 firmware
* add support for pktlog in QCA99X0
* add debugfs file to enable Bluetooth coexistence feature
* use firmware's native mesh interface type instead of raw mode
2015-12-03 17:10:25 +02:00
Eliad Peller
863558168d iwlwifi: remove IWL_DL_LED
no need to have a separate debug level for a single
debug print (which is pretty much useless anyway).
remove them both.

Signed-off-by: Eliad Peller <eliadx.peller@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:58 +02:00
Matti Gottlieb
dc28e12f21 iwlwifi: mvm: ROC: Extend the ROC max delay duration & limit ROC duration
When associated to an AP and a ROC event with a long duration is scheduled
the FW may have a hard time scheduling a consecutive time event, since it
has to remain on the connection channel to hear the AP's DTIM.
In addition, when associated and a ROC is requested with a duration
greater than the DTIM interval, the FW will not be able to schedule
the ROC event, since it needs to wake up for the DTIM.

Increasing the "max delay" duration to the DTIM period will allow the FW to
wait until after the DTIM and then schedule the ROC time event.
Limiting the ROC to be less than the DTIM interval will assure that the
time event will be scheduled for at least part of the time (instead of
automatically failing)

Extend the ROC max delay duration to min(dtim_interval * 3, 600TU),
and limit the duration to be less than the DTIM interval.

Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:58 +02:00
Johannes Berg
13555e8ba2 iwlwifi: mvm: add 9000-series RX API
Define the RX API that's used by the 9000 series hardware.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:57 +02:00
Derek Basehore
06ae2ad413 iwlwifi: mvm: report wakeup for wowlan
When the wifi wakes up the system, we need to report it via calling
pm_wakeup_event for lucid sleep. This is so userspace knowns that the
wifi woke up the system via the /sys/power/wakeup_type sysfs interface.

Signed-off-by: Derek Basehore <dbasehore@chromium.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:57 +02:00
Dan Carpenter
7281b16423 iwlwifi: mvm: rs: fix a warning message
WARN_ON_ONCE() doesn't take a message, it only takes a condition.  I
have changed this to WARN(1, ...).

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:56 +02:00
Johannes Berg
20f4d39a28 iwlwifi: print index in api/capa flags parsing message
If the API or capabilities index is bigger than the driver expects,
an error message is printed. Make that message print the index and
distinguish between API and capabilities.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:56 +02:00
Emmanuel Grumbach
d01c536672 iwlwifi: change the Intel Wireless email address
ilw@linux.intel.com is not available anymore.
linuxwifi@intel.com should be used instead.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:55 +02:00
Avri Altman
6e365100c3 iwlwifi: mvm: Align bt-coex priority with requirements
Fix the gaps between the system requirements and our code.

Signed-off-by: Avri Altman <avri.altman@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:55 +02:00
Oren Givon
abf10f868f iwlwifi: Add PCI IDs for the new series 8165
Add a new struct for the 8165 series and a few new
PCI ID entries.

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:54 +02:00
Oren Givon
c4836b056d iwlwifi: Add PCI IDs for the new 3168 series
Add a new struct for the 3168 series and a few new
PCI ID entries.

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:54 +02:00
Dreyfuss, Haim
89374fe60b iwlwifi: Add new PCI IDs for 9260 and 5165 series
Add 9000-family configuration to iwl_cfg struct
Add a new struct to define the 5165 series.
Rename the struct that defines the 9000 series to 9260.
Add some new sub-system IDs for the 9260 and 5165 series.
For 9260:
0x0A10, 0x0000, 0x0510, 0x0710, 0x0410, 0x0610.
For 5165:
0x2A10, 0x2010, 0x0310, 0x0210.

Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com>
Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:53 +02:00
Eliad Peller
ac8ef0ce38 iwlwifi: mvm: refactor d3 key update functions
We need to reuse the key update logic for d0i3
as well.

Add some parameters to deal with the constraints
implied by the d0i3 flow (specifically, support
non-SYNC commands, and don't take mutexes that
might deadlock).

Change some commands to be ASYNC, in order
to simplify locking a bit.

Signed-off-by: Eliad Peller <eliadx.peller@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:53 +02:00
Johannes Berg
a399f98069 iwlwifi: mvm: use firmware station lookup, combine code
In most cases, the firmware will already match the station that
we received a given frame from and tell us the station ID in the
RX status, so we can look up the station from that. This lets us
skip the (more expensive) hash table lookup in mac80211.

Also change the fallback case (no station info from the firmware)
to not attempt to look up a multicast source address.

While at it, also combine all the code using the station into a
single if block.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:52 +02:00
Nicholas Krause
04b0899224 iwlwifi: mvm: fix incorrect fallthrough in iwl_mvm_check_running_scans()
In the iwl_mvm_check_running_scans() we were mistakenly ignoring the
value returned by iwl_mvm_scan_stop() for scheduled scans and falling
thorugh to the next case, which caused us to always return zero.

Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:52 +02:00
Johannes Berg
f02d2ccd61 iwlwifi: pcie: remove pointer from debug message
Since this pointer is not shown anywhere else, it's useless.
Remove it, just keeping the indexes.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:51 +02:00
Johannes Berg
f8a1edb76e iwlwifi: clean up transport debugfs handling
Transport code currently calls itself through the transport ops,
which is quite pointless. Clean up all of this. While at it,
remove the unnecessary dir argument and the redundant IDI code.

In slave transports, call both the common slave debugfs and the
transport's own. SDIO has no files, so remove it all there.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:51 +02:00
Golan Ben Ami
321c2104f2 iwlwifi: mvm: Support setting continuous recording debug mode
Add ability to set the continuous recording mode of the FW, while
the FW debug data is configured to be stored on the NIC.
This could be useful for storing large segments of FW usniffer
debug data on the host, while having small store space on the NIC.
The host receives the usniffer data through the regular RX path, and
the data can get extracted using trace-cmd.

Signed-off-by: Golan Ben-Ami <golan.ben.ami@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:50 +02:00
Golan Ben-Ami
2f89a5d7d3 iwlwifi: mvm: move fw-dbg code to separate file
The fw debug functionality is big enough to warrant
a separate file. Move existing related functions to the new file.

Signed-off-by: Golan Ben-Ami <golan.ben.ami@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-01 21:17:35 +02:00
Kalle Valo
9e100c4d01 ath10k: implement fw_checksums debugfs file
When debugging firmware problems it's useful to check checksums of each
component. Add a debugfs interface to retrieve crc32 checksums:

# cat /sys/kernel/debug/ieee80211/phy0/ath10k/fw_checksums
firmware-N.bin          cc3fb466
athwlan                 c0089f21
otp                     f3efeb4f
codeswap                00000000
board-N.bin             bebc7c08
board                   bebc7c08

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-11-30 16:55:01 +02:00
Kalle Valo
3e58044b61 ath10k: print crc32 checksums for firmware and board files
To detect cases if the firmare or board file is corrupted or otherwise modified print crc32 value
of both. Now the output looks like:

ath10k_pci 0000:02:00.0: pci irq msi interrupts 1 irq_mode 0 reset_mode 0
ath10k_pci 0000:02:00.0: qca99x0 hw2.0 target 0x01000000 chip_id 0x003801ff sub 168c:0002
ath10k_pci 0000:02:00.0: kconfig debug 1 debugfs 1 tracing 1 dfs 1 testmode 1
ath10k_pci 0000:02:00.0: firmware ver 10.4.1.00030-1 api 5 features no-p2p crc32 d2901e01
ath10k_pci 0000:02:00.0: board_file api 1 bmi_id 1:1 crc32 7e56fd07
ath10k_pci 0000:02:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal otp max-sta 512 raw 0 hwcrypto 1

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-11-30 16:54:59 +02:00
Kalle Valo
23f591ea9b ath10k: split driver info messages during device initialisation
Earlier we printed all the info messages after a successful device
initialisation and firmware boot, but that's problematic if something goes
wrong and there's no easy way to know what firmware version was used and so on.

Split the info messages into smaller pieces and print them as soon as we have
the info available.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-11-30 16:54:58 +02:00
Kalle Valo
8605c02205 ath10k: always show bmi chip ids and subdevice ids
That way we can split the messages to be printed in different stages of
device initialisation.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-11-30 16:54:56 +02:00
Kalle Valo
f0de90bc10 ath10k: reorganise hardware and firmware info messages
This is to make it easier to split them later and also make room for crc32
checksums.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-11-30 16:54:54 +02:00
Kalle Valo
b091f36990 ath10k: fix otp board id error message
We check board id from all board types, not just qca99x0, so the error message
was misleading.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-11-30 16:54:53 +02:00
Peter Oh
bb58b89c5e ath10k: apply Mesh subtype when Mesh interface created.
QCA988X firmware starting from 10.2.4.70.12-2 has capability to support
Mesh Control Field Present bit in QoS field in native Wi-Fi mode.
Hence apply Mesh subtype according to the WMI service map.

Firmware will allows unicast, broadcast, multicast, and WDS frame
(FromDS = 1 and ToDS = 1) to be received via the interface, once Mesh
subtype is used.

The firmware and this patch together make native Wi-Fi mode comply to
IEEE802.11s Mesh frame in open mode, but the firmware doesn't yet
support secured Mesh mode.

Signed-off-by: Peter Oh <poh@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-11-30 16:54:51 +02:00