Commit Graph

518915 Commits

Author SHA1 Message Date
Zhaoyang Liu
9ab7b5b9b1 mwifiex: fix invalid HT IE configuration in FW
This patch fixes an issue where it was discovered that driver is setting
invalid HT IEs to FW. This was happening because bug in parsing HT IE.
Driver would incorrectly point to start of HT IE while FW only needs actual
HT configuration - excluding EID and length.

Signed-off-by: Zhaoyang Liu <liuzy@marvell.com>
Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-05-09 16:25:21 +03:00
Avinash Patil
31a09a5d34 revert "mwifiex: enable aggregation for TID 6 and 7 streams"
This patch reverts 'commit c5534844cd ("mwifiex:
enable aggregation for TID 6 and 7 streams")'.
TID6 & TID7 is voice traffic which is quite time sensitive.
Do not enable any type of aggregation on these TIDs.

Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Cathy Luo <cluo@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-05-09 16:25:20 +03:00
Kalle Valo
7c79f1c9fd * major rework of the scan code (Luca)
* some work on the thermal code (Chaya Rachel)
 * some work on the firwmare debugging infrastructure
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJVRnawAAoJEC0Llv5uNjIBVmAP/2kfyy1LSs9kPlCItYpCAb82
 xZvLkdK+2lEuDgmui2sDvkLhvINRMwLUUilQaVIpCavsp2OS6cgikO8sPaEDUiHs
 nC8/tU/PUTisKm+ZfedDeMDjIXkVKLT8tmSk4P0M7byfVTvrUUCPADW9bGQxJ5k7
 BOrR2ArFhtuGulBaSAAXlZd5KqmGEyxiF2DtdrSRS+FCkMTwyQSSvUOpDynjmfFl
 t3g36cp7yivX34q3rbw9i86YgEtzz/EU6FvPcOTMDK4yIpPLy2LYGmiGlc+tBiCu
 M+YZjx85yZhxRqp7nA+qIXPDCw6yCBGLQKi/6AoKRnl0yzyzHo5H9rIM5LaXGPJ7
 3niCtn33UATNNNsL6bQx21AvIK7NfB8P4ozm1MVgRu6d0Oxh3vsgZut+5WNUyv4m
 ucT9Khjx3ffYw1/Ko6GcU8oHI7EccGG3okfm9z74xE5vjb9fI4qRpmgo52GpIqFH
 EMYEPJzBHwIIkCk1fAGryzgBc4KSi48sCikLaZxhrInsIwTYBosrSv+4XLjbTztm
 eneP3YB1LWEbm+qJNFxhqn8EbYUKsxdM5CARNUsCOOHbeg8Zpo056szmKb8KKwVM
 f+Jf3XYSAk1hD2CYJJVP6Cn5EtGq6MpV2ml0kOCbJptAOtaRKuzgqwR9NHnZAMU2
 qgiZSrEHOYzet+xkyv0h
 =c7VM
 -----END PGP SIGNATURE-----

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

* major rework of the scan code (Luca)
* some work on the thermal code (Chaya Rachel)
* some work on the firwmare debugging infrastructure
2015-05-09 16:21:49 +03:00
David Spinadel
05c3274d56 iwlwifi: mvm: include wildcard SSID in scans
Fix a copy paste bug that didn't copy wildcard SSIDs to
scan requests. This bug causes scan with only wildcard
SSID to be passive, and scans with more than one SSID to
send only the direct probes.

Fixes: 2a28ac14c518 ("iwlwifi: mvm: add common scan params to thw iwl_mvm_scan_params struct")
Signed-off-by: David Spinadel <david.spinadel@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-05-03 22:18:33 +03:00
Luciano Coelho
af56b91851 iwlwifi: mvm: remove some unused stuff from scan.c
Some more tidbits left over from the legacy scan removal.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:57:25 +03:00
Chaya Rachel Ivgi
3444682a9f iwlwifi: mvm: make thermal throttling values configurable per NIC family
The thermal throttling parameters were constant and hardcoded, not allowing
changes for different NIC families.
Change this so that the values are part of the NIC family configuration and
are not constant (so they can be changed dynamically in the future).

