                          ============================
                           R E L E A S E    N O T E S
                          ============================
                               QELR USER LIBRARY

Version 8.50.10.0 (Nov 04, 2019)
================================
Requires qedr 8.18.8.0 and above.

Version 8.42.0.0 (Jun 06, 2019)
===============================
Requires qedr 8.18.8.0 and above.

Version 8.40.1.0 (Mmm dd, 2018)
===============================
Requires qedr 8.18.8.0 and above.

Enhancements:
-------------
 1. Request:    Change all doorbells of type DB_AGG_CMD_SET to DB_AGG_CMD_MAX.

Version 8.40.0.0 (Apr 19, 2018)
===============================
Requires qedr 8.18.8.0 and above.

Enhancements:
-------------
 1. Request:    Add initial support for E5.

Version 8.33.1.0 (Dec 14, 2017)
===============================
Requires qedr 8.18.8.0 and above.

Fixes:
------
 1. Problem:    iWARP maximum inline is treated as RoCE's maximum. However
                RoCE's maximum is larger.

    Change:     When using iWARP, use iWARP's maximum inline data.

    Introduced: Day 1.

    Relevance:  iWARP.

Version 8.33.0.0 (Oct 06, 2017)
===============================
Requires qedr 8.18.8.0 and above.

Fixes:
------
 1. Problem:    A packet may be configured to be sent with legacy DPM while it
                is configured to be sent as inline, contrary to the
                specifications.

    Change:     Prevent legacy DPM if a packet is to be sent inline.

    Introduced: 8.30.0.0.

    Relevance:  RDMA.

Version 8.33.0.0 (Oct 06, 2017)
===============================
Requires qedr 8.18.8.0 and above.

Version 8.30.4.0 (Sep 12, 2017)
===============================
Requires qedr 8.18.8.0 and above.

Enhancements:
-------------
 1. Request:    Optimizations to post send/recv verbs.

Version 8.30.3.0 (July 28, 2017)
===============================
Requires qedr 8.18.8.0 and above.

Fixes:
------
 1. Problem:    Application hangs when using Legacy DPM.

    Change:     Check driver indication for FW support of Legacy DPM. And send
                such packets only if they are supported.

    Introduced: 8.30.0.0.

    Relevance:  RoCE.

 2. Problem:    CQ95101 - qperf tests rc_rdma_write_bw/lat fail over iWARP.

    Change:     Not expected to pass but changed flow to fail with immediate
                error.

    Introduced: Day 1.

    Relevance:  iWARP.

Version 8.30.2.0 (May 24, 2017)
===============================
Requires qedr 8.18.8.0 and above.

Fixes:
------
 1. Problem:    rstream application hangs.

    Change:     Convert the immediate data from host to network order.

    Introduced: Day 1.

    Relevance:  iWARP/RoCE.

Version 8.30.1.0 (Apr 06, 2017)
===============================
Requires qedr 8.18.8.0 and above.

Fixes:
------
 1. Problem:    uDAPL tests fail to run.

    Change:     Set byte_len parameter correctly in RDMA_READ requests.

    Introduced: Day 1.

    Relevance:  iWARP/RoCE.

Version 8.30.1.0 (Apr 06, 2017)
===============================
Requires qedr 8.18.8.0 and above.

Fixes:
------
 1. Problem:    iWARP does not support EDPM.

    Change:     Disable EDPM if device is iWARP.

    Introduced: Day 1 iWARP.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    Add doorbell overflow recovery.

Version 8.30.0.0 (Mar 09, 2017)
===============================
Requires qedr 8.18.8.0 and above.

Fixes:
------
 1. Problem:    When changing QP states the result wasn't checked.
                Also, changing from one QP state to the same one resulted in an
                error.

    Change:     Check the result of the QP state change operation.
                Return success if changing from one QP state to another.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    EDPM loopback takes a long time.

    Change:     Disable EDPM in loopback.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    RDMA application hangs.

    Change:     Output the number of WIDs an application can use so the
                application can verify that it is giving a doorbell in the valid
                range.

    Introduced: 8.18.9.0.

    Relevance:  RDMA.

Enhancements:
-------------
 1. Request:    Added support for legacy DPM.

Version 8.18.4.0 (Jan 18, 2017)
===============================
Requires qedr 8.18.8.0 and above.

Fixes:
------
 1. Problem:    mmap failure wasn't properly checked.

    Change:     Check mmap returned pointer.

    Introduced: 8.10.1.0.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Add user-space support for doorbell per CPU.

Version 8.18.3.0 (Dec 15, 2016)
===============================
Requires qedr 8.18.6.0 and above.

Fixes:
------
 1. Problem:    The pointer to a QP, SQ or RQ may wrap before reaching end of
                the queue.

    Change:     Fixed wrapping logic.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    Even if the doorbell BAR isn't configured to accomodate EDPM
                doorbells, the library can still try to produce EDPM packets.

    Change:     Added a mechanism to detect if the doorbell BAR was configured
                to support EDPM packets. The library will use it to determine
		if to attempt sending a packet via EDPM.

    Introduced: Day 1.

    Relevance:  EDPM.

Enhancements:
-------------
 1. Request:    Use variable of type __u8/16/32/64 for driver/library API.
                This aligns the library with the upstream version hence
                increasing the ABI version to 8 (as in upstream).

Version 8.18.2.0 (Dec 05, 2016)
===============================
Requires qedr 8.10.3.0 and above.

Fixes:
------
 1. Problem:    Segmentation fault in open MPI scenario.

    Change:     Reset the flags field in the a responder WC.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    Data integrity in open MPI scenario.

    Change:     Fix configuration of EDPM command.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    A READ verb with IBV_SEND_INLINE may be illegally configured.

    Change:     Don't configure READ verb with inline.

    Introduced: Day 1.

    Relevance:  All.

Version 8.18.1.0 (Nov 21, 2016)
===============================
Requires qedr 8.10.3.0 and above.

Fixes:
------
 1. Problem:    CQ89024 - qperf server prints the error "cq: failed to destroy".

    Change:     Lower the verbosity of the error print.

    Introduced: 8.10.1.0.

    Relevance:  All.

Version 8.18.0.0 (Oct 19, 2016)
===============================
Requires qedr 8.10.3.0 and above.

Fixes:
------
 1. Problem:    SQ/RQ overflow occurred.

    Change:     Add protection against SQ/RQ overflow *and* increase size of
                SQ/RQ shadow arrays by 1.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Remove support for AH PCI devices 1077:{8071, 8072, 8073}.

Version 8.14.1.0 (Sep 07, 2016)
===============================
Requires qedr 8.10.3.0 and above.

Fixes:
------
 1. Problem:    Posting of send/recv requests didn't conform to the protocol.

    Change:     Allow post send only if in RTS, SQD or ERR QP state.
                Allow post recv only if not in RESET QP state.

    Introduced: Day 1.

    Relevance:  All.

Version 8.14.0.0 (Jul 31, 2016)
===============================
Requires qedr 8.10.3.0 and above.

Version 8.10.4.0 (Jun 27, 2016)
===============================
Requires qedr 8.10.3.0 and above.

Enhancements:
-------------
 1. Request:    Add support for PCI devices 1077:{8071, 8072, 8073, 8090}.

Version 8.10.3.0 (May 09, 2016)
===============================
Requires qedr 8.10.3.0 and above.

Enhancements:
-------------
 1. Request:    RoCE shared receive queue support.

Version 8.10.1.0 (Mar 15, 2016)
===============================
Requires qedr 8.10.1.0 and above.

Enhancements:
-------------
 1. Request:    Allocate SQ, RQ and CQ from user space rather than kernel space.

Version 8.10.0.0 (Feb 23, 2016)
===============================
Requires qedr 8.10.0.0 and above.

Version 8.7.5 (Jan 12, 2016)
============================
Requires qedr 8.7.7.0 and above.

Enhancements:
-------------
 1. Request:    Comment out fast path debug prints.

Version 8.7.4 (Jan 07, 2016)
============================
Requires qedr 8.7.7.0 and above.

Enhancements:
-------------
 1. Request:    Modify the qed chain allocation to be page by page.

Version 8.7.3 (Dec 28, 2015)
============================
Requires qedr 8.7.6.0 and above.

Enhancements:
-------------
 1. Request:    Increase WQ size from u16 to u32.

Version 8.7.2 (Dec 03, 2015)
============================
Requires qedr 8.7.4.0 and above.

Enhancements:
-------------
 1. Request:    Use 32 bit completion queue instead of 16 bit.

Version 8.7.1 (Nov 22, 2015)
============================
Requires qedr 8.7.0.0 and above.

Enhancements:
-------------
 1. Request:    Add support for 32-bit chains.

Version 8.7.0 (Nov 05, 2015)
============================
Requires qedr 8.7.0.0 and above.

Version 8.6.0 (Oct 14, 2015)
============================
Requires qedr 8.6.0.0 and above.

Enhancements:
-------------
 1. Request:    Added support for AH emulation.

Version 8.5.4 (Oct 08, 2015)
============================
Requires qedr 8.5.8.0 and above.

Enhancements:
-------------
 1. Request:    Add support for device ids: 0x1666.

Version 8.5.3 (Sep 21, 2015)
============================
Requires qedr 8.5.8.0 and above.

Enhancements:
-------------
 1. Request:    qp-id is returned to userspace.

Version 8.5.2 (Aug 26, 2015)
============================
Requires qedr 8.5.3.0 and above.

Fixes:
------
 1. Problem:    Work requests of transmitted by EDPM packets weren't signaled
                unless requested specifically. This would happen even if the QP
                was configured to signal all.

    Change:     Configure EDPM packet to signal either if specifically requested
                or if QP was configured to signal all

    Introduced: day 1.

    Relevance:  All.

Version 8.5.1 (Jul 26, 2015)
============================
Requires qedr 8.5.3.0 and above.

Enhancements:
-------------
 1. Request:    EDPM is now enabled by default (support of  environment
                variable QELR_ENABLE_EDPM has been removed).

Version 8.5.0 (Jun 25, 2015)
============================
Requires qedr 8.5.0.0 and above.

Version 8.3.1 (May 26, 2015)
==============================
Requires qedr 8.3.0.0 and above.

Enhancements:
-------------
 1. Request:    Add support for device ids: 0x1644, 0x1654, 0x1664

Version 8.3.0 (April 20, 2015)
==============================
Requires qedr 8.3.0.0 and above.

Fixes:
------
 1. Problem:    rcopy with large files fails on post_recv.

    Change:     Consumer wasn't updated correctly for posts with 0 sges.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    CQ78275 - ib_atomic_lat causes crash on setups with no pci
                atomic support.

    Change:     Pass atomic capability to userlib during create qp.

    Introduced: Day 1.

    Relevance:  RoCE, atomic.

 3. Problem:    CQ78561 - "DORQ/CCFC" asssertion messages in pause mode.
                CQ78560 - Segfault received on server if traffic stops
                at client.

    Change:     Stop posting SQ/RQ WQEs after error received on QP.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Use EDPM Doorbells to improve latency. Disabled by default.
                For A0 should only be enabled if dcbx is disabled. To enable
                set environment variable QELR_ENABLE_EDPM=1

