06 Sep, 2018
1 commit
-
This patch adds a new qed firmware with fixes and support for new features.
Fixes:
- Fix a rare case of device crash with iWARP, iSCSI or FCoE offload.
- Fix GRE tunneled traffic when iWARP offload is enabled.
- Fix RoCE failure in ib_send_bw when using inline data.
- Fix latency optimization flow for inline WQEs.
- BigBear 100G fixRDMA:
- Reduce task context size.
- Application page sizes above 2GB support.
- Performance improvements.ETH:
- Tenant DCB support.
- Replace RSS indirection table update interface.Misc:
- Debug Tools changes.Signed-off-by: Denis Bolotin
Signed-off-by: Ariel Elior
Signed-off-by: David S. Miller
05 Jun, 2018
1 commit
-
This FW contains several fixes and features.
RDMA
- Several modifications and fixes for Memory Windows
- drop vlan and tcp timestamp from mss calculation in driver for
this FW
- Fix SQ completion flow when local ack timeout is infinite
- Modifications in t10dif supportETH
- Fix aRFS for tunneled traffic without inner IP.
- Fix chip configuration which may fail under heavy traffic conditions.
- Support receiving any-VNI in VXLAN and GENEVE RX classification.iSCSI / FcoE
- Fix iSCSI recovery flow
- Drop vlan and tcp timestamp from mss calc for fw 8.37.2.0Misc
- Several registers (split registers) won't read correctly with
ethtool -dSigned-off-by: Ariel Elior
Signed-off-by: Manish Rangankar
Signed-off-by: Michal Kalderon
Signed-off-by: David S. Miller
30 Mar, 2018
1 commit
-
This FW contains several fixes and features
RDMA Features
- SRQ support
- XRC support
- Memory window support
- RDMA low latency queue support
- RDMA bonding supportRDMA bug fixes
- RDMA remote invalidate during retransmit fix
- iWARP MPA connect interop issue with RTR fix
- iWARP Legacy DPM support
- Fix MPA reject flow
- iWARP error handling
- RQ WQE validation checksMISC
- Fix some HSI types endianity
- New Restriction: vlan insertion in core_tx_bd_data can't be set
for LB packetsETH
- HW QoS offload support
- Fix vlan, dcb and sriov flow of VF sending a packet with
inband VLAN tag instead of default VLAN
- Allow GRE version 1 offloads in RX flow
- Allow VXLAN steeringiSCSI / FcoE
- Fix bd availability checking flow
- Support 256th sge proerly in iscsi/fcoe retransmit
- Performance improvement
- Fix handle iSCSI command arrival with AHS and with immediate
- Fix ipv6 traffic class configurationDEBUG
- Update debug utilitiesSigned-off-by: Michal Kalderon
Signed-off-by: Tomer Tayar
Signed-off-by: Manish Rangankar
Signed-off-by: Ariel Elior
Acked-by: Jason Gunthorpe
Signed-off-by: David S. Miller
03 Jan, 2018
3 commits
-
Advance the qed* drivers to use firmware 8.33.1.0:
Modify core driver (qed) to utilize the new FW and initialize the device
with it. This is the lion's share of the patch, and includes changes to FW
interface files, device initialization flows, FW interaction flows, and
debug collection flows.
Modify Ethernet driver (qede) to make use of new FW in fastpath.
Modify RoCE/iWARP driver (qedr) to make use of new FW in fastpath.
Modify FCoE driver (qedf) to make use of new FW in fastpath.
Modify iSCSI driver (qedi) to make use of new FW in fastpath.Signed-off-by: Ariel Elior
Signed-off-by: Michal Kalderon
Signed-off-by: Yuval Bason
Signed-off-by: Ram Amrani
Signed-off-by: Manish Chopra
Signed-off-by: Chad Dupuis
Signed-off-by: Manish Rangankar
Signed-off-by: Tomer Tayar
Signed-off-by: David S. Miller -
This patch renames defines and structures in the FW HSI files to allow a
distinction between different types of HW.Signed-off-by: Ariel Elior
Signed-off-by: Michal Kalderon
Signed-off-by: Chad Dupuis
Signed-off-by: Manish Rangankar
Signed-off-by: Tomer Tayar
Signed-off-by: David S. Miller -
This patch refactors and reorders the FW API files in preparation of
upgrading the code to support new FW.- Make use of the BIT macro in appropriate places.
- Whitespace changes to align values and code blocks.
- Comments are updated (spelling mistakes, removed if not clear).
- Group together code blocks which are related or deal with similar
matters.Signed-off-by: Ariel Elior
Signed-off-by: Michal Kalderon
Signed-off-by: Tomer Tayar
Signed-off-by: David S. Miller
03 Jul, 2017
2 commits
-
This patch implements the passive side connect.
It addresses pre-allocating resources, creating a connection
element upon valid SYN packet received. Calling upper layer and
implementation of the accept/reject calls.Error handling is not part of this patch.
Signed-off-by: Michal Kalderon
Signed-off-by: Yuval Mintz
Signed-off-by: Ariel Elior
Signed-off-by: David S. Miller -
iWARP personality introduced the need for differentiating in several
places in the code whether we are RoCE, iWARP or either. This
leads to introducing new macros for querying the personality.Signed-off-by: Michal Kalderon
Signed-off-by: Yuval Mintz
Signed-off-by: Ariel Elior
Signed-off-by: David S. Miller
19 May, 2017
1 commit
-
This pushes qed [and as result, all qed* drivers] into using 8.20.0.0
firmware. The changes are mostly contained in qed with minor changes
to qedi due to some HSI changes.Content-wise, the firmware contains fixes to various issues exposed
since the release of the previous firmware, including:
- Corrects iSCSI fast retransmit when data digest is enabled.
- Stop draining packets when receiving several consecutive PFCs.
- Prevent possible assertion when consecutively opening/closing
many connections.
- Prevent possible assertion due to too long BDQ fetch time.In addition, the new firmware would allow us to later add iWARP support
in qed and qedr.Changes from previous version
-----------------------------
- V2: Fix warning in qed_debug.cSigned-off-by: Chad Dupuis
Signed-off-by: Ram Amrani
Signed-off-by: Tomer Tayar
Signed-off-by: Manish Rangankar
Signed-off-by: Yuval Mintz
Signed-off-by: David S. Miller
14 Mar, 2017
1 commit
-
This patch advances the qed* drivers into using the newer firmware -
This solves several firmware bugs, mostly related [but not limited to]
various init/deinit issues in various offloaded protocols.It also introduces a major 4-Cached SGE change in firmware, which can be
seen in the storage drivers' changes.In addition, this firmware is required for supporting the new QL41xxx
series of adapters; While this patch doesn't add the actual support,
the firmware contains the necessary initialization & firmware logic to
operate such adapters [actual support would be added later on].Changes from Previous versions:
-------------------------------
- V2 - fix kbuild-test robot warningsSigned-off-by: Tomer Tayar
Signed-off-by: Ram Amrani
Signed-off-by: Manish Rangankar
Signed-off-by: Chad Dupuis
Signed-off-by: Yuval Mintz
Signed-off-by: David S. Miller
20 Feb, 2017
1 commit
-
This adds the backbone required for the various HW initalizations
which are necessary for the FCoE driver (qedf) for QLogic FastLinQ
4xxxx line of adapters - FW notification, resource initializations, etc.Signed-off-by: Arun Easi
Signed-off-by: Yuval Mintz
Signed-off-by: David S. Miller
02 Jan, 2017
1 commit
-
Since the submission of the qedr driver, there's inconsistency
in the licensing of the various qed/qede files - some are GPLv2
and some are dual-license.
Since qedr requires dual-license and it's dependent on both,
we're updating the licensing of all qed/qede source files.Signed-off-by: Yuval Mintz
Signed-off-by: David S. Miller
04 Oct, 2016
1 commit
-
This adds the backbone required for the various HW initalizations
which are necessary for the qedr driver - FW notification, resource
initializations, etc.Signed-off-by: Ram Amrani
Signed-off-by: Yuval Mintz
Signed-off-by: David S. Miller
08 Sep, 2016
1 commit
-
This patch adds the support for dumping and formatting the HW/FW debug data.
Signed-off-by: Tomer Tayar
Signed-off-by: Yuval Mintz
Signed-off-by: David S. Miller
23 Aug, 2016
1 commit
-
Last FW submission reverted various macros into an older form,
where they generate compilation warnings on some architectures.Bring back the newer macros instead.
Fixes: 05fafbfb3d77 ("qed: utilize FW 8.10.10.0")
Reported-by: kbuild test robot
Signed-off-by: Yuval Mintz
Signed-off-by: David S. Miller
20 Aug, 2016
1 commit
-
This new firmware for the qed* adpaters fixes several issues:
- Better blocking of malicious VFs.
- After FLR, Tx-switching [internal routing] of packets might
be incorrect.
- Deletion of unicast MAC filters would sometime have side-effect
of corrupting the MAC filters configred for a device.
It also contains fixes for future qed* drivers that *hopefully* would be
sent for review in the near future.In addition, it would allow driver some new functionality, including:
- Allowing PF/VF driver compaitibility with old drivers [running
pre-8.10.5.0 firmware].
- Better debug facilities.This would also bump the qed* driver versions to 8.10.9.20.
Signed-off-by: Yuval Mintz
Signed-off-by: David S. Miller
04 Jun, 2016
2 commits
-
This patch adds in the ecore 2 new personalities in addition to
QED_PCI_ETH - QED_PCI_ISCSI and QED_PCI_ETH_ROCE.Signed-off-by: Yuval Mintz
Signed-off-by: David S. Miller -
This adds the qed portion of the RoCE & iSCSI firmware HSI,
as well as adding several new common HSI files which would be required
by both qed and qed* protocols.Signed-off-by: Yuval Mintz
Signed-off-by: David S. Miller
03 Jun, 2016
1 commit
-
The New QED firmware contains several fixes, including:
- Wrong classification of packets in 4-port devices.
- Anti-spoof interoperability with encapsulated packets.
- Tx-switching of encapsulated packets.
It also slightly improves Tx performance of the device.In addition, this firmware contains the necessary logic for
supporting iscsi & rdma, for which we plan on pushing protocol
drivers in the imminent future.Signed-off-by: Yuval Mintz
Signed-off-by: David S. Miller
12 May, 2016
2 commits
-
This adds the qed VFs for the first time -
The vfs are limited functions, with a very different PCI bar structure
[when compared with PFs] to better impose the related security demands
associated with them.This patch includes the logic neccesary to allow VFs to successfully probe
[without actually adding the ability to enable iov].
This includes diverging all the flows that would occur as part of the pci
probe of the driver, preventing VF from accessing registers/memories it
can't and instead utilize the VF->PF channel to query the PF for needed
information.Signed-off-by: Yuval Mintz
Signed-off-by: David S. Miller -
Communication between VF and PF is based on a dedicated HW channel;
VF will prepare a messge, and by signaling the HW the PF would get a
notification of that message existance. The PF would then copy the
message, process it and DMA an answer back to the VF as a response.The messages themselves are TLV-based - allowing easier backward/forward
compatibility.This patch adds the infrastructure of the channel on the PF side -
starting with the arrival of the notification and ending with DMAing
the response back to the VF.It also adds a dummy-response as reference, as it only lays the
groundwork of the communication; it doesn't really add support of any
actual messages.Signed-off-by: Yuval Mintz
Signed-off-by: David S. Miller
18 Feb, 2016
1 commit
-
This patch moves the qed* driver into utilizing the 8.7.3.0 FW.
This new FW is required for a lot of new SW features, including:
- Vlan filtering offload
- Encapsulation offload support
- HW ingress aggregations
As well as paving the way for the possibility of adding storage protocols
in the future.V2:
- Fix kbuild test robot error/warnings.Signed-off-by: Yuval Mintz
Signed-off-by: Sudarsana Reddy Kalluru
Signed-off-by: Manish Chopra
Signed-off-by: David S. Miller
08 Dec, 2015
1 commit
-
Concurrent non-blocking slowpath ramrods can be completed
out-of-order on the completion chain. Recycling completed elements,
while previously sent elements are still completion pending,
can lead to overriding of active elements on the chain. Furthermore,
sending pending slowpath ramrods currently lacks the update of the
chain element physical pointer.This patch:
* Ensures that ramrods are sent to the FW with
consecutive echo values.
* Handles out-of-order completions by freeing only first
successive completed entries.
* Updates the chain element physical pointer when copying
a pending element into a free element for sending.Signed-off-by: Tomer Tayar
Signed-off-by: Manish Chopra
Signed-off-by: David S. Miller
28 Oct, 2015
1 commit
-
The Qlogic Everest Driver is the backend module for the QL4xxx ethernet
products by Qlogic.This module serves two main purposes:
1. It's responsible to contain all the common code that will be shared
between the various drivers that would be used with said line of
products. Flows such as chip initialization and de-initialization
fall under this category.2. It would abstract the protocol-specific HW & FW components, allowing
the protocol drivers to have a clean APIs which is detached in its
slowpath configuration from the actual HSI.This adds a very basic module without any protocol-specific bits.
I.e., this adds a basic implementation that almost entirely falls under
the first category.Signed-off-by: Yuval Mintz
Signed-off-by: Ariel Elior
Signed-off-by: David S. Miller