Signed-off-by: Chaya Rachel Ivgi <chaya.rachel.ivgi@intel.com>
Reviewed-by: Luciano Coelho <luciano.coelho@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:57:11 +03:00
Johannes Berg
b546dcd6b7 iwlwifi: mvm: don't reset key index on HW restart
When a firmware restart is done, don't try to reprogram the keys to new
slots but rather just keep the old key index, while skipping keys that
weren't programmed before.

Not only does this restore the state more faithfully, but it will also
allow using the HW key index for internal purposes as an array index.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:56:40 +03:00
Luciano Coelho
133c8259f8 iwlwifi: mvm: rename generic_scan_cmd functions to dwell
The generic scan command functions are now irrelevant, since both
sched and regular scans are in the same code.  So rename this
functions to dwell and isolate all the dwell-related setting to them.
Keeping the dwell code separate makes it easier to compare the LMAC
and UMAC versions.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:55:12 +03:00
Luciano Coelho
8751540821 iwlwifi: mvm: move all LMAC scan flags into a single funtion
Having an LMAC counterpart for the existing UMAC flags function makes
things more consistent and easy to compare and spot the differences.
The flags are the same, but are in different bits, so unfortunately we
can't use a single function for both APIs.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:55:02 +03:00
Luciano Coelho
6f4dcc76e0 iwlwifi: mvm: move all UMAC scan flags setting into the relevant function
Clean the code a little by moving all the flags into the right
function.  Additionally, rename the function, since "common" is now
irrelevant.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:53:44 +03:00
David Spinadel
7ea76dc843 iwlwifi: mvm: remove deprecated command IDs
Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:53:32 +03:00
Emmanuel Grumbach
96c285da0d iwlwifi: allow to limit the size of the external buffer for firmware debugging
When we use an external buffer, it is allocated from the
t DRAM and can be as big as 64MB. This buffer is huge and
might not be needed for the specific issue being chased.
Especially if lots of dumps are going to be created.
Allow to limit the size of the buffer in the configuration.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:53:20 +03:00
Eliad Peller
e5629be7c9 iwlwifi: mvm: avoid use-after-free on iwl_mvm_d0i3_enable_tx() [BUGFIX]
qos_seq points (to a struct) inside the command response data.

Make sure to free the response only after qos_seq is not
needed anymore.

type=bugfix
bug=not-tracked
fixes=I78c07110b59dcd389207bd2b168b0a2760839fe0

Change-Id: I619ce2c17e064dc98c7be9abc1e23175fdc8fb9a
Reported-by: Heng Luo <heng.luo@intel.com>
Signed-off-by: Eliad Peller <eliadx.peller@intel.com>
Reviewed-on: https://gerrit.rds.intel.com/r/55381
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Tested-by: IWL Jenkins
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:51:22 +03:00
Luciano Coelho
8423cdc31e iwlwifi: mvm: combine UMAC scans into one
With just a few differences left in the UMAC scan functions now, we
can merge them into one, taking care of the small difference according
to the total number of iterations required.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:51:07 +03:00
Luciano Coelho
283c249141 iwlwifi: mvm: trim sched scan delay down to 16-bit for LMAC as well
In theory, LMAC scans can handle a 32-bit delay, but since waiting for
over 18 hours to start the scan is a bit silly and to keep it aligned
with UMAC scans (which only support 16-bit delays), trim it down to
16-bits.

This makes the LMAC vs. UMAC and the UMAC reg scan vs. UMAC sched scan
code more similar.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:50:56 +03:00
Luciano Coelho
7d7de1e915 iwlwifi: mvm: combine LMAC scans into one
The last remaining difference between the regular scan and scheduled
scan flows for LMAC is the FW capabilities check for EBS scans.

Merge these checks into a new function and then combine the LMAC scan
functions into a single one.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:50:33 +03:00
Luciano Coelho
cf5d317d80 iwlwifi: mvm: add number of scan iterations and multiplier to params
As another step towards combining the scan and sched scan functions,
add parameters that tell the scan function how many iterations we want
(i.e. 1 for normal scan, more for scheduled scan) and that set the
full scan multiplier (only meaningful for LMAC).

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:18:12 +03:00
Luciano Coelho
45d1b12e7c iwlwifi: mvm: combine LMAC and UMAC preq generation
The probe request to be added to both LMAC and UMAC scan commands are
identical, so move the generation out of the LMAC/UMAC-specific code.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:18:11 +03:00
Luciano Coelho
4b817051de iwlwifi: mvm: rename scan_calc_params to scan_calc_dwell
To make things clearer, rename the iwl_mvm_scan_calc_params() function
to iwl_mvm_calc_dwell() and make it calculate and fill in only
dwell-related parameters.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:18:11 +03:00
Luciano Coelho
e2ec4f6d72 iwlwifi: mvm: combine SSID functions for sched and regular scans
Now that both scheduled scan and regular scan SSID populating
functions do the same thing, they can be combined into a single
function.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:18:10 +03:00
Luciano Coelho
1c1b5b2628 iwlwifi: mvm: revert order of SSIDs for sched scans
The firmware inverts the order of the SSIDs sent out in probe requests
(for some reason).  For regular scans, we've been passing the SSIDs in
the opposite order so they go out in the order we want.  With
scheduled scans, we were not doing that, so they were sent out in
reverse order of priority.  Fix that by using the reverse order when
populating the SSIDs array for scheduled scans as well.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:18:10 +03:00
Luciano Coelho
5ef766fe78 iwlwifi: mvm: combine ssid_bitmap setting for regular scans
The only difference in the ssid_bitmap between LMAC and UMAC scans is
that in LMAC bits 1 to 20 are used, while in UMAC bits 0 to 19 are
used (*sigh*).  So we can combine the bitmap creation into a single
function and simply shift left if LMAC is used.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:18:09 +03:00
Luciano Coelho
f7b788b429 iwlwifi: mvm: add common scan params to thw iwl_mvm_scan_params struct
Many parameters are common for all scans.  Instead of parsing the
cfg80211 scan and sched scan requests differently in each flow, move
the parsing outside of the API/scan-type specific functions.  In this
way, we only need to differentiate between scan types once.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:18:03 +03:00
Luciano Coelho
8df3e68f0b iwlwifi: mvm: combine parts of UMAC and LMAC sched scans
Similarly to the regular scan patch, a lot of the UMAC and LMAC sched
scan code is also almost identical.  Grab the low hanging fruits by
combining the obvious parts.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:15:50 +03:00
Luciano Coelho
3db7c6e725 iwlwifi: mvm: combine parts of UMAC and LMAC scans
A lot of the UMAC and LMAC scan code is almost identical.  Grab the
low hanging fruits by combining the obvious parts.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:15:39 +03:00
Emmanuel Grumbach
8741145683 iwlwifi: clarify the device / firmware mapping in Kconfig
The lists of the devices supported by either MVM or DVM
firmwares was incomplete. Point to
https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware
instead of maintaining the lists.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:13:30 +03:00
Arik Nemtsov
737719fe9f iwlwifi: mvm: iterate all interfaces during HW recovery cleanup
Usually during HW recovery the state of all active interfaces is cleaned
up during drv_start(). There's a special case where a HW restart is
requested when an interface is going down. In this case the iface-iterator
won't see this interface and we won't clean it. This has bad consequences
once the interface is legitimately brought up again.

Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:13:24 +03:00
Luciano Coelho
999d2568ee iwlwifi: mvm: combine scan size checks into a common function
Instead of repeating the same code in 4 different places, combine the
comparisons into a new function.  Additionally, this change fixes UMAC
scans where the RRM IEs were not taken into consideration when
calculating the IE length.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:13:15 +03:00
Luciano Coelho
83c415fd89 iwlwifi: mvm: always use iwl_mvm_scan_size to calculate the scan size
We have a function (iwl_mvm_scan_size()) that can calculate the scan
size for both UMAC and LMAC scans.  Use that function instead of
calculating manually for LMAC scan and sched scan.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:12:49 +03:00
Emmanuel Grumbach
9954b37c4a iwlwifi: mvm: allow scheduled scan for all the firmwares
We don't support -9.ucode so, all the released firmwares
support scheduled scan properly.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:12:49 +03:00
Luciano Coelho
0bef038302 iwlwifi: mvm: some clean ups in fw-api-scan.h
Remove unused struct iwl_scan_offload_req and enum
iwl_scan_offload_flags which are not used anymore.  Rename
iwl_scan_offload_schedule to iwl_scan_schedule_lmac to make it clear
that this is for LMAC only.  And fix a small typo.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:12:49 +03:00
Liad Kaufman
0ab5dcee5e iwlwifi: rs: remove unneeded check of average tpt in window
Previously there was a check that compared window->average_tpt
to some value, and if it was different - it set it to that
value. However, this value was already calculated and set in
_rs_collect_tx_data(), so the entire check is unneeded.

Signed-off-by: Liad Kaufman <liad.kaufman@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:12:49 +03:00
Liad Kaufman
cc79ef661c iwlwifi: pcie: support marbh fw dbg mode
This adds support for configuring and retrieving the FW
monitor in MARBH mode.

Signed-off-by: Liad Kaufman <liad.kaufman@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:12:49 +03:00
Luciano Coelho
19945dfb94 iwlwifi: mvm: differentiate net-detect from sched scan
Net-detect scans were using the same type as sched scan, which was
causing the driver to return -EBUSY and prevent the system from
suspending if there was an ongoing scheduled scan.  To avoid this, add
a new type for net-detect and don't stop anything when it is
requested, so that the existing scheduled scan will be resumed when
the system wakes up.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:12:48 +03:00
Luciano Coelho
6749dd80bb iwlwifi: mvm: move scan code from mac80211.c to scan.c
Move all the scan code that was in mac80211.c to scan.c where it
belongs, leaving only the parts that are specific to mac80211 ops.

Change some function definitions slightly to improve consistency.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:12:48 +03:00
Luciano Coelho
65ff556b07 iwlwifi: mvm: rename unified_scan symbols to just scan
All scans are using the unified APIs now, so using "unified" in the
symbols is useless and just make them much longer and the main
difference between scans now is LMAC vs. UMAC.  Remove "unified" from
all relevant symbols.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:12:48 +03:00
Luciano Coelho
507e4cda52 iwlwifi: mvm: generalize the other-scan stopping code
Instead of hardcoding the differences between UMAC scans and LMAC
scans (which in this case is the number of simultaneous scans that can
run), introduce a max_scans variable and stop scans of the other type
(i.e. stop sched scan if regular scan is being attempted and
vice-versa) if the number of running scans reached the maximum.

Add a function that checks if the maximum number of scans was reached
and stops the appropriate scan to make room for the new scan.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:12:48 +03:00
Luciano Coelho
4171bb3346 iwlwifi: mvm: check if scan can be started before cancelling other scans
If a new scan cannot be run for some reason, we shouldn't cancel other
ongoing scans.  Move the checks to before the code that cancels other
scans.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:12:48 +03:00
Luciano Coelho
bd9564da3d iwlwifi: mvm: don't wait for scan stopped work when cancelling scans
Now that we have separate flags for stopping scans, we don't need to
wait for the scan stopped work to complete before starting the new
scan.  Previously we needed it because we had no way of distinguishing
the scan that was being stopped from the scan that was currently
running.  With the new flags there won't be any confusions and we are
able to handle the stop for the correct type of scan.

Thus we can remove the iwl_mvm_cancel_scan_wait_notif() function.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:12:48 +03:00
Luciano Coelho
9af91f4663 iwlwifi: mvm: convert scan_status to a bitmap
LMAC scans cannot handle more than one scan at a time, but UMAC scans
can.  To avoid confusion we should combine the states of these two
types of scans.  To do so, we need to support mutliple scans at the
same time for UMAC.

This commit changes the scan_status element from a single value to a
bitmask of running scan types for LMAC.  Later, we will modify UMAC
scans to use the same state bitmask.

Additionally, add stopping scan flags for scheduled and regular scans.
This makes it easier to differentiate and handle stop requests
triggered by the driver and spontaneous stops generated by the
firmware.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:12:47 +03:00
Luciano Coelho
c153766408 iwlwifi: mvm: don't increase max_out_time when low priority scan is requested
In some cases, max_out_time value is smaller than 200 and having the
NL80211_SCAN_FLAG_LOW_PRIORITY flag was actually causing the
max_out_time to be increased.  To avoid that, set max_out_time to 200
only if it's greater than 200.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Reviewed-by: Alexander Bondar <alexander.bondar@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:12:47 +03:00
Luciano Coelho
0616c62c16 iwlwifi: mvm: add scan parameters debugging info
Add scan parameters information to make it easier to debug scan dwell
times and fragmentation.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Reviewed-by: Alexander Bondar <alexander.bondar@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:12:47 +03:00
Eyal Shapira
fcc5e8512a iwlwifi: rs: cleanup last_txrate_idx
last_txrate_idx isn't used anymore and can be dropped as this info
exists already somewhere else.

Signed-off-by: Eyal Shapira <eyalx.shapira@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:12:47 +03:00
Liad Kaufman
867e214e94 iwlwifi: rs: remove code duplication when filling lq cmd
Same code appear a few lines later while the position has
no effect on the actual flow.

Signed-off-by: Liad Kaufman <liad.kaufman@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:12:47 +03:00
Matti Gottlieb
35d3dab5f5 iwlwifi: mvm: ROC: Reduce the aux roc max delay
When user space requests mac80211 to transmit a frame off
channel, mac80211 notifies the driver, and the driver requests
a time event from the ucode, and then transmits the frame.
When the driver requests a time event, it can specify what is the allowed
max delay for starting the time event.

When the max delay is too big, this can cause a timeout in the user space,
that is waiting for the frame to be transmitted.

Currently the max delay is extremely long.

Reduce the max delay for the AUX ROC time event that is sent to the ucode.

Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-29 13:12:46 +03:00
Emmanuel Grumbach
ac1c8d5ea1 Merge remote-tracking branch 'iwlwifi-fixes/master' into iwlwifi-next 2015-04-29 13:12:18 +03:00
Johannes Berg
e7afe89fd6 iwlwifi: mvm: force quota update update after FW restart
During firmware restart, the quota command isn't calculated multiple
times, but after the firmware restart it has to be sent, so force it.
Otherwise the firmware crashes.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-28 15:02:25 +03:00
Emmanuel Grumbach
6bbd5521ed iwlwifi: mvm: fix typo in CONFIG option
I forgot to rename the CPTCFG_ prefix...

Fixes: 484b3d13b4 ("iwlwifi: mvm: add debugfs entry with the number of net-detect scans")
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-28 15:00:49 +03:00
Eran Harary
8d193ca26c iwlwifi: mvm: don't power off the device between INIT and OPER firmwares
Our device needs two different firmwares: the INIT firmware
and the operational (OPER) firmware. The first one is run
when the driver loads and it returns calibrations results
as well as the NVM. The second one implements the WiFi
protocol.

If the wlan interface is not brought up, the device is put
to low power state: no firmware will be running. When the
interface is brought up, we would run the OPER firmware
only and reuse the results of the run of the INIT firmware
when the driver was loaded. This is changing with this
patch.
We now run the INIT firmware every time mac80211 calls
start(). The penalty for that is minimal since the INIT
firwmare run fast. I now also avoid to power down the device
between the INIT and OPER firmware on certains buses.

The motivation for this change is that there are components
on the device (MFUART) that are triggered by the INIT
firmware and need the device to be powered up in order to
keep running. Powering the device down between the INIT and
OPER firmware would stop these components and prevent them
from running again since they are triggered by the INIT
firmware only.
The new flow allows this and also allows to trigger these
components again when the interface is brought up after
it has been brought down.

Signed-off-by: Eran Harary <eran.harary@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-04-28 14:58:51 +03:00
Kalle Valo
73b25f66dc Merge ath-next from ath.git
Major changes in ath10k:

* enable channel 144 on 5 GHz
* enable Adaptive Noise Immunity (ANI) by default
* add Wake on Wireless LAN (WOW) patterns support
* add basic Tunneled Direct Link Setup (TDLS) support
* add multi-channel support for QCA6174
* enable IBSS RSN support
* enable Bluetooth Coexistance whenever firmware supports it
* add more versatile way to set bitrates used by the firmware
2015-04-28 14:44:19 +03:00