Revision tags: v4.17.1, v4.17 |
|
#
f7805b33 |
| 03-May-2018 |
Lior Cohen <lior2.cohen@intel.com> |
iwlwifi: add debugfs file to read fw debug data recording
FW debug data will oneshot read all data available in DRAM and fill the supplied user buffer. In case the read request is greater than the n
iwlwifi: add debugfs file to read fw debug data recording
FW debug data will oneshot read all data available in DRAM and fill the supplied user buffer. In case the read request is greater than the new data in DRAM, the driver will write all data it has and return the buffer immediately.
Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com> Signed-off-by: Lior Cohen <lior2.cohen@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
88964b2e |
| 23-May-2018 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: pcie: add infrastructure for multiple debug buffers
In future devices we will have more than one debug buffer. Prepare the infrastructure for allocation and release of multiple debug buffer
iwlwifi: pcie: add infrastructure for multiple debug buffers
In future devices we will have more than one debug buffer. Prepare the infrastructure for allocation and release of multiple debug buffers by grouping the variables in an array of structures and moving it to trans section, where they will be visible to opmode and FW.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
1169310f |
| 03-Apr-2018 |
Golan Ben Ami <golan.ben.ami@intel.com> |
iwlwifi: refactor txq_alloc for supporting more command type
Support more txq_alloc command types by moving the command declaration to the gen specific area. While at it, move some of the code segm
iwlwifi: refactor txq_alloc for supporting more command type
Support more txq_alloc command types by moving the command declaration to the gen specific area. While at it, move some of the code segments to a common place for re-use.
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
c5f97542 |
| 03-May-2018 |
Shahar S Matityahu <shahar.s.matityahu@intel.com> |
iwlwifi: change monitor DMA to be coherent
Allow access to the memory by the host and the device simultaneously. This will be needed in some future patches.
Signed-off-by: Shahar S Matityahu <shaha
iwlwifi: change monitor DMA to be coherent
Allow access to the memory by the host and the device simultaneously. This will be needed in some future patches.
Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
754f890a |
| 24-Aug-2018 |
Luca Coelho <luciano.coelho@intel.com> |
iwlwifi: remove all occurrences of the FSF address paragraph
The Free Software Foundation address is superfluous and causes checkpatch to issue a warning when present. Remove all paragraphs with FS
iwlwifi: remove all occurrences of the FSF address paragraph
The Free Software Foundation address is superfluous and causes checkpatch to issue a warning when present. Remove all paragraphs with FSF's address to prevent that.
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
f60c9e59 |
| 01-May-2018 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: improve the flow when a NIC is disconnected
When the NIC is disconnected, we just can't do anything besides seeking for help from the bus driver. Dumping the device's memory is not necessa
iwlwifi: improve the flow when a NIC is disconnected
When the NIC is disconnected, we just can't do anything besides seeking for help from the bus driver. Dumping the device's memory is not necessary and just bloats the logs with unusable data. Moreover, asking mac80211 to restart the hardware is also useless. Bypass all this.
Also, use the STATUS_TRANS_DEAD status bit instead of a bool inside the transport layer. The advantage of this is that now, the transport and the op_mode can know what is the situation and bypass the useless recovery steps mentioned above.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
Revision tags: v4.16 |
|
#
b6fe2757 |
| 22-Mar-2018 |
Golan Ben Ami <golan.ben.ami@intel.com> |
iwlwifi: pcie: make gen2 of apm_init non-static
This will allow using the same init in future generations.
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano
iwlwifi: pcie: make gen2 of apm_init non-static
This will allow using the same init in future generations.
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
9416560e |
| 25-Mar-2018 |
Golan Ben Ami <golan.ben.ami@intel.com> |
iwlwifi: pcie: store the default rxq number
Store the default rxq number in a variable, so we won't need to use the actual number in the code.
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com>
iwlwifi: pcie: store the default rxq number
Store the default rxq number in a variable, so we won't need to use the actual number in the code.
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
4290eaad |
| 11-Apr-2018 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: remove dump_regs() from transport ops
This is used only within PCIe, and there's no reason to go through the transport methods for a function call within PCIe itself. Remove the dump_regs()
iwlwifi: remove dump_regs() from transport ops
This is used only within PCIe, and there's no reason to go through the transport methods for a function call within PCIe itself. Remove the dump_regs() method and call the function directly.
Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
89d5e833 |
| 25-Mar-2018 |
Golan Ben Ami <golan.ben.ami@intel.com> |
iwlwifi: pcie: make non-static hcmd and rx code
Allow other device generations to use the utilities that are used to send and reclaim host commands and to allocate rx, by making it non-static.
Sign
iwlwifi: pcie: make non-static hcmd and rx code
Allow other device generations to use the utilities that are used to send and reclaim host commands and to allocate rx, by making it non-static.
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
9b3089bd |
| 25-Mar-2018 |
Golan Ben Ami <golan.ben.ami@intel.com> |
iwlwifi: pcie: allow using tx init for other queues but the command queue
We would like to allow using tx init code for other queues but the command queue - for newer devices.
Signed-off-by: Golan
iwlwifi: pcie: allow using tx init for other queues but the command queue
We would like to allow using tx init code for other queues but the command queue - for newer devices.
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
7891965d |
| 09-Apr-2018 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: drop packets with bad status in CD
We need to drop packets with errors (such as replay, MIC, ICV, conversion, duplicate and so on).
Drop invalid packets, put the status bits in the metadat
iwlwifi: drop packets with bad status in CD
We need to drop packets with errors (such as replay, MIC, ICV, conversion, duplicate and so on).
Drop invalid packets, put the status bits in the metadata and move the enum definition to the correct place (FW API header).
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
ff932f61 |
| 18-Feb-2018 |
Golan Ben Ami <golan.ben.ami@intel.com> |
iwlwifi: move some msix and rx functions to a common place
We would like to allow other utlities to init msix and rx. Put their declarations in a place accessible to other utilities.
Signed-off-by:
iwlwifi: move some msix and rx functions to a common place
We would like to allow other utlities to init msix and rx. Put their declarations in a place accessible to other utilities.
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
b2a58c97 |
| 04-Mar-2018 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: pcie: unionize used bd and completion descriptor
This allows less "dummy" declarations and casting.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.c
iwlwifi: pcie: unionize used bd and completion descriptor
This allows less "dummy" declarations and casting.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
0307c839 |
| 05-Feb-2018 |
Golan Ben Ami <golan.ben.ami@intel.com> |
iwlwifi: pcie: support rx structures for 22560 devices
The rfh for 22560 devices has changed so it supports now the same arch of using used and free lists, but different structures to support the la
iwlwifi: pcie: support rx structures for 22560 devices
The rfh for 22560 devices has changed so it supports now the same arch of using used and free lists, but different structures to support the last. Use the new structures, hw dependent, to manage the lists.
bd, the free list, uses the iwl_rx_transfer_desc, in which the vid is stored in the structs' rbid field, and the page address in the addr field.
used_bd, the used list, uses the iwl_rx_completion_desc struct, in which the vid is stored in the structs' rbid field.
rb_stts, the hw "write" pointer of rx is stored in a __le16 array, in which each entry represents the write pointer per queue.
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
cf495496 |
| 04-Feb-2018 |
Golan Ben Ami <golan.ben.ami@intel.com> |
iwlwifi: introduce new rx structures used by 22560 RFH
22560 devices RFH uses different structures, which act similar to the legacy rxq management lists - free and used list.
The iwl_rx_transfer_de
iwlwifi: introduce new rx structures used by 22560 RFH
22560 devices RFH uses different structures, which act similar to the legacy rxq management lists - free and used list.
The iwl_rx_transfer_desc struct is part of the free list, and consists of pointers to the empty rb's the driver wants to pass to the fw.
The iwl_rx_completion_desc struct is part of the used list, and consists of pointers to the buffer the fw filled up with new rx, both commands and data, for the host.
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
7b3e42ea |
| 04-Feb-2018 |
Golan Ben Ami <golan.ben.ami@intel.com> |
iwlwifi: support multiple tfd queue max sizes for different devices
22560 devices tfd queue max size is 2^16. Allow a configurable max size in the driver for supporting different devices.
Signed-of
iwlwifi: support multiple tfd queue max sizes for different devices
22560 devices tfd queue max size is 2^16. Allow a configurable max size in the driver for supporting different devices.
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
f5955a6c |
| 04-Feb-2018 |
Golan Ben Ami <golan.ben.ami@intel.com> |
iwlwifi: cancel the injective function between hw pointers to tfd entry index
Nowadays, the tfd queue max size is 2^8, and the reserved size in the command header sequence field for the tfd entry in
iwlwifi: cancel the injective function between hw pointers to tfd entry index
Nowadays, the tfd queue max size is 2^8, and the reserved size in the command header sequence field for the tfd entry index is 8 bits, allowing an injective function from the hw pointers to the tfd entry index in the sequence field.
In 22560 devices the tfd queue max size is 2^16, meaning that the hw pointers are 16 bit long (allowing to point to each entry in the tfd queue). However, the reserved space in the sequence field for the tfd entry doesn't change, and we are limited to 8 bit. This requires cancelling the injective function from hw pointer to tfd entry in the sequence number.
Use iwl_pcie_get_cmd_index to wrap the hw pointer's to the n_window size, which is maximum 256 in tx queues, and so, keep the injective function between the window wrapped hw pointers to tfd entry index in the sequence.
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
9b58419e |
| 01-Feb-2018 |
Golan Ben Ami <golan.ben.ami@intel.com> |
iwlwifi: update gen3 interrupts - sw error and image response
In 22560 devices the ROM sendis an interrupt to the host once the IML reading is done. Handle this interrupt, and indicate sw error in c
iwlwifi: update gen3 interrupts - sw error and image response
In 22560 devices the ROM sendis an interrupt to the host once the IML reading is done. Handle this interrupt, and indicate sw error in case the value is fail.
Additionally, the cause for sw error in 22560 devices have been changed, so update the cause list.
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
Revision tags: v4.15 |
|
#
9f358c17 |
| 26-Dec-2017 |
Golan Ben Ami <golan.ben.ami@intel.com> |
iwlwifi: pcie: start early debug for 22560 devices
In 22560 devices we can start debug using context info gen3. Configure the fw to start collecting logs to the dram before init.
Signed-off-by: Gol
iwlwifi: pcie: start early debug for 22560 devices
In 22560 devices we can start debug using context info gen3. Configure the fw to start collecting logs to the dram before init.
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
2ee82402 |
| 11-Feb-2018 |
Golan Ben Ami <golan.ben.ami@intel.com> |
iwlwifi: pcie: support context information for 22560 devices
Context information structure was added to 22000 devices for firmware self init.
In the next generation of devices the context informati
iwlwifi: pcie: support context information for 22560 devices
Context information structure was added to 22000 devices for firmware self init.
In the next generation of devices the context information changes significantly, and the original context information is divided roughly to three data structures: context information gen3, prph information and prph scratch.
In addition, the init flow changes so the firmware is loaded by the IML, and so we must allocate the IML on the DRAM and give the ROM the IML's address before kicking the firmware's self init.
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
1b493e30 |
| 11-Feb-2018 |
Golan Ben Ami <golan.ben.ami@intel.com> |
iwlwifi: pcie: allocate and free rx cr's and tr's tails
The hw now refers to two new blocks: * rx tr tail - The Tail index on the free buffers queue TR, which is update by the device after reading t
iwlwifi: pcie: allocate and free rx cr's and tr's tails
The hw now refers to two new blocks: * rx tr tail - The Tail index on the free buffers queue TR, which is update by the device after reading the free buffer from the tr. * rx cr tail - Updated by the driver when completing processing a new completion descriptor in the cr.
Add these two new struct to the rxq, allocate and free them when needed.
In addition, the register for rx write pointer had been changed to HBUS_TARG_WRPTR. The way to differentiate tx from rx is the queue number. TX range is 0-511, and RX's is 512-527.
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
49564a80 |
| 12-Dec-2017 |
Luca Coelho <luciano.coelho@intel.com> |
iwlwifi: pcie: remove non-responsive device
If we fail to to grab NIC access because the device is not responding (i.e. CSR_GP_CNTRL returns 0xFFFFFFFF), remove the device from the PCI bus, to avoid
iwlwifi: pcie: remove non-responsive device
If we fail to to grab NIC access because the device is not responding (i.e. CSR_GP_CNTRL returns 0xFFFFFFFF), remove the device from the PCI bus, to avoid any further damage, and to let the user space rescan.
In order to inform the userspace that a rescan is needed, we send a kobject uevent with "INACCESSIBLE".
This functionality is disabled by default, but can be enabled via a new module parameter called "remove_when_gone". In the future we may change this module parameter to include 3 modes instead: do nothing; auto-rescan or; send uevent.
Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Rajat Jain <rajatja@google.com>
show more ...
|
#
5369774c |
| 04-Jan-2018 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: add TX queue size parameter to TX queue allocation
As preparation for dynamic queue sizing, add a parameter of the TX queue size to the dynamic queue allocation op mode API.
Signed-off-by:
iwlwifi: add TX queue size parameter to TX queue allocation
As preparation for dynamic queue sizing, add a parameter of the TX queue size to the dynamic queue allocation op mode API.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|
#
01302f5b |
| 04-Jan-2018 |
Sara Sharon <sara.sharon@intel.com> |
iwlwifi: Revert "iwlwifi: pcie: dynamic Tx command queue size"
This reverts commit dd05f9aab4426ff178b12d601e50d19d336eba30.
Shorter TX queues support was added eventually without the need for the
iwlwifi: Revert "iwlwifi: pcie: dynamic Tx command queue size"
This reverts commit dd05f9aab4426ff178b12d601e50d19d336eba30.
Shorter TX queues support was added eventually without the need for the parameters this patch added.
Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
show more ...
|