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

Version 8.18.19.0 (Mar DD, 2017)
================================
Internal FW 8.18.19.0

Fixes:
------
 1. Problem:    CQ92630 - NULL pointer dereference in query stats flow
                during load/unload.

    Change:     Introduce locking scheme to avoid race.

    Introduced: Day 1.

    Relevance:  RoCE / iWARP.

Version 8.18.18.0 (Mar 22, 2017)
================================
Internal FW 8.18.19.0

Fixes:
------
 1. Problem:    The MFW might be still running for a short while after
                responding to a halt mailbox command.

    Change:     Verify that the MCP is in a soft halt state, after sending the
                command and before proceeding.

    Introduced: 8.5.3.0.

    Relevance:  GRC dump / MCP trace.

 2. Problem:    CQ92434 - system crash after loading qedr with MTU=128.

    Change:     Fix calculation of number of ooo rx buffers and limit to 16K.

    Introduced: Day 1.

    Relevance:  iWARP.

 3. Problem:    CQ91521 - System hits assertion while trying to modify Jumbo
                MTU settings on PF with VFs enumerated.

    Change:     OSAL_IOV_VF_VPORT_STOP is introduced to allow upper-client to
                execute required operations before closing vport.

    Introduced: Day 1.

    Relevance:  SRIOV.

 4. Problem:    CQ91595 - Firmware stop sending packets for some time after
                getting consecutive PFC packets.

    Change:     [FW] Increase the threshold for PAUSE_TOO_LONG interrupt.

    Introduced: Day 1.

    Relevance:  FCoE, RoCE.

 5. Problem:    CQ92301, CQ92431, CQ92465 - Firmware assertion may happen when
                opening or closing many connections.

    Change:     [FW] Fix a race condition in Firmware flow.

    Introduced: Day 1.

    Relevance:  iWARP, iSCSI, FCoE.

 6. Problem:    CQ92424 - When peer is unreachable, connection tear-down may
                take ~45 seconds.

    Change:     [FW] Decrease threshold for maximum count of retransmissions
                before reporting an error.

    Introduced: Day 1.

    Relevance:  iWARP.

 7. Problem:    CQ92054 - FW assertion may happen on a race condition where RST
                arrives after MPA request.

    Change:     [FW] Defer RST reporting until offloading MPA connection.

    Introduced: FW 8.18.16.0.

    Relevance:  iWARP.

 8. Problem:    MPA Reject lead to leak of free eps.

    Change:     Return ep object to free list in reject flow.

    Introduced: 8.18.17.0.

    Relevance:  iWARP.

Version 8.18.17.0 (Mar 15, 2017)
================================
Internal FW 8.18.18.0

Fixes:
------
 1. Problem:    CQ91975 - memory leak.

    Change:     Fix memory leaks in destroy qp and driver unload
                flow.

    Introduced: Day 1.

    Relevance:  iWARP.

 2. Problem:    CQ92275 - Can't create number of qps requested.

    Change:     When allocating resources take into account additional
                preallocated cids and make sure requested number of qps
                is available.

    Introduced: Day 1.

    Relevance:  iWARP.

 3. Problem:    STAG value received from the MFW is not propagated to firmware.

    Change:     Send updated STAG configuration to the Firmware.

    Introduced: 8.18.6.0.

    Relevance:  STAG update from MFW.

 4. Problem:    CQ92152 - FW assert - BDQ fetch time exceeded maximum.

    Change:     [FW] Fix BDQ fetch flow.

    Introduced: FW 8.14.6.0.

    Relevance:  iSCSI, FCoE.

 5. Problem:    FW assert may happen if there are unaligned PDUs on a connection
                that was re-established.

    Change:     [FW] Give indication to the driver that connection was closed so
                all connections' resources will be deleted.

    Introduced: FW 8.14.6.0.

    Relevance:  iWARP.

 6. Problem:    CQ92540 - MPA Reject lead to the 4-tuple not being freed from
                the connection list, this lead to the same 4-tuple connection
                request to be dropped.

    Change:     Handle reject flow properly.

    Introduced: 8.18.16.0.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    iWARP - Handle flush completion on unaligned ll2 connection.

Version 8.18.16.0 (Mar 08, 2017)
================================
Internal FW 8.18.17.0

Fixes:
------
 1. Problem:    Possible division by 0 when the number of active ports is 0.

    Change:     Have a default value of 1.

    Introduced: Day 1.

    Relevance:  AH.

 2. Problem:    AH VFs always have MSI-x table of 17 entries.

    Change:     Make sure all child VFs of the same PF have same MSI-x number.

    Introduced: Day 1.

    Relevance:  AH SRIOV.

 3. Problem:    CQ92058 - HW attention may occur when opening many connections.

    Change:     [FW] Fix connection establishment flow.

    Introduced: FW 8.14.7.0.

    Relevance:  iWARP.

 4. Problem:    FW assertion may happen during closing a connection after an
                error detected.

    Change:     [FW] Fix error handling flow.

    Introduced: FW 8.18.14.0.

    Relevance:  iWARP.

 5. Problem:    CQ92056 - FW assert when performing load/unload during traffic.

    Change:     Handle case where reset arrives for a connection that was not
                yet accepted.

    Introduced: FW 8.18.15.0.

    Relevance:  iWARP.

 6. Problem:    CQ92275 - Driver crash when attempting to open more than
                supported number of QPs.

    Change:     Don't assert.

    Introduced: Day 1.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    [FW] iWARP - Performance optimizations.

Version 8.18.15.0 (Feb 28, 2017)
================================
Internal FW 8.18.16.0

Fixes:
------
 1. Problem:    FW assert may happen if the IO size is a multiple of maximum
                iWARP PDU length.

    Change:     [FW] Fix calculation of the length that is going to be
                transmitted.

    Introduced: Day 1.

    Relevance:  iWARP.

 2. Problem:    CQ91898, CQ91843 - FW assert may happen if there are
                retransmissions after an error was detected.

    Change:     [FW] Fix RX flow on the case an error was detected.

    Introduced: FW 8.18.8.0.

    Relevance:  iWARP.

 3. Problem:    Application may get stuck if the driver was unloaded on the
                passive side.

    Change:     [FW] Support timeouts during MPA negotiation.

    Introduced: Day 1.

    Relevance:  iWARP.

 4. Problem:    CQ91978 - FW assert may happen during closing a connection.

    Change:     [FW] Handle a race condition that may happen during closing a
                connection.

    Introduced: FW 8.18.5.0.

    Relevance:  iWARP.

 5. Problem:    CQ91909 - FW may avoid giving flushes on a QP if an error was
                detected.

    Change:     [FW] Fix error handling flow.

    Introduced: FW 8.18.5.0.

    Relevance:  iWARP.

 6. Problem:    Kernel space application that uses RDMA READ may not work well
                on new kernels.

    Change:     [FW] Fix flow of "read with invalidate".

    Introduced: FW 8.18.5.0.

    Relevance:  iWARP Linux only (Kernel 4.7 and above).

 7. Problem:    CQ92124 - Initial WWPN/WWNN values are incorrect.

    Change:     Flip bit-order of lower/upper 32-bit of said fields when read.

    Introduced: Day 1.

    Relevance:  FCoE.

Enhancements:
-------------
 1. Request:    Initialize FW parameter for max fin retransmit before
                sending reset.

 2. Request:    Restricting iWARP max MSS value for sake of performance.

Version 8.18.14.0 (Feb 22, 2017)
================================
Internal FW 8.18.15.0

Fixes:
------
 1. Problem:    CQ91708 - FW assert when running load/unload during traffic.

    Change:     Wait for connections to close entirely before closing ll2
                connections.

    Introduced: Day 1.

    Relevance:  iWARP.

 2. Problem:    Malicious VF can cause assert by using vport-stop.

    Change:     Don't send vport-stop to firmware from malicious VFs.

    Introduced: Day 1.

    Relevance:  SRIOV.

 3. Problem:    CQ91871 - "ethtool -T" fails for two out of four Quest ports.

    Change:     Port_id is internal to the engine and ecore shouldn't use it as
                port_num. Ecore needs to derive it from the absolute pf-id.

    Introduced: 8.18.11.0.

    Relevance:  PTP.

 4. Problem:    CQ91393 - Chip may be stuck if Firmware detected an error on TX
                path.

    Change:     [FW] Fix error handling flow in TX path.

    Introduced: FW 8.18.10.0.

    Relevance:  iWARP.

 5. Problem:    Chip may be stuck if Firmware detected an error on RX path.

    Change:     [FW] Fix error handling flow in RX path.

    Introduced: FW 8.18.10.0.

    Relevance:  iWARP.

 6. Problem:    CQ91707 - P2P mode of PTP fails.

    Change:     Set DA #1 related bits in HW configuration.

    Introduced: Day 1.

    Relevance:  PTP.

Version 8.18.13.0 (Feb 15, 2017)
================================
Internal FW 8.18.14.0

Fixes:
------
 1. Problem:    Possible race leading to VF timeout in multiple VF scenarios.

    Change:     Change logic for setting/clear pending events of VFs.

    Introduced: Day 1.

    Relevance:  SRIOV.

 2. Problem:    Wrong CQE opcode was written during underRun flow with sense
                data.

    Change:     [FW] Change under run flow.

    Introduced: FW 8.10.4.0.

    Relevance:  iSCSI Initiator.

 3. Problem:    Firmware may send incorrect sequence number on packets after
                detecting an error.

    Change:     [FW] Sync Tx-path with correct TCP sequence number once error is
                detected.

    Introduced: FW 8.18.5.0.

    Relevance:  iWARP.

 4. Problem:    CQ91437 - StatSN FW validation error in case of non-first login
                response with Status-Class = 0.

    Change:     [FW] Fix the StatSN validation.

    Introduced: Day 1.

    Relevance:  iSCSI.

 5. Problem:    When moving from slow start to congestion avoidance stage the
                cwnd is wrongfully calculated (as if we are still in slow start
                stage).

    Change:     [FW] Fix calculation of cwnd.

    Introduced: Day 1.

    Relevance:  TCP.

 6. Problem:    Wrong initial slow start threshold was used after connection
                establishment.

    Change:     [FW] Initialize slow start threshold to 64K.

    Introduced: FW 8.10.4.0.

    Relevance:  iSCSI, iWARP.

 7. Problem:    Performing multiple destroy QP ramrods under stress, may cause
                transmission queues getting stuck.

    Change:     [FW] Fixed transmission queues credit calculation.

    Introduced: Day 1.

    Relevance:  RoCE.

 8. Problem:    Block name in attentions parsing can be wrong.

    Change:     [FW] Fixed block names.

    Introduced: FW 8.18.10.0.

    Relevance:  Debug tools.

 9. Problem:    CQ91210 - Firmware assertion may happen during a driver unload
                if an error was detected prior unloading the driver.

    Change:     [FW] Fixed error handling path that may cause an assertion
                during function unload.

    Introduced: FW 8.18.5.0.

    Relevance:  iWARP.

10. Problem:    CQ91528 - FW assertion may occur during retransmissions of RDMA
                READ_RSP.

    Change:     [FW] Fixed retransmission TX path.

    Introduced: Day 1.

    Relevance:  iWARP.

11. Problem:    CQ915210 - FW assertion may occur on a race condition where we
                are getting RST and sending RST at the same time.

    Change:     [FW] Don't handle incoming RST in case we have already sent a
                RST.

    Introduced: FW 8.18.5.0.

    Relevance:  iWARP.

12. Problem:    CQ91474 - FW assertion may occur if running perf test without
                rdma_cm_mode.

    Change:     [FW] Handle race condition in modify qp flow.

    Introduced: FW 8.18.5.0.

    Relevance:  iWARP.

13. Problem:    CQ91527, CQ91654 - Retransmission flow in rare cases might cause
                HW attention.

    Change:     [FW] Fix retransmission flow.

    Introduced: Day 1.

    Relevance:  RoCE.

14. Problem:    SYN Packets received with errors aren't handled properly.

    Change:     Check error flags and drop SYN packet if it is received with
                error.

    Introduced: Day 1.

    Relevance:  iWARP.

15. Problem:    Memory leak when SYN packet processing fails.

    Change:     If SYN packet processing failed for any reason, return RX
                buffer to pool.

    Introduced: Day 1.

    Relevance:  iWARP.

16. Problem:    Theoretical bug can occur when an unaligned FPDU is split over
                more than 2 tcp segments and a buffer is posted back to rx
                chain before FW completed processing other packets placed on
                the same tcp segment.

    Change:     Change buffer repost flow to go via tx chain to ensure all
                previous data has completed transmission.

    Introduced: 8.18.12.0.

    Relevance:  iWARP unaligned MPA flows.

Enhancements:
-------------
 1. Request:    ecore_iov_pf_add_pending_events() is removed.
                ecore_iov_pf_get_and_clear_pending_events() is renamed
                ecore_iov_pf_get_pending_events().

 2. Request:    If iWARP receive window size configured is less than the
                minimum 64K, 64K will be set instead of 1M. Remove support for
                configuring a default value in case a value is not provided.

 3. Request:    [FW] Add support for 'drop' destination for LL2 TX packets.

Version 8.18.12.0 (Feb 09, 2017)
================================
Internal FW 8.18.13.0

Fixes:
------
 1. Problem:    CQ91001 - AH: PTP Sync not working.

    Change:     Add workaround for latching the 2-step ptp packets.

    Introduced: Day 1.

    Relevance:  PTP.

 2. Problem:    CQ91465 - driver disable hits assert.

    Change:     Correctly release tcp cids.

    Introduced: Day 1.

    Relevance:  iWARP.

 3. Problem:    The LL2 RX completion spin lock may be unlocked with a set of
                flags that is different from the ones it was locked with.

    Change:     Unlock the spin lock with the same set of flags it was locked
                with.

    Introduced: Day 1.

    Relevance:  LL2.

 4. Problem:    CQ91499 - driver crash while unloading RDMA driver.

    Change:     iWARP related bitmaps should only be freed if iWARP is enabled.

    Introduced: 8.18.8.0.

    Relevance:  iWARP.

 5. Problem:    CQ91210 - driver assert while unloading during traffic.

    Change:     wait for all cids to be released.

    Introduced: Day 1.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    PF ECORE allows to UL to prevent HW overriding VF MSI-X
                table size.

 2. Request:    Remove support in default SmartLinQ configuration. Feature is
                in the MFW-only domain.

 3. Request:    Add support for Energy efficient ethernet (EEE) feature.

 4. Request:    Mask parity errors once they are asserted.

 5. Request:    Add support for unaligned MPA packets received over
                more than two tcp segments.

 6. Request:    Add unaligned rx packets received statistic for iWARP.

Version 8.18.11.0 (Feb 02, 2017)
================================
Internal FW 8.18.13.0

Fixes:
------
 1. Problem:    Usage of a non-initialized spinlock.

    Change:     Move initialization earlier.

    Introduced: Day 1 of iWARP.

    Relevance:  iWARP.

 2. Problem:    Receive window used for verification when receiving packets is
                wrongfully reduced by scaling it down and up.

    Change:     [FW] Fix receive window calculation.

    Introduced: Day 1.

    Relevance:  TCP.

 3. Problem:    Post send before connection is established doesn't work.

    Change:     [FW] Initialize Send-Queue parameters during create QP rather
                than when moving to full mode (after connection is established).

    Introduced: Day 1.

    Relevance:  iWARP.

 4. Problem:    CQ90930 - FW assert in case of tcp window edge going backward
                during fast-rxmit.

    Change:     [FW] Fix fast-rxmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 5. Problem:    CQ91241 - Receiving Syn or Syn-Ack packet with MSS option
                smaller than 536 will not be accepted.

    Change:     [FW] Change MSS minimum to 64 in validation.

    Introduced: FW 8.18.5.0.

    Relevance:  TCP.

 6. Problem:    PF ID not configured correctly in aRFS profile.

    Change:     [FW] Fix set_rfs_mode_enable HSI function.

    Introduced: Day 1.

    Relevance:  L2.

 7. Problem:    RTR may accidentally sent after RST had arrived.

    Change:     [FW] Don't send RTR if we already got RST.

    Introduced: FW 8.18.11.0.

    Relevance:  iWARP.

 8. 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:    Implement PTP MFW resource locking mechanism. Only PF which
                holds this lock is allowed to use ptp clock on the port.

 2. Request:    Added OSAL_DIV_S64() to help 64-bit division
                on 32-bit platforms.

 3. Request:    Add a warning printout in case of a DID mismatch between
                nvm-cfg/efuse.

Version 8.18.10.0 (Jan 24, 2017)
================================
Internal FW 8.18.12.0

Fixes:
------
 1. Problem:    CQ90788, CQ90801 - FW assert may happen when a connection is
                re-established after RST had arrived.

    Change:     [FW] Fix error handling flow.

    Introduced: FW 8.18.5.0.

    Relevance:  iWARP.

 2. Problem:    Can't open connection with same 4-tuple after previous failed.

    Change:     Fix error handling flow in driver.

    Introduced: FW 8.18.9.0.

    Relevance:  iWARP.

 3. Problem:    Rejecting a connection after MPA reply arrived is not working
                properly.

    Change:     [FW] Fix the flow that aborts the TCP connection without
                changing the QP state.

    Introduced: FW 8.18.11.0.

    Relevance:  iWARP (Windows only).

 4. Problem:    CQ91075 - FW assert may happen during retransmissions.

    Change:     [FW] Fix missing initialization of TCP receive window.

    Introduced: FW 8.18.10.0.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    CQ90608 - when setting link via ecore_mcp_set_link(), always
                inform client via OSAL_LINK_UPDATE of current state.

 2. Request:    [FW] Add support for iWARP (phase 2).

 3. Request:    Add SmartLinQ support - link_capabilities now contain the
                default, link_params have new field 'smartlinq' to enable it.

 4. Request:    Added new API ecore_iwarp_tcp_abort().

 5. Request:    Add an option to override the default force load behavior.

 6. Request:    Increase the max number of CQs from 64 to 128.

 7. Request:    Add support for the mdump GET/CLR_RETAIN sub commands.

Version 8.18.9.0 (Jan 18, 2017)
===============================
Internal FW 8.18.10.0

Fixes:
------
 1. Problem:    Not zeroing the whole union data of the MFW mailbox, and thus
                disabling future extension of existing union members.

    Change:     Zero the whole union data before copying the actual union
                member.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    Outbound limit of the initiator isn't reduced in case inbound
                limit of the peer is lower.

    Change:     Reducing the limit accordingly.

    Introduced: Day 1.

    Relevance:  iWARP.

 3. Problem:    CQ90180, CQ88940, CQ90409, CQ90313 - Condition race between MFW
                attentions and pf stop command during unload flow cause ASSERT.

    Change:     Sync PF stop and MFW UNLOAD Request flow.

    Introduced: Day 1.

    Relevance:  Unload, Power Management.

 4. Problem:    CQ90157 - PTP sync fails after restarting ptp4l application.

    Change:     Reset the Rx-timestamp register when configuring the rx filters.
                This is a work-around till we root-cause the issue of missing/
                FW-dropped PTP packet when the application is restarted.

    Introduced: Day 1.

    Relevance:  PTP.

 5. Problem:    CQ90915: Cannot start all VFs due to lack of queues.

    Change:     Assign VF-queues and only later the PF-queues.

    Introduced: Day 1.

    Relevance:  L2.

 6. Problem:    Can't set interrupt coalescing of 128+ usecs.

    Change:     Pass igu index instead of protocol index in coalesce flow.

    Introduced: 8.18.7.0.

    Relevance:  All.

 7. Problem:    IPv4 Packets were transmitted with the flag 'dont fragment'
                cleared.

    Change:     [FW] Set the 'dont fragment' flag.

    Introduced: Day 1.

    Relevance:  TCP.

 8. Problem:    SYN-ACK packets with TS option were sent with wrong ts_echo
                value.

    Change:     [FW] Fix extraction of ts_val from SYN packet.

    Introduced: FW 8.10.3.0.

    Relevance:  TCP option 2 with timestamp enabled.

 9. Problem:    In rare cases when running with more than 2 QPs and sending
                read/atomic request, completion error may be generated.

    Change:     [FW] Fix transmission flow.

    Introduced: Day 1.

    Relevance:  RoCE, iWARP.

10. Problem:    Reading DBU_REG_CMD in AH as part of GRC Dump can cause an
                address error.

    Change:     [FW] Excluded DBU_REG_CMD from GRC Dump in AH.

    Introduced: Day 1.

    Relevance:  Debug tools.

11. Problem:    Application may hang when re-establishing a connection after it
                was rejected.

    Change:     [FW] Fix MPA reject flow.

    Introduced: FW 8.18.9.0.

    Relevance:  iWARP.

12. Problem:    Always trying to release the resource lock when the resource
                allocation fails, even when it is not needed.

    Change:     Try to release only when it is required.

    Introduced: 8.18.7.0.

    Relevance:  All.

13. Problem:    CQ91075 - iWARP assert during boot with latest components.

    Change:     Fix driver initialization of default number of ooo buffers.

    Introduced: 8.18.9.0.

    Relevance:  All.

14. Problem:    CQ90379: Driver provides MFW with bad primary MAC when changed.

    Change:     Prepare MAC in native endian order for MFW to read.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Infrastructure changes toward supporting Multiple Txq on same
                queue zone for VF.

 2. Request:    Added new OSAL - OSAL_DPC_SYNC().

 3. Request:    Added ll2 option to limit the number of maximum bds per
                packet. This is to reduce descriptor size when maximum bds per
                packet is low and enable allocating a larger number of tx
                descriptors if needed.

 4. Request:    iWARP Support for packed and unaligned fdpus.

 5. Request:    Remove the un-needed ecore API ecore_ptp_enable_pkt2host().

 6. Request:    Read the BB/AH MAC counters from the suitable statistics bins.

 7. Request:    ecore_int_get_num_sbs() returns more information about SBs.

 8. Request:    Add new API ecore_int_igu_relocate_sb() to be used for moving
                SBs between PF and its child-VFs.

 9. Request:    ecore_queue_start_common_params needs SB reference instead
                of index.

10. Request:    Add new OSAL - OSAL_CRC8().

11. Request:    Add new OSAL - OSAL_CRC8_POPULATE().

12. Request:    [FW] iWARP performance optimization of WRITE & SEND flows.

13. Request:    [FW] RoCE support of Unreliable Datagram QP for GSI offload.

14. Request:    Added new API ecore_iov_pf_configure_vf_queue_coalesce(),
                PF configures the Rx/Tx coalesce values of its child-VFs
                on per Rx/Tx queue basis.

15. Request:    Add new OSAL - OSAL_CACHE_LINE_SIZE.

16. Request:    Add a restriction on the pad to cache line size register.

17. Request:    RoCE support of Unreliable Datagram QP for GSI offload.

Version 8.18.8.0 (Jan 11, 2017)
===============================
Internal FW 8.18.9.0

Fixes:
------
 1. Problem:    CQ90907 - Continuous SGMII 10M/100M interrupts in AN mode.

    Change:     Removed all NWM and NWS initializations from the Init Tool.

    Introduced: Day 1.

    Relevance:  All.

Version 8.18.7.0 (Dec 29, 2016)
===============================
Internal FW 8.18.9.0

Fixes:
------
 1. Problem:    CQ90214 - Speed of the VF is not same as that of the PF.

    Change:     Updated bulletin board with link state during VF initialization.

    Introduced: Day 1.

    Relevance:  VF Link.

 2. Problem:    Responder doesn't set peer2peer correctly in MPA rev2 in some
                cases.

    Change:     Fix driver to always respond with peer2peer in MPA rev2 if
                requester requested peer2peer mode.

    Introduced: 8.18.4.0.

    Relevance:  iWARP MPA enhanced mode.

 3. Problem:    CQ90010 - FW may accidentally drop packets when Tx Switching
                Same-as-Last feature is enabled.

    Change:     [FW] Fix Tx Switching Same-as-Last classification logic.

    Introduced: Day 1.

    Relevance:  SRIOV.

 4. Problem:    CQ90198 - Firmware may not give flush on incomplete SQ wqes
                after the QP was moved to error state.

    Change:     [FW] Fix the error handling flow that give flushes to SQ.

    Introduced: FW 8.18.5.0.

    Relevance:  iWARP.

 5. Problem:    Placement to an address out of the MR scope may pass firmware
                verifications.

    Change:     [FW] Fix the calculation of the last byte address of the MR.

    Introduced: Day 1.

    Relevance:  iWARP, RoCE.

 6. Problem:    Destination GID was missing from LL2 RX GSI API.

    Change:     Add it.

    Introduced: Day 1.

    Relevance:  iWARP, RoCE.

 7. Problem:    Assert in ecore_sp_vf_start() while installing drivers for VF.

    Change:     Added missing initialization in case of personality is iWARP.

    Introduced: iWARP Day 1.

    Relevance:  iWARP and SRIOV coexistence.

 8. Problem:    GRC Dump corrupts a debug bus recording that was taken on
                another PF on the same engine.

    Change:     [FW] Skip static debug dump if the DBG block is enabled
                (indicates that a debug bus recording is in progress).

    Introduced: Day 1.

    Relevance:  Debug Tools.

 9. Problem:    GRC Dump writes to protected registers, causing error entries
                in REG FIFO.

    Change:     [FW] Modified GRC Dump to avoid taking LED and AVS_WRAP blocks
                out of reset.

    Introduced: FW 8.10.5.0.

    Relevance:  Debug Tools.

10. Problem:    A DPM doorbell can cause a false parity attention.

    Change:     [FW] Initialized the entire DORQ WQE buffer with zeros.

    Introduced: Day 1.

    Relevance:  RoCE.

11. Problem:    CQ90473 – DCQCN packets may not be received in BB B0 in 100G,
                2x50G and 4x25G mode.

    Change:     [FW] HW bug workaround - initialize the register to the correct
                value.

    Introduced: Day 1.

    Relevance:  RoCE DCQCN.

12. Problem:    DMAE failure when stopping RDMA during the unload phase of the
                recovery process.

    Change:     Avoid DMAE transactions while a recovery is in progress.

    Introduced: Day 1.

    Relevance:  Error recovery.

Enhancements:
-------------
 1. Request:    VF tunneling support.

 2. Request:    VF ethtool coalescing support.

 3. Request:    Enable mutually exclusive rdma flavor.
                Added API via ecore_rdma_pf_params to configure RDMA flavor.

 4. Request:    iWARP support for MPA reject flow.

 5. Request:    iWARP support for RTR Read (Revision 2).

 6. Request:    Resource allocation interface v2.0 (setting values of soft
                resources).

 7. Request:    Client to provide vport & RSS engine IDs when initializing VFs.

 8. Request:    Add udp ports in bulletin to notify VFs for port change.

Version 8.18.6.0 (Dec 15, 2016)
===============================
Internal FW 8.18.7.0

Fixes:
------
 1. Problem:    Default number of iWARP OOO RX Buffers is 512 instead of 8K.

    Change:     Fix default value initialization.

    Introduced: Day 1.

    Relevance:  iWARP.

 2. Problem:    CQ90310,CQ90311, CQ90219 - Incorrect input buffer thresholds of
                Pause and PFC.

    Change:     [FW] Fixed incorrect input buffer thresholds for better support
                of Pause and PFC.

    Introduced: Day 1.

    Relevance:  iSCSI, iWARP (AH only).

 3. Problem:    CQ89928 - Asynchronous message of "QP catastrophic error" return
                during retransmit sequence.

    Change:     [FW] Fix retransmit flow.

    Introduced: Day 1.

    Relevance:  RoCE.

 4. Problem:    CQ90121 - FW assertion after unloading qedr will occur if
                register/deregister MR operation failed.

    Change:     [FW] Fix MR register and deregister flows.

    Introduced: Day 1.

    Relevance:  RoCE.

 5. Problem:    CQ90357 - iWARP wrong ird/ord values published.

    Change:     Set correct maximum ord/ird values for iWARP.

    Introduced: Day 1.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    Revise tunnel struct/APIs.

 2. Request:    Add support for usage of the MFW generic resource lock.

 3. Request:    RSS configuration via vport-update is done using queue-handles.

 4. Request:    New API: ecore_mcp_ov_get_fc_npiv - Read NPIV table from MFW.

 5. Request:    New API: ecore_mcp_update_fcoe_cvid - Send FCoE vlan to MFW.

 6. Request:    New API: ecore_mcp_update_fcoe_fabric_name - Send Fabric name
                to MFW.

 7. Request:    New OSAL: OSAL_HW_INFO_CHANGE to indicate of management changes
                to hw_info fields.

 8. Request:    OSAL_VALLOC is obsolete and is replaced by OSAL_VZALLOC which
                should also zero the memory.

 9. Request:    Add support for the new load request flow for handling a
                previous driver unload.

10. Request:    Add ecore support to recognize the iwarp app TLV, and configure
                the device with the user provided values.

Version 8.18.5.0 (Dec 05, 2016)
===============================
Internal FW 8.18.6.0

Fixes:
------
 1. Problem:    CQ90347 - AH 10GBaseT: [One time crash] System hit a bugcheck on
                disabling both ports from switch. System halts if CID resource
                is not available for allocation.

    Change:     Don't cause system halt, just return error code.

    Introduced: Day 1.

    Relevance:  RoCE.

 2. Problem:    CQ90311 - Disable Nop-Out and login to target, seeing
                "iscsi_error - rq ring full".

    Change:     BDQ resource management is fixed.

    Introduced: 8.18.4.0.

    Relevance:  Storage.

 3. Problem:    CQ90198: freeing contiguous memory from dpc context.

    Change:     Fix ecore to free memory from passive context.

    Introduced: 8.18.4.0.

    Relevance:  iWARP.

 4. Problem:    CQ90033 - fw assert due to improper out-of-order handling.

    Change:     [FW] fix out-of-order trimming flow.

    Introduced: Day 1.

    Relevance:  iSCSI, iWARP.

 5. Problem:    CQ90098 - FW may not give completions after the connection was
                re-offloaded.

    Change:     [FW] Init all parameters when the connection is offloaded.

    Introduced: Day 1.

    Relevance:  iWARP.

 6. Problem:    CQ90334 - FW "flr_cleanup_func_invalid_state" Fatal Assert upon
                scenario of consecutive FLR Initial cleanups to function.

    Change:     [FW] Severity of "flr_cleanup_func_invalid_state" reduced to
                Warning (scenario may occur).

    Introduced: Day 1.

    Relevance:  All.

 7. Problem:    Firmware may be stuck if it gets a SYN packet with 40B of
                options.

    Change:     [FW] Support such scenario in Firmware.

    Introduced: Day 1.

    Relevance:  iSCSI Target, iWARP.

 8. Problem:    VF isolation problem - VF can cause parity errors by reading
                from X or Y Storm VF Zone.

    Change:     [FW] Fix Zone B configuration in init tool.

    Introduced: FW 8.18.2.0.

    Relevance:  SR-IOV.

 9. Problem:    Device transmitter pipe stuck.

    Change:     Use correct TC for loopback in 4 port environment.

    Introduced: Day 1.

    Relevance:  iWarp/iSCSI Arrowhead 4 port.

Enhancements:
-------------
 1. Request:    Change database of connections in OOO from linked list to array
                to improve search time.

Version 8.18.4.0 (Nov 28, 2016)
===============================
Internal FW 8.18.5.0

Fixes:
------
 1. Problem:    Initialization fails due to supposed lack of VFs SBs.

    Change:     Correct calculation of first_vf_in_pf for servers with no ARI.

    Introduced: Day 1.

    Relevance:  AH, no ARI.

 2. Problem:    Firmware doesn't set the invalidate flag in RQ CQE when there
                is send w/ invalidate.

    Change:     [FW] Set the invalidate flag and invalidated S-TAG on the RQ CQE
                (when Send W/ Invalidate arrives).

    Introduced: Day 1.

    Relevance:  iWARP.

 3. Problem:    CQ89925, CQ90099, CQ90065, CQ90068, CQ90247 - Firmware may avoid
                sending SYN-ACK to the peer and stall the TX path.

    Change:     [FW] Fix the firmware flow on passive side.

    Introduced: Day 1.

    Relevance:  iWARP.

 4. Problem:    CQ90262 - Parsing SYN options field may cause Tcp offload ramrod
                to stuck.

    Change:     [FW] Fix Tcp options field parsing.

    Introduced: FW 8.10.3.0.

    Relevance:  iSCSI (Target), iWARP.

 5. Problem:    CQ90311 - Disable Nop-Out and login to target, seeing
                "iscsi_error - rq ring full".

    Change:     BDQ resource management is fixed.

    Introduced: 8.18.3.0.

    Relevance:  Storage.

Enhancements:
-------------
 1. Request:    L2 queue APIs changed - require less parameters to open
                queues and move into a handler-based implementation.

 2. Request:    Add ecore support for processing the TLV request from MFW.

 3. Request:    Improve cache-alignment of ecore_chain - place all fields
                required for produce/consume in a single cacheline [64 bytes].

 4. Request:    iWARP support for Read With Invalidate.

 5. Request:    iWARP - Add support for MPA revision 2 (enhanced).

 6. Request:    iWARP - Add support for SYN retransmit timeout indication.

Version 8.18.3.0 (Nov 21, 2016)
===============================
Internal FW 8.18.4.0

Fixes:
------
 1. Problem:    Driver does not get completions when entering retransmit flow
                for high functions of an engine.

    Change:     Driver did not initialize a resource correctly.

    Introduced: 8.18.0.0.

    Relevance:  iWARP NPAR and 4-port mode.

 2. Problem:    CQ89024 - while running qperf a tid deregistration fails.
                Cause: after FW requested a NIG drain then the retransmitted
                ramrod is sent without properly configuring the itid.

    Change:     Properly configure the itid in the retransmitted ramrod.

    Introduced: Day 1.

    Relevance:  RoCE/iWARP.

 3. Problem:    CQ90143 - iSCSI discovery fails if done while FCoE driver is
                loaded.

    Change:     Fail storage driver load if queue/cq request is beyond CQ
                resource allocation.

    Introduced: Day 1.

    Relevance:  iSCSI/FCoE.

 4. Problem:    HW attentions cause idle check failures even when they are
                masked.

    Change:     (FW) Updated idle check to consider attentions masking.

    Introduced: Day 1.

    Relevance:  Debug Tools.

 5. Problem:    Possible garbage in PCIE Trace due to HW reset value bug.

    Change:     (FW) HW bug workaround - initialize the register to the correct
                value.

    Introduced: Day 1.

    Relevance:  Debug Tools.

 6. Problem:    CQ89179 - HW attention may occur due to a HW bug that may
                exposed when there is a traffic with DIF.

    Change:     (FW FCoE) Work-around in FCoE RX path.

    Introduced: Day 1.

    Relevance:  FCoE, DIF.

 7. Problem:    Heavy iWARP traffic that includes retransmissions may cause to
                unexpected behavior.

    Change:     (FW iWARP) Verify there is a place in OOO queue before placing
                there packets.

    Introduced: Day 1.

    Relevance:  iWARP.

 8. Problem:    Parity attention may occur when dumping a debug bus recording
                from the DBG block internal buffer, due to a HW bug.

    Change:     (FW) Masked the parity attention.

    Introduced: Day 1.

    Relevance:  Debug Tools.

 9. Problem:    iWARP Rxmit statistics don't appear properly on high functions.

    Change:     Wrong id passed to FW macro.

    Introduced: 8.18.2.0.

    Relevance:  iWARP rxmit statistics.

10. Problem:    CQ89459 - System hits a bugcheck on setting ND Max QP to 16.

    Change:     Nullify hwfn structures' pointers after being freed.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Remove the `ver_str' field that the upper driver should have set
                before calling hw_init().

 2. Request:    Support RoCE event statistics.

 3. Request:    Add ecore interfaces for MFW TLV request processing.

 4. Request:    Add WoL magic packet support routines for Windows.

 5. Request:    (FW) Debug Bus tool updates:
                - Modified recording format to allow data synchronization in
                  case of: multiple groups per debug line, debug line split in
                  wrap-around mode, and data drops due to low bandwidth.
                - Improved readability of parsed HW blocks recordings.
                - Automatic detection of 256-bit debug lines.
                - Support specifying debug lines by name.

 6. Request:    (FW iSCSI) iSCSI support for test unit ready (R=0, W=0).

 7. Request:    (FW iWARP) Add support to MPA version2 (enhanced) in iWARP.

 8. Request:    Add new OSAL - OSAL_STRTOUL().

 9. Request:    Use the MFW mailbox for getting BDQ resource allocation
                information.

Version 8.18.2.0 (Nov 13, 2016)
===============================
Internal FW 8.18.3.0

Fixes:
------
 1. Problem:    CNIG attentions appear when hitting NWM/NWS attentions.

    Change:     Correct AH aeu bit mapping to HW blocks.

    Introduced: Day 1.

    Relevance:  AH.

 2. Problem:    Modifying QP to IDLE before destroying the QP will cause
                the next connection attempt done with an identical 4-tuple to
                fail.

    Change:     Fix flow.

    Introduced: Day 1.

    Relevance:  iWARP.

 3. Problem:    CQ89764: AH-Duluth-10GBaseT: Observed QEVBDA assert while
                running WHCK test PNP surprise Remove Device Test.

    Change:     If CID bitmap isn't allocated yet, assume there are no QPs.

    Introduced: 8.5.2.0.

    Relevance:  RoCE/iWARP.

 4. Problem:    Newer MFW might cause driver to reach OSAL_ASSERT.

    Change:     Don't do DP_NOTICE() in case of unknown MFW message.

    Introduced: Day 1.

    Relevance:  All.

 5. Problem:    FW assert may happen during connection establishment when there
                are retransmits.

    Change:     (FW iWARP) Fix ingress processing during connection
                establishment.

    Introduced: Day 1.

    Relevance:  iWARP.

 6. Problem:    Traffic continues after disable VPORT.

    Change:     (FW L2) Fix VPORT disable FW flow.

    Introduced: Day 1.

    Relevance:  L2.

 7. Problem:    VF isolation problem - VF can access parts of internal RAM of
                Storms in which VF Zone is unused.

    Change:     (FW) Disable VF access to Zone B of unused Storms.

    Introduced: Day 1.

    Relevance:  SRIOV.

 8. Problem:    Malicious VF Flood - Malicious VF driver can cause EQEs flood
                to parent PF by constantly writing to Ustorm VF zone.

    Change:     (FW) Block malicious VF.

    Introduced: Day 1.

    Relevance:  SRIOV.

 9. Problem:    Dropped RDMA read response may cause the RDMA read request to
                be sent multiple times.

    Change:     (FW RoCE) Fix implied NAK implementation to only retransmit
                once.

    Introduced: Day 1.

    Relevance:  RoCE.

10. Problem:    Modifying QP to error state, while there is still traffic
                running, might results with error return on completion queue.

    Change:     (FW RoCE) Fix Requester flow.

    Introduced: FW 8.3.0.0.

    Relevance:  RoCE.

11. Problem:    Multiple MTU RDMA Writes with T10 DIF sent without ACK request
                resulting in low performance.

    Change:     (FW RoCE) Fix ACK request flag setting.

    Introduced: FW 8.18.0.0.

    Relevance:  RoCE.

12. Problem:    Parity attention on SEMI interrupt table.

    Change:     (FW) Initialize the entire interrupt table with default event.

    Introduced: Day 1.

    Relevance:  All.

13. Problem:    CQ89456 - HW attention on BRB RC0_EOP_OUT_SYNC_FIFO_PUSH_ERROR.

    Change:     (FW) Mask BRB RC0_EOP_OUT_SYNC_FIFO_PUSH_ERROR.

    Introduced: Day 1.

    Relevance:  All.

14. Problem:    CQ89756 - full out-of-order queue results in deadlock and
                connection errors.

    Change:     (FW iSCSI) Add almost-full limit to the queue filling logic.

    Introduced: Day 1.

    Relevance:  iSCSI.

15. Problem:    Out-of-bound memory access on MFW interaction for resource
                allocation.

    Change:     Fix the access to use the suitable driver mailbox union.

    Introduced: 8.10.5.0.

    Relevance:  All.

16. Problem:    Malicious VF Flood - Malicious VF driver can cause EQEs flood to
                parent PF by constantly writing 0 to vf_pf_msg_valid in Ustorm
                VF zone.

    Change:     (FW) Block malicious VF.

    Introduced: Day 1.

    Relevance:  SRIOV.

17. Problem:    CQ89695 - Ramrod stuck while rebooting VF. False detection of
                PCI read error.

    Change:     (FW) Fix PCI error check for VF slow path.

    Introduced: Day 1.

    Relevance:  SRIOV.

18. Problem:    CQ89793 - ASSERT might occur during driver load.

    Change:     (FW) Remove the initialization of NWM_REG_PRTY_MASK_H_1 from the
                Init Tool.

    Introduced: Day 1.

    Relevance:  FC-FEC, AH only.

19. Problem:    CQ86787 - HW attention may occur during TCP establishment or
                tear-down.

    Change:     (FW iSCSI) Fix pure-ack flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

20. Problem:    FW assertion may occur during TCP tear-down.

    Change:     (FW iSCSI) Fix Clear SQ flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

21. Problem:    CQ89179 - HW attention during iSCSI non-DIF Rx traffic.

    Change:     (FW iSCSI) Fix iSCSI non-DIF Rx flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

22. Problem:    Wrong HW attentions debug print when attentions appear in more
                than one register per block.

    Change:     (FW) Fix HW attentions debug print.

    Introduced: Day 1.

    Relevance:  Debug Tools.

23. Problem:    In CFC Delete Flow - When driver unloads, if there is active L2
                traffic, a Fatal "common_poll_reg_timeout_assert" FW assert is
                invoked.

    Change:     (FW RoCE) "common_poll_reg_timeout_assert" reduced to warning.

    Introduced: FW 8.10.8.0.

    Relevance:  RoCE.

24. Problem:    In retransmit flow, FW ran out of buffers.

    Change:     Driver flow didn't initialize param correctly.

    Introduced: Day 1.

    Relevance:  iWARP.

25. Problem:    FW assert if VF vport closed while queues are activei.

    Change:     Make sure VF queue are closed before stopping vport.

    Introduced: Day 1.

    Relevance:  SRIOV.

Enhancements:
-------------
 1. Request:    New API function ecore_vf_get_num_mac_filters().

 2. Request:    Case 00041880 - NIG_REG_{RX_BRB, STORM}_OUT_EN shouldn't
                change; MFW will close the BRB-NIG interface properly.

 3. Request:    Add API for getting/setting LLDP MAC address.

 4. Request:    Decrease memory consumption used for SYN packet handling in
                iWARP.

 5. Request:    CQ89592: Add new rdma pf param `max_cnqs' and expose the API
                to `ecore_hw_set_feat()'. To be used under certain limitations.

 6. Request:    Restructure QM initialization code. QM info is no longer
                reallocated at DCBx renegotiation. Vports and PQs are no
                longer allocated at max values but allocated exactly.

 7. Request:    (FW) Add CRC to all debug binary dumps.

 8. Request:    Protect releasing LL2/iSCSI/OOO resources flow by NULL checking.

 9. Request:    iWARP: Add retransmit statistics to ecore_rdma_stats.

10. Request:    (FW RoCE) Add RoCE statistics for internal CRC, retransmit
                tries, RNR nak and silent drops.

11. Request:    (FW) Add support for context validation.

12. Request:    Allocate an additional QM physical queue for roce PFs for low
                latency during traffic.

13. Request:    Add ecore API for getting the MBI version.

Version 8.18.1.0 (Oct 30, 2016)
===============================
Internal FW 8.18.1.0

Fixes:
------
 1. Problem:    When querying a RoCE port the max_msg_sz field is set to zero.

    Change:     Configure the max_msg_sz field.

    Introduced: Day 1.

    Relevance:  RoCE/iWARP.

 2. Problem:    CNIG attentions appear on port #4 regardless of actual port.

    Change:     Correct logic finding first CNIG attention to be asserted.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    Register MR might fail if we did before Deregister MR while the
                port was paused.

    Change:     (FW RoCE) Fix deregister MR flow.

    Introduced: FW 8.14.2.0.

    Relevance:  RoCE.

 4. Problem:    Encapsulated broadcast packet may be dropped, if VNI used for
                tunnel classification and more than 160 filters configured.

    Change:     (FW L2) Fix FW flow.

    Introduced: FW 8.10.4.0.

    Relevance:  L2.

 5. Problem:    After QP is destroyed during traffic, reusing the connection
                resource may lead to firmware assert.

    Change:     (FW RoCE) Fix internal firmware queue state tracking code.

    Introduced: FW 8.3.0.0.

    Relevance:  RoCE.

 6. Problem:    Same aRFS filter used for TCP and UDP traffic.

    Change:     (FW L2) Add L4 protocol type to aRFS filter profile.

    Introduced: Day 1.

    Relevance:  L2.

 7. Problem:    TCP window probe will not be retransmitted (if it wasn't ACKed).

    Change:     (FW iSCSI/iWARP) Retransmit the window probe if it wasn't ACKed
                for RTO time.

    Introduced: Day 1.

    Relevance:  iSCSI, iWARP.

 8. Problem:    FW assertion may happen when doing modify QP to error.

    Change:     (FW iWARP) Check that SQ is empty instead of verifying we gave
                completions for all wqes (might be non-signalled wqes).

    Introduced: Day 1.

    Relevance:  iWARP.

 9. Problem:    AH Bug in High Malicious VF limitation and VFP (VF PF Channel).
                When High (191 for instance) VFs are used (on VMs for instance)
                and a malicious VF is detected.
                In addition FLR Cleanup was not completed properly..

    Change:     (FW SRIOV) Allow up to 192 Malicious VFs (range 0..191) support.
                Wrong limitation to VF vector caused it. Also - VPC's ready-bit
                must be set as VF is returned to its original ("virgin") state,
                in which the VPC must be ready regardless of whether the driver
                acked (set the ready bit) the last request or not.

    Introduced: Day 1.

    Relevance:  SRIOV.

10. Problem:    Data integrity when re-transmitting large (>255 DIF intervals)
                IO with Dif.

    Change:     (FW iSCSI) Fix FW flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

11. Problem:    User application hang due to RT failure.

    Change:     (FW iWARP) Fix the RT flow.

    Introduced: Day 1.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    New API function ecore_int_get_sb_dbg() to return SB dbg info.

 2. Request:    hw_prepare() parameters can now be used to allow graceful
                behavior, allowing 'lacking' probes to succeed.

Version 8.18.0.0 (Oct 19, 2016)
===============================
Internal FW 8.18.0.0

Fixes:
------
 1. Problem:    CQ89032 - iWARP - crash during initialization with SRIOV
                enabled.

    Change:     Fix TM block ILT initialization.

    Introduced: 8.14.3.0 TM attention fix.

    Relevance:  iWARP and SRIOV coexistence.

 2. Problem:    FW return code is checked even if TID register ramrod posting
                failed.

    Change:     Check FW return code only if ramrod was posted successfully.

    Introduced: Day 1.

    Relevance:  RoCE.

 3. Problem:    CQ88918 - iWARP - Assert during connection close, freeing
                dma-able memory from dpc by ecore.

    Change:     Move memory free to later phase which is called in passive.

    Introduced: iWARP Day 1.

    Relevance:  iWARP.

 4. Problem:    iWARP - Application hangs during destroy.

    Change:     CLOSE callback not called properly in all cases.

    Introduced: 8.14.4.0.

    Relevance:  iWARP.

 5. Problem:    If creating a CQ failed then the CQ bitmap was cleared without
                lock.

    Change:     Clear the relevant bit from the bitmap under lock.

    Introduced: Day 1.

    Relevance:  RoCE.

 6. Problem:    CQ88823 - Value of number of queue is showing 2 with default
                resource allocation value i.e. 0.

    Change:     Change qid value from 8 bit field to 16 bit.

    Introduced: Day 1.

    Relevance:  All.

 7. Problem:    False idle check failure on NIG DBGMUX_SYNCFIFO_ERROR_WR
                interrupt.

    Change:     (FW) Fix idle check rule that checks NIG_REG_INT_STS.

    Introduced: Day 1.

    Relevance:  Debug Tools.

 8. Problem:    HW attention while running Rx traffic with DIF.

    Change:     (FW iSCSI) Fix the iSCSI Rx DIF flow.

    Introduced: FW 8.14.0.0.

    Relevance:  iSCSI DIF.

 9. Problem:    CQ89197 - logs show AH0 for an arrowhead A1 adapter.

    Change:     Consider both REV and METAL, and change print into AH A{0,1}.

    Introduced: Day 1.

    Relevance:  All.

10. Problem:    After FLR, previously malicious VF fails to init sometimes.

    Change:     Make VF-PF channel operational while handling VF FLR.

    Introduced: Day 1.

    Relevance:  SRIOV.

11. Problem:    CQ89309 - VFs creation fail in Default mode with storage.

    Change:     Add new feature ECORE_VF_L2_QUE to reflect supported number
                of queues by all VFs.

    Introduced: Day 1.

    Relevance:  IOV on BB 4-port / AH 2-port+ with storage enabled.

12. Problem:    The nvram test fails after MFW crash dump is collected and its
                image's CRC stops being valid.

    Change:     Exclude the image of the MFW crash dump from the nvram test.

    Introduced: Day 1.

    Relevance:  Selftests.

13. Problem:    Cont00089354 - Arrowhead-10G: Observed QEVBDA Assert while
                running SMB SmbConnect LOGO test on AH 10G board.
                Allocation of RoCE resource managed via a bitmap can cause an
                assert if bitmap is full.

    Change:     Don't assert in such a scenario.

    Introduced: Day 1.

    Relevance:  RoCE.

14. Problem:    QP resource leak.

    Change:     Free resource even if QP responder/requester was never
                offloaded.

    Introduced: 8.14.0.0.

    Relevance:  RoCE.

15. Problem:    iWARP MSS wasn't configured properly on passive side.

    Change:     Calculate header size correctly in passive side.

    Introduced: Day 1.

    Relevance:  iWARP.

16. Problem:    The PQs allocation doesn't enforce a granularity of 8.

    Change:     Make sure the number of PQs per-PF and their start value are
                divisible by 8.

    Introduced: 8.10.5.0.

    Relevance:  All.

17. Problem:    cq89243 AH A1: RoCE: Assert @ 'qevbda!ecore_int_deassertion_aeu
                bit+4fd' when rebooting host after RoCE I/O.

    Change:     Make sure that the ILT resources are released after the FW has
                completed its asynchronous operations.

    Introduced: 8.14.0.0.

    Relevance:  RoCE/iWARP.

18. Problem:    cq89522 iWARP: traffic failed over VLAN interfaces.

    Change:     Vlan comparison wasn't done correctly for cases where listen
                was done on ANY_IPADDR.

    Introduced: Day 1 of iWARP.

    Relevance:  iWARP.

19. Problem:    cq89307 iWARP: statistics not updated correctly for all ports.

    Change:     Same statistic counter was used for different ports.

    Introduced: Day 1 of iWARP.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    Read default mtu value from the shared-memory during the device
                initialization.

 2. Request:    Add support for the following OneView APIs.
                ecore_mcp_ov_update_mtu - Send MTU value to the MFW.
                ecore_mcp_ov_update_mac - Send MAC address to the MFW.
                ecore_mcp_ov_update_wol - Send WoL mode to the MFW.

 3. Request:    Send eswitch_mode to MFW after the firmware load.

 4. Request:    Configure NIG EDPM per TC enablement control bits for RoCE,
                RoCE_V2 traffic types.

 5. Request:    Expose crc_needed and rcv_wnd_size to upper layer driver.

 6. Request:    Update mfw when ecore assigns a default mtu value.

 7. Request:    Add support for accessing an external phy.

 8. Request:    (FW iWARP) Add support for iWARP phase-1.5 (Retransmissions and
                DCBX).

 9. Request:    Utilize DRV_MSG_CODE_GET_PF_RDMA_PROTOCOL for learning RDMA
                capabilities of interface.

10. Request:    Add new OSAL - OSAL_CRC32().

11. Request:    iWARP OOO support.

12. Request:    Prevent replication error bit from mismatch between the local
                and remote sending local admin MIB.

13. Request:    Add WoL magic packet support.

Version 8.14.4.0 (Sep 18, 2016)
===============================
Internal FW 8.14.7.0

Fixes:
------
 1. Problem:    BB indirect CNIG registers cannot be accessed by GRC Dump and
                MFW simultaneously.

    Change:     (FW) Excluded CNIG_REG_PMFC_IF_* and CNIG_REG_PMEG_IF_* from GRC
                Dump in BB.

    Introduced: Day 1.

    Relevance:  Debug Tools.

 2. Problem:    When final-cleanup sent on inactive function FW may send delete
                on wrong function.

    Change:     (FW) Verify activity of function before sending delete flow.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    Firmware assertion may happen during iWARP traffic that involves
                RDMA_READ/SENDs.

    Change:     (FW iWARP) Fix RQ handling flow.

    Introduced: Day 1.

    Relevance:  iWARP.

 4. Problem:    Closing RDMA function and opening it again without unloading the
                PF might cause memory access violation when accessing MRs.

    Change:     (FW RDMA) Fix MR registration flow.

    Introduced: Day 1.

    Relevance:  RDMA.

 5. Problem:    CQ88872 - FW assertion while running Tx traffic.

    Change:     (FW iSCSI) Fix the iSCSI RT flow.

    Introduced: FW 8.14.0.0.

    Relevance:  iSCSI.

 6. Problem:    Can’t open more than one QP simultaneously, and can’t post
                buffers prior to rdma_connect.

    Change:     (FW iWARP) Implement a new scheme of separating between tcp
                connection establishment cid and Iwarp QP cid. A.k.a. cid
                migration.

    Introduced: Day 1.

    Relevance:  iWARP.

 7. Problem:    CQ84502 - System crash during qevbd disable with verifier on.

    Change:     Fix memory leakage.

    Introduced: Day 1.

    Relevance:  iSCSI.

 8. Problem:    Dcbx update flag is being sent incorrectly to the FW.

    Change:     The flag is incorrectly converted to boolean before assigning
                it to ramrod data, fix this typecasting.

    Introduced: Day 1.

    Relevance:  dscp.

 9. Problem:    OS crash on partial driver reload, when the second load
                fails to allocate resources (e.g., requested too many QPs).

    Change:     Set pointers to OSAL_NULL after freeing the allocations.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Update ecore_hw_init() to send storm firmware version to MFW.

 2. Request:    Send driver state as DISABLED to MFW as part of ecore_hw_init(),
                and, as UNLOADED as part of ecore_hw_remove(). Now it's the
                ecore client's responsibility to set the driver state as ACTIVE/
                DISABLED depending on whether the driver is operational or not.

 3. Request:    ecore_mcp_ov_update_current_config() was sending incorrect value
                for MFW parameter field.

 4. Request:    Remove attribute field from update_current_config() API, MFW
                need to know only the last entity who configured the device.

Version 8.14.3.0 (Sep 07, 2016)
===============================
Internal FW 8.14.6.0

Fixes:
------
 1. Problem:    CQ88392 E4 4x25G: System hits an assert on running RoCE traffic.

    Change:     Read the error flag before releasing the memory.

    Introduced: 8.14.0.0.

    Relevance:  RoCE.

 2. Problem:    expStatSN validation error after receiving Reject PDU.

    Change:     (FW iSCSI) Advance expStatSN for incoming REJECT PDU.

    Introduced: Day 1.

    Relevance:  iSCSI Initiator.

 3. Problem:    Setting final bit for TEXT Request PDU even if continue bit is
                set.

    Change:     (FW iSCSI) Fix TEXT Request transmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI Initiator.

 4. Problem:    Not advancing statSN after sending REJECT, ASYNC and TMF
                Response PDUs.

    Change:     (FW iSCSI) Fix the Tx flow.

    Introduced: Day 1.

    Relevance:  iSCSI Target.

 5. Problem:    Setting final bit for TEXT Response PDU even if continue bit is
                set.

    Change:     (FW iSCSI) Fix TEXT Response transmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI Target.

 6. Problem:    Overwriting statSN field while retransmitting SCSI Response,
                TEXT Response, LOGIN Response, LOGOUT Response, TMF Response,
                ASYNC and REJECT PDUs.

    Change:     (FW iSCSI) Fix TX retransmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI Target.

 7. Problem:    "Got a non-regular LB LL2 completion" might appear
                [and possibly assert] in iscsi scenarios.

    Change:     Correct logic handling an Rx queue flush for OOO.

    Introduced: 8.14.0.0.

    Relevance:  iSCSI OOO.

 8. Problem:    TM block attention when configuring iWARP with a large number
                of supported ethernet connections.

    Change:     TM ILT memory was not computed properly.

    Introduced: day 1.

    Relevance:  iWARP.

 9. Problem:    Receiving a SYN packet on an already open connection was not
                detected properly.

    Change:     Fixed compare code.

    Introduced: day 1.

    Relevance:  iWARP.

Enhancements:
-------------
 1. Request:    Improve Tx-switched performance by utilizing the FW provided
                feature of same_as_last_id.

Version 8.14.2.0 (Aug 25, 2016)
===============================
Internal FW 8.14.4.0

Fixes:
------
 1. Problem:    CQ88564 - duplicate iSCSI app TLV when setting iSCSI
                QoS Policy in DCBX IEEE mode.

    Change:     CEE selection field must be set regardless CEE/IEEE mode.

    Introduced: 8.10.6.0.

    Relevance:  DCBX.

 2. Problem:    Malicious VF can cause crash due to out-of-bound access in HV
                by using a too-high index when starting an Rx queue.

    Change:     Validate queue index before accessing queue array.

    Introduced: Day 1.

    Relevance:  SRIOV.

 3. Problem:    Segmentation fault on RDMA stop if SRQ is not initialized.

    Change:     Free the SRQ bitmap only if it was allocated.

    Introduced: 8.14.1.0.

    Relevance:  RoCE.

 4. Problem:    VF acquisition fails over a legacy PF.

    Change:     Correct logic handling rejections by legacy PF.

    Introduced: 8.14.0.0.

    Relevance:  SRIOV.

 5. Problem:    Malicious VF removal will cause a FW assertion.

    Change:     PF to start rejecting malicious VF requests.

    Introduced: Day 1.

    Relevance:  SRIOV.

 6. Problem:    If a regular ramrod received while processing a consolidated
                ramrod, the regular ramrod might not be processed.
                Multiple outstanding consolidated ramrods might not be
                processed.

    Change:     (FW) Fix common ramrod flow.

    Introduced: Day 1.

    Relevance:  iSCSI, FCoE, iWARP.

 7. Problem:    When tx offload requests are passed on BD,'no snooping' mode
                might be set which may result in connections failing to
                establish.

    Change:     (FW) Fix load Tx bd flow.

    Introduced: FW 8.14.0.0.

    Relevance:  RoCE, iWARP, iSCSI, FCoE.

 8. Problem:    CQ87192 - AH NWM parity attention.

    Change:     (FW) Masked parities 0,1,6,7 in NWM_REG_PRTY_MASK_H_2 as a
                temporary workaround.

    Introduced: Day 1.

    Relevance:  All.

 9. Problem:    AH PCIE debug bus sampling rate is two clock cycles instead of
                one cycle.

    Change:     (FW) Configured PCIE_REG_DBG_SAMPLING_INTERVAL to 0 instead of
                1.

    Introduced: Day 1.

    Relevance:  Debug Tools.

10. Problem:    DBU_REG_RXDATA contains invalid values in AH GRC Dump (due to
                a HW bug).

    Change:     (FW) Excluded DBU_REG_RXDATA from GRC Dump in AH.

    Introduced: Day 1.

    Relevance:  Debug Tools.

11. Problem:    In multiple retransmissions scenario with RDMA reads an RDMA
                read request might be retransmitted from more than max ORD
                backwards (a request that was already responded).

    Change:     (FW RoCE) Fix retransmission flow.

    Introduced: Day 1.

    Relevance:  RoCE.

12. Problem:    T10 DIF RDMA Write errors reported in all IOs of the TID after
                detection.

    Change:     (FW RoCE) Clear detected errors at end of Invalidate flow.

    Introduced: Day 1.

    Relevance:  RoCE.

13. Problem:    Outbound T10 DIF without runt, following inbound T10 DIF with
                runt causes false runt error report.

    Change:     (FW RoCE) Properly clear runt valid flags between operations.

    Introduced: Day 1.

    Relevance:  RoCE.

14. Problem:    FW Did not report malicious_vf_error_id for anti-spoofing checks
                failures.

    Change:     (FW) FW Reports malicious_vf_error_id: ETH_ANTI_SPOOFING_ERR
                upon anti-spoofing failure.

    Introduced: Day 1.

    Relevance:  ETH.

15. Problem:    CQ88677 - Rhel6.8 VM OS is not coming up after installing
                drivers from NCDE 11 60.

    Change:     DCBX config is not supported on VFs, fail the DCBX query for
                VF interfaces.

    Introduced: 8.10.0.0.

    Relevance:  DCBX.

Enhancements:
-------------
 1. Request:    Add ecore_iov_is_vf_started() api.

 2. Request:    ecore_sp_vport_start_params have several new b_err_* values
                that when set cause FW to be harsher toward egress errors -
                default is to silently drop, if set would turn VF into
                malicious state, or for a PF cause an assertion.

 3. Request:    (FW) Add T/RDIF_REG_DEBUG_ERROR_INFO memories to GRC Dump.

Version 8.14.1.0 (Aug 14, 2016)
===============================
Internal FW 8.14.3.0

Fixes:
------
 1. Problem:    Dcbx config bit-fields are not cleared before updating with the
                user provided value.

    Change:     Clear the bit-field before updating it with new value.

    Introduced: Day 1.

    Relevance:  RoCE.

 2. Problem:    CQ86528 - Incorrect parsing of packet with unsupported
                GRE/GENEVE version.

    Change:     (FW L2) Apply FW workaround in Rx flow.

    Introduced: Day 1.

    Relevance:  GRE, GENEVE.

 3. Problem:    Initiator mode write exchange with T10 DIF may produce corrupt
                payload.

    Change:     (FW iSCSI) Propagate T10 DIF attributes to Tx flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 4. Problem:    CQ88494 - RoCE throughput inconsistent when traffic is run on F0
                and F2 (functions sharing same HW engine).

    Change:     Fix Queue Zone allocation.

    Introduced: 8.10.2.0.

    Relevance:  RoCE w/ more than one function per engine.

Enhancements:
-------------
 1. Request:    Remove unused parameter of loopback indication from RoCE API.

 2. Request:    Add two APIs to configure A-RFS mode and A-RFS ntuple filter.

 3. Request:    Improve robustness of the SET_FIELD macro by using a mask.

 4. Request:    Add ecore API for getting the MFW crash dump info.

 5. Request:    Separate index to keep cid and Qzone id to support multi COS.

 6. Request:    Check that ECORE RoCE bitmaps are clear before freeing them.

 7. Request:    (FW iSCSI) Improve iSCSI IOPS performance with DIF enabled.

 8. Request:    (FW) Support AH ASIC.

 9. Request:    Add support for iWARP (phase-1).

10. Request:    Add support for external PHY BCM8485x.

Version 8.14.0.0 (Jul 31, 2016)
===============================
Internal FW 8.14.1.0

Fixes:
------
 1. Problem:    RDMA interrupt not being received from FW. This happened because
                the interrupt arming doorbell was ignored by the HW.

    Change:     Allocate a number of CIDs that is aligned to 16 (while not
                dropping the alignment to ILT page), which is the HW Doorbell
                Queue units when specifying the maximum Doorbell Queue number.

    Introduced: Day 1.

    Relevance:  RoCE.

 2. Problem:    CQ86624 - RoCE and ping traffic stops while running stress+
                longrun testing and seeing pglue errors is still seen despite
                fix from 8.10.6.0.

    Change:     (Init Tool) Fix ordering bug in init tool.

    Introduced: Day 1.

    Relevance:  Roce.

 3. Problem:    CQ87398 - VF VLAN creation throws error in linux rhel6.8.

    Change:     Allow VLAN stripping request from VF for linux as well.

    Introduced: Day 1.

    Relevance:  SRIOV under rhel6.x.

 4. Problem:    iWARP pure Syn LB packets not identified.

    Change:     (FW iWARP) Correct value is checked for tcp syn packets.

    Introduced: FW 8.10.7.0.

    Relevance:  iWARP.

 5. Problem:    CQ87377 - Malicious VFs can send pause frames.

    Change:     Configure FW to drop VF flow control packets according to MAC.

    Introduced: Day 1.

    Relevance:  SRIOV.

 6. Problem:    Memory leaks in a few ECORE RoCE error flows.

    Change:     Release the allocated memory even before exiting the functions.

    Introduced: Day 1.

    Relevance:  ECORE RoCE.

 7. Problem:    Ethtype value is being read incorrectly in ieee-dcbx mode.

    Change:     Use the ieee specific mask value for reading the ethtype value
                in ieee-dcbx mode.

    Introduced: Day 1.

    Relevance:  Dcbx.

 8. Problem:    Endian-ness conversion is being applied incorrectly for dcbx
                pri_to_tc field while reading/writing.

    Change:     Do not apply the conversion for pri_to_tc value.

    Introduced: Day 1.

    Relevance:  Dcbx.

 9. Problem:    Transmission stop in case of large IOs with DIF.

    Change:     (FW iSCSI) Fix the FW DIF flow.

    Introduced: FW 8.10.8.0.

    Relevance:  iSCSI.

10. Problem:    HW attention during retransmit.

    Change:     (FW Storage) Change the FW init.

    Introduced: FW 8.10.8.0.

    Relevance:  iSCSI, FCoE.

11. Problem:    Pure TCP Syn packets not received correctly when function
                personality is Eth or iWARP.

    Change:     (FW iWARP) Fix the Eth FW.

    Introduced: FW 8.10.7.0.

    Relevance:  iWARP.

12. Problem:    Login-request PDU is always transmitted with T(Transit) bit set.

    Change:     (FW iSCSI) Set 'T' bit according to initialized value.

    Introduced: Day 1.

    Relevance:  iSCSI.

13. Problem:    CQ87318 - FW assertion during re-transmit.

    Change:     (FW iSCSI) Fix the iSCSI RT flow.

    Introduced: FW 8.10.7.50.

    Relevance:  iSCSI.

14. Problem:    WQE with Fence indicator might result with "Local QP Operation"
                error completion.

    Change:     (FW RoCE) Fix the RoCE Requester flow.

    Introduced: Day 1.

    Relevance:  RoCE.

15. Problem:    PF asserts on second [incorrect] ACQUIRE request from VF.

    Change:     Deny ACQUIRE requests from already acquired VFs.

    Introduced: 8.10.4.0.

    Relevance:  SRIOV.

Enhancements:
-------------
 1. Request:    Avoid forcing the driver's default resource allocation in case
                of a diff with the MFW's allocation values.

 2. Request:    Remove PF MR configuration but allocate as many RoCE MRs as
                possible.

 3. Request:    Allow backward compatibility with PF/VF from 8.7 and 8.8
                releases. New VF over old PF might require datapath changes.

 4. Request:    Add an optional initiation of PF FLR as part of
                ecore_hw_prepare().

 5. Request:    (FW RoCE) Improving RoCE 'Destroy QP' verb duration.

Version 8.10.7.0 (Jul 10, 2016)
===============================
Internal FW 8.10.8.0

Fixes:
------
 1. Problem:    Dcbx ieee selector-field value is not populated in the case of
                ecore interacting with old MFW.

    Change:     Populate the value.

    Introduced: Day 1.

    Relevance:  Dcbx.

 2. Problem:    MTU Violation (compared with Transmitted Packet Size) was not
                checked for LSO packets.

    Change:     (FW L2) MTU Violation (compared with Transmitted Packet Size) is
                now checked for LSO packets as well.

    Introduced: Day 1.

    Relevance:  L2.

 3. Problem:    T10 DIF RDMA Write retransmission reports AppTag failures when
                retransmitting from middle of IO.

    Change:     (FW RoCE) Correct AppTag calculation in retransmission flow.

    Introduced: FW 8.10.5.0.

    Relevance:  RoCE.

 4. Problem:    T10 DIF RDMA Write retransmission reports RefTag failures when
                retransmitting from start of IO.

    Change:     (FW RoCE) Correct RefTag offset calculation in retransmission
                flow.

    Introduced: FW 8.10.7.0.

    Relevance:  RoCE.

 5. Problem:    FW Fatal assert might occur when doing destroy QP after modify
                QP.

    Change:     (FW RoCE) Remove code responsible for this FW fatal assert.

    Introduced: Day 1.

    Relevance:  RoCE.

 6. Problem:    Doing RoCE start driver during L2 traffic is getting stuck due
                to ramrod failure.

    Change:     (FW RoCE) Fix FW flow.

    Introduced: FW 8.10.0.0.

    Relevance:  RoCE.

 7. Problem:    CQE with RDMA_CQE_RESP_STS_LOCAL_ACCESS_ERR is received when
                using RQ sge with 'reserved key'.

    Change:     (FW RoCE) Fix FW flow.

    Introduced: FW 8.10.4.0.

    Relevance:  RoCE.

 8. Problem:    Termination ramrod of multiple CIDs stuck.

    Change:     (FW Storage) Fix the iSCSI/FCoE consolidation queue flow.

    Introduced: Day 1.

    Relevance:  Storage.

 9. Problem:    Wrong iSCSI statistics ram pointer.

    Change:     (FW iSCSI) Fix the ram pointer value.

    Introduced: Day 1.

    Relevance:  iSCSI.

10. Problem:    CQ87065/CQ86013/CQ86522 - HW bug causing HW attention.

    Change:     (FW iSCSI) Apply FW workaround to Rx placement flow (MU ldr
                command per SGE).

    Introduced: Day 1.

    Relevance:  iSCSI.

11. Problem:    CQ87014 - FW may report incorrect RSP flags to the driver as
                part of CQE.

    Change:     (FW FCoE) Fix the RSP handling flow.

    Introduced: FW 8.10.7.0.

    Relevance:  FCoE.

12. Problem:    CQ87399 E4-RoCE: RoCE traffic failed over PFC configuration.

    Change:     Configure the correct TC to the PF.

    Introduced: 8.10.6.0.

    Relevance:  Dcbx.

Enhancements:
-------------
 1. Request:    Add the NIG registers configuration for PTP in AH.

 2. Request:    Fix the calculation of the MFW port number in AH.

 3. Request:    Populate the dscp related info in the dcbx ramrod data.

 4. Request:    Add new OSAL - OSAL_WARN().

 5. Request:    Moved the roce_flavor parameter from
                ecore_ll2_acquire_connection() to ecore_ll2_prepare_tx_packet().

 6. Request:    Add support for a destination MAC address update ramrod for
                an iSCSI offloaded connection.

 7. Request:    Add support for ECORE LL2 loopback per packet.

Version 8.10.6.0 (Jun 27, 2016)
===============================
Internal FW 8.10.7.0

Fixes:
------
 1. Problem:    Ecore sets NIG_REG_DSCP_TO_TC_MAP_ENABLE register even when the
                dscp mapping is not written to the shared memory.

    Change:     Set the register only when user configures the dscp mapping.

    Introduced: Day 1.

    Relevance:  Dcbx.

 2. Problem:    CQ87007 - E4 RoCE: latest component broken PFC with RoCEv2.

    Change:     Use the new config path/fields defined by the FW for RoCEv2
                protocol data.

    Introduced: Day 1.

    Relevance:  RoCE.

 3. Problem:    CQ86902 - SW workaround for CFC VF weak & strong enable.
                CQ86624 - RoCE and ping traffic stops while running stress+
                          longrun testing and seeing pglue errors.

    Change:     Initialize weak enable to 0 on top of existing configuration
                of strong enable to 1. The fix for these issues is composed
                of this initialization together with an init tool change to
                zero ILT on engine phase.

    Introduced: Day 1.

    Relevance:  Roce.

 4. Problem:    The MR (TID) registration function returned to the user before
                the registration was complete in the FW (the ramrod was sent
                in a non-blocking manner so the verb consumer was informed of
                success before a completion was received from the FW).

    Change:     Removed the possibility for non-blocking a.k.a. concurrent
                registration of TID registration. The latency issue that started
                this effort to begin with was mitigated by lowering the ramrod
                completion wait time in ecore SPQ.

    Introduced: 8.7.0.0.

    Relevance:  Verbs consumers that register MRs.

 5. Problem:    Ecore nvram test implementation has memory leak in error flow.

    Change:     Fix the memory leak.

    Introduced: Day 1.

    Relevance:  Selftests.

 6. Problem:    SFP read and write can't exceed 16 bytes.

    Change:     Zero the size and offset parameters before setting them.

    Introduced: Day 1.

    Relevance:  all.

Enhancements:
-------------
 1. Request:    Added the roce_mode parameter to ecore LL2 to configure if LL2
                RoCE mode to RoCE v1/v2 IPv4/6.

 2. Request:    Add support for multiple classes of service.

 3. Request:    Enable tunnel HW GRO TPA aggregation.

 4. Request:    Semantic changes in several ecore Rx and Tx APIs.

 5. Request:    Clear appropriate indirect registers for arrowhead.

 6. Request:    Add dcbx app support for IEEE Selection Field.

Version 8.10.5.0 (Jun 09, 2016)
===============================
Internal FW 8.10.7.0

Fixes:
------
 1. Problem:    CQ86777 - latest driver broken VF stop functionality.

    Change:     Fixed flow in case VF is released without being acquired and
                FLR before release.

    Introduced: 8.10.4.0.

    Relevance:  SRIOV.

 2. Problem:    CQ86809 - Observing yellow bang in SRIOV VF vbd.

    Change:     Moved VF mail box mutex release to after handling the reply
                message instead of after sending the message to the PF.

    Introduced: 8.10.4.0.

    Relevance:  SRIOV.

 3. Problem:    CQ86842 - FW assertion is hit when VFs are malfunctioning.

    Change:     Prevent vport-update on PF if the VF's vport wasn't started.

    Introduced: Day 1.

    Relevance:  SRIOV.

 4. Problem:    CQ86922 - FW assertion is hit after re-load of driver in VM.

    Change:     Close VF in firmware when the VF is being released.

    Introduced: 8.10.4.0.

    Relevance:  SRIOV.

 5. Problem:    CQ86541 - A HW bug that sometimes causes CFC-delete to succeed
                before write-backs are complete, which can result in memory
                corruption on host.

    Change:     (FW) Apply FW workaround.

    Introduced: Day 1.

    Relevance:  All.

 6. Problem:    Tx-Switched packet may be sent to a wrong destination after FLR,
                filter update or Vport up/down.

    Change:     (FW L2) Fixed Tx-Switching cache clean FW flow.

    Introduced: Day 1.

    Relevance:  Tx Switching.

 7. Problem:    DCQCN RP timeout not update.

    Change:     (FW RoCE) Fix firmware configuration flow.

    Introduced: FW 8.10.0.0.

    Relevance:  DCQCN.

 8. Problem:    T10 DIF RDMA Write calculates wrong expected CRC value in DIF
                Tag.

    Change:     (FW RoCE) Correct CRC machine initialization code.

    Introduced: FW 8.10.5.0.

    Relevance:  T10 DIF RDMA.

 9. Problem:    T10 DIF RDMA Write expected Runt value not verified against
                calculated value.

    Change:     (FW RoCE) Correct firmware flow to verify Runt result and report
                errors.

    Introduced: FW 8.10.5.0.

    Relevance:  T10 DIF RDMA.

10. Problem:    T10 DIF RDMA Read flow asserts.

    Change:     (FW RoCE) Correct CRC machine initialization code.

    Introduced: FW 8.10.5.0.

    Relevance:  T10 DIF RDMA.

11. Problem:    T10 DIF RDMA Write error result reported only on first IO.

    Change:     (FW RoCE) Clear queued indication after first error result
                handler.

    Introduced: FW 8.10.5.0.

    Relevance:  T10 DIF RDMA.

12. Problem:    T10 DIF RDMA Write expected runt CRC checked in reverse
                endianity.

    Change:     (FW RoCE) Reverse endianity when verifying expected runt result
                in firmware.

    Introduced: FW 8.10.5.0.

    Relevance:  T10 DIF RDMA.

13. Problem:    T10 DIF RDMA Read Runt CRC value written to host in reverse
                endianity.

    Change:     (FW RoCE) Swap bytes in firmware before writing to host.

    Introduced: FW 8.10.5.0.

    Relevance:  T10 DIF RDMA.

Enhancements:
-------------
 1. Request:    Add support for the MFW crash dump.

 2. Request:    Use the MFW mailbox for getting resource allocation information.

 3. Request:    Improve the way a blocked context waits for a ramrod to be
                completed.

 4. Request:    (FW RoCE) Change RoCE retransmission flow to start from middle
                of retransmitted WQE (to help in interoperability).

 5. Request:    (FW RoCE) Add IP DSCP field setting from DCB per-port database.

 6. Request:    (FW RoCE) Add VLAN priority setting from DCB per-port database
                for RROCE.

Version 8.10.4.0 (May 26, 2016)
===============================
Internal FW 8.10.5.0

Fixes:
------
 1. Problem:    The FCoE discovery process fails.

    Change:     Add a DUALMODE configuration in the LLH.

    Introduced: 8.10.3.0.

    Relevance:  FCoE.

 2. Problem:    Memory corruption when allocating dynamic ilt task.

    Change:     Fixed the task initialization.

    Introduced: 8.10.3.0.

    Relevance:  RoCE.

 3. Problem:    PF allows VF to probe even when requiring too many resources.

    Change:     Correct resource-agreement flow in VF acquisition message.

    Introduced: Day 1.

    Relevance:  SRIOV.

 4. Problem:    VF can exhaust all unicast MAC filters in HW, preventing PF
                traffic.

    Change:     PF enforces MAC limitation on VFs.

    Introduced: Day 1.

    Relevance:  SRIOV.

 5. Problem:    VF requesting to initialize unallocated queues can hang device.

    Change:     PF to validate queue indices passed by VF before usage.

    Introduced: Day 1.

    Relevance:  SRIOV.

Enhancements:
-------------
 1. Request:    Add support for AH nvm cfg.

 2. Request:    Add support for dcbx static mode.

 3. Request:    Remove ECORE LL2 API to update MAC address.

 4. Request:    Add new image type for MFW AH bundle: NVM_TYPE_ETH_PHY_FW1
                and NVM_TYPE_ETH_PHY_FW2.

 5. Request:    Add support for reading AH statistics.

 6. Request:    Add new OSAL - OSAL_SNPRINTF.

 7. Request:    Extend compatibility between PF/VF drivers - no longer do they
                need a matching storm FW version, but rather a matching
                fastpath Major number [which should rarely change].

 8. Request:    Added 'ecore_mcp_get_nvm_image()' API for reading an nvram img.

 9. Request:    Add support for dscp-map query/config.

10. Request:    Differ BDQ resource ID for FCOe and iSCSI [BB only].

11. Request:    Enable the dscp-to-tc map bit when operational mib is received.

Version 8.10.3.0 (May 09, 2016)
===============================
Internal FW 8.10.5.0

Fixes:
------
 1. Problem:    SRIOV is not functional - ping on VF fails.

    Change:     Correct the offset for producer update in RX queue start
                response to the VF.

    Introduced: 8.10.2.0.

    Relevance:  SRIOV.

 2. Problem:    Register/clock selftests are failing for 100G adapters.

    Change:     Use the correct ptt for a given hwfn.

    Introduced: Day 1.

    Relevance:  selftests.

 3. Problem:    When resizing a CQ the CQ bitmap is changed without lock.

    Change:     Add lock.

    Introduced: 8.10.2.0.

    Relevance:  RoCE.

 4. Problem:    Some hardware don't support atomic bit operations.

    Change:     change name of OSAL_ATOMIC_TEST_AND_FLIP to OSAL_TEST_AND_FLIP.
                note that it is harmless for the implementation to remain
                atomic.

    Introduced: 8.10.2.0.

    Relevance:  RoCE.

 5. Problem:    CQ86300- Retaining the old mac after removal and creation of VF.

    Change:     Clear the forced MAC while disabling VF.

    Introduced: Day 1.

    Relevance:  SRIOV.

 6. Problem:    CQ86133 - Upgrading FW hogs CPU for long period of time.

    Change:     Add short sleeps while reading-from/writing-to the nvram.

    Introduced: Day 1.

    Relevance:  Voluntary-preemption schemes.

 7. Problem:    RoCE app PFC config gets overridden with the default app config.

    Change:     If RoCE-V2 TLV is not detected, use RoCE app data for RoCE-v2.

    Introduced: 8.10.2.0.

    Relevance:  RoCE.

 8. Problem:    CQ86411 - E4:100G:getting Ramrod stuck while loading driver in
                MSI mode.

    Change:     Fail the initialization for 100G devices if invoked in MSI mode.

    Introduced: Day 1.

    Relevance:  All.

 9. Problem:    CQ86213 - FW assertion while re-connecting.

    Change:     (FW iSCSI) Fix the TCP params initialization.

    Introduced: Day 1.

    Relevance:  iSCSI.

10. Problem:    CQ85263 - FW assertion while doing host reset with iscsi + L2.

    Change:     (FW iSCSI) Fix a thread-id bug.

    Introduced: Day 1.

    Relevance:  iSCSI.

11. Problem:    CQ86155 - Incorret data digest may be transmitted for PDUs with
                size > 12KB.

    Change:     (FW iSCSI) Fix retransmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

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

 2. Request:    Fix minor issues in dcbx set-app implementation.

 3. Request:    Added handlers for "Dual Stage Classification".

 4. Request:    Added chain print API.

 5. Request:    DIF support.

 6. Request:    Support Binary debug tools.

Version 8.10.2.0 (Apr 19, 2016)
===============================
Internal FW 8.10.4.0

Fixes:
------
 1. Problem:    CQ85618 - NPAR Max/Min Bandwidth settings are not honoured.

    Change:     Workaround - saving qm rate limiter values before reinitialize
                it due to dcbx update.

    Introduced: Day 1.

    Relevance:  NPAR, DCBX.

 2. Problem:    CQ83753 - TX switch treats LSO traffic with outband VLAN wrong.

    Change:     (FW L2) Update tag before TX switch on all LSO flows.

    Introduced: FW 8.1.2.0.

    Relevance:  SRIOV.

 3. Problem:    CQ85054, CQ85371, CQ85298 – Chip might hang when receiving a
                RoCE packet with invalid destination QP (can be caused by mac
                CRC errors).

    Change:     (FW RoCE) Disregard the packet with invalid destination QP.

    Introduced: Day 1.

    Relevance:  RoCE.

 4. Problem:    CQ85528 - HW attention when ABTS request arrives to Initiator.

    Change:     (FW FCoE) Fix the unsolicited FW flow (ABTS request from Target
                should be handled by Initiator as unsolicited packet).

    Introduced: FW 8.10.0.0.

    Relevance:  FCoE.

 5. Problem:    CQ85384 - SRIOV over NPAR - ramrod stuck when linux VM
                with pvid set is powered off/on.

    Change:     In case of when PVID is configured, if we do VM power off and
                power on, ecore sends ETH_RAMROD_RX_QUEUE_UPDATE ramrod without
                ETH_RAMROD_RX_QUEUE_START because ‘rxq_active’ flag is not
                cleared during FLR and ecore checks for the same. Clear this
                flag as part of FLR cleanup.

    Introduced: Day 1.

    Relevance:  SRIOV along with PVID.

 6. Problem:    CQ85553 - the QM lock is not initialized for the non-first
                loaded monolithic driver.

    Change:     Move the QM lock initialization to a common location.

    Introduced: 8.10.0.0.

    Relevance:  Monolithic drivers.

 7. Problem:    Ringing a LL2 Tx doorbell might happen before its BDs data is
                updated.

    Change:     Add a missing write barrier before the doorbell.

    Introduced: Day 1.

    Relevance:  LL2.

 8. Problem:    CQ85899 - Wrong calculation of the resources start indices when
                hiding the non-last functions on the engine.

    Change:     Use the PF index within the enabled functions.

    Introduced: 8.7.6.0.

    Relevance:  All.

 9. Problem:    Timeset value is being configured incorrectly for a given Tx/Rx
                coalescing value.

    Change:     Ecore always used to configure timeset as half the requested
                coalescing value. Configure the timeset and timer-resolution
                correctly for a given coalescing value.

    Introduced: Day 1.

    Relevance:  All.

10. Problem:    Number of EQ elements is smaller than it should be for RoCE
                personality.

    Change:     Fix the calculation of number of EQ elements.

    Introduced: 8.10.0.0.

    Relevance:  RoCE.

11. Problem:    Anti spoofing does not work for tunneled packets.

    Change:     (FW L2) Added tunneling logic to anti-spoofing feature.

    Introduced: FW 8.2.1.0.

    Relevance:  SRIOV.

12. Problem:    Unmatched unicast traffic may be classified to a wrong PF when
                the same MACs are used for both ports.

    Change:     (FW L2) Fix HW init values.

    Introduced: Day 1.

    Relevance:  NPAR 4 port mode.

13. Problem:    TX TCP window doesn't advance.

    Change:     (FW iSCSI) Initialize the snd_wl1 parameter.

    Introduced: FW 8.10.3.0.

    Relevance:  iSCSI.

14. Problem:    Chip may stall when retransmitting large (>64K) SlowIOs.

    Change:     (FW iSCSI) Fix SlowIO scan flow.

    Introduced: FW 8.5.1.0.

    Relevance:  iSCSI.

15. Problem:    Connection might (in low probability) stop giving SQ completions
                in a scenario with packet loss.

    Change:     (FW RoCE) Fix firmware retransmission flow..

    Introduced: Day 1.

    Relevance:  RoCE.

16. Problem:    Page fault occured during hw initialization phase.

    Change:     Fixed initialization of internal driver structures under iSCSI
                personality.

    Introduced: 8.10.1.0.

    Relevance:  iSCSI personality.

17. Problem:    The EQ size is too small in case of iSCSI personality.

    Change:     Fix the EQ size calculation.

    Introduced: Day 1.

    Relevance:  iSCSI.

18. Problem:    QP counters were showing double the number of QP.

    Change:     Fixed calculation of QP Counters.

    Introduced: Day 1.

    Relevance:  RoCE.

19. Problem:    Tx-switched traffic rate is limited by physical line speed.

    Change:     If no rate-limiters are needed, use maximum possible speed.

    Introduced: Day 1.

    Relevance:  Tx-switching.

20. Problem:    Printing results of a clean idle check mistakenly fails.

    Change:     (FW) Fix the parsing flow.

    Introduced: Day 1.

    Relevance:  Idle check.

Enhancements:
-------------
 1. Request:    (FW L2) Add tunnel statistics per PF statistics.

 2. Request:    Add support for iSCSI/TCP connection offload for type 2.

 3. Request:    Remove support for the obsolete iSCSI/FCoE RQ mechanism.

 4. Request:    Add ecore API/support for dcbx configuration.

 5. Request:    Add support to gather ECC statistics.

 6. Request:    Add support to gather GPIO information.

 7. Request:    Add app related fields/code for dcbx APIs. Also fix minor issues
                in the set implementation.

 8. Request:    Add common API for LLH protocol filtering.

 9. Request:    Modify LL2 API to allow flexibility in OOO RX buffer allocation.

10. Request:    (FW iWARP) Initial support for iWARP.

11. Request:    Printouts reflecting OOO RX events are added.

12. Request:    Printouts reflecting iSCSI offload/terminate events are added.

13. Request:    Refactored implementation of RoCE bitmaps with new bitmap OSALs.

14. Request:    Add support for 100g VFs.

15. Request:    Add support for handling RoCE version-2 type TLVs.

Version 8.10.1.0 (Mar 15, 2016)
===============================
Internal FW 8.10.2.0

Fixes:
------
 1. Problem:    Dynamic ILT allocation is not protected when being run from
                different contexts, and it updates a wide-bus register with
                separate 32-bit accesses.

    Change:     Lock the allocation flow and change the wide-bus access into
                a DMAE transaction.

    Introduced: Day 1.

    Relevance:  RoCE.

 2. Problem:    Read/Write to grc may fail after resuming from low power state.

    Change:     Invalidating the grc ptts when entering low power state.

    Introduced: Day 1.

    Relevance:  ALL.

 3. Problem:    Phy mac_stat doesn't show the correct port statistics.

    Change:     Fixed function to use the port input correctly.

    Introduced: 8.7.1.0.

    Relevance:  ALL.

 4. Problem:    CQ85037 – FW assert during the transmit of ASYNC and REJECT
                PDUs.

    Change:     (FW iSCSI) Add support for ASYNC and REJECT PDUs.

    Introduced: Day 1.

    Relevance:  iSCSI.

 5. Problem:    CQ85012 - Cleanup for task timed out after clearSQ in middle of
                R2TE processing.

    Change:     (FW iSCSI) Continue processing the R2TE.

    Introduced: Day 1.

    Relevance:  iSCSI.

 6. Problem:    CQ85012 - Login exchange cleanup & clear SQ fix.

    Change:     (FW iSCSI) Fix the login exchange cleanup & clear SQ.

    Introduced: Day 1.

    Relevance:  iSCSI.

 7. Problem:    CQ85072 - E4:RoCE:while running multiple sessions(200/500/1000)
                system crashes or getting assertions/ramrod stuck.

    Change:     Avoid weak ordering writes when the doorbells BAR is mapped as
                write combining with the proper write barriers.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Added ECORE RoCE API that returns the number and maximum number
                of: PDs, CQs, QPs, TIDs and DPIs.

 2. Request:    Populate the priority/bandwidth tables (to be used by clients).

 3. Request:    (FW L2) Added TX switch statistics per PF - counts mcast, bcast
                and ucast bytes and packets both on TX and RX path.

 4. Request:    Remove ftrace support from driver.

 5. Request:    Add support for enabling dcqcn in RoCE.

 6. Request:    Add support for RDMA Queue Statistics.

Version 8.10.0.0 (Feb 23, 2016)
===============================
Internal FW 8.10.1.0

Fixes:
------
 1. Problem:    Max amount of cqs is not initialized.

    Change:     Return intialization of max number of completion queues which
                was dropped by mistake.

    Introduced: 8.7.8.0.

    Relevance:  RoCE.

 2. Problem:    CQ84044 - E4:NPAR: Seeing qed call traces on  DELL730 after
                reboot "BUG: scheduling while atomic: swapper/10/0/0x10000100".

    Change:     Modify the locking scheme when sending a MB to the MFW, from a
                mutex to a spinlock.

    Introduced: 8.5.8.0.

    Relevance:  All.

 3. Problem:    Connection recovery failure - un-completed task cleanup.

    Change:     (FW iSCSI) Fix the clear SQ in middle of R2TQE flow.

    Introduced: FW 8.7.4.0.

    Relevance:  iSCSI.

 4. Problem:    Data integrity issue for SlowIO write exchanges.

    Change:     (FW iSCSI) Fix SlowIO flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 5. Problem:    CQ84287 - system asserted when switch port shut/no-shut
                multiple times with RDMA traffic running.

    Change:     Fixed cookie pointer when pending spq entry is moved to the
                pending sending list.

    Introduced: Day 1.

    Relevance:  ALL.

 6. Problem:    Wrong calculation of the enabled functions on the 2nd engine in
                case of 100G.

    Change:     Fix the calculation.

    Introduced: 8.7.6.0.

    Relevance:  100G.

 7. Problem:    CQ84343 - Getting Aborts while doing iSCSI Discovery Login.

    Change:     Fixed the chain pointer passed to zero the chain memory.

    Introduced: 8.7.8.0.

    Relevance:  iSCSI.

 8. Problem:    EDPM wasn't turned off, even if required to so by user
                configuration / doorbell BAR size configuration.

    Change:     Disable DPM via register if required to do so via user
                configuration.

    Introduced: 8.7.8.0.

    Relevance:  RoCE.

 9. Problem:    CQ84363 - Traffic sometimes doesn't work in NPAR.

    Change:     Protect against race when configuring DCBx results in QM.

    Introduced: 8.2.3.0.

    Relevance:  Multi-function, DCBx.

10. Problem:    CQ84636 - MB param is misconfigured.

    Change:     Fixed MB param creation.

    Introduced: 8.7.5.0.

    Relevance:  All.

11. Problem:    CQ84582 - VF traffic doesn't work.

    Change:     Correct VF doorbell address calculation.

    Introduced: 8.7.7.0.

    Relevance:  SRIOV.

12. Problem:    Hypervisor might crash when VF ACQUIRE message is blocked.

    Change:     Initialize length used for preparing the VF response.

    Introduced: Day 1.

    Relevance:  SRIOV.

13. Problem:    CQ84077 - Data corruption when RSC enable.

    Change:     (FW L2) Fix TPA flow for packets with ETH padding.

    Introduced: Day 1.

    Relevance:  RSC, LRO.

14. Problem:    CQ84512, CQ84077 - Hw interrupt while running L2 traffic.

    Change:     (FW L2) Fix line credit handling in L2 TX fastpath.

    Introduced: FW 8.7.6.0.

    Relevance:  L2.

15. Problem:    CQ84546 - Running interoperability scenarios with switch may
                cause hardware attention.

    Change:     (FW) Fix error handling flow when receiving packets with wrong
                destination qp.

    Introduced: Day 1.

    Relevance:  All.

16. Problem:    CQ84496 - System hit a bugcheck on starting RoCE traffic.

    Change:     Fixed handling of unlimited pending slowpath ramrods with
                blocking completion mode.

    Introduced: Day 1.

    Relevance:  L2.

17. Problem:    Memory leak when failng to allocate a chain PBL table.

    Change:     Fix the flow so the virtual PBL table will be freed in such a
                case.

    Introduced: 8.7.7.0.

    Relevance:  All.

18. Problem:    Multicast and broadcast packets not forwarded to LL2, when
                default PF is used.

    Change:     (FW) Allow multicast and broadcast packets forwarding, when
                default PF is used.

    Introduced: FW 8.2.3.0.

    Relevance:  NPAR, QPAR.

19. Problem:    CQ84177 - 16 CQs causing System crash in iSCSI (relevant also
                for FCoE).

    Change:     (FW Storage) Fix the initialization of CQs during Function Init.

    Introduced: Day 1.

    Relevance:  Storage.

20. Problem:    Statistics for requester received packets are not counted.

    Change:     (FW RoCE) Fix RX statistics collection flow.

    Introduced: FW 8.7.6.0.

    Relevance:  RoCE.

21. Problem:    CQ84638 - Connect after termination on the same CID failure.

    Change:     (FW iSCSI) Fix the close flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

Enhancements:
-------------
 1. Request:    Add ecore API to exract FCoE/iSCSI/LL2 statistics.

 2. Request:    Use a seperate Ystorm queue zone ID for each Tx queue ID.

 3. Request:    Add ecore support for configuring Tx coalesce value.

 4. Request:    (FW L2) TX performance improvements.

 5. Request:    Add ecore_selftest_api.h and, move selftest APIs to this file.

 6. Request:    Add clock, register and nvram tests to selftest.

 7. Request:    Add support for new device mode 4x25G, mainly for MNM.

 8. Request:    Add ecore API for setting whether the general behavior should
                be preventing attention from being reasserted.

 9. Request:    Add New OSAL_IOV_PRE_START_VPORT().

10. Request:    Add selftest APIs to the documentation.

11. Request:    Added "default_speed_autoneg" and "default_speed" params to
                ecore_mcp_link_capabilities and initializing them according to
                the nvm settings.

12. Request:    Add a CRC check to the nvram selftest.

13. Request:    Add an API to get the temperature sensors info from the MFW.

14. Request:    ECORE RoCE API to use num_qps and num_mrs instead of num_cons
                and num_tasks. Move out all non-input fields from ecore_roce_pf-
                params.

15. Request:    Move dcbx_pfc specific elements to new sub-structure and also,
                populate the pfc-bitmap in the ecore.

16. Request:    Add an API to get MBA versions from the MFW.

17. Request:    Change return values of sfp get functions.

18. Request:    (FW L2) Add support to control frames detection on TX path -
                SRIOV security feature, configured per vport, and detection by
                ether-type or by MAC address.

19. Request:    (FW RoCE) Adding DCQCN support.

20. Request:    Add FCoE support for BDQ and the corresponding API.

Version 8.7.8.0 (Jan 12, 2016)
==============================
Internal FW 8.7.5.0

Fixes:
------
 1. Problem:    Cont00084227 -E4:25G:"qed_dmae_host2grc: Wait Failed" ,probe
                failed and not able to load qede driver on specific Gen9 system
                Cont00084206 - E4 2015U2: 100G interface fails to show with
                driver 8.7.7.0.
                Failure to probe device (init hw) was followed by an invalid BUS
                read that prevented re-loading the driver, possibly crashing the
                machine on re-load.

    Change:     Stop the timers (TM) as part of the failure code.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    Memory corruption in ecore_iscsi_setup_connection().

    Change:     Zero pbl chain memory page by page.

    Introduced: 8.7.7.0.

    Relevance:  iSCSI.

 3. Problem:    Due to a workaround to a HW bug the number of TIDs was limited
                to 128K-1.

    Change:     Use newly introduced FW defines.

    Introduced: Day 1.

    Relevance:  RoCE.

 4. Problem:    CQ82195 - Add Fan Failure support.

    Change:     Notify the upper driver about a fan failure event.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Add ecore API to send empty ramrod to the fw.

 2. Request:    Add a user configuration roce_edpm that allows enabling,
                disabling or forcing EDPM.

 3. Request:    Add a CNQ size limit.

 4. Request:    Add notifications of HW errors to upper driver.
                Add new OSAL - OSAL_HW_ERROR_OCCURRED.

Version 8.7.7.0 (Jan 07, 2016)
==============================
Internal FW 8.7.5.0

Fixes:
------
 1. Problem:    MFW commands might timeout when enabling iov.

    Change:     Take MCP lock when communicate MSI-x requirements for VF.

    Introduced: 8.4.0.0.

    Relevance:  SRIOV.

 2. Problem:    Disabling the PCIe relaxed ordering attribute through a PGLCS
                register won't be applied if secure mode is enabled.

    Change:     Replace the register write with a PCI config space access.

    Introduced: 8.2.4.0.

    Relevance:  All.

 3. Problem:    When getting a process kill indication in CMT mode, attentions
                are disabled in the IGU block for only a single HW function.

    Change:     Disable attentions for all HW functions, while carrying out the
                other operations by only HW function 0.

    Introduced: 8.5.6.0.

    Relevance:  Error recovery.

 4. Problem:    Cont0084053 - E4 2x25G 2015U2: ib_read_bw exits with
                "Segmentation fault (core dumped)" when "--run_infinitely"
                option is used.

    Change:     Updated the maximum CQE.

    Introduced: 8.7.4.0.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    VF0 works on AH FPGA.

 2. Request:    Modify the ILT allocation to be divided between the actual
                enabled PFs.

 3. Request:    Add new OSALs - OSAL_PCI_FIND_CAPABILITY and
                OSAL_PCI_WRITE_CONFIG_WORD.

 4. Request:    Modify the ecore chain allocation to be page by page.

 5. Request:    Add new OSALs - OSAL_VALLOC and OSAL_VFREE.

 6. Request:    Increase maximum RoCE QPs to 8192. Added the ability to
                configure the number of RoCE DPIs and QPs via qede. Added
                support for configurable normal region (change "DEMS size").

 7. Request:    Add support for sfp get and set.

 8. Request:    Add support for gpio read and write.

Version 8.7.6.0 (Dec 28, 2015)
==============================
Internal FW 8.7.5.0

Fixes:
------
 1. Problem:    Failing to transmit packets with LLC/SNAP header.

    Change:     (FW L2) Add LLC/SNAP FW support.

    Introduced: FW 8.6.0.0.

    Relevance:  L2.

 2. Problem:    In case out of order packet is a new Isle which can't be
                allocated (either because connection reached maximal isles
                configuration, or no more global isles resources left), TCP
                drops the packet, but would send a pure ACK.

    Change:     (FW iSCSI) Send pure ack only if a new isle can be allocated for
                the connection.

    Introduced: Day 1.

    Relevance:  iSCSI.

 3. Problem:    Login Response with header or digest enable failure.

    Change:     (FW iSCSI) Fix the Login Response RT flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 4. Problem:    Rx connection error.

    Change:     (FW iSCSI) Disable the Mstorm valid bit in case of local
                completion.

    Introduced: Day 1.

    Relevance:  iSCSI.

 5. Problem:    IO timeouts during OOO scenarios.

    Change:     (FW iSCSI) Re-open TCP window once last Out-Of-Order packet is
                received from Out-Of-Order queue.

    Introduced: Day 1.

    Relevance:  iSCSI.

 6. Problem:    Ack processing.

    Change:     (FW iSCSI) Do ack processing on packets that are supposed to be
                truncated.

    Introduced: Day 1.

    Relevance:  iSCSI.

 7. Problem:    Connection activity counters may be improperly released in error
                condition if SQ WQE contains multiple SGEs, eventually leading
                to stuck firmware.

    Change:     (FW RoCE) Fix connection activity counter release firmware.

    Introduced: FW 8.7.4.0.

    Relevance:  RoCE.

 8. Problem:    Race condition between data placement and error CQE when an
                error occurs in requester RX path.

    Change:     (FW RoCE) Guarantee placement complete before posting error CQE.

    Introduced: FW 8.7.3.0.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    Properly learn number of ports in AH.

 2. Request:    Add verification for mcp_resume.

 3. Request:    Add zero_placement_offset param to ecore_sp_vport_start_params.

 4. Request:    Optimize the resource allocation scheme by considering the
                actual number of enabled PFs.

 5. Request:    Add max_mr_size to ECORE ROCE.

Version 8.7.5.0 (Dec 17, 2015)
==============================
Internal FW 8.7.4.0

Fixes:
------
 1. Problem:    PCI read/write access by the device when Bus Master Enable was
                was down. Seen in CQ83517 and CQ82629 although this is not the
                root cause of these issues.

    Change:     When PF stop ramrod fails, don't abort unload flow. Instead,
                continue to the HW disable flow disabling HW from accessing
                the host.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    After L2 interfaces is disabled (linux ifdown) roce ramrods
                can't pass. Example scenario: rping, ifdown, kill application.

    Change:     When calling stop_fastpath, don;t diable timers, since slowpath
                should still be active, and roce slowpath requires timers to be
                active.

    Introduced: Day 1.

    Relevance:  Roce.

 3. Problem:    Clear SQ failure (2nd force load command).

    Change:     (FW iSCSI) Fix the WQE offset as part of the clear SQ ramrod.

    Introduced: Day 1.

    Relevance:  iSCSI.

 4. Problem:    IO timeout due to TCP close window or
                ISCSI_EVENT_TYPE_ASYN_MAX_KA_PROBES_CNT connection error.

    Change:     (FW iSCSI) Fix the in-order TCP window update.

    Introduced: FW 8.4.2.0.

    Relevance:  iSCSI.

 5. Problem:    Missing TCP ACK.

    Change:     (FW iSCSI) Fix the TCP ACK processing flow in case of segmented
                PDUs.

    Introduced: Day 1.

    Relevance:  iSCSI.

 6. Problem:    FW assert after iscsi connection error (relevant for recovery
                flows).

    Change:     (FW iSCSI) Fix the cid error MCM FOC flow.

    Introduced: FW 8.7.0.0.

    Relevance:  All.

 7. Problem:    Stop sending packets while in Fast RT.

    Change:     (FW iSCSI) Enable more to send rule in Fast RT if needed.

    Introduced: Day 1.

    Relevance:  iSCSI.

 8. Problem:    CQ83520, 82997, 83118 - System break or ping stop during RoCE
                traffic.

    Change:     (FW RoCE) New hardware initializations as workaround for HW
                issue found.

    Introduced: Day 1.

    Relevance:  RoCE.

 9. Problem:    Firmware stuck in error handling race flow.

    Change:     (FW RoCE) Fix error handling flow in Requester.

    Introduced: FW 8.7.3.0.

    Relevance:  RoCE.

10. Problem:    Memory region activity counters may not be released in error
                condition if SQ WQE contains multiple SGEs, eventually leading
                to stuck firmware.

    Change:     (FW RoCE) Release all relevant activity counters.

    Introduced: FW 8.4.1.0.

    Relevance:  RoCE.

11. Problem:    In case packet is received with both RST and URG flags set, TCP
                would return TCP_SEG_PROC_URG result to upper layer and ignore
                the RST.

    Change:     (FW) Completely ignore URG flag by the TCP stack.

    Introduced: Day 1.

    Relevance:  iSCSI.

Enhancements:
-------------
 1. Request:    Add support for SFP/QSFP read, write and decode commands.

 2. Request:    Update the variable names for MAC Rx stats to the more
                meaningful ones similar to the MAC Tx stats.

 3. Request:   (FW Storage) Adding support for dropless queues (for CmdQ and
               BdQ).

Version 8.7.4.0 (Dec 03, 2015)
==============================
Internal FW 8.7.3.0

Fixes:
------
 1. Problem:    The RoCE device capability of CQ elements reported was smaller
                than possible by one CQE.

    Change:     Report the maximum capability of allowed CQ elements.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    The handling of the SPQ out-of-order completions has a wrong
                bitmap calculation.

    Change:     Fix the calculation.

    Introduced: 8.7.2.0.

    Relevance:  All.

 3. Problem:    CQ83395 - Firmware assert exposes when performing exchange
                cleanup on a middle-path task.

    Change:     (FW FCoE) Allow handling exchange cleanup on a middle-path task.

    Introduced: Day 1.

    Relevance:  FCoE.

 4. Problem:    CQ82443 - Storm gets to 100% utilization and blocks the FCoE
                performance to 2.2 MIOPS.

    Change:     (FW FCoE) Remove assert logs from the fast-path flows.

    Introduced: Day 1.

    Relevance:  FCoE.

 5. Problem:    CQ83451 - Connection Error in case of Login Response StatSN
                value > 0.

    Change:     (FW iSCSI) Fix the Login Response flow.

    Introduced: FW 8.7.2.0.

    Relevance:  iSCSI.

 6. Problem:    Uncompleted task cleanup.

    Change:     (FW iSCSI) Fix the cleanup flow (UnValid task after cleanup HQ
                scan).

    Introduced: Day 1.

    Relevance:  iSCSI.

 7. Problem:    CQ83452 - CQE with flush not posted for SQ after Responder error
                detected.

    Change:     (FW RoCE) Resolve race in error handling CQE generation.

    Introduced: FW 8.3.0.0.

    Relevance:  RoCE.

 8. Problem:    CCFC execution error when getting packets with CRC errors.

    Change:     Workaround - set the "strong_enable" bit in the CCFC for all VFs
                to enable the FW error handler to invoke in this case.

    Introduced: Day 1.

    Relevance:  All.

Version 8.7.3.0 (Nov 22, 2015)
==============================
Internal FW 8.7.2.0

Fixes:
------
 1. Problem:    Coexistence ROCE/iSCSI and FCoE problem.

    Change:     Ecore does not care about LLH classification type but MFW
                initializes involved registers.
                Fix is effective with MFW 8.7.1.0 and later.

    Introduced: Day 1.

    Relevance:  ROCE, iSCSI, FCoE.

 2. Problem:    CQ80844 - Ping stops once adding vlan ID.

    Change:     (FW L2) Fix add VLAN filter flow.

    Introduced: FW 8.2.1.0.

    Relevance:  L2.

 3. Problem:    Rx traffic stops after remove all VLAN filters.

    Change:     (FW L2) Fix remove all filters flow.

    Introduced: FW 8.7.1.0.

    Relevance:  L2.

 4. Problem:    Tx stop in middle of traffic.

    Change:     (FW iSCSI) Fix the Tx.

    Introduced: Day 1.

    Relevance:  iSCSI.

 5. Problem:    OOO event causing Rx connection error.

    Change:     (FW iSCSI) Fix the OOO right edge trimming.

    Introduced: FW 8.4.0.0.

    Relevance:  iSCSI.

 6. Problem:    exp_stat_sn validation error.

    Change:     (FW iSCSI) Fix the Rx validations.

    Introduced: FW 8.7.1.0.

    Relevance:  iSCSI.

Enhancements:
-------------
 1. Request:    Add OSAL_POLL_MODE_DPC to support single-threaded operation.

 2. Request:    Major refactoring of LL2 code.

 3. Request:    Add support for 16 PF AH emulation.

 4. Request:    Add support for 32-bit chains.

Version 8.7.2.0 (Nov 16, 2015)
==============================
Internal FW 8.7.1.0

Fixes:
------
 1. Problem:    Concurrent non-blocking slowpath ramrods can cause an overflow
                in the SPQ.

    Change:     Handle out-of-order completions, and fix the way a pending SPQ
                entry is moved to the pending sending list.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    The elements left calculation for "next pointer" chains may miss
                an unusable entry.

    Change:     Fix the calculation.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    GRC access error on writing to MCP shmem during Function init
                and FLR initial cleanup.

    Change:     (FW) Fix FW FLR flow.

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    CQ82539 - Final FLR ack is not always written to the correct
                location.

    Change:     (FW) Fix FW FLR flow.

    Introduced: 8.7.0.0.

    Relevance:  All.

 5. Problem:    CQ82059 - unexpected RSC exceptions seen when traffic is run.

    Change:     (FW L2) Do not increment tpa_aborts_num when aggregation closed
                due to timeout.

    Introduced: Day 1.

    Relevance:  RSC, LRO, GRO.

 6. Problem:    'force_vlan_mode' flag in first TX BD overrides default VLAN
                setting.

    Change:     (FW L2) Fix Tx flow. Now, 'force_vlan_mode' flag will only
                override DCB PCP.

    Introduced: Day 1.

    Relevance:  L2.

 7. Problem:    CQ83089 - Modifying a QP to error state while retransmitting
                from the SQ might cause some SQ WQEs not to be completed.

    Change:     (FW RoCE) Fix Modifying to error state flow.

    Introduced: Day 1.

    Relevance:  RoCE.

 8. Problem:    CQ82386 - Error during transmitting RDMA read responses might
                cause the chip to get stuck.

    Change:     (FW RoCE) Fix flow of handling transmission from IRQ after error
                was detected.

    Introduced: Day 1.

    Relevance:  RoCE.

 9. Problem:    CQ83210 - Firmware assert may be exposed while performing
                exchange cleanup.

    Change:     (FW FCoE) Fix firmware exchange cleanup flow.

    Introduced: 8.7.0.0.

    Relevance:  FCoE.

10. Problem:    FW assert during connection recovery.

    Change:     (FW iSCSI) Fix the clear SQ flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

11. Problem:    FW OOO slow recovery.

    Change:     (FW iSCSI) Fix OOO flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

12. Problem:    Data-In with statusBit=1 Re-transmit failure.

    Change:     (FW iSCSI) Fix the Data-In Re-transmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

13. Problem:    StatSN value skip.

    Change:     (FW iSCSI) Fix the StatSN transmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

Version 8.7.1.0 (Nov 09, 2015)
==============================
Internal FW 8.7.0.0

Fixes:
------
 1. Problem:    Can't initialize AH higher PFs when IOV capability exists.

    Change:     Calculate first VF index without reading PCI core registers.

    Introduced: Day 1.

    Relevance:  IOV, AH.

 2. Problem:    Driver Probe fails.

    Change:     Temporarily not require FW to ack final cleanup indication as
                it is broken in FW 8.7.0.0.

    Introduced: FW 8.7.0.0.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Added ecore_phy_api.h for phy commands used by debugfs.

Version 8.7.0.0 (Nov 05, 2015)
==============================
Internal FW 8.7.0.0

Fixes:
------
 1. Problem:    Double doorbel of LL2 TX packet.

    Change:     Flow of TX packet submission is fixed.

    Introduced: Day 1.

    Relevance:  LL2.

 2. Problem:    CQ80267 - Rx gets stuck because of miss-ordered rx update.

    Change:     (FW iSCSI) Fix in retransmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 3. Problem:    Rx ACK processing during/after retransmit caused assertion.

    Change:     (FW iSCSI) Fix Rx ACK processing after re-transmit [Q0 flow].

    Introduced: Day 1.

    Relevance:  iSCSI.

 4. Problem:    CQ82892 - HW attention observed when working on TAPE mode.

    Change:     Fixed CONF/XFER placement firmware flow.

    Introduced: Day 1.

    Relevance:  FCoE Tape.

 5. Problem:    NIG tag-mac classification always done according to outer MAC.

    Change:     Fixed the check of whether chip is switch-independt MF.

    Introduced: 8.2.1.0.

    Relevance:  Switch Dependent MF.

 6. Problem:    Compilation failure issue on Power PC.

    Change:     Compare 64 bit variables instead of 32 bit.

    Introduced: Day 1.

    Relevance:  All.

 7. Problem:    Capability of max_cqe was too high in 32 bit systems.

    Change:     Configure max_cqe to an appropriate value in 32 bit systems.

    Introduced: 8.6.1.0.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Configure ramrods with incremental 'echo'.

 2. Request:    Reintroduce enhancement for Cont00081796 - speed up NFS over
                RoCE mount time. Change: when registering an ecore roce tid the
                caller can choose if the registration will be blocking or
                non-blocking i.e. concurrent.

Version 8.6.1.0 (Oct 29, 2015)
==============================
Internal FW 8.6.1.0

Fixes:
------
 1. Problem:    CQ81448 - E4 RDMA - Traffic moving to L2 path after link
                down/up from switch.

    Change:     Added new qp state ECORE_ROCE_QP_STATE_SQ_ERR.

    Introduced: Day 1.

    Relevance:  RoCe.

 2. Problem:    Assertions seen while running lots of storage connections.

    Change:     Next entries in the searcher T2 table are initialized as BE.
                This introduces OSAL_CPU_TO_BE64.

    Introduced: Day 1.

    Relevance:  Storage.

 3. Problem:    CQ81507 - Event Queue / Common Queue completion might be placed
                at the wrong place in the ring.

    Change:     (FW) Fixed Common Queues PBL pre-fetch FW flow.

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    tag insertion on EDPM packets with tunneling didn't work as
                expected.

    Change:     (FW) Update relevant EDPM flow.

    Introduced: Day 1.

    Relevance:  L2.

 5. Problem:    CQ82798 - Firmware caused an ecore assert during device unload.

    Change:     (L2) Fixed Firmware device unload flow.

    Introduced: Day 1.

    Relevance:  All.

 6. Problem:    CQ82638 - System crash while running L2 traffic and changing
                MTU after enabling WOL in lediag.

    Change:     Update the link-status only when the driver requests for the
                link.

    Introduced: Day 1.

    Relevance:  All.

 7. Problem:    CQ81593: RDMA connections getting dropped with large number
                of queue pairs.

    Change:     Changed ECORE MR TID registration from callback to block.
                (This reverses the fix to: Cont00081796 - speed up NFS over
                RoCE mount time). Use ramrod with echo equals to 0.

    Introduced: 8.6.0.0.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    Add ECORE RoCE API for CQ ring mode.

 2. Request:    Add support for SRIOV vf min rate configuration.

Version 8.6.0.0 (Oct 14, 2015)
==============================
Internal FW 8.6.0.0

Fixes:
------
 1. Problem:    CQ82537 - Unable to create gvlan on the VF after PVID toggle.

    Change:     Clear vlan shadow config in VF FLR flow.

    Introduced: Day 1.

    Relevance:  SRIOV.

 2. Problem:    CQ80777 - RH6.6 System crashed while loading qede driver with
                INT#x (Legacy) interrupt.

    Change:     Complete the IGU configuration before requesting for the
                interrupts.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    L5 with inner VLAN causing connection error.

    Change:     (FW iSCSI) Fixed the vlan parsing configuration.

    Introduced: Day 1.

    Relevance:  iSCSI.

 4. Problem:    CQ81502 - ISCSI errors are observed during Initiator READ I/Os.

    Change:     (FW iSCSI) Fixed the Rx delineation flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 5. Problem:    CQ81084, CQ81864 - iSCSI with inner vlan --> connection errors.

    Change:     (FW iSCSI) Fixed the vlan parsing configuration.

    Introduced: Day 1.

    Relevance:  iSCSI.

 6. Problem:    CQ82107 - HW attention after re-login to tape device.

    Change:     (FW FcoE) Fix flow that sends CONF packets.

    Introduced: Day 1.

    Relevance:  FCoE - Tape devices.

 7. Problem:    CQ82055 - Assertion during VM power while runninng L2 traffic.

    Change:     (FW) Fix VF start flow.

    Introduced: Day 1.

    Relevance:  SRIOV.

 8. Problem:    Rx flow gets stuck because of missing update from Tx-side.

    Change:     (FW iSCSI) Fix Tx no-payload flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 9. Problem:    Performance degredation in signle connection fow.

    Change:     (FW L2) Fix Tx double buffer logic.

    Introduced: 8.2.1.0.

    Relevance:  L2.

Enhancements:
-------------
 1. Request:    Cont00081796 - speed up NFS over RoCE mount time.

 2. Request:    Add support for RoCE on AH emulation.

 3. Request:    HSI files changes - added RDMA hsi files to be used by RoCE.
                A significant amount of renames from RoCE to RDMA in hsi.

 4. Request:    Prevent malicious VF from causing attentions by doorebell.

Version 8.5.9.0 (Oct 08, 2015)
==============================
Internal FW 8.5.6.0

Fixes:
------
 1. Problem:    CQ82290 - Scheduling while atomic might occur if GFP_KERNEL is
                supported.

    Change:     Fix DCBx flow to allocate using GFP_ATOMIC from sleepless ctx.

    Introduced: 8.5.8.0.

    Relevance:  All.

 2. Problem:    OOO packets corrupts memory in linux.

    Change:     Don't assume iterator at end of list is OSAL_NULL.

    Introduced: 8.3.5.0.

    Relevance:  iSCSI OOO.

 3. Problem:    CQ80462 - driver load failure on 100G Board.

    Change:     Do not obtain BAR size from OS callback, as in some environments
                too large values are returend, causing device access intended
                for engine 1 to arrive on engine 0. Instead, obtain BAR size
                from device register.

    Introduced: Day 1.

    Relevance:  100G.

 4. Problem:    OOO TC isn't properly configured in HW.

    Change:     Workaround - enable 5 TCs per port instead of 4.

    Introduced: 8.5.8.0.

    Relevance:  iSCSI OOO.

Enhancements:
-------------
 1. Request:    Add APIs for vport level min rate configuration.

 2. Request:    Add APIs to configure PF min and max bandwidth dynamically.

 3. Request:    Add ecore support for handling the dynamic bandwidth change
                notifications from the mfw.

 4. Request:    Make __ecore_get_vport_stats() public API to allow reading
                statistics from a given engine on a 100g device.

 5. Request:    Remove slowdown logic as its not working in secure mode.

Version 8.5.8.0 (Sep 21, 2015)
==============================
Internal FW 8.5.6.0

Fixes:
------
 1. Problem:    CQ77036 - Port identification does not work in linux driver.

    Change:     Add ecore support for port identification.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    OOO packets corrupts memory in linux.

    Change:     Check for empty lists before iterating over them.

    Introduced: 8.3.5.0.

    Relevance:  iSCSI OOO.

 3. Problem:    Connection error during out of order processing.

    Change:     (FW iSCSI) Fixed the out-of-order flow.

    Introduced: Day 1.

    Relevance:  iSCSI OOO.

 4. Problem:    CFC execution error might occur.

    Change:     (FW L2) Changes the L2 TX AC policy.

    Introduced: 8.5.6.0.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Remove 'tpa_buf_size' from ecore_sp_vport_start() [deprecated].

 2. Request:    Support proper TC for iSCSO OOO TX chain.

 3. Request:    Change slowpath allocation from GFP_ATOMIC into GFP_KERNEL.

 4. Request:    Add ecore support for NCSI statistics.

Version 8.5.7.0 (Sep 02, 2015)
==============================
Internal FW 8.5.5.0

Fixes:
------
 1. Problem:    RoCE isn't working.

    Change:     Translate ecore MF modes into FW MF modes when initializing.

    Introduced: 8.5.6.0.

    Relevance:  All.

 2. Problem:    CQ81178 - accept-any-vlan is being reset when no VLAN filters.

    Change:     (FW L2) Fixed any-vlan update flow.

    Introduced: 8.2.2.0.

    Relevance:  L2.

 3. Problem:    CQ81412 - Timestamp value in TCP handshake is inconsistent
                with value in packets sent after it.

    Change:     (FW iSCSI) Fix timestamp option on handshake packets.

    Introduced: Day 1.

    Relevance:  TCP option 2 with timestamp enabled.

 4. Problem:    Completion for inline EDPM was given on WQE regardless of
                signaled attributes.

    Change:     (FW RoCE) Fix processing of EDPM WQEs flow.

    Introduced: Day 1.

    Relevance:  Inline WQEs with EDPM enabled.

 5. Problem:    Connection failure after task cleanup.

    Change:     (FW iSCSI) Fixed the exp_stat_sn validation after task cleanup.

    Introduced: Day 1.

    Relevance:  iSCSI initiator.

 6. Problem:    FW might still assert when transmitting [length > MTU].

    Change:     (FW L2) Fixed MTU violation flag initialization.

    Introduced: 8.5.6.0.

    Relevance:  L2.

Enhancements:
-------------
 1. Request:    Major changes in L2 Rx HSI - support TPA over BDs, remove
                SGE rings.

 2. Request:    Add support for PF to suggest VF its mac via new api
                ecore_iov_bulletin_set_mac().

 3. Request:    Update ecore_sp_vport_start function prototype to have an
                argument structure inplace of large number of arguments.

Version 8.5.6.0 (Aug 26, 2015)
==============================
Internal FW 8.5.4.0

Fixes:
------
 1. Problem:    When vport is configured to accept only untagged packets as
                default behavior, stopping HW might cause FW assertion.

    Change:     (FW L2) Fixed relevant flow.

    Introduced: 8.3.3.0.

    Relevance:  L2.

 2. Problem:    CQ80743, CQ81295 - FW assertion appear during vport stop.

    Change:     (FW L2) Fixed contextless slow-path firmware flow.

    Introduced: Day 1.

    Relevance:  L2.

 3. Problem:    Posting 'send' or 'rdma write' WQE with multiple SGEs where
                at least one of the SGEs has length <= 64K might stuck chip.

    Change:     (FW RoCE) Fixed relevant flow.

    Introduced: Day 1.

    Relevance:  RoCE.

 4. Problem:    Target write failure in case of R2T PDU packet delayed ack.

    Change:     (FW iSCSI) Fix the R2T PDU packet delayed ack.

    Introduced: 8.4.1.0.

    Relevance:  RoCE.

 5. Problem:    FW assert during the re-transmit of logic PDU.

    Change:     (FW iSCSI) Fix the logic PDU re-transmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 6. Problem:    Initiator mode is not updating the driver about sense data.

    Change:     (FW iSCSI) Fix the updating of the sense data.

    Introduced: Day 1.

    Relevance:  iSCSI.

 7. Problem:    GRC dump can't be parsed when taken with 'crash' preset.

    Change:     (FW tools) Fix the grcDump.

    Introduced: 8.5.4.0.

    Relevance:  All.

 8. Problem:    CQ80746 - FW asserts When transmitting [length > MTU].

    Change:     (FW L2) Silently drop such packets instead of asserting.

    Introduced: Day 1.

    Relevance:  L2.

 9. Problem:    CQ80796 - Assertions seen while running non-common block error
                recovery with ping traffic.

    Change:     Disable attentions in the IGU block when getting a process kill
                notification.

    Introduced: Day 1.

    Relevance:  Error recovery.

Enhancements:
-------------
 1. Request:    VF can request default behavior regarding vlan-tagged ingress
                when starting its vport.

 2. Request:    Add ecore APIs for OneView support.

 3. Request:    Add ecore_iov_get_vf_stats() through which a PF can read the
                statistics of any of its child VFs.

 4. Request:    (FW) MCP trace is taken while MCP is halted.

 5. Request:    Avoid waiting till timers linear scan is done during driver
                unload while recovery is in progress.

 6. Request:    Avoid checking for incorrect states in the QM/xCFC blocks during
                driver unload while recovery is in progress.

 7. Request:    Remove SF mode support from ecore and, add the support for
                Default-MF mode.

 8. Request:    Added the following iov related api:
                ecore_iov_get_vf_num_rxqs(), ecore_iov_get_vf_num_active_rxqs(),
                ecore_iov_get_vf_ctx(), ecore_iov_get_vf_num_sbs(),
                ecore_iov_is_vf_wait_for_acquire(),
                ecore_iov_is_vf_acquired_not_initialized(),
                ecore_iov_is_vf_initialized().

 9. Request:    Added ecore_sb_cnt_info struct which can be filled by
                ecore_int_get_num_sbs().

10. Request:    Workaround for a FW issue - disable QM opportunistic flow in the
                tx_queue_start ramrod.

Version 8.5.5.0 (Aug 13, 2015)
==============================
Internal FW 8.5.3.0

Fixes:
------
 1. Problem:    Mcp Trace comes up empty.

    Change:     Improve "Corrupted Data" condition in Mcp Trace code
                (Prod has wrapped around but cons has not yet).

    Introduced: FW 8.5.3.0.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Enable LRO for tunneled packets in vport update.

Version 8.5.4.0 (Aug 10, 2015)
==============================
Internal FW 8.5.3.0

Fixes:
------
 1. Problem:    CQ80841 - Abnormal consumption of one (per switch) physical
                processor of the host when traffic is run on multiple VFs of
                same switch.

    Change:     Removed setting of tx accept all ucast.

    Introduced: Day 1.

    Relevance:  L2 Tx Switching.

 2. Problem:    CQ81093: When VFs are enabled PF0 logs obscure error message
                "Consecutive igu vectors for HWFN 0 vfs is broken".

    Change:     Prevent said print due to uninitialized CAM entries.

    Introduced: Day 1.

    Relevance:  SRIOV.

 3. Problem:    Packets will be transmitted without timestamp even if such
                was negotiated in option 2 active connect.

    Change:     (FW iSCSI) Fix reading of TCP options from SYN-ACK packet.

    Introduced: Day 1.

    Relevance:  iSCSI.

 4. Problem:    CQ78157 - OS scaling used is not correct in option 2
                active connect when IP version is IPv6.

    Change:     (FW iSCSI) Fix reading of TCP options from SYN-ACK packet.

    Introduced: Day 1.

    Relevance:  iSCSI.

 5. Problem:    CQ78673 - System crashes when disabling function while traffic
                is running.

    Change:     (FW RoCE) Fix QP destruction flow.

    Introduced: Day 1.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    Storage ecore API operates by relative Q ID.
                No more first_global_q.

 2. Request:    Add limited support for AH emulation [single PF, 4-port].

 3. Request:    Added extra arguments to ecore_filter_accept_cmd() to pass
                accept any vlan behavior.

 4. Request:    Add support for reg fifo debug feature in ecore.

 5. Request:    Add support for AH fpga.

 6. Request:    Add support for RoCE v2 (API structures were slightly changed).

 7. Request:    Add support for protection override feature in ecore.

Version 8.5.3.0 (Jul 26, 2015)
==============================
Internal FW 8.5.2.0

Fixes:
------
 1. Problem:    LLH filters might get exhausted and traffic fail after reloads.

    Change:     Prevent same LLH entry cleaning twice.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    CQ80867 - E4:RoCE:qedr driver is not detecting RoCE functions
                using MFW:8.5.0.0.

    Change:     Enabling RoCE if personality is ETH and device capability in
                the nvm supports RoCE capability.

    Introduced: MFW 8.5.0.0.

    Relevance:  RoCE.

 3. Problem:    CQ80514 - system crash when running port0 Medusa stress and
                port1 load/unload (verifier enabled).

    Change:     Always return error status when ecore_resc_alloc() fail.

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    Parity error may occur while running non-L2 traffic.

    Change:     (FW) Temporary mask the parity.

    Introduced: 8.5.2.0.

    Relevance:  BB B0, non-L2.

 5. Problem:    CQ80705 - attention when running traffic containing 'send with
                invalidate' packets.

    Change:     (FW RoCE) workaround for HW issue.

    Introduced: 8.5.2.0.

    Relevance:  BB B0, RoCE.

 6. Problem:    Recovery failure after local completion timeout.

    Change:     (FW iSCSI) Fix the local compilation recovery flow.

    Introduced: 8.4.1.0.

    Relevance:  iSCSI.

 7. Problem:    Slow IO recovery failure.

    Change:     (FW iSCSI) Fix the recovery flow.

    Introduced: 8.5.2.0.

    Relevance:  iSCSI.

 8. Problem:    DataOut may be sent with wrong [advanced] sequence ID in the
                middle of a sequence [i.e., sequence count != 0].

    Change:     (FW FCoE) Correct sequence ID handling according to the count.

    Introduced: Day 1.

    Relevance:  Target or Tape device.

Enhancements:
-------------
 1. Request:    Call OSAL_DMA_SYNC() only for physical addresses, not GRC.

 2. Request:    Added OS identifier for Solaris [for SRIOV].

 3. Request:    ecore_mcp_get_mfw_ver() now can also return the bundle-id.

 4. Request:    Added ecore_iov_bulletin_set_forced_untagged_default() to allow
                Hypervisor to determine VFs default behavior when no vlan
                filter is configured.

 5. Request:    Remove the cleanup of general attention 35 since is done by the
                MFW (starting at version 8.5.0.0).

 6. Request:    Add ecore APIs for MCP halt/resume functionalities.

Version 8.5.2.0 (Jul 14, 2015)
==============================
Internal FW 8.5.1.0

Fixes:
------
 1. Problem:    CQ80492 - E4: Ethtool "autoneg" option can not be turned off
                once "autoneg" turned.

    Change:     Add the changes for 25G speed support.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    TCP URG flag caused connection error.

    Change:     (FW TCP) Ignore the TCP URG flag.

    Introduced: Day 1.

    Relevance:  iSCSI.

 3. Problem:    Data digest retransmit failure.

    Change:     (FW iSCSI) Fix the data digest retransmit flow.

    Introduced: 8.4.1.0.

    Relevance:  iSCSI.

 4. Problem:    CQ80221 - FW assertion when using different ib applications -
                ib_send_bw on server adn ib_read_bw on client.

    Change:     (FW RoCE) Enable graceful error handling of illegal remote
                access using Reserved LKEY.

    Introduced: Day 1.

    Relevance:  RoCE.

 5. Problem:    CQ80349 - E4: Changing the port vlan id to different value do
                not stop the pvid traffic from vf to external

    Change:     Fix forced feature handling logic in ecore to allow consecutive
                configurations of PVID by ecore.

    Introduced: Day 1.

    Relevance:  SRIOV - PVID

 6. Problem:    CQ80498 - link down after load/unload.
                CQ80453 - crash while enable disable SRIOV.

    Change:     Fix igu int attention enable init.

    Introduced: Day 1.

    Relevance:  All.

 7. Problem:    hw_mdoe isn`t initialized with 40/100_MODE.

    Change:     Added 40/100_MODE init to hw_mode calculation.

    Introduced: Day 1.

    Relevance:  All.

 8. Problem:    Re-transmit data corruption.

    Change:     (FW iSCSI) Fix the iscsi history queue.

    Introduced: Day 1.

    Relevance:  iSCSI.

 9. Problem:    CQ80465 - E4: Assertions seen in the Hypervisor when VF
                attached VM is powered on.

    Change:     Configure VFs status blocks in CAU after setting them in
                in IGU.

    Introduced: 8.4.1.0.

    Relevance:  SRIOV.

10. Problem:    If NVM is reset, load fail causes NULL pointer dereference.

    Change:     Set pointer to OSAL_NULL after freeing it.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Implement DCBx-DPM state machine. DPM is enabled by default
                for all PFs. DPM will be disabled for PFs with ROCE
                personality  when DCBx change occurs while there are allocated
                cids. DPM can subsequently be enabled if another DCBx change
                occirs with no cids allocated.

 2. Request:    Added dp_ctx to struct ecore_dev and ecore_hwfn. This param is
                passed to PRINT() and PRINT_ERR().

 3. Request:    Added extra argument to ecore_sp_vport_start() to pass
                default untagged vlan filter behavior.

 4. Request:    Support a number of isles as sum of one isle per connection
                and shared pool.

 5. Request:    Asynchronous event iSCSI OOO isle delete support.

 6. Request:    (FW) Added BRB configurations to BB B0.

 7. Request:    (FW iSCSI) Implement re-transmit of slowIO.

Version 8.5.1.0 (Jul 05, 2015)
==============================
Internal FW 8.4.2.0

Fixes:
------
 1. Problem:    Closing devices sporadically causes ramrod failures.

    Change:     Move all CAU widebus initializations into using dmae.

    Introduced: Day 1.

    Relevance:  NPAR.

 2. Problem:    B0 isn't being properly initialized.

    Change:     Determine A0/B0 based MISCS_REG_CHIP_REV.

    Introduced: Day 1.

    Relevance:  B0.

Enhancements:
-------------
 1. Request:    Modify the VID/DID read to be from the config space instead of
                from the nvram copy in the shmem.

Version 8.5.0.0 (Jun 25, 2015)
==============================
Internal FW 8.4.2.0

Version 8.4.1.0 (Jun 25, 2015)
==============================
Internal FW 8.4.2.0

Fixes:
------
 1. Problem:    CQ80051 - System crash while installing QEVBD driver
                in NPAR mode.

    Change:     Clears ROCE search for all functions to prevent involving
                non initialized function in processing ROCE packet.

    Introduced: Day 1.

    Relevance:  NPAR.

 2. Problem:    CQ78105 - loading drivers gives continuous qed_int_deassertion
                messages in logs.

    Change:     Configure SBs in CAU from IGU mapping.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    CQ80034 - Seeing FW assertions / ramrod stuck using large QP
                [size 512]; HW reports ILT error.

    Change:     (FW RoCE) RoCE connection and task contexts are not deleted
                during FUNC_CLOSE instead of PF_STOP.

    Introduced: Day 1.

    Relevance:  RoCE.

 4. Problem:    Running a benchmark more than once without removing the driver
                will cause the QP post completions with 'FLUSH' on each RQ WQE
                posted.

    Change:     (FW RoCE) Fix QP cleanup code on destruction.

    Introduced: 8.4.0.0.

    Relevance:  RoCE.

 5. Problem:    CQ79651 - Payload with data corruption when retransmitting near
                TCP sequence wrap-around.

    Change:     (FW iSCSI) Use cyclic instead of linear arithmetic in
                retransmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 6. Problem:    Out-of-order iSCSI was disabled during traffic.

    Change:     (FW iSCSI) Fix Out-of-order mode.

    Introduced: 8.4.0.0.

    Relevance:  iSCSI.

Enhancements:
-------------
 1. Request:    Add ecore support for configuring the driver version.

 2. Request:    Add ecore support for configuring Rx coalesce value.

 3. Request:    TPA for encapsulated packets is disabled by default.

 4. Request:    Modified ecore_mcp_get_mfw_ver() to get ptt parameter.

 5. Request:    Added OSAL_NVM_IS_ACCESS_ENABLED(hwfn).

Version 8.4.0.0 (Jun 19, 2015)
==============================
Internal FW 8.4.1.0

Fixes:
------
 1. Problem:    Inconsistency between advertised number of QPs supported to the
                number of QPs that can be opened.

    Change:     Fix flow to allocate enough resources for capability
                adverstised.

    Introduced: Day 1.

    Relevance:  RoCE.

 2. Problem:    CQ79933 - E4 DCBX: assigning strict priority to FCOE result
                in system assert.

    Change:     Sanitize values provided by MFW.

    Introduced: Day 1.

    Relevance:  DCBx.

 3. Problem:    QEDR interrupts in mF are received only on qedr0/1.

    Change:     Fixed configuration CNQ ID.

    Introduced: Day 1.

    Relevance:  RoCE w/ mF.

 4. Problem:    CQ79564 - FCoE: NPIV ports doesn't logs in to Target after
                creating around 70 NPIV ports.
                CQ79301 - [RHEL66-E4]fcoe plogi issue in NPAR(1.0)mode.

    Change:     LLH ethertype classification is involved.

    Introduced: Day 1.

    Relevance:  FCOE under NPAR.

 5. Problem:    CQ79801 - iSCSI: Assertion while disable enable iscsi port
                from device manager.
                CQ78952 - iSCSI: Function failed to obtain IP address after
                driver disable/enable.
                CQ79264 - FCOE: port doesn't Login after load/unload
                for long time.

    Change:     Initialization FW variables on LL2 chains creation.

    Introduced: Day 1.

    Relevance:  LL2/Storage.

 6. Problem:    cq79688: VF traffic is failing for VFs with 'high' parent PF.

    Change:     Fix setting of IGU value [set parent PF instead of SISR].

    Introduced: Day 1.

    Relevance:  SRIOV, VF-RSS.

 7. Problem:    VFs aren't operational in secure-mode.

    Change:     Move VF configuration from shmem-based approach into using
                drv_data on MFW commands.

    Introduced: Day 1.

    Relevance:  SRIOV, secure-mode.

 8. Problem:    "VF[<..>] did not fill the address of SB <..>" appear in logs.

    Change:     Reduce verbosity of error print.

    Introduced: 8.2.0.0.

    Relevance:  SRIOV, VF-RSS.

 9. Problem:    VF`s personality is different from its PF.

    Change:     Fixed VF`s personality initialization in vf start ramrod.

    Introduced: Day 1.

    Relevance:  SRIOV.

10. Problem:    Fail to add same MAC filter to different vports.

    Change:     (FW L2) Fix HW definitions.

    Introduced: Day 1.

    Relevance:  L2.

11. Problem:    CQ79620 - System crash while disabling RSC under traffic.

    Change:     (FW L2) Fix TPA disable flow.

    Introduced: Day 1.

    Relevance:  L2 with TPA.

12. Problem:    CQ79868 - Summarized RSC aggregation size greater than defined.

    Change:     (FW L2) Fix TPA decision rule.

    Introduced: Day 1.

    Relevance:  L2 with TPA.

13. Problem:    Responder retransmit flow after only 1 or 2 RDMA read
                operations since QP creation will cause fw assertion.

    Change:     (FW RoCE) Fix scanback code for near-empty responder ops queue.

    Introduced: Day 1.

    Relevance:  RoCE.

14. Problem:    First retransmit request may be silently discarded depending on
                initial PSN used.

    Change:     (FW RoCE) Correct out-of-order PSN comparison flow.

    Introduced: Day 1.

    Relevance:  RoCE.

15. Problem:    Repetitive RNR-NAKs will cause a transport retry error when
                infinite retry is configured.

    Change:     (FW RoCE) Fix RNR NAK counter modification.

    Introduced: Day 1.

    Relevance:  RoCE.

16. Problem:    FW assert during connection recovery after link-down.

    Change:     (FW iSCSI) Fix the connection connect flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

17. Problem:    CQ79825 - Connecting to several targets results in assertion.

    Change:     (FW iSCS) Fix the connect flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

18. Problem:    FW assert may (rarely) occur during heavy storage/RoCE traffic.

    Change:     (FW) Fix common firmware flow.

    Introduced: Day 1.

    Relevance:  All.

19. Problem:    Requester FW may get stuck in retransmit and flush SQ flows.

    Change:     (FW RoCE) Fix internal SQ scan-back firmware code.

    Introduced: Day 1.

    Relevance:  RoCE.

20. Problem:    HW attention in responder retransmission.

    Change:     (FW RoCE) Fix responder retransmission.

    Introduced: Day 1.

    Relevance:  RoCE.

21. Problem:    Responder may generate multiple duplicate ACKs when RDMA write
                and send operations are retransmitted by requester.

    Change:     (FW RoCE) Block such responses when a retransmit flow is
                already in progress.

    Introduced: Day 1.

    Relevance:  RoCE.

22. Problem:    FW assert during unload if more than 160 filters are used on a
                single engine for classification.

    Change:     (FW L2) Fix filter removal flow.

    Introduced: Day 1.

    Relevance:  L2.

23. Problem:    CQ80060 - Incorrect data digest produced in fast-retransmit.

    Change:     (FW iSCSI) Fix dummy read flow.

    Introduced: 8.3.4.0.

    Relevance:  iSCSI.

Enhancements:
-------------
 1. Request:    Added an osal(osal_unintptr_t) for typecasting.

 2. Request:    Initial implementation of error recovery.

 3. Request:    Add new pmm stats.

 4. Request:    Support LLH (NPAR) classification by ethertype.

 5. Request:    'Sealed' HW-channel for forward/backward support purposes.
                Changed OSAL_VF_FILL_ACQUIRE_RESC_REQ() and added
                OSAL_IOV_GET_OS_TYPE() for this purpose.

 6. Request:    Modified the HSI functions get_*_results_buf_size and
                print_*_results to return a status code.

 7. Request:    Added ISCSI_EVENT_TYPE_ASYNC_DELETE_OOO_ISLES as a possible
                async event.

 8. Request:    HSI file structure changes - separate targets were removed.
                All clients should now use same set of HSI files.

Version 8.3.5.0 (May 20, 2015)
==============================
Internal FW 8.3.8.0

Fixes:
------
 1. Problem:    Compilation failure when using ECORE_CONFIG_DIRECT_HWFN.

    Change:     Correct type of 'p_hwfn' into ecore_hwfn*.

    Introduced: Day 1.

    Relevance:  ECORE_CONFIG_DIRECT_HWFN.

 2. Problem:    CQ79448 - When MCP is reset, need to re-read MFW
                mailbox offsets correctly.

    Change:     Use MCP history register to check if MCP reset occurred between
                init time and now, while accessing MCP mailboxes.

    Introduced: 8.3.0.0.

    Relevance:  MCP access.

 3. Problem:    Interrupts for RoCE CNQ not received when working with RoCE
                over 100g.

    Change:     Set personality to be the same between hwfns.

    Introduced: 8.3.4.0.

    Relevance:  RoCE over 100g.

 4. Problem:    Connection recovery bug in case the data was already acked.

    Change:     (FW iSCSI) Fix the connection recovery flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 5. Problem:    Data corruption possible when transmitting IO contained in
                single buffer descriptor.

    Change:     (FW iSCSI) Fix cached BD transmit flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 6. Problem:    CQ79391 - FCoE: Npar: HW aseertion on stop FCoE function.

    Change:     Timers scans on FCoE tasks are disabled before FCoE function
                stop/destroy.

    Introduced: Day 1.

    Relevance:  FCoE.

Enhancements:
-------------
 1. Request:    iSCSI OOO support.

 2. Request:    Enable end-to-end flow control in responder by default.

 3. Request:    Masked NIG "pause too long" attentions [sometimes appeared
                when dcbx was active].

Version 8.3.4.0 (May 07, 2015)
==============================
Internal FW 8.3.7.0

Fixes:
------
 1. Problem:    CQ79434 - Failed to read nvm directory after MFW upgrade.

    Change:     Re-read MFW mailbox and mcp trace meta file after mcp reset.

    Introduced: Day 1.

    Relevance:  MFW upgrade.

 2. Problem:    CQ79497 - FW asserts on MTU 4000.

    Change:     Set maximum aggregation size to be maximum supported by FW.

    Introduced: Day 1.

    Relevance:  GRO.

 3. Problem:    iSCSi target connect - negative scenario failure.

    Change:     (FW iSCSI) Fix the option 2 connect negative scenario flow.

    Introduced: 8.2.1.0.

    Relevance:  iSCSI.

 4. Problem:    Retransmittion of iSCSI traffic with data digest enabled may
                cause HW attention.

    Change:     (FW iSCSI) Fix dummy-read flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 5. Problem:    iSCSI multi-function connect failure.

    Change:     (FW iSCSI) Fix the multi-function init flow.

    Introduced: 8.3.2.0.

    Relevance:  iSCSI.

 6. Problem:    iSCSI unsolicited packed PDUs failure.

    Change:     (FW iSCSI) Fix the unsolicited packed PDUs flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 7. Problem:    No traffic when maximum bandwidth configured for Pf is 1Mb/s.

    Change:     (FW) Make sure Rate-limiter is always configured to non-zero.

    Introduced: Day 1.

    Relevance:  L2, NPAR.

 8. Problem:    NIG attention appears during bi-directional 100g traffic.

    Change:     (FW) Mask attentions in A0.

    Introduced: Day 1.

    Relevance:  100g.

 9. Problem:    cq79476 - VF Traffic is not working.

    Change:     Fix return status in VFs ucast configuration by PF.

    Introduced: 8.3.3.0.

    Relevance:  SRIOV.

Enhancements:
-------------
 1. Request:    Add VFs rate (max rate) limiting support.

 2. Request:    Enable RoCE to work on 100G device.

Version 8.3.3.0 (Apr 29, 2015)
==============================
Internal FW 8.3.6.0

Fixes:
------
 1. Problem:    Memory overrun during roce stop.

    Change:     ILT range for RoCE tasks was calculated based on hard coded
                values instead of configurable ones.

    Introduced: Day 1.

    Relevance:  RoCE.

 2. Problem:    Drivers fail to load on emulation.

    Change:     Prevent final cleanup and shmem-based logic from running on
                FPGA and emulations.

    Introduced: 8.2.4.0.

    Relevance:  FPGA, Emulation.

 3. Problem:    FW assertion due to sync. loss on Tx buffer sequence.

    Change:     (FW L2) Fix the Tx descrptors fetch flow.

    Introduced: 8.2.1.0.

    Relevance:  L2.

 4. Problem:    Data corruption if TCP send window closes during transmission
                of slowIO type iSCSI exchange.

    Change:     (FW iSCSI) Fix SlowIO transmit firmware flow.

    Introduced: 8.3.1.0.

    Relevance:  iSCSI.

 5. Problem:    Seperate response withut Sense Data failure.

    Change:     (FW iSCSI) Fix the completion flow of seperate response.

    Introduced: Day 1.

    Relevance:  iSCSI.

 6. Problem:    Option 2 active connect failure.

    Change:     (FW iSCSI) Fix the connect flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 7. Problem:    Option 2 FIN re-transmit failure.

    Change:     (FW iSCSI) Fix the termination flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 8. Problem:    Cont00078980 E4:NPAR_RoCE: flooding messages "Silently dropping
                invalid QP1 packet" once interfaces are up /while running
                traffic.

    Change:     Disable broadcast/multicast packet duplication to LL2.

    Introduced: Day 1.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    Added new API function ecore_mcp_get_personality_cnt().

 2. Request:    Memory barrier osals (MMIOWB, BARRIER, SMP_RMP, SMP_WMB,
                RMB, WMB) now pass 'struct *ecore_dev' as a parameter.

 3. Request:    FCoE: PRS_REG_TASK_ID_MAX_TARGET_PF is set in target mode.

 4. Request:    ecore_mcp_function_info 'protocol' now holds ECORE_PCI_ values
                instead of ECORE_MCP_PROTOCOL_ values which were removed.

 5. Request:    DIRECT_REG_{RD,WR} now pass 'struct *ecore_hwfn' as a
                parameter [If needed, ecore should be compiled with
                CONFIG_ECORE_DIRECT_HWFN].

 6. Request:    ecore_int_sb_setup can be called externally to re-set the sb.

 7. Request:    Added 3 new iov-related OSALs: IOV_VF_ACQUIRE, IOV_VF_CLEANUP,
                and IOV_VF_VPORT_UPDATE.

 8. Request:    Add support for VF's pvid configuration via a new API function
                ecore_iov_bulletin_set_forced_mac().

 9. Request:    Added support for end-to-end flow control REP message.

Version 8.3.2.0 (Apr 21, 2015)
==============================
Internal FW 8.3.5.0

Fixes:
------
 1. Problem:    Possible context corruption.

    Change:     (INIT) Employe CCFC/TCFC HW bug workaround.

    Introduced: Day 1.

    Relevance:  All.

 2. Problem:    QM attentions may appear when running in NPAR.

    Change:     (INIT) Use regular (external) vport ids as global rate-limiter
                id instead of the internal QM vport id.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    iSCSI out-of-order silently drops all packets.

    Change:     (FW) Revise flow that checks whether a packet is to be dropped.

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    Application freezes when testing writes on RoCE flow.

    Change:     (FW) On start of Rx/Tx, clear old data written to driver by
                previous connections.

    Introduced: Day 1.

    Relevance:  All.

 5. Problem:    SYN, SYN+ACK re-transmit failures.

    Change:     (FW iSCSI) Fix re-transmission flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 6. Problem:    Receive RESET during connect failure.

    Change:     (FW iSCSI) Fix re-transmission flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 7. Problem:    Possible re-transmit corruption.

    Change:     (FW iSCSI) Transmit history queue fix.

    Introduced: Day 1.

    Relevance:  iSCSI.

 8. Problem:    CQ78086 - Rx path may be stalled after FW reports an error.

    Change:     (FW FCoE) Fix error reproting flow.

    Introduced: Day 1.

    Relevance:  FCoE.

 9. Problem:    BD ring might get out of sync.

    Change:     (FW L2) Fix BD ring synchronization problem.

    Introduced: 8.2.1.0.

    Relevance:  L2.

10. Problem:    BMC packets are mistakenly dropped.

    Change:     (FW L2) Remove anti-spoofing check for BMC packets.

    Introduced: 8.2.1.0.

    Relevance:  Management traffic.

11. Problem:    PCI performance degredation on Grantly plaform.

    Change:     (FW L2) Set RO=0 fo rall PCI transactions.

    Introduced: Day 1.

    Relevance:  L2.

12. Problem:    During FLR, non-FLRed functions may freeze.

    Change:     (FW L2) FLRed function FW verifies it cleaned stale data for
                non-FLRed functions.

    Introduced: Day 1.

    Relevance:  All.

13. Problem:    CQ79115 - 25G: System hitting exception while loading driver.

    Change:     Added handling in 25G port mode.

    Introduced: Day 1.

    Relevance:  All.

14. Problem:    PF start ramrod fails to pass on some environments.

    Change:     Don't assume OSAL_DMA_ALLOC_COHERENT zeroes context memory.

    Introduced: Day 1.

    Relevance:  ESX Beta build.

Enhancements:
-------------
 1. Request:    Added calls to OSAL_DMA_SYNC(), for clients needing to sync
                memory before and after DMA operations.

 2. Request:    Added the following OSALs: MUTEX_ALLOC(), MUTEX_DEALLOC(),
                SPIN_LOCK_ALLOC(), SPIN_LOCK_DEALLOC() for clients that need
                to dynamically allocate lock primitives. Such clients should
                also pass CONFIG_ECORE_LOCK_ALLOC when compiling ecore sources.

 3. Request:    Remove workaround for iSCSI asynchrounous event.

 4. Request:    Support FCoE target configuration.

 5. Request:    Add support to utilize binary firmware files.

 6. Request:    ecore_eth_cqe_completion() receive hw-function instead of queue
                index, allowing client to employe any logic when mapping queues
                to engines in 100g device.

 7. Request:    Added new API function ecore_mcp_get_personality_cnt().

Version 8.3.1.0 (Apr 08, 2015)
==============================
Internal FW 8.3.4.0

Fixes:
------
 1. Problem:    Potential access to an un-allocated memory may occur during
                function unload.

    Change:     (FW) Fix common function unload FW flow.

    Introduced: Day 1.

    Relevance:  MF.

 2. Problem:    CQ78857 - PFC packet received will only stop traffic on
                requested TC for maximum of ~200usec and not as requested on
                packet.

    Change:     (FW) Fix timeout value after stopping TC due to received PFC
                packet.

    Introduced: 8.2.3.0.

    Relevance:  Port 1 in 2x40Gb configuration.

 3. Problem:    Error of VF FLR flow.

    Change:     (FW) Fix flow on VF load.

    Introduced: 8.3.0.0.

    Relevance:  SRIOV.

 4. Problem:    L2 losses connectivity after running RoCE traffic.

    Change:     (FW) Fix internal cache management flow.

    Introduced: Day 1.

    Relevance:  L2, RoCE.

 5. Problem:    Driver unload during RDMA Read operation may cause wrong CQE
                generation.

    Change:     (FW) Fix calculation of packets per operation code.

    Introduced: Day 1.

    Relevance:  RoCE.

 6. Problem:    Driver unload or error condition in responder while RDMA read
                or atomic responses are pending transmission may cause
                firmware assert.

    Change:     (FW) Correct activity counter calculation in error state.

    Introduced: 8.3.0.0.

    Relevance:  RoCE.

 7. Problem:    When during retransmission (slow start) the transmission is
                stopped due to window, one packet will be sent every RTO timer
                until retransmission will end.

    Change:     (FW) Fix retransmission flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 8. Problem:    iSCSI traffic on function other than pfid 0 causes HW attention
                from PCFC.

    Change:     (FW) Fix connection-establishment flow.

    Introduced: Day 1.

    Relevance:  iSCSI.

 9. Problem:    Connection recovery failure.

    Change:     (FW) Fix offload ramrod fix.

    Introduced: Day 1.

    Relevance:  iSCSI.

10. Problem:    iSCSI response PDU with "BUSY" status is treated as connection
                error and leads to termination of the connection.

    Change:     (FW) Fix response PDU validations code to accept "BUSY" status.

    Introduced: Day 1.

    Relevance:  iSCSI.

11. Problem:    R2T stat sn validation error (misbehave target).

    Change:     (FW) Disable R2T stat sn validation.

    Introduced: Day 1.

    Relevance:  iSCSI.

12. Problem:    iSCSI target - response packet with wrong statSN value.

    Change:     Fix target Tx flow.

    Introduced: 8.2.1.0.

    Relevance:  iSCSI.

13. Problem:    CQ78903 - crash on disable driver.
                CQ78959 - OS Crash while doing Load Unload (MPIO Failover)
                and traffic is running.

    Change:     Remove obsolete workaround of PTU HW block invalidation.

    Relevance:  NPAR and 4 ports modes.

14. Problem:    A re-established TX LL2 connection failed to transmit.

    Change:     Reset driver intenral variable (consumer of queue)upon
                connection  establishment.

    Introduced: Day 1.

    Relevance:  LL2.

Enhancements:
-------------
 1. Request:    Restructure DCBx implementation so that there is DCBx API file
                to facilitate QED access into DCBx data structures.

 2. Request:    Allocated or reused iSCSI connection memory must be zeroed.

 3. Request:    (FW) Support creation of QP without End-to-End flow control.

 4. Request:    (FW) Support switch-dependent multi-function.

 5. Request:    (FW) Support Target mode.

Version 8.3.0.0 (Mar 24, 2015)
==============================
Internal FW 8.3.3.0

Fixes:
------
 1. Problem:    Memory corruption happens on VF bulletin board when
                PF is posting to it.

    Change:     Fixed dame write command size to dwords value instead of bytes.

    Introduced: Day 1.

 2. Problem:    DMAE timeout sometimes randomly appear.

    Change:     DMAE completion is made into 32-bit variable.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    Loss of L2 connectivity after running RoCE apps with rdma cm.

    Change:     Change hw configuration to use separate internal cache indices
                for l2 packets going to RoCE CM and l2 regular packets.

    Introduced: Day 1.

    Relevance:  RoCE-CM / L2.

 4. Problem:    Cont00078455 - E4 : Crash found when configuring  SRIOV 240
                vfs in NPAR.

    Change:     Added error handling for DMA memory allocation failure.

    Introduced: Day 1.

    Relevance:  SRIOV.

 5. Problem:    CQ78435 - Nictest test D1 "Internal loopback test" fails
                after programing NVM with manufacture kit 8562_40Gv11,
                with Roce personality (nvm cfg option 92).

    Change:     Fixed ecore_cxt_set_pf_params() not to fail in case
                of roce personality without setting roce parameters.
                Show information warning in this case.

    Introduced: 8.2.6.0.

    Relevance:  Roce.

 6. Problem:    Ethernet traffic carries a zeroed vlan tag when DCBx was
                negotiated. This has a detrimental effect on some OSs (e.g.
                RH6.5) and only negligible effect on others (in RH7.0 it only
                clutters up a network trace). An additional effect is that
                the vlan priority will be overwritten with 0 even if user
                configured it (the tag value will remain unaffected).

    Change:     Do not enable DCBx for ethernet even if DCBx was negotiated.
                The OS should be the one to supply the vlan tag if required.

    Introduced: 8.2.2.0.

    Relevance:  L2 when DCBx is negotiated.

 7. Problem:    CQ78700 - E4:RoCE:RDMA applications are not working on
                servers with 72 cpus.

    Change:     Doorbells weren't accepted due to misscalculations performed
                based on number of CPUs. There is no need for basing these
                calculations on #cpus at this stage.

    Introduced: Day 1.

    Relevance:  RoCE.

Enhancements:
-------------
 1. Request:    Ecore self test initial support.

 2. Request:    ecore_mcp_drain() now returns only after drain period is over.

 3. Request:    OSAL_ASSERT() follow GNU - Assert when condition is false.

 4. Request:    VF RXQ update support.

 5. Request:    VF Vport Update SGE/TPA support.

 6. Request:    Add infrastructure to support Secure Nvram.

 7. Request:    VFs are using their own PQs [required for VF rate-shaping].

Version 8.2.4.0 (Feb 26, 2015)
==============================
Internal FW 8.2.7.0

Fixes:
------
 1. Problem:    tpa_max_size is calculated in a way that only 16 segments are
                being aggregated.

    Change:     Change the tpa_max_size calculation so max_sges_num will be the
                upper limiter for tpa aggregations.

    Introduced: Day 1.

    Relevance:  L2.

 2. Problem:    Incorrect shadow mb register after comming back from D3.

    Change:     When comming back from hiberbate state, read the mb shadow
                after we call ecore_mcp_load_req request.

    Introduced: Day 1.

    Relevance:  L2.

 3. Problem:    Wrong device capabilities reported for maximum number of
                outstanding work requests send or Receive queue.

    Change:     Correct calculation of maximum number.

    Introduced: Day 1.

    Relevance:  RoCE.

 4. Problem:    Dynamic ILT memory allocated by RoCE device was not freed on
                RoCE driver unload.

    Change:     Free RoCE ILT memory on RoCE driver unload.

    Introduced: Day 1.

    Relevance:  RoCE.

 5. Problem:    Memory leakage when reconfiguring qm info upon DCBx update.

    Change:     Free qm info memory before re-initialize it.

    Introduced: 8.2.2.0.

    Relevance:  DCBx.

 6. Problem:    CQ77989 - Chip may hang during stress test with L2 and
                non L2 traffic.

    Change:     Fix relevant firmware flow.

    Introduced: Day 1.

    Relevance:  All.

 7. Problem:    Anti spoofing did not work with default Vlan.

    Change:     Fix relevant firmware flow.

    Introduced: 8.2.1.0.

    Relevance:  SRIOV.

 8. Problem:    Pause PFC not working properly on engine 1 in 2x50 mode.
                Also, PAUSE and PFC handling may be less than optimal in 4x10
                Eagle mode (Firmware wokaround was operational though HW
                handling is okay in these modes).

    Change:     Activate Firmware workaround in 2x50, do not activate it in
                4x10 Eagle.

    Introduced: 8.2.0.0.

    Relevance:  Scenarios involving Pause / PFC and 4x10 Eagle or 2x50.

Enhancements:
-------------
 1. Request:    Disable relaxed ordering in the PCI config space till the root
                cause for the performance drop is found.

 2. Request:    Add support for guest VLAN filtering on VFs.

 3. Request:    Add support for accept any VLAN mode on PFs and VFs.

 4. Request:    Initial firmware error handling for abortive peer disconnect
                scenario during traffic.

 5. Request:    Initialize personality according to shmem value.

Version 8.2.3.0 (Feb 12, 2015)
==============================
Internal FW 8.2.4.0

Fixes:
------
 1. Problem:    BRB discard and truncate statistics are incorrect.

    Change:     Fix logic in ecore_get_vport_stats().

    Introduced: 8.2.2.0.

    Relevance:  All.

 2. Problem:    DCBx set as enabled to zeroed priorities and zeroed TCs when
                DCBx negotiation failed, instead of being set to disabled.

    Change:     Use new indication for MFW on whether negotiation succeeded
                and communicate the same to storm FW.

    Introduced: 8.2.2.0.

    Relevance:  DCBx.

 3. Problem:    ll2 connections use the wrong protocol in DCBx flows in FW.

    Change:     Utilize api for supplying ll2 connections with their protocol.

    Introduced: 8.2.2.0.

    Relevance:  DCBx.

Enhancements:
-------------
 1. Request:    Support PFC on engine 1 by implementing FW workaround for
                Eagle A0 PFC HW bug.

Version 8.2.2.0 (Feb 11, 2015)
==============================
Internal FW 8.2.4.0

Fixes:
------
 1. Problem:    Unloading a 100g interface fails.

    Change:     Clear the enble_fid only after all hw-functions are unloaded.

    Introduced: ~Day 1.

    Relevance:  100g.

 2. Problem:    Statistics are counted only for first hw-function.

    Change:     Correct loops on hw-function when gathering statistics.

    Introduced: Day 1.

    Relevance:  100g.

 3. Problem:    Sending COMMON_RAMROD_PF_STOP ramrod unfer traffic may stall
                ramrod processing.

    Change:     (FW) Fix relevant FW flows.

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    CQ77422 - CCFC assert, if vport started with RSC.

    Change:     (FW ETH) Fix packet drop flow.

    Introduced: Day 1.

    Relevance:  L2 Rx traffic with SGE enable.

 5. Problem:    Under heavy traffic, low proabability that local operation
                with fence might cause the QP not to post a CQE.

    Change:     (FW RoCE) Fix relevant firmware flow.

    Introduced: Day 1.

    Relevance:  RoCE.

 6. Problem:    PFC packets are not honored on port 1.

    Change:     (FW) Implement workaround that will receive PFC packets in FW
                and configure the hardware accordingly.

    Introduced: Day 1.

    Relevance:  2x40Gb A0.


 7. Problem:    Tx start after Tx stop on same CID causes firmware assert.

    Change:     (FW LL2) Fix relevant firmware flow.

    Introduced: Day 1.

    Relevance:  LL2.

 8. Problem:    Default vlan update doesn't work.

    Change:     (FW ETH) Fix relevant firmware flow.

    Introduced: Day 1.

    Relevance:  L2.

 9. Problem:    Tx switching didn't work correctly with EDPM packets.

    Change:     (FW ETH) Fix relevant firmware flow.

    Introduced: Day 1.

    Relevance:  L2 with EDPM.

10. Problem:    Packets vlan-tagged with id 0 will be discarded if no vlan
                tag was defined for the QP/connection.

    Change:     (FW RoCE, ISCSI) Fix relevnat firmware flow.

    Introduced: Day 1.

    Relevance:  RoCE, ISCSI.

11. Problem:    Multi-Function ISCSI works only on PF[0|1].

    Change:     (FW ISCSI) Use function queues relative offset, and init
                the default queue during offload ramrod.

    Introduced: Day 1.

    Relevance:  Multi-Function ISCSI.

12. Problem:    Potential overlap in resource allocated for RoCE CNQs and
                ISCSI/FCoE CMDQS/CQS in npar/multi function, when each function
                is configured with a different personality.

    Change:     RoCE CNQs and ISCSI/FCoE CMDQS/CQS share the same resource.
                Fixed code to take this into account.

    Introduced: Day 1.

    Relevance:  Multi-Function ISCSI/FCoE/RoCE.

13. Problem:    CQ77101- machine crashes due to list corruption.

    Change:     Fix the error flows of the SPQ.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------

 1. Request:    Implement static bandwidth configuration for NPAR1.0.

 2. Request:    Initial DCBx support. Ecore detects DCBx negotiation results
                and reconfigures QM and updates storm FW according to results.

 3. Request:    In 2x40g Single-Function mode, add support for 120 vfs-per-pf.

 4. Request:    Change attention behaviour - reach OSAL_ASSERT() on malevolent
                attnetions, and don't clear interrupts so they'll appear in
                idle checks later.

 5. Request:    Add the ability for a PF to query the link configuration in
                its VF's bulletin boards.

Version 8.2.1.0 (Feb 04, 2015)
==============================
Internal FW 8.2.2.0

Fixes:
------
 1. Problem:    Traffic passes only if first PF on engine is running.

    Change:     (FW ETH) Fix registers init values.

    Introduced: Day 1.

    Relevance:   NPAR1.0.

 2. Problem:    TPH control for Rx packet placement is not functional
                for Rx connections without SGL rings.

    Change:     (FW ETH) Fix relevant FW flows.

    Introduced: Day 1.

    Relevance:  All.

 3. Problem:    Wrong Rx producer received after Rx queue restart.

    Change:     (FW ETH) Add CAU flush to slowpath flow.

    Introduced: Day 1.

    Relevance:  All.

 4. Problem:    Posting WQE that will require 256+ packets will cause the
                QP traffic to halt.

    Change:     (FW RoCE) Fix relevant FW flows.

    Introduced:  Day 1.

    Relevance:  All.

 5. Problem:    TCP Option 2 timestamp error.

    Change:     (FW) Fix relevant FW flows.

    Introduced: Day 1.

    Relevance:  All.

 6. Problem:    FW error in case of FIN tcp segment.

    Change:     (FW ISCSI) Fix relevant FW flows.

    Introducd:  Day 1.

    Relevance:  All.

 7. Problem:    HW attention in case of repeated transmit.

    Change:     (FW ISCSI) Fix relevant FW flows.

    Introducd:  Day 1.

    Relevance:  All.

 8. Problem:    SCSI timeout expiration.

    Change:     (FW ISCSI) Fix relevant FW flows.

    Introducd:  Day 1.

    Relevance:  All.

 9. Problem:    RSP with payload of less than 24B causes error.

    Change:     (FW FCoE) Handle such packets.

    Introduced: Day 1.

    Relevance:  All.

10. Problem:    FCoE with MAC error may cause HW to stuck.

    Change:     (FW FCoE) Fix Rx MAC error flow.

    Introduced: Day 1.

    Relevance:  All.

11. Problem:    Write tasks with SGEs that are not aligned to page size
                may cause FW to stuck.

    Change:     (FW FCoE) Fix relevant FW flows.

    Introduced: Day 1.

    Relevance:  All.

12. Problem:    CQ76456 - FW asserts a short time after sending a 4K read.

    Change:     (FW FCoE) Fix relevant FW flows.

    Introduced: Day 1.

    Relevance:  All.

13. Problem:    RSP with resid_underflow = 0 arriving before FCP_DATA causes
                FW to report an error.

    Change:     (FW FCoE) Fix relevant FW flows.

    Introduced: Day 1.

    Relevance:  All.

14. Problem:    CQ77279 - Rx queue arriving after queue stop cause FW to assert.

    Change:     (FW LL2) Fix Rx MAC Error flow.

    Introduced: Day 1.

    Relevance:  All.

15. Problem:    Ethernet FCS error on port0 increment statistics of port1.

    Change:     (FW) Fix relevant FW flows.

    Introduced: Day 1.

    Relevance:  Multi Function devices.

16. Problem:    HW attention is observed during initialization.

    Change:     (FW Storage) Fix CMDQ initialization.

    Introduced: 8.0.0.1.

    Relevance:  FCoE/ISCSI Initiator.

17. Problem:    CQ77508 - valid packets are dropped after false expiration.

    Change:     (FW FCoE) Fix relevant flows.

    Introduced: Day 1.

    Relevance:  All.

18. Problem:    De-registering a memory region which is used for incoming read
                requests on a QP and was moved to error state may lead to HW
                attetnion.

    Change:     (FW RoCE) Fix relevant flows.

    Introduced: Day 1.

    Relevance:  All.

19. Problem:    CQ77696 - fatal assert while running fcoe traffic.

    Change:     Initializes QM correctly with the number of tasks supported.

    Introduced: Day 1.

    Relevance:  Fcoe.

20. Problem:    CQ77765: Hardware attention when a packet with destination qp0
                arrives before any QP was offloaded.

    Change:     Initialize HW not to try offloading RoCE packets according to
                destination qp before first RoCE QP is offloaded.

    Introduced: Day 1.

    Relevance:  RoCE Personality.

Enhancements:
-------------
 1. Request:    Mask AVS stop attention during interrupt init.

 2. Request:    (FW) Filter replacement only remove matching filters
                [e.g., replacing vlan would remove only existing vlans]

 3. Request:    Implement VF multicast filtering and RX/TX accept flags.

 4. Request:    CQ76942, CQ76894 - added function for [de]activating
                clock-slowdown.

 5. Request:    Implement VF update rss as part of VPORT update.

 6. Request:    Pass speed capabilities via bulletin board to VFs.

 7. Request:    Remove the driver configuration of PSWRQ2 R/W MBS since is done
                by MFW (starting at MFW 8.2.2.0).

 8. Request:    Implement NIG drain.

 9. Request:    Implemented new interrupt mode for polling.

10. Request:    int_mode propagates via ecore_hw_init(); No need for upper
                layer driver to set it explicitly.

11. Request:    Fail resource acquisition if requesting too many PQs.

12. Request:    Added default vlan configuration to Vport Update.

13. Request:    Re-factored IOV code and added division between inner and
                outer ecore users.

14. Request:    Print all possible bits in case of parity of BMB/OPTE/MCP.

Version 8.2.0.0 (Jan 11, 2015)
==============================
Internal FW 8.2.0.0

Fixes:
------
 1. Problem:    Disabling sriov on higher PFs can lead to chip getting stuck.

    Change:     Pass the VF's opaque vfid during VF initialization.

    Introduced: Day 1.

    Relevance:  SRIOV.

 2. Problem:    Disabling sriov while num_vfs < total vfs can lead to stop
                ramrods being sent for disabled VFs.

    Change:     Correct setting of vf state even if final cleanup isn't sent.

    Introduced: Day 1.

    Relevance:  SRIOV.

 3. Problem:    pglue_b attentions may appear in system logs after FLR.

    Change:     Cleanup the PF information for a vf after it is FLR-ed.

    Introduced: Day 1.

    Relevance:  SRIOV.

 4. Problem:    Vlan-tagged traffic from VFs might fail to reach destination.

    Change:     Pass VF request for vlan stripping on hw channel.

    Introduced: Day 1.

    Relevance:  SRIOV.

 5. Problem:    VFs are marked as STOPPED after FLR, even if they're restarted.

    Change:     Don't force STOPPED state unless previously at RESET state.

    Introduced: Day 1.

    Relevance:  SRIOV.

 6. Problem:    Do not process any pending message after VF FLR.

    Change:     Clear pending event bit for the VF which has been FLRed.

    Introduced: Day 1.

    Relevance:  SRIOV.

 7. Problem:    Sequence of several SRIOV disable procedures get stuck.

    Change:     (FW) Fix relevant FW flow.

    Introduced: Day 1.

    Relevance:  SRIOV

 8. Problem:    Wrong value returned to MCP at the end of SRIOV disable flow.

    Change:     (FW) Fix relevant FW flow.

    Introduced: Day 1.

    Relevance:  SRIOV.

 9. Problem:    RSS parities appear when using high vports IDs.

    Change:     (FW ETH) Fix RSS resource allocation flow.

    Introduced: Day 1.

    Relevance:  ETH.

10. Problem:    Posting atomic operation WQE will cause hardware attention.

    Change:     (FW RoCE) Fix relevant firmware flow.

    Introduced: Day 1.

    Relevance:  RoCE.

11. Problem:    FW error in case of TCP segment that includes only iSCSI
                padding or digest (without iSCSI data).

    Change:     (FW iSCSI) Fix relevant firmware flow.

    Introduced: Day 1.

    Relevnace:  iSCSI.

12. Problem:    VF RX producers in FW has old value after sending RXQ START.

    Change:     Initializing rx producers in VF before sending RXQ START
                request.

    Introduced: Day 1.

    Relevance:  SRIOV.

13. Problem:    cq75387 - statistics aren't cleared after interface down/up.

    Change:     Compensate for non-resetting port statistics using baseline.

    Introduced: Day 1.

    Relevance:  All.

Enhancements:
-------------
 1. Request:    Read function information from shmem during function init.

 2. Request:    ROCE: adding support of cq interrupt moderation feature.

 3. Request:    Implement polling on HW resources prior to FLR final cleanup.

 4. Request:    Prevent initialization of early PCI error [i.e., when reads
                return all Fs].

 5. Request:    Avoid out-of-bound access to indices of the firmware resources
                allocated for each function.

 6. Request:    Add ecore_mcp_api.h for upper-layer api of mcp functionality.

 7. Request:    Add inter-PF Tx switching in NPAR mode.

 8. Request:    Support processing asynchronous iSCSI events.

 9. Request:    Add support for VF rss.

10. Request:    ROCE: Add vlan support.

11. Request:    Pass FW & MFW versions to VF via acquire response TLV.

12. Request:    Add initial support for Physical Device Assignment [of PFs].

13. Request:    Add support to use VPORT update TLV as list of extended tlvs.

14. Request:    Add support to allow the activation of non-continuous VFs.
