Revision tags: v4.10.5 |
|
#
6e584873 |
| 22-Mar-2017 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: add 9000 and A000 device families
Add two new device families to differentiate them from 8000.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho
iwlwifi: add 9000 and A000 device families
Add two new device families to differentiate them from 8000.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
e4c49c49 |
| 24-Mar-2017 |
Luca Coelho <luciano.coelho@intel.com> |
iwlwifi: pcie: only use d0i3 in suspend/resume if system_pm is set to d0i3
We only need to handle d0i3 entry and exit during suspend resume if system_pm is set to IWL_PLAT_PM_MODE_D0I3, otherwise d0
iwlwifi: pcie: only use d0i3 in suspend/resume if system_pm is set to d0i3
We only need to handle d0i3 entry and exit during suspend resume if system_pm is set to IWL_PLAT_PM_MODE_D0I3, otherwise d0i3 entry failures will cause suspend to fail.
This fixes https://bugzilla.kernel.org/show_bug.cgi?id=194791
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
Revision tags: v4.10.4, v4.10.3, v4.10.2 |
|
#
d6d517b7 |
| 06-Mar-2017 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: add wait for tx queue empty
Now that we have 512 queues, add a wait for single TX queue to gen2. This replaces gen1 wait_tx_queues_empty, which was limited to 32 queues.
Signed-off-by: Sar
iwlwifi: add wait for tx queue empty
Now that we have 512 queues, add a wait for single TX queue to gen2. This replaces gen1 wait_tx_queues_empty, which was limited to 32 queues.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
5538409b |
| 12-Mar-2017 |
Liad Kaufman <liad.kaufman@intel.com> |
iwlwifi: pcie: support page dumping in wrt in gen2
In gen2, page dumping needs to be done in the trans layer, as it is the one with access to the paging pointers.
Signed-off-by: Liad Kaufman <liad.
iwlwifi: pcie: support page dumping in wrt in gen2
In gen2, page dumping needs to be done in the trans layer, as it is the one with access to the paging pointers.
Signed-off-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
a1a57877 |
| 05-Mar-2017 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: rename wait_for_tx_queues_empty
Rename current wait_tx_queue_empty to wait_tx_queues_empty since it waits for multiple queues (up to 32). Next patch will add a wait for single TX queue whic
iwlwifi: rename wait_for_tx_queues_empty
Rename current wait_tx_queue_empty to wait_tx_queues_empty since it waits for multiple queues (up to 32). Next patch will add a wait for single TX queue which is needed for gen2 to be scalable for 512.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
b0fa818e |
| 28-Feb-2017 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: pcie: remove superfluous trans->dev assignment
This struct member is already assigned in the previous call to iwl_trans_alloc(), so assigning the same value again is superfluous - remove it
iwlwifi: pcie: remove superfluous trans->dev assignment
This struct member is already assigned in the previous call to iwl_trans_alloc(), so assigning the same value again is superfluous - remove it.
Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
Revision tags: v4.10.1 |
|
#
c9be849d |
| 22-Feb-2017 |
Liad Kaufman <liad.kaufman@intel.com> |
iwlwifi: pcie: support debug applying on a000 hw
Allow configuring debug destination on a000 HW.
Signed-off-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@inte
iwlwifi: pcie: support debug applying on a000 hw
Allow configuring debug destination on a000 HW.
Signed-off-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
Revision tags: v4.10 |
|
#
528709b0 |
| 13-Feb-2017 |
Luca Coelho <luciano.coelho@intel.com> |
iwlwifi: pcie: remove RSA race workaround
This workaround is not needed anymore. Remove it.
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
|
Revision tags: v4.9 |
|
#
13a3a390 |
| 29-Nov-2016 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: pcie: alloc queues dynamically
Change queue allocation to be dynamic. On transport init only the command queue is being allocated. Other queues are allocated on demand. This is due to the h
iwlwifi: pcie: alloc queues dynamically
Change queue allocation to be dynamic. On transport init only the command queue is being allocated. Other queues are allocated on demand. This is due to the huge amount of queues we will soon enable (512) and as a preparation for TX Virtual Queue Manager feature (TVQM), where firmware will assign the actual queue number on demand. This includes also allocation of the byte count table per queue and not as a contiguous chunk of memory.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
77c09bc8 |
| 12-Dec-2016 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: pcie: introduce new stop_device
This function is basically the same as gen1, except for clean ups of old devices configuration that are never used in a000 configuration. It will also help w
iwlwifi: pcie: introduce new stop_device
This function is basically the same as gen1, except for clean ups of old devices configuration that are never used in a000 configuration. It will also help with refactoring rf_kill later on.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
b2a3b1c1 |
| 11-Dec-2016 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: pcie: prepare for dynamic queue allocation
In a000 transport we will allocate queues dynamically. Right now queue are allocated as one big chunk of memory and accessed as such. The dynamic
iwlwifi: pcie: prepare for dynamic queue allocation
In a000 transport we will allocate queues dynamically. Right now queue are allocated as one big chunk of memory and accessed as such. The dynamic allocation of the queues will require accessing the queues as pointers. In order to keep simplicity of pre-a000 tx queues handling, keep allocating and freeing the memory in the same style, but move to access the queues in the various functions as individual pointers. Dynamic allocation for the a000 devices will be in a separate patch.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
43e9cdc2 |
| 29-Nov-2016 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: pcie: remove block and freeze operations from new transport
New transport will be used only by op modes that supports buffer station offload - hence those will never be called. Clean it up.
iwlwifi: pcie: remove block and freeze operations from new transport
New transport will be used only by op modes that supports buffer station offload - hence those will never be called. Clean it up.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
ca60da2e |
| 08-Dec-2016 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: pcie: support host commands in new transport
Code is basically the same, with a cleanups of old narrow host command, ampg workarounds, some cosmetic stuff, and usage of TFH functions when a
iwlwifi: pcie: support host commands in new transport
Code is basically the same, with a cleanups of old narrow host command, ampg workarounds, some cosmetic stuff, and usage of TFH functions when accessing TFD queues. This enables also the cleanup of iwl_pcie_tfd_set_tb() since now it won't be called anywhere in the a000 data path
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
Revision tags: openbmc-4.4-20161121-1, v4.4.33, v4.4.32, v4.4.31 |
|
#
ab6c6445 |
| 01-Nov-2016 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: pcie: copy TX functions to new transport
This is just a copy-paste in order to make changes tracking easier.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <
iwlwifi: pcie: copy TX functions to new transport
This is just a copy-paste in order to make changes tracking easier.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
Revision tags: v4.4.30, v4.4.29, v4.4.28, v4.4.27, v4.7.10, openbmc-4.4-20161021-1, v4.7.9, v4.4.26, v4.7.8, v4.4.25, v4.4.24, v4.7.7, v4.8, v4.4.23, v4.7.6 |
|
#
6b35ff91 |
| 29-Sep-2016 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: pcie: introduce a000 TX queues management
In a000 devices the TX handling is different in a few ways: * Queues are allocated dynamically * DQA is enabled by default * Driver shouldn't acces
iwlwifi: pcie: introduce a000 TX queues management
In a000 devices the TX handling is different in a few ways: * Queues are allocated dynamically * DQA is enabled by default * Driver shouldn't access TFH registers - ucode configures it all in SCD_QUEUE_CFG command
Support all this in a new API with op mode, where op mode sends the command, transport will allocate the queue dynamically, fill in DMA properties, send the command to FW and get the ID back. Current implementation only sets the new transport API and fills the DMA properties. Future patches will complete the other parts.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
eda50cde |
| 28-Sep-2016 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: pcie: add context information support
Context information structure is going to be used in a000 devices for firmware self init.
The self init includes firmware self loading from DRAM by RO
iwlwifi: pcie: add context information support
Context information structure is going to be used in a000 devices for firmware self init.
The self init includes firmware self loading from DRAM by ROM. This means the TFH relevant firmware loading can be cleaned up.
The firmware loading includes the paging memory as well, so op mode can stop initializing the paging and sending the DRAM_BLOCK_CMD.
Firmware is doing RFH, TFH and SCD configuration, while driver only fills the required configurations and addresses in the context information structure.
The only remaining access to RFH is the write pointer, which is updated upon alive interrupt after FW configured the RFH.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
623e7766 |
| 28-Sep-2016 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: pcie: introduce split point to a000 devices
a000 devices are going to have a lot of flows simplified and changed: init flow, RX, TX, and more. This, combined with the fact that code is alre
iwlwifi: pcie: introduce split point to a000 devices
a000 devices are going to have a lot of flows simplified and changed: init flow, RX, TX, and more. This, combined with the fact that code is already very complicated due to backward compatibility - introduce a split that will enable to introduce simplified version of functions. Shared ops are moved to a macro, while functions that will be updated in the next patches are defined twice for now.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
1ea423b0 |
| 11-Apr-2017 |
Luca Coelho <luciano.coelho@intel.com> |
iwlwifi: remove unnecessary dev_cmd_headroom parameter
We don't need this parameter anymore, since we always pass 0 anyway. Remove it from the structure and from all the relevant functions.
Signed-
iwlwifi: remove unnecessary dev_cmd_headroom parameter
We don't need this parameter anymore, since we always pass 0 anyway. Remove it from the structure and from all the relevant functions.
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
82ea7966 |
| 28-Dec-2016 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: pcie: use WFPM_GP for debugging D3 flows
This register is helpful for debugging D3 issues. Driver turns all bits on, and then on exit reads the updated value there.
Signed-off-by: Sara Sha
iwlwifi: pcie: use WFPM_GP for debugging D3 flows
This register is helpful for debugging D3 issues. Driver turns all bits on, and then on exit reads the updated value there.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
b9f91620 |
| 28-Sep-2016 |
Sara Sharon <sara.sharon@intel.com> |
Revert "iwlwifi: introduce trans API to get byte count table"
This reverts commit 8aacf4b73fe8 ("iwlwifi: introduce trans API to get byte count table"). The commit is not needed as a better approach
Revert "iwlwifi: introduce trans API to get byte count table"
This reverts commit 8aacf4b73fe8 ("iwlwifi: introduce trans API to get byte count table"). The commit is not needed as a better approach will be taken.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
afb84431 |
| 03-Jan-2017 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: pcie: print less data upon firmware crash
We don't need to print so much data in the kernel log. Limit the data to be printed to the queue that actually got stuck in case of a TFD queue han
iwlwifi: pcie: print less data upon firmware crash
We don't need to print so much data in the kernel log. Limit the data to be printed to the queue that actually got stuck in case of a TFD queue hang, and stop dumping all the CSR and FH registers. Over the course of time, the CSR and FH values haven't proven themselves to be really useful for debugging, and they are now in the firmware dump anyway.
This comes as a preparation to the addition of more data required to be printed by the firwmare team.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
f4a1f04a |
| 15-Dec-2016 |
Golan Ben Ami <golan.ben.ami@intel.com> |
iwlwifi: pcie: Re-configure IVAR table after stop device
When getting RF_KILL and disabling radio, the device gets stopped and reset. This erases the IVAR table that matches the interrupt to its cau
iwlwifi: pcie: Re-configure IVAR table after stop device
When getting RF_KILL and disabling radio, the device gets stopped and reset. This erases the IVAR table that matches the interrupt to its cause, and is essential for MSIX proper functionality. Till now, the table wasn't re-configured after the reset, and therefore the interrupt that enabled radio didn't fire on the right irq, and the driver didn't handle it correctly.
To fix this, configure the IVAR table again after resetting the device.
Signed-off-by: Golan Ben-Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
d7270d61 |
| 12-Dec-2016 |
Haim Dreyfuss <haim.dreyfuss@intel.com> |
iwlwifi: pcie: re-configure IVAR table after suspend-resume
During the suspend/resume flow some HW blocks are reset. This causes the IVAR table to be completely erased. This table is where interru
iwlwifi: pcie: re-configure IVAR table after suspend-resume
During the suspend/resume flow some HW blocks are reset. This causes the IVAR table to be completely erased. This table is where interrupt causes are bound to specific IRQs. When the table is empty the interrupt handlers are not called correctly. Fix this by reconfiguring the IVAR table after resume.
Fixes: 2e5d4a8f61dc ("iwlwifi: pcie: Add new configuration to enable MSIX") Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
83730058 |
| 13-Dec-2016 |
Haim Dreyfuss <haim.dreyfuss@intel.com> |
iwlwifi: pcie: separate between SW and HW MSIX configuration
The MSIX configuration flow includes two different stages: configuring the HW by writing to the IVAR table and configuring the SW to refl
iwlwifi: pcie: separate between SW and HW MSIX configuration
The MSIX configuration flow includes two different stages: configuring the HW by writing to the IVAR table and configuring the SW to reflect the HW configuration. The HW configuration is needed on each HW reset, whereas the SW configuration is only needed during the init flow.
Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
7ca00409 |
| 12-Dec-2016 |
Haim Dreyfuss <haim.dreyfuss@intel.com> |
iwlwifi: pcie: move msix conf functions above other functions
msix configuration functions should be called by other functions. For example by pcie_d3_resume, move it above to enable it.
Signed-off
iwlwifi: pcie: move msix conf functions above other functions
msix configuration functions should be called by other functions. For example by pcie_d3_resume, move it above to enable it.
Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|