Commit Graph

559834 Commits

Author SHA1 Message Date
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
Luca Coelho
6f7306622f iwlwifi: mvm: remove unnecessary check in iwl_mvm_is_d0i3_supported()
The d0i3_mode element is never set to IWL_D0I3_OFF, so it's not
necessary to check it in iwl_mvm_is_d0i3_supported().

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:52 +02:00
Luca Coelho
eb3908d371 iwlwifi: mvm: flush all used TX queues before suspending
There is a potential race condition when entering suspend with d0i3 in
PCIe.  If there is a frame queued just before we suspend, it won't
complete and we will never clear the queue stuck timer.  To solve
this, call TX_PATH_FLUSH to flush all queues (except the command
queue) as part of the d0i3 entry process.  Add a new function that
returns all the flushable queues.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:52 +02:00
Golan Ben-Ami
1a616dd2f1 iwlwifi: dump prph registers in a common place for all transports
Currently the prph registers dump is in the transport layer,
and each bus needs an additional dump implementation.

Move the prph dump outside transport, and allow a common
implementation for all of the buses.
This is possible because prph base addresses are similar for
all buses.

Signed-off-by: Golan Ben-Ami <golan.ben.ami@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:51 +02:00
Golan Ben-Ami
14ef1b433e iwlwifi: export the _no_grab version of PRPH IO functions
Expose _no_grab prph i/o functions that allow performing i/o
outside the transport, without requiring grab and release NIC access
for each operation. In addition, rename the functions so they reflect
their non-grabbing behavior.

This can be very useful for consecutive prph i/o operation that occur
outside trans, such as fw dumps.

Signed-off-by: Golan Ben-Ami <golan.ben.ami@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:51 +02:00
Eyal Shapira
1412ee39af iwlwifi: mvm: drop low_latency_agg_frame_cnt_limit
This was an old workaround for solving latency issues with
certain Miracast adapters like ActionTec. However this isn't
needed anymore and furthermore it hurts throughput in other
use cases.

Signed-off-by: Eyal Shapira <eyalx.shapira@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:51 +02:00
Luca Coelho
566f165d28 iwlwifi: mvm: remove stray nd_config element
When the netdetect debugfs entry was removed, the nd_config element
was accidentally left in the iwl_mvm structure.  Remove it.

Fixes: dbb04b0d29 ("iwlwifi: mvm: remove netdetect debugfs entry")
Reported-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:51 +02:00
Moshe Harel
48f0a038d0 iwlwifi: mvm: add bt rrc and ttc to debugfs
As part of the bt_notif file add fields that are currently
not represented

Signed-off-by: Moshe Harel <moshe.harel@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:51 +02:00
Moshe Harel
c725a46bc7 iwlwifi: mvm: add bt settings to debugfs
Add mplut and sync2sco and corunning to debugfs.

Signed-off-by: Moshe Harel <moshe.harel@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:51 +02:00
Luca Coelho
5053e299ae iwlwifi: mvm: remove redundant d0i3 flag from the config struct
The d0i3 flag in the device configuration structure is redundant,
because the same information can be determined by checking the
firmware capability flag.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:50 +02:00
Golan Ben-Ami
1e8f1329aa iwlwifi: mvm: add trigger for firmware dump upon TDLS events
This will allow to catch different TDLS events and get the
firmware data when they occur.
Add empty TX_LATENCY trigger on the way to avoid mismatch
with trees in which this trigger is implemented.

Signed-off-by: Golan Ben-Ami <golan.ben.ami@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:50 +02:00
Johannes Berg
4707fde5cd iwlwifi: mvm: use build-time assertion for fw trigger ID
The firmware debug trigger ID is always a compile-time constant,
so we can use a build-time assertion to validate that it is in
fact a valid constant.

To make that really guaranteed to work, convert this and the
inline function iwl_fw_dbg_trigger_simple_stop() to macros.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:50 +02:00
Emmanuel Grumbach
59fd4bf645 iwlwifi: mvm: change name of iwl_mvm_d3_update_gtk
This function updates the pairwise keys as well.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:50 +02:00
Luca Coelho
b2c5d3a89f iwlwifi: generalize d0i3_entry_timeout module parameter
The PCIe transport will also need a d0i3_entry_timeout_ms parameter,
so move the existing one from the slave transports to iwlwifi, so it
can be reused.  While at it, rename the parameter to something
shorter, namely d0i3_entry_delay.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:50 +02:00
Johannes Berg
13fb01d815 iwlwifi: pcie: remove ICT allocation message
This message isn't very useful and presents a security risk
due to the use of %p - remove it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:49 +02:00
Matti Gottlieb
9a57f650d0 iwlwifi: mvm: check FW's response for nvm access write cmd
In case of using an external NVM file, the driver sends to the
FW the different nvm sections. In the response of the cmd, the
FW states the status of the writing of the chunk.

Currently the value is not checked by the driver.

Check FW's response for writing the nvm chunk in the NVM_ACCESS_CMD.

Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:49 +02:00
Luca Coelho
72a3356885 iwlwifi: mvm: ignore LMAC scan notifications when running UMAC scans
If the firmware sends LMAC scan notifications while a UMAC scan is
running, just WARN and ignore it, otherwise the scanning state gets
messed up.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:49 +02:00
Avri Altman
e7c2e1fdcd iwlwifi: mvm: Enable MPLUT only on supported hw
When there's a bt-wifi contention that requires arbitration,
we use a priority-based mechanism to decide which comm wins.
Over time, use cases become more and more complex, with multiple
concurrent active links with different traffic types and different QoS
requirements, on both WiFi and BT sides.
This, in turn, requires us to elaborate our prioritization mechanism.
However, our legacy products included hw that does not supports this,
so selectively enable this on specific hw - as signaled by the firmware.

Signed-off-by: Avri Altman <avri.altman@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:49 +02:00
Johannes Berg
b9de521f2d iwlwifi: dvm: remove stray debug code
This code was needed during initial PAN bringup, but now is
just cruft - remove it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:49 +02:00
Avraham Stern
f9d716443f iwlwifi: mvm: Configure fragmented scan for scheduled scan
Configure the FW to use fragmented scan when the traffic load is high
or low latency traffic is on. This is useful for scans that are
managed by the FW (e.g. scheduled scan).

Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:49 +02:00
Johannes Berg
85e5a38763 iwlwifi: trans: make various conversion macros inlines
Make the various conversion functions typesafe, so we don't
accidentally try to call them with the wrong pointers and
cast them to something that will crash.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:48 +02:00
Johannes Berg
d29cb66463 iwlwifi: dvm: remove Kconfig default
The split of iwlwifi into DVM and MVM was a long time ago now,
so we can remove the "default IWLWIFI" that we had to keep all
existing .config files with working defaults during the split.
This is no longer necessary, practically nobody should now be
upgrading a .config that's older than the split.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:48 +02:00
Emmanuel Grumbach
6c4fbcbc1c iwlwifi: add support for 12K Receive Buffers
802.11ac allows A-MSDU that can be up to 12KB long. Since
an entire A-MSDU needs to fit into one single Receive
Buffer (RB), add support for big RBs.
Since this adds lots of pressure to the memory manager and
significantly increase the true_size of the RX buffers,
don't enable this by default.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:48 +02:00
Johannes Berg
7d1620451d iwlwifi: nvm: fix up phy section when reading it
This is a workaround to an OTP bug. In Series 8000 1x1, the OTP
0xA052 defines 2x2 antenna configuration. This workaround overrides
the decision based on HW id and on MIMO disabled bit which is
correct in the OTP and set to disabled. This fixes the previous
workaround "force 1x1 antenna in Series 8000".

Signed-off-by: Moshe Harel <moshe.harel@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-26 16:38:48 +02:00
Emmanuel Grumbach
4615fd1551 Merge remote-tracking branch 'iwlwifi-fixes/master' into next 2015-11-26 16:38:24 +02:00
Kalle Valo
6d808eba60 mac80211_hwsim: move Kconfig entry for sorting alphabetically
mac80211_hwsim was not placed alphabetically correctly in menuconfig, fix that.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 15:23:36 +02:00
Kalle Valo
b5c9b4f91a ath: unify Kconfig with other vendors
Change menuconfig to config to keep the Kconfig entries unified. Part of
reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:31 +02:00
Kalle Valo
bd842171a8 ti: unify Kconfig with other vendors
Rename WL_TI to WLAN_VENDOR_TI to match with other vendor configs and make sure
that it's enabled by default in new configs. Convert menuconfigs to regular
configs to unify the wireless drivers menuconfig. Part of reorganising wireless
drivers directory and Kconfig.

Also remove WLCORE dependency to WL_TI. It should not be needed as WLCORE is
already under if  WLAN_VENDOR_TI.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:31 +02:00
Kalle Valo
7b09ed5a09 mediatek: unify Kconfig with other vendors
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:31 +02:00
Kalle Valo
33aca94d79 rt2x00: move under ralink vendor directory
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:31 +02:00
Kalle Valo
941a967c98 rsi: add vendor Kconfig entry
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:31 +02:00
Kalle Valo
6214172685 realtek: create separate Kconfig file
Add new a Kconfig file and a vendor config for realtek. Also update MAINTAINERS
which we missed to do when earlier moving rtlwifi.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:31 +02:00
Kalle Valo
c12edfe27f prism54: move under intersil vendor directory
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:31 +02:00
Kalle Valo
2be45b66de orinoco: move under intersil vendor directory
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:31 +02:00
Kalle Valo
d3466830c1 p54: move under intersil vendor directory
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:31 +02:00
Kalle Valo
eb4f98d5de hostap: move under intersil vendor directory
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:30 +02:00
Kalle Valo
6948300c79 zd1211rw: move under zydas vendor directory
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:30 +02:00
Kalle Valo
ed0ad06f5c zd1201: move under zydas vendor directory
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:30 +02:00
Kalle Valo
de60f1dc23 mwl8k: move under marvell vendor directory
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:30 +02:00
Kalle Valo
277b024e5e mwifiex: move under marvell vendor directory
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:30 +02:00
Kalle Valo
dd3f92dea8 libertas_tf: move under marvell vendor directory
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:30 +02:00
Kalle Valo
f988d64010 libertas: move under marvell vendor directory
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:30 +02:00
Kalle Valo
e705c12146 iwlwifi: move under intel vendor directory
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:30 +02:00
Kalle Valo
7ac9a364c1 iwlegacy: move under intel directory
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:30 +02:00
Kalle Valo
367a1092b5 ipw2x00: move under intel vendor directory
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:30 +02:00
Kalle Valo
560424e9a9 cw1200: move under st vendor directory
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:30 +02:00