                          ============================
                           R E L E A S E    N O T E S
                          ============================

		QLogic qedrntv VMware ESX RoCE Driver for 579xx controllers

                 Copyright (c) 2017 QLogic Corporation
                           All rights reserved

Version 3.11.7.0 (Apr 26, 2019)
Internal FW 8.38.0.0
Fixes:
------
1. Problem: PSOD in RDMA driver during QP/CQ/MR/PD free.
   Change: Skip ecore APIs as part of destroy APIs, to avoid PSOD.

2. Problem: Unloading RDMA driver after successful NIC/RDMA recovery, causes ramrod stuck.
   Change: Skip destroy for GSI QP, post recovery.

3. Problem: RDMA unload causes PSOD, if NIC driver recovery fails.
   Change: Perform start/stop RDMA conditionally, based on current state.

4. Problem: If NIC driver recovery fails, then NIC module unload causes PSOD.
   Change: Avoid duplicate cleanup.

Version 3.11.6.0 (Apr 18, 2019)
Internal FW 8.38.0.0
Enhancemnts:
-----------
1. Add support for RDMA recovery on error.

Version 3.11.4.0 (Mar 7, 2019)
Internal FW 8.38.0.0
Fixes:
-----
1. Problem: The QP & CQ events are not passed to upper layer.
   Change: Notify QP & CQ events to vmkernel.

2. Cont00104082: System crashes with PSOD while running Uplink reset using
                 vsish with RDMA devices clamied in the first iteration.

   Change: Re-implement uplinkReset callback to reset only uplink device in nic
           driver. Set RDMA port state to down/up if nic link goes down/up.

Version 3.11.3.0 (Feb 21, 2019)
Internal FW 8.38.0.0
Fixes:
-----
1. Update driver version as ecore is updated.

Version 3.11.2.0 (Feb 11, 2019)
Internal FW 8.37.10.0
Fixes:
-----
1. Remove print from OSAL_LLDP_RX_TLVS.

Version 3.11.1.0 (Jan 25, 2019)
Internal FW 8.37.10.0
Fixes:
-----
1. Updating Driver version as ecore is updated.

Version 3.10.22.0 (Nov 15, 2018)
Internal FW 8.37.9.0
Fixes:
-----
1. Problem: Cont00104218: PSOD is seen when MTU is changed with UD traffic running on VM
   Change: Avoid error log message flooding to avoid PSOD.

Version 3.10.21.0 (Nov 06, 2018)
Internal FW 8.37.9.0 
Fixes:
-----
1. Updating Driver version as ecore have been updated.

Version 3.10.19.0 (Oct 25, 2018)
Version 3.10.20.0 (Nov 02, 2018)
Internal FW 8.37.9.0 
Fixes:
-----
1. Updating Driver version as ecore have been updated.

Version 3.10.19.0 (Oct 25, 2018)
Internal FW 8.37.8.0 
Fixes:
-----
1. Problem: Cont00103827: vSphere Auto Deploy shows error, as stateless-ready flag is False.
   Change: The stateless-ready flag is set to True.

2. Problem: Cont00102805: Observed disconnects on starting traffic with LIO target.
   Change: Return updated lkey and rkey for query_mr callback on FMR.

Version 3.10.17.0 (Oct 07, 2018)
Internal FW 8.37.8.0 
Fixes:
-----
1. Updating Driver version as ecore have been updated.

Version 3.10.16.0 (Sept 23, 2018)
Internal FW 8.37.8.0 
Fixes:
-----
1. Problem: The WC opcode is not updated in case of FAST_REG_MR completion.
   Change: The opcode is filled in completion entry for FAST_REG_MR.

Version 3.10.14.0 (Sept 06, 2018)
Internal FW 8.37.7.0 
Fixes:
-----
1. Updating Driver version as ecore have been updated.

Version 3.10.13.0 (Aug 21, 2018)
Internal FW 8.37.7.0
Fixes:
-----
1. Cont00100299: Logs are flooded with MFW attentions and RDMA stats related warnings.

   Change: Changed the verbosity level of RDMA stats print to ECORE_MSG_RDMA.

2. Problem: Cont00103006: iSER rescan hangs after removal of target.
   Change: Enable posting to the Receive Queue, unless the QP is in RESET state.

3. Problem: Cont00102618: Not able to detect LUN when multiple cards in MF mode are present.
   Change: Increase driver heap size to allow memory allocation for all PFs.

4. Problem: Tests with immediate data failed with inbox driver.
   Change: Fixed a bug in receive CQE flag interpretation.

Version 3.10.9.0 (Jul 20, 2018)
Internal FW 8.37.5.0
Fixes:
-----
1. Updating Driver version as ecore have been updated.

Version 3.10.8.0 (Jul 13, 2018)
Internal FW 8.37.5.0
Fixes:
-----
1. Updating Driver version as ecore have been updated.

Version 3.10.7.0 (Jul 05, 2018)
Internal FW 8.37.5.0
Fixes:
-----
1. Updating Driver version as ecore have been updated.

Version 3.10.6.0 (Jun 29, 2018)
Internal FW 8.37.5.0
Fixes:
-----
1. Updating Driver version as ecore and storm have been updated.

Version 3.10.5.0 (Jun 14, 2018)
Internal FW 8.37.4.0
Fixes:
-----
1. Updating Driver version as ecore and storm has been updated.

Version 3.10.4.0 (May 31, 2018)
Internal FW 8.37.3.0
Fixes:
-----
1. Updating Driver version as ecore and storm has been updated.

Version 3.10.3.1 (May 24, 2018)
Internal FW 8.37.2.0
Fixes:
-----
1. Problem: Cont00099382: iSER traffic didnt resume after esxcli nic down-up on single port adapter.
   Change: Remove the workaround previously done to force CQ arming as the actual issue has been
           root-caused.

Version 3.10.3.0 (May 17, 2018)
Internal FW 8.37.2.0
Enhancement:-
----------
1. Updating Driver version as ecore and storm has been updated.

Version 3.10.2.0 (May 11, 2018)
Internal FW 8.37.1.0
Enhancement:-
----------
1. Updating Driver version as ecore and storm has been updated.

Internal FW 8.33.14.0
Fixes:
-----
1. Update driver as new branch has been created.

Version 3.9.18.0 (Apr 20, 2018)
Internal FW 8.33.14.0
Fixes:
-----
1. Problem: Cont00099382: System becomes unresponsive while handling any SCSI command.
   Change: Force CQ arming for first post SEND as a workaround.

2. Change: Use correct lock rank for ll2 tx lock.


Version 3.9.17.1 (Apr 13, 2018)
Internal FW 8.33.14.0
Fixes:
-----
1. Problem: Cont00099408: Fixes related to UD.
   Change: i) Use NIC max MTU instead of RoCE max MTU to satisfy IOVP requirements.
           ii) Optimize locking between send queue and recieve queue. 
           iii) Do all ll2 tx processing atomically.


Version 3.9.17.0 (Apr 10, 2018)
Internal FW 8.33.14.0
Fixes:
-----
1. Problem Cont00100264: RoCE traffic fails to run with katomic
   Change: Return both QP state & QP current state, when QP state is requested.

2. Problem: Ether type is incorrectly set to IBOE, for VLAN tagged v2 packet.
   Change: Use correct ether type, irrespective of VLAN.

3. Problem: WC is not generated on flush error, if WR is Unsignaled.
   Change: Always generate WC flush error, even for Unsignaled WRs.

Version 3.9.13.0 (Mar 16, 2018)
Internal FW 8.33.13.0
Enhancemnts:
-----------
1. Updating Driver version as ecore has been updated.

Version 3.9.12.0 (Mar 08, 2018)
Internal FW 8.33.12.0
Fixes:
-----
1. Problem Cont00099406: Ramrod is stuck while running RoCE v1 change mtu test with krdma tool.
   Change: Set LL2 MTU to max RoCE MTU and filter packets in the driver.

2. Problem Cont00099408: RoCE traffic fails to run with ud connection type
   Change: Reset GSI consumer during QP reset sequence.

3. Problem: DCPN 00048348: UD traffic doesn't work after changing VLAN.
   Change: Get VLAN information from the binding while building UD header.

4. Problem: Cont00099757: Incorrect speed display of RDMA devices in device list for 50 Gbps.
   Change: Advertise correct RDMA link speed for 50G NIC link, in 6.7 & above.

Enhancemnts:
-----------
1. Add support for SRQ.
2. Add osal OSAL_BW_UPDATE.

Version 3.9.11.0 (Feb 20, 2017)
Internal FW 8.33.11.0
Fixes:
-----
1. Problem: Cont00099066: RoCE:Incorrect description shown under esxcli for rdma devices in ESXi6.5U1.
   Change: Fixed the device desription string.
2. Removed ETH_HLEN definition from qedrntv.h. Already defined in ecore_tcp_ip.h.


Version 3.0.9.8 (Jan 18, 2017)
Internal FW 8.33.8.0

1. Upgrade driver version as ecore has been upgraded.

Version 3.0.9.6 (Jan 09, 2017)
Internal FW 8.33.8.0
Enhancemnts:
-----------
1. Enable CONFIG_ECORE_LOCK_ALLOC flag and move osal_[spinlock/mutex]_init code
   to osal_[spinlock/mutex]_alloc similar to NIC driver.

2. Initialize input parameters before sending QP create ramrod to ecore.

Version 3.0.8.6 (Oct 06, 2017)
Internal FW 8.30.16.0
Fixes:
-----
1. Problem: Cont00096439: PSOD see while running rdma_cm related tests.
   Change: Fixed error path after GSI QP was not found.

2. Problem: QP state table does not include GSI entry.
   Change: Update QP state table for GSI type.

Version 3.0.8.5 (SEP 15, 2017)
Internal FW 8.30.16.0
Fixes:
-----

Enhancemnts:
-----------
1. Internel FW version has changed in NIC driver.

Version 3.0.8.4 (SEP 01, 2017)
Internal FW 8.30.15.0
Fixes:
-----

Enhancemnts:
-----------
1. Internel FW version has changed in NIC driver.

Version 3.0.8.2 (Aug 25, 2017)
Internal FW 8.30.13.0
Fixes:
-----

Enhancemnts:
-----------
1. Internel FW version has changed in NIC driver.

Version 3.0.8.1 (Aug 02, 2017)
Internal FW 8.30.11.0
Fixes:
------
1. Problem: NMI PSOD with Atomic Operations on unsupported servers.
   Change: Add a module parameter to disable Atomic capability.

2. Problem: Cont00094023: The ib_send_bw test with -R(rdma_cm) option fails.
   Change: Added multiple fixes required to include support for UD QP.

3. Problem: The PostSend WRs are not posted in SQE/Error State.
   Change: Fixed by allowing PostSend in error state.

Enhancements:
-------------
1. Added QP and CQ doorbell addresses to ecore doorbell recovery list.

Version 3.0.8.0 (July 17, 2017)
Internal FW 8.30.10.0
Enhancements:
-----
1. Enabled RoCEv2 IPv6 support for UD QP.
2. Add support for Atomic Verbs - FETCH_AND_ADD / CMP_AND_SWP.
3. Add driver version dependency check again NIC driver.

Fixes:
------
1. Problem: Cont00090182: Rping command fails.

   Change:  Added support for UD QP to enable RDMA CM.

   Relevane: Applications using RDMA CM.

2. Problem: Cont00090684: PSOD seen in rest mode without any action after
	    installing NIC, FCOE and ROCE driver on one machine.

   Change:  Avoid data structure corruption by reducing the number of CNQs
	    to keep them with in the limit given by MFW.

   Relevance: RoCE driver load-unload.

3. Problem: Rank lock violation seen on BETA build.

   Change: Ecore is modified to acquire link_lock prior to calling OSAL_LINK_UPDATE
           where we again try to acquire another lock os same Rank. Use UNRANKED 
           lock in ecore.

   Relevance: All.

4. Problem: Cont00091498: PSOD seen with rescan of target using ESXi6.5 GA-Beta build. 

   Change: Fixed helper thread usage while scheduling helper thread on GSI Rx side.

   Relevance: GSI QP.

5. Problem: RoCE driver failed to load with unresolved symbols error.

   Change: API's from files ecore_rdma.c and ecore_iwarp.c were used which
           were not getting compiled. Added these files to .sc file. 
           Defined two OSAL's in qedrntv_osal.c file.

6. Problem: Cont00094509: IB tests with multiple QPs fail.

   Change: Allocate memory required for DMA ops using a mempool, instead of a heap.

   Relevance: IB tests with multiple QPs.

7. For memory allocation from mempool, change creationTimeoutMS flag from
   VMK_TIMEOUT_UNLIMITED_MS to VMK_TIMEOUT_NONBLOCKING as it crashes on
   BETA build.

Version 3.0.6.4 (Jan 12, 2017)
Internal FW 8.18.9.0

Enhancements:
-------------
1. Support for - Alloc FRMR, Alloc/Free PageList, Register FMR.

Version 3.0.6.3 (Dec 30, 2016)
Internal FW 8.18.9.0

Enhancements:
-------------
1. LL2 Transmit path rework.

2. LL2 Receive path rework.

3. Export RoCE information through NIC management interface.

Fixes:
------
1. Problem: GRH header added on RoCE v2 header of UD packet.

   Change: Remove GRH header for RoCE v2.

   Relevance: GSI QP Tx path.

2. Problem: RDMA CM packet drop due to CRC errors.

   Change: Enable GSI offload and also fix source MAC address of UD packet.

   Relevance: GSI QP Tx path.


Version 3.0.6.2 (Nov 23, 2016)
Internal FW 8.18.4.0

1. Update the driver version since FW has been updated.

Version 3.0.6.1 (Nov 21, 2016)
Internal FW 8.18.3.0

Enhancements:
-------------
1. Added support for physical memory region.

Fixes:
------
1. Problem: Cont00089658: The ib tests fail if run on multiple VMs.

   Change: Get source GID correctly in modify QP.

   Relevance: Use of multiple GIDs.

Version 3.0.5.2 (Sep 21, 2016)
Internal FW 8.14.7.0

1. Change the driver version to since ecore and storm has changed.

Version 3.0.4.9 (August 02, 2016)
Internal FW 8.14.0.0

Fixes:
------
1. Problem: Cont00087687: Interrupt mode is not working for RDMA on 100G.

   Change: Fix the status block & MSIX vector reservation for RoCE.

   Relevance: RDMA operations with interrupt mode on 100G ports.


Version 3.0.4.8 (July 28, 2016)
Internal FW 8.14.0.0

Fixes:
------
1. Problem: Cont00087030: RDMA operations fail with all NPARs, except PF 0.

   Change: Add RDMA bind MAC address to LLH to allow RDMA traffic.

   Relevance: RDMA operations with NPAR enabled.

Version 3.0.4.7 (July 04, 2016)
Internal FW 8.10.7.0

Fixes:
------
1. Problem: Cont00087179: [ESX-E4-RoCE]: PSOD on installation of latest RoCE driver.

   Change: The additional fields of debugfs are included in RoCE to avoid structure mismatch.

   Relevance: Driver load.

2. Problem: Cont00087064: PSOD during driver load with Baffin bay 1 x 100 GB adapter.

   Change: Initialize interrupt status blocks only for engine 0.

   Relevance: Driver load.

Version 3.0.4.6 (June 22, 2016)
Internal FW 8.10.7.0

Fixes:
------
1. Problem: Cont00086898: FW attention & PSOD with RDMA SEND / WRITE operations.

   Change: The bit ‘dif_on_host_flg’ is cleared in 'DMA_RAMROD_REGISTER_MR’ ramrod request.

   Relevance: RDMA Send/Write operations.

Enhancements:
-------------
1. Support for multiple CNQs.

2. Support for DPM & Inline data for SEND / WRITE operations.

3. Enhanced debug support.

4. Enhance error handling.

Version 3.0.4.5 (May 18, 2016)
Internal FW 8.10.4.0
Enhancements:
-------------
1. Dynamic RoCE mode(v1/v2) support.

Version 3.0.4.4 (May 3, 2016)
Internal FW 8.10.4.0
Enhancements:
-------------
1. Support 32 bit chains for CQ / SQ / RQ.

2. Support GSI QP.

3. Support RoCE v2.

Version 2.0.0.4 (Sept 30, 2015)
Internal FW 8.5.6.0
Enhancement:
-----------
1. Fixed the driver to match recent HSI changes from FW 8.5.4.0 onwards and
	other compilation errors.

Fixes:
------
1. Problem:	Cont00082850: E4 RoCE B0 Testing: Send_bw test is failing

   Change:	Using correct WQE for RDMA Send operation.

   Relevance:	RDMA Send operations.

Version 1.0.0.3 (Jun 30, 2015)
Internal FW 8.4.2.0
Fixes:
------
1. Problem:     Cont00079307: The RDMA write operation with > 64K iterations
                fails in event mode.

   Change:      Modified the CQ consumer index counter to 32 bit.

   Relevance:   RDMA write operations with > 64 iterations in event mode.

Version 1.0.0.2 (April 23, 2015)
Internal FW 8.3.5.0
Fixes:
------
1. Problem:     Post receive failes when post list size is greater than 1.

   Change:      Correctly update receive producer doorbell in post receive.

   Relevance:   Post receive wr.


Version 1.0.0.1 (April 16, 2015)
Internal FW 8.3.5.0
Enhancement:
------------
1. Initial driver for RoCE support.
