summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/intel
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | iwlwifi: mvm: implement CSI reportingJohannes Berg2019-01-297-12/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement CSI (channel estimation matrix) reporting in the mvm driver, if the firmware has the capability. Currently only a debugfs API is provided as the API is still under discussion. For now, RX aggregation must be disabled to use this feature on data frames as we haven't found a good way to attach the data to A-MPDUs, given complexities with multi-queue. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: add location APIsJohannes Berg2019-01-294-0/+712
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the location/time-of-flight/FTM APIs that we'll use in follow-up patches to implement FTM responder and initiator. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: Disconnect on large beacon lossAndrei Otcheretianski2019-01-292-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some buggy APs stop sending beacons, but continue to ack our null data packets or even run some traffic. It's better not to stick connected to such an AP forever, so disconnect after some larger beacon loss threshold is crossed. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: pcie: use u32* argument to iwl_trans_get_fw_monitor_len()Johannes Berg2019-01-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That's what we pass, and we don't want/need any negative values. Found by sparse/smatch. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: dvm: remove useless conditionJohannes Berg2019-01-291-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we're in the else branch of checking "tt->state == IWL_TI_CT_KILL" so there's no point in checking "tt->state != IWL_TI_CT_KILL" again. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: remove TOF implementationJohannes Berg2019-01-2910-1584/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an ancient (~2015) implementation that no longer matches the firmware in any way, and most likely never worked. Remove all of it so it can be reintroduced properly. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: get rid of tx_path_lockSara Sharon2019-01-293-19/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TX path lock was introduced in order to prevent out of order invocations of TX. This can happen in the following flow: TX path invoked from net dev Packet dequeued TX path invoked from RX path Packet dequeued Packet TXed Packet TXed However, we don't really need a lock. If TX path is already invoked from some location, other paths can simply abort their execution, instead of waiting to the first path to finish, and then discover queue is (likely) empty or stopped. Replace the lock with an atomic variable to track TX ownership. This simplifies the locking dependencies between RX and TX paths, and should improve performance. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: fix A-MPDU reference assignmentJohannes Berg2019-01-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current code assigns the reference, and then goes to increment it if the toggle bit has changed. That way, we get Toggle 0 0 0 0 1 1 1 1 ID 1 1 1 1 1 2 2 2 Fix that by assigning the post-toggle ID to get Toggle 0 0 0 0 1 1 1 1 ID 1 1 1 1 2 2 2 2 Reported-by: Danny Alexander <danny.alexander@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Fixes: fbe4112791b8 ("iwlwifi: mvm: update mpdu metadata API") Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: add an option to dereference vif by idSara Sharon2019-01-294-67/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently whenever we get firmware notification with mac id, we iterate over all the interfaces to find the ID. This is a bit cumbersome. Instead, adding an array of RCU pointers, like we have for station IDs. This is not expensive space wise since we have only up to 4 active MACs, and not complicated code wise, since we have a clear point to init and de-init it. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: monitor dumping flow cleanupShahar S Matityahu2019-01-291-15/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we use a dumping mask, checking if only monitor was requested is redundant. Remove the unneeded code. Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: remove sta key on wep apLiad Kaufman2019-01-291-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If WEP is used, no one removes the STA key upon STA removal, leading to a situation where after 16 connect/disconnects - the AP could no longer decrypt incoming data frames since iwl_mvm_set_fw_key_idx() called from iwl_mvm_set_sta_key() during association returns STA_KEY_IDX_INVALID, thus not setting the key for that connecting STA. Fix this by removing the key in the driver when the STA is removed. Signed-off-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: make sure cur_fw_img is valid before accessing imgLuca Coelho2019-01-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Harden the fwrt->fw->img array access by making sure the cur_fw_img value doesn't go out of bounds. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: calculate pointers from out_cmd instead of out_cmd->hdrLuca Coelho2019-01-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The out_cmd structure starts with a header, so there's no need to use &out_cmd->hdr, out_cmd alone is enough. We use this when calculating other addresses and klocwork gets confused with that because it thinks we are trying to access hdr (as an array) beyond its size. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: pre-initialize alive_data in wait_alive()Luca Coelho2019-01-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function we pass to the wait alive notification procedure may may not even get called if the timeout occurs before the function is called. To prevent accessing unitialized data in alive_data, pre-set it to zero in the declaration. Found by static analyzers. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: move iwl_enable_{rx,tx}_ampdu to iwl-modparams.hJohannes Berg2019-01-293-40/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These inlines just check the module parameters, so they don't need a configuration parameter and can move to a better place. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: make iwl_fw_dbg_start_stop_hcmd() inlineLuca Coelho2019-01-291-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This function is supposed to be used as an inline function and is in a header file, so make it inline. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: save and export regdb blob from the NVMLuca Coelho2019-01-293-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes we want to debug issues related to the regulatory blob in the NVM. To make that easier, add a debugfs entry to export it together with the other nvm blobs we export. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: clean up LDBG config command usageJohannes Berg2019-01-295-75/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clean up the LDBG config command to not be called "continuous recording", and while at it actually remove the continuous recording implementation completely since it was only used for store & forward architectures. This also fixes a bug at least in iwl_fw_dbg_buffer_allocation() because what's now "__le32 type" (matching the firmware) used to be "__le16 enable_recording", so the buffer allocation config sub-struct would erroneously have started at the wrong offset. In the other cases this didn't actually lead to a bug as other bytes in pad[] were all zeroes, so accessing the 16-bit value as a 32-bit value wouldn't make a difference (in little endian.) Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: pcie: align licensing to dual GPL/BSDJohannes Berg2019-01-295-19/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These files have a long history of code changes, but analysing the remaining code leads to having only a few changes that are not already owned by Intel, notably from - Andy Lutomirski <luto@amacapital.net> - Joonwoo Park <joonwpark81@gmail.com> - Kirtika Ruchandani <kirtika@chromium.org> - Rajat Jain <rajatja@google.com> - Stanislaw Gruszka <sgruszka@redhat.com> remaining in the code today. Note that - I myself was working for Intel and for any possibly code that might be before my employment there give permission - Wizery employees were working for Intel More specifically, we identified the following commits that (partially may) remain today: 25c03d8e8c13 Joonwoo Park <joonwpark81@gmail.com> ("iwlwifi: do not schedule tasklet when rcv unused irq") f36d04abe684 Stanislaw Gruszka <sgruszka@redhat.com> ("iwlwifi: use dma_alloc_coherent") 387f3381f732 Stanislaw Gruszka <sgruszka@redhat.com> ("iwlwifi: fix dma mappings and skbs leak") 2624e96ce16b Stanislaw Gruszka <sgruszka@redhat.com> ("iwlwifi: fix possible data overwrite in hcmd callback") bfe4b80e9f73 Stanislaw Gruszka <sgruszka@redhat.com> ("iwlwifi: always check if got h/w access before write") d536c32b45d2 Andy Lutomirski <luto@amacapital.net> ("iwlwifi: pcie: log when waking the NIC for hcmd submission fails") a6d24fad00d9 Rajat Jain <rajatja@google.com> ("iwlwifi: pcie: dump registers when HW becomes inaccessible") fb12777ab59b Kirtika Ruchandani <kirtika@chromium.org> ("iwlwifi: Add more call-sites for pcie reg dumper") 3a73a30049f2 Stanislaw Gruszka <sgruszka@redhat.com> ("iwlwifi: cleanup/fix memory barriers") aa5affbacb24 Stanislaw Gruszka <sgruszka@redhat.com> ("iwlwifi: dump stack when fail to gain access to the device") Align the licenses with their permission to clean up and to make it all identical. CC: Joonwoo Park <joonwpark81@gmail.com> CC: Stanislaw Gruszka <sgruszka@redhat.com> CC: Andy Lutomirski <luto@amacapital.net> CC: Rajat Jain <rajatja@google.com> CC: Kirtika Ruchandani <kirtika@chromium.org> Acked-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: Kirtika Ruchandani <kirtika@chromium.org> Acked-by: Stanislaw Gruszka <sgruszka@redhat.com> Acked-by: Joonwoo Park <joonwpark81@gmail.com> Acked-by: Rajat Jain <rajatja@google.com> Acked-by: Andy Lutomirski <luto@kernel.org> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: read IWL_RX_MPDU_PHY_SHORT_PREAMBLE only for CCKJohannes Berg2019-01-291-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to a general shortage of RX API bits, the firmware is going to reuse this bit on non-CCK frames to mean something else. Use it only on CCK frames to prepare for that change. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: fix %16 to %016 print formatJohannes Berg2019-01-292-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With just %16, it means 16 characters padding, but we really don't want to print "0x 1F4547B", but instead want to have this filled with zeroes, so we need the 0. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: pcie: add prints to track virtual IDSara Sharon2019-01-291-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case there are bugs in this area, this data can help with debugging. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: iwlmvm: in monitor NDP notif take the NSS from rx_vecShaul Triebitz2019-01-292-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Take the NSS value from 'rx_vec' rather than from 'rate_n_flags'. The rate_n_flags has only 2 bits for the NSS giving a max of 4SS (0 = 1SS etc.). Since there may be up to 8SS use the rx_vec which has 3 bits for the NSS. While at it, fix the rx_vec array to length of 2. Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: iwlmvm: ignore HE PPDU type regarding EOFShaul Triebitz2019-01-291-11/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When setting the EOF bit in Rx flags (propagated to radiotap) do not depend it on the PPDU type (SU/MU/TB) since it doesn't. Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: pcie: fix the use of a wrong defineSara Sharon2019-01-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code checks that we haven't exceeded the maximum number of TBs by comparing to a define of gen1 instead of gen2, fix it. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: fw api: document WoWLAN patterns commandJohannes Berg2019-01-251-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Document the WoWLAN patterns command structure. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: fw api: remove unused/deprecated filter statusJohannes Berg2019-01-251-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These are unused by both firmware and driver, remove them. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: avoid access out of memory allocatedMordechay Goodstein2019-01-251-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The value in num_lmac can be bigger than mem_cfg->lmac array, warn in case it's bigger. Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com> Fixes: 68025d5f9bfe ("iwlwifi: dbg: refactor dump code to improve readability") Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: avoid possible access out of array.Mordechay Goodstein2019-01-251-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The value in txq_id can be out of array scope, validate it before accessing the array. Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com> Fixes: cf961e16620f ("iwlwifi: mvm: support dqa-mode agg on non-shared queue") Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: memcpy from dev_cmd and not dev_cmd->hdrLiad Kaufman2019-01-252-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Klocwork complains about copying from dev_cmd->hdr if copying more than 4 bytes since it means part of the copy is from the next field. This isn't a real bug, but for not failing Klocwork next time - fix this. Signed-off-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: tighten boundary checksLiad Kaufman2019-01-253-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The driver assumes certain sizes and lengths aren't crossed in some places. Make sure this indeed happens. Found by Klocwork. Signed-off-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: make num_active_macs unsignedLiad Kaufman2019-01-251-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no point in having num_active_macs signed since it should never be negative. Set it to be an unsigned variable to ensure this. Signed-off-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: update hcmds documentationLiad Kaufman2019-01-251-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A few commands refer to a struct that no longer exists in the mentioned name. Our trace-cmd parsing scripts rely on these mentioned names and can't find them, resulting in these commands not being parsed nicely. Signed-off-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: Do not set RTS/CTS protection for P2P Device MACIlan Peer2019-01-251-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As this is not needed and might cause interoperability issues during pairing with devices that would not reply to RTS frames. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: Set Tx rate and flags when there is not stationIlan Peer2019-01-251-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a frame is transmitted without a station, need to set the rate and flags in the Tx command, as the FW does not have any information as to what rate and flags should be used for this frame. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: Flush transmit queues on P2P Device ROC doneIlan Peer2019-01-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a time event for a P2P Device interface is done, it is possible that there is still a frame pending for transmission that should be flushed. Set the IWL_MVM_STATUS_NEED_FLUSH_P2P to indicate to the ROC worker that P2P Device station queue need also to be flushed. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: bring back mvm GSO codeSara Sharon2019-01-252-2/+223
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have a slightly better TCP performance with GSO. Add it back, it can co-exist with the code that builds AMSDUs in mac80211. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: fix spelling mistake "registrating" -> "registering"Colin Ian King2019-01-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Trivial fix to spelling mistake in IWL_ERR error message Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: use kmemdup in iwl_parse_nvm_mcc_info()YueHaibing2019-01-251-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use kmemdup rather than duplicating its implementation in iwl_parse_nvm_mcc_info(). Signed-off-by: YueHaibing <yuehaibing@huawei.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: fix values in the table exampleLuca Coelho2019-01-251-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We erroneously had some values for NGI in the table we give as an example in rs_fill_rates_for_column(), when they should be SGI. Change them so that they match what we say. Reported-by: Rémy Grünblatt <remy@grunblatt.org> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: support mac80211 AMSDUSara Sharon2019-01-255-226/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support getting mac80211 building AMSDUs for us. Remove GSO support from mvm - we don't need it anymore. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: support mac80211 TXQs modelSara Sharon2019-01-259-443/+331
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move to use the new mac80211 TXQs implementation. This has quite a few benefits for us. We can get rid of the awkward mapping of DQA to mac80211 queues. We can stop buffering traffic while waiting for the queue to be allocated. We can also use mac80211 AMSDUs instead of building it ourselves. The usage is pretty simple: Each ieee80211_txq contains iwl_mvm_txq. There is such a queue for each TID, and one for management frames. We keep having static AP queues for probes and non-bufferable MMPDUs, along with broadcast and multicast queues. Those are being used from the "old" TX invocation path - iwl_mvm_mac_tx. When there is a new frame in a TXQ, iwl_mvm_mac_wake_tx is being called, and either invokes the TX path, or allocates the queue if it does not exist. Most of the TX path is left untouched, although we can consider cleaning it up some more, for example get rid of the duplication of txq_id in both iwl_mvm_txq and iwl_mvm_dqa_txq_info. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: make NVM access actually fail on failuresJohannes Berg2019-01-251-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On any failure, including if we crash the firmware or get garbage data, we currently ignore this and pretend the OTP was empty. Clearly, this isn't typically the case. In cases other than the firmware saying it can't read the requested section, or the section having ended, make the access actually fail and trickle the error up through the layers to fail init. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: wrt: add 22000 device familiy prph dump supportShahar S Matityahu2019-01-251-37/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add prph dump addresses to support prph dump in 22000 HW. Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: pcie: remove suspend/resume workaround for 9000A devicesLuca Coelho2019-01-251-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't support 9000 A-step devices anymore, so we can remove the suspend/resume workaround. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: pcie: remove unnecessary iwl_pcie_enable_rx_wake() functionLuca Coelho2019-01-253-32/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This function was only used by 9000 A-step devices, which we don't support anymore, so it can be removed. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: remove support for 9000 A-step devicesLuca Coelho2019-01-253-98/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't support 9000 A-step devices anymore, so we can remove support for loading both the a0/a0 and a0/b0 FWs. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: mvm: fix firmware statistics usageEmmanuel Grumbach2019-01-252-15/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new (CDB) statistics API is used by non-CDB devices as well. Look at the right TLV flag to know which version of the statistics notification to use. To avoid confusion, remove the _cdb suffix from the structure name. While at it, remove a structure that was never used. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Fixes: 678d9b6dddea ("iwlwifi: mvm: update rx statistics cmd api") Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: add new cards for 22560, 9260 and killer seriesIhab Zhaika2019-01-253-3/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | add few PCI ID'S for 22560, 9260 and killer series. Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
| | * | iwlwifi: correct one of the PCI struct namesIhab Zhaika2019-01-254-21/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the cfg struct names is mistakenly "iwl22000", when it should be "iwl22560". Chage-Id: If9fbfa4bceef81d028c90c98d47115fbe39da547 Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com> Fixes: 2f7a3863191a ("iwlwifi: rename the temporary name of A000 to the official 22000") Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
OpenPOWER on IntegriCloud