summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/intel/iwlwifi/fw
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers.gitKalle Valo2017-08-241-0/+2
|\ | | | | | | | | | | Stephen Rothwell reported quite a few conflicts in iwlwifi between wireless-drivers and wireless-drivers-next. To avoid any problems later in other trees merge w-d to w-d-next to fix those conflicts early.
| * iwlwifi: add TLV for MLME offload firmware capabilityEmmanuel Grumbach2017-08-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The firmware now adds a new DWORD for the MLME offload's capability even on firmware versions that don't support it. Add the TLV bit to avoid getting the print: capa flags index 3 larger than supported by driver. This fixes the bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=196195 Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: fw: fix lar_enabled endian problem in iwl_fw_get_nvmLuca Coelho2017-08-181-2/+1
| | | | | | | | | | | | | | | | | | | | | | We read the regulatory.lar_enabled field in iwl_fw_get_nvm() and store it in nvm->lar_enabled, taking care of endianness. But then later we read it again to pass the value to iwl_init_sbands() without handling endianness. To solve this, simply reuse nvm->lar_enabled when calling that function. Fixes: e9e1ba3dbf00 ("iwlwifi: mvm: support getting nvm data from firmware") Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: add workaround to disable wide channels in 5GHzLuca Coelho2017-08-181-1/+2
| | | | | | | | | | | | | | | | | | | | The OTP in some SKUs have erroneously allowed 40MHz and 80MHz channels in the 5.2GHz band. The firmware has been modified to not allow this in those SKUs, so the driver needs to do the same otherwise the firmware will assert when we try to use it. Cc: stable@vger.kernel.org Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: move BT_MBOX_PRINT macro to common headerLuca Coelho2017-08-181-0/+6
| | | | | | | | | | | | | | | | Move the BT_MBOX_PRINT() macro from mvm/debugfs.c to fw/api/coex.h so it can be reused and remove duplicate definition of BT_MBOX_MSG(), keeping only the one already in coex.h. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: mvm: update the firmware API in TXEmmanuel Grumbach2017-08-181-6/+3
| | | | | | | | | | | | | | | | | | | | | | The firmware team is now re-using a bit that hasn't been used for a few generations. Re-use for TX_ON_AIR drop. This bit will be set by the firmware to indicate that a frame in an A-MPDU was dropped but not because of the already mapped reasons. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: mvm: support new Coex firmware APIEmmanuel Grumbach2017-08-182-0/+34
| | | | | | | | | | | | | | | | | | | | The firmware now adds more information about time sharing with the Bluetooth core. Adapt the API structures and add the new fields in the debugfs hooks. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: call iwl_remove_notification from iwl_wait_notificationLuca Coelho2017-08-181-13/+12
| | | | | | | | | | | | | | | | | | The iwl_wait_notification() function removes the wait entry from the list. To make it clearer that it's doing the same thing as iwl_remove_notification(), call the latter instead of having duplicate code. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: mvm: remove the corunning supportEmmanuel Grumbach2017-08-183-33/+0
| | | | | | | | | | | | | | | | | | | | | | | | The corunning block was supposed to help in coex scenarios. It required the driver to configure the firmware based on the coupling between the two antennas of the devices. This was never in use and the configuration sent by the driver has always been blank. Remove all that code. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: mvm: fix the coex firmware APIEmmanuel Grumbach2017-08-091-9/+5
| | | | | | | | | | | | | | | | | | | | | | The firmware API defined in the header files didn't match the structure that are actually passed by the firmware. The impact could be a decision for MIMO in Tx or Rx in coex scenarios. Fixes: 430a3bbafdc7 ("iwlwifi: mvm: BT Coex - new API") Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: mvm: support new beacon template commandHaim Dreyfuss2017-08-092-5/+13
| | | | | | | | | | | | | | | | | | Support a new version of the beacon template command. This replaces v8 of the command, which was missing the rate code. Also, export rate decision logic to a separate function. Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: mvm: move a000 device NVM retrieval to a common placeShaul Triebitz2017-08-092-0/+164
| | | | | | | | | | | | | | | | Getting the NVM data in a000 devices should be shared across operation mode. Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: dump smem configuration when firmware crashesGolan Ben-Ami2017-08-093-5/+66
| | | | | | | | | | | | | | | | | | Add the smem configuration to the fw data dump, once the firmware crashes. This is useful mainly for later parsing of the smem. Signed-off-by: Golan Ben-Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: fix a few instances of misaligned kerneldoc parametersLuca Coelho2017-08-091-1/+1
| | | | | | | | | | | | | | | | There are a few places where we don't have a space between the * and the @ in the parameter description. Also, in one case, the @ had trailing space before the parameter name. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: mvm: use firmware LED command where applicableJohannes Berg2017-08-092-0/+76
| | | | | | | | | | | | | | | | | | | | | | | | On devices starting from 8000 series, the host can no longer toggle the LED through the CSR_LED_REG register, but must do it via the firmware instead. Add support for this. Note that this means that the LED cannot be turned on while the firmware is off, so using an arbitrary LED trigger may not work as expected. Fixes: 503ab8c56ca0 ("iwlwifi: Add 8000 HW family support") Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: mvm: remove non-DQA modeJohannes Berg2017-08-011-6/+0
| | | | | | | | | | | | | | | | | | All the firmware versions the driver supports enable DQA, and thus the only way to get non-DQA mode is to modify the source. Remove this mode to simplify the code. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: implement fseq version mismatch warningMordechai Goodstein2017-08-014-0/+114
| | | | | | | | | | | | | | | | | | | | | | | | During init, the FW checks whether the FSEQ value matches what it expects. If it doesn't match, we print a warning to let integrators clearly know that something is wrong. This can happen if another core (i.e. not WiFi) has updated the FSEQ version. This notification is only sent by the FW in production, for development firmwares, an assertion is triggered instead. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Mordechai Goodstein <mordechay.goodstein@intel.com>
* | iwlwifi: mvm: support fw reading empty OTPLiad Kaufman2017-08-011-1/+9
| | | | | | | | | | | | | | | | | | | | | | If the OTP is empty, the NVM_GET_INFO command returns with flags' bit(0) on. This means the FW returns the default values for working with. This is allowed, so use this returned data. Fixes: e9e1ba3dbf00 ("iwlwifi: mvm: support getting nvm data from firmware") Signed-off-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: mvm: fix the FIFO numbers in A000 devicesEmmanuel Grumbach2017-08-011-0/+12
| | | | | | | | | | | | | | | | The FIFO numbering is different in A000 devices. This means that we routed BE packets to BK FIFO. Fix this. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: mvm: refactor beacon template command codeLuca Coelho2017-08-011-14/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | We currently support 3 different versions of the beacon template command and the code does some tricks in order to reuse what is possible across these versions. But it is a bit complicated to read and soon there will be one more variation that the driver needs implement, which would complicate it even further. Refactor the way we send beacon template commands, which increases the code size a bit, but makes it much easier to read. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: fw api: fix various kernel-doc warningsJohannes Berg2017-08-012-4/+21
| | | | | | | | | | Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: reorganize firmware APIJohannes Berg2017-08-0133-181/+9781
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Apart from DVM, all firmware uses the same base API, and there's code outside iwlmvm that needs to interact with it. Reflect this in the source better and reorganize the firmware API to a new fw/api/ directory. While at it, split the already pretty large fw-api.h file into a number of smaller files, going from almost 3k lines in there to a maximum number of lines less than 1k. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: refactor firmware debug codeJohannes Berg2017-08-014-9/+1421
| | | | | | | | | | | | | | | | Split out the firmware debug code to be more general, so that it can be used by different subdrivers. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: track current firmware image in common codeJohannes Berg2017-08-011-0/+10
| | | | | | | | | | | | | | | | | | Track the current firmware image in the common code instead of in the opmode so that later patches can access it there in a common way. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: refactor shared mem parsingJohannes Berg2017-08-013-0/+262
| | | | | | | | | | | | | | Refactor the shared memory command parsing into common code. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* | iwlwifi: refactor out paging codeJohannes Berg2017-08-013-0/+559
|/ | | | | | | Refactor the paging code from mvm to be used by different opmodes. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* iwlwifi: mvm: update rx statistics cmd apiLiad Kaufman2017-06-291-0/+4
| | | | | | | The API has changed - update the code. Signed-off-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* iwlwifi: move notification wait into fw/Johannes Berg2017-06-292-0/+349
| | | | | | | Move the notification wait code into the new fw interaction directory. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
* iwlwifi: create new subdirectory for FW interactionJohannes Berg2017-06-294-0/+1776
There's a lot of mvm code that really should be more generic and part of the iwlwifi module. Start by making a place to keep such code - in the new "fw" subdirectory - and already move the firmware related header files there. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
OpenPOWER on IntegriCloud