1                          ============================
2                           R E L E A S E    N O T E S
3                          ============================
4                                     ECORE
5
6Version 8.18.19.0 (Mar DD, 2017)
7================================
8Internal FW 8.18.19.0
9
10Fixes:
11------
12 1. Problem:    CQ92630 - NULL pointer dereference in query stats flow
13                during load/unload.
14
15    Change:     Introduce locking scheme to avoid race.
16
17    Introduced: Day 1.
18
19    Relevance:  RoCE / iWARP.
20
21Version 8.18.18.0 (Mar 22, 2017)
22================================
23Internal FW 8.18.19.0
24
25Fixes:
26------
27 1. Problem:    The MFW might be still running for a short while after
28                responding to a halt mailbox command.
29
30    Change:     Verify that the MCP is in a soft halt state, after sending the
31                command and before proceeding.
32
33    Introduced: 8.5.3.0.
34
35    Relevance:  GRC dump / MCP trace.
36
37 2. Problem:    CQ92434 - system crash after loading qedr with MTU=128.
38
39    Change:     Fix calculation of number of ooo rx buffers and limit to 16K.
40
41    Introduced: Day 1.
42
43    Relevance:  iWARP.
44
45 3. Problem:    CQ91521 - System hits assertion while trying to modify Jumbo
46                MTU settings on PF with VFs enumerated.
47
48    Change:     OSAL_IOV_VF_VPORT_STOP is introduced to allow upper-client to
49                execute required operations before closing vport.
50
51    Introduced: Day 1.
52
53    Relevance:  SRIOV.
54
55 4. Problem:    CQ91595 - Firmware stop sending packets for some time after
56                getting consecutive PFC packets.
57
58    Change:     [FW] Increase the threshold for PAUSE_TOO_LONG interrupt.
59
60    Introduced: Day 1.
61
62    Relevance:  FCoE, RoCE.
63
64 5. Problem:    CQ92301, CQ92431, CQ92465 - Firmware assertion may happen when
65                opening or closing many connections.
66
67    Change:     [FW] Fix a race condition in Firmware flow.
68
69    Introduced: Day 1.
70
71    Relevance:  iWARP, iSCSI, FCoE.
72
73 6. Problem:    CQ92424 - When peer is unreachable, connection tear-down may
74                take ~45 seconds.
75
76    Change:     [FW] Decrease threshold for maximum count of retransmissions
77                before reporting an error.
78
79    Introduced: Day 1.
80
81    Relevance:  iWARP.
82
83 7. Problem:    CQ92054 - FW assertion may happen on a race condition where RST
84                arrives after MPA request.
85
86    Change:     [FW] Defer RST reporting until offloading MPA connection.
87
88    Introduced: FW 8.18.16.0.
89
90    Relevance:  iWARP.
91
92 8. Problem:    MPA Reject lead to leak of free eps.
93
94    Change:     Return ep object to free list in reject flow.
95
96    Introduced: 8.18.17.0.
97
98    Relevance:  iWARP.
99
100Version 8.18.17.0 (Mar 15, 2017)
101================================
102Internal FW 8.18.18.0
103
104Fixes:
105------
106 1. Problem:    CQ91975 - memory leak.
107
108    Change:     Fix memory leaks in destroy qp and driver unload
109                flow.
110
111    Introduced: Day 1.
112
113    Relevance:  iWARP.
114
115 2. Problem:    CQ92275 - Can't create number of qps requested.
116
117    Change:     When allocating resources take into account additional
118                preallocated cids and make sure requested number of qps
119                is available.
120
121    Introduced: Day 1.
122
123    Relevance:  iWARP.
124
125 3. Problem:    STAG value received from the MFW is not propagated to firmware.
126
127    Change:     Send updated STAG configuration to the Firmware.
128
129    Introduced: 8.18.6.0.
130
131    Relevance:  STAG update from MFW.
132
133 4. Problem:    CQ92152 - FW assert - BDQ fetch time exceeded maximum.
134
135    Change:     [FW] Fix BDQ fetch flow.
136
137    Introduced: FW 8.14.6.0.
138
139    Relevance:  iSCSI, FCoE.
140
141 5. Problem:    FW assert may happen if there are unaligned PDUs on a connection
142                that was re-established.
143
144    Change:     [FW] Give indication to the driver that connection was closed so
145                all connections' resources will be deleted.
146
147    Introduced: FW 8.14.6.0.
148
149    Relevance:  iWARP.
150
151 6. Problem:    CQ92540 - MPA Reject lead to the 4-tuple not being freed from
152                the connection list, this lead to the same 4-tuple connection
153                request to be dropped.
154
155    Change:     Handle reject flow properly.
156
157    Introduced: 8.18.16.0.
158
159    Relevance:  iWARP.
160
161Enhancements:
162-------------
163 1. Request:    iWARP - Handle flush completion on unaligned ll2 connection.
164
165Version 8.18.16.0 (Mar 08, 2017)
166================================
167Internal FW 8.18.17.0
168
169Fixes:
170------
171 1. Problem:    Possible division by 0 when the number of active ports is 0.
172
173    Change:     Have a default value of 1.
174
175    Introduced: Day 1.
176
177    Relevance:  AH.
178
179 2. Problem:    AH VFs always have MSI-x table of 17 entries.
180
181    Change:     Make sure all child VFs of the same PF have same MSI-x number.
182
183    Introduced: Day 1.
184
185    Relevance:  AH SRIOV.
186
187 3. Problem:    CQ92058 - HW attention may occur when opening many connections.
188
189    Change:     [FW] Fix connection establishment flow.
190
191    Introduced: FW 8.14.7.0.
192
193    Relevance:  iWARP.
194
195 4. Problem:    FW assertion may happen during closing a connection after an
196                error detected.
197
198    Change:     [FW] Fix error handling flow.
199
200    Introduced: FW 8.18.14.0.
201
202    Relevance:  iWARP.
203
204 5. Problem:    CQ92056 - FW assert when performing load/unload during traffic.
205
206    Change:     Handle case where reset arrives for a connection that was not
207                yet accepted.
208
209    Introduced: FW 8.18.15.0.
210
211    Relevance:  iWARP.
212
213 6. Problem:    CQ92275 - Driver crash when attempting to open more than
214                supported number of QPs.
215
216    Change:     Don't assert.
217
218    Introduced: Day 1.
219
220    Relevance:  iWARP.
221
222Enhancements:
223-------------
224 1. Request:    [FW] iWARP - Performance optimizations.
225
226Version 8.18.15.0 (Feb 28, 2017)
227================================
228Internal FW 8.18.16.0
229
230Fixes:
231------
232 1. Problem:    FW assert may happen if the IO size is a multiple of maximum
233                iWARP PDU length.
234
235    Change:     [FW] Fix calculation of the length that is going to be
236                transmitted.
237
238    Introduced: Day 1.
239
240    Relevance:  iWARP.
241
242 2. Problem:    CQ91898, CQ91843 - FW assert may happen if there are
243                retransmissions after an error was detected.
244
245    Change:     [FW] Fix RX flow on the case an error was detected.
246
247    Introduced: FW 8.18.8.0.
248
249    Relevance:  iWARP.
250
251 3. Problem:    Application may get stuck if the driver was unloaded on the
252                passive side.
253
254    Change:     [FW] Support timeouts during MPA negotiation.
255
256    Introduced: Day 1.
257
258    Relevance:  iWARP.
259
260 4. Problem:    CQ91978 - FW assert may happen during closing a connection.
261
262    Change:     [FW] Handle a race condition that may happen during closing a
263                connection.
264
265    Introduced: FW 8.18.5.0.
266
267    Relevance:  iWARP.
268
269 5. Problem:    CQ91909 - FW may avoid giving flushes on a QP if an error was
270                detected.
271
272    Change:     [FW] Fix error handling flow.
273
274    Introduced: FW 8.18.5.0.
275
276    Relevance:  iWARP.
277
278 6. Problem:    Kernel space application that uses RDMA READ may not work well
279                on new kernels.
280
281    Change:     [FW] Fix flow of "read with invalidate".
282
283    Introduced: FW 8.18.5.0.
284
285    Relevance:  iWARP Linux only (Kernel 4.7 and above).
286
287 7. Problem:    CQ92124 - Initial WWPN/WWNN values are incorrect.
288
289    Change:     Flip bit-order of lower/upper 32-bit of said fields when read.
290
291    Introduced: Day 1.
292
293    Relevance:  FCoE.
294
295Enhancements:
296-------------
297 1. Request:    Initialize FW parameter for max fin retransmit before
298                sending reset.
299
300 2. Request:    Restricting iWARP max MSS value for sake of performance.
301
302Version 8.18.14.0 (Feb 22, 2017)
303================================
304Internal FW 8.18.15.0
305
306Fixes:
307------
308 1. Problem:    CQ91708 - FW assert when running load/unload during traffic.
309
310    Change:     Wait for connections to close entirely before closing ll2
311                connections.
312
313    Introduced: Day 1.
314
315    Relevance:  iWARP.
316
317 2. Problem:    Malicious VF can cause assert by using vport-stop.
318
319    Change:     Don't send vport-stop to firmware from malicious VFs.
320
321    Introduced: Day 1.
322
323    Relevance:  SRIOV.
324
325 3. Problem:    CQ91871 - "ethtool -T" fails for two out of four Quest ports.
326
327    Change:     Port_id is internal to the engine and ecore shouldn't use it as
328                port_num. Ecore needs to derive it from the absolute pf-id.
329
330    Introduced: 8.18.11.0.
331
332    Relevance:  PTP.
333
334 4. Problem:    CQ91393 - Chip may be stuck if Firmware detected an error on TX
335                path.
336
337    Change:     [FW] Fix error handling flow in TX path.
338
339    Introduced: FW 8.18.10.0.
340
341    Relevance:  iWARP.
342
343 5. Problem:    Chip may be stuck if Firmware detected an error on RX path.
344
345    Change:     [FW] Fix error handling flow in RX path.
346
347    Introduced: FW 8.18.10.0.
348
349    Relevance:  iWARP.
350
351 6. Problem:    CQ91707 - P2P mode of PTP fails.
352
353    Change:     Set DA #1 related bits in HW configuration.
354
355    Introduced: Day 1.
356
357    Relevance:  PTP.
358
359Version 8.18.13.0 (Feb 15, 2017)
360================================
361Internal FW 8.18.14.0
362
363Fixes:
364------
365 1. Problem:    Possible race leading to VF timeout in multiple VF scenarios.
366
367    Change:     Change logic for setting/clear pending events of VFs.
368
369    Introduced: Day 1.
370
371    Relevance:  SRIOV.
372
373 2. Problem:    Wrong CQE opcode was written during underRun flow with sense
374                data.
375
376    Change:     [FW] Change under run flow.
377
378    Introduced: FW 8.10.4.0.
379
380    Relevance:  iSCSI Initiator.
381
382 3. Problem:    Firmware may send incorrect sequence number on packets after
383                detecting an error.
384
385    Change:     [FW] Sync Tx-path with correct TCP sequence number once error is
386                detected.
387
388    Introduced: FW 8.18.5.0.
389
390    Relevance:  iWARP.
391
392 4. Problem:    CQ91437 - StatSN FW validation error in case of non-first login
393                response with Status-Class = 0.
394
395    Change:     [FW] Fix the StatSN validation.
396
397    Introduced: Day 1.
398
399    Relevance:  iSCSI.
400
401 5. Problem:    When moving from slow start to congestion avoidance stage the
402                cwnd is wrongfully calculated (as if we are still in slow start
403                stage).
404
405    Change:     [FW] Fix calculation of cwnd.
406
407    Introduced: Day 1.
408
409    Relevance:  TCP.
410
411 6. Problem:    Wrong initial slow start threshold was used after connection
412                establishment.
413
414    Change:     [FW] Initialize slow start threshold to 64K.
415
416    Introduced: FW 8.10.4.0.
417
418    Relevance:  iSCSI, iWARP.
419
420 7. Problem:    Performing multiple destroy QP ramrods under stress, may cause
421                transmission queues getting stuck.
422
423    Change:     [FW] Fixed transmission queues credit calculation.
424
425    Introduced: Day 1.
426
427    Relevance:  RoCE.
428
429 8. Problem:    Block name in attentions parsing can be wrong.
430
431    Change:     [FW] Fixed block names.
432
433    Introduced: FW 8.18.10.0.
434
435    Relevance:  Debug tools.
436
437 9. Problem:    CQ91210 - Firmware assertion may happen during a driver unload
438                if an error was detected prior unloading the driver.
439
440    Change:     [FW] Fixed error handling path that may cause an assertion
441                during function unload.
442
443    Introduced: FW 8.18.5.0.
444
445    Relevance:  iWARP.
446
44710. Problem:    CQ91528 - FW assertion may occur during retransmissions of RDMA
448                READ_RSP.
449
450    Change:     [FW] Fixed retransmission TX path.
451
452    Introduced: Day 1.
453
454    Relevance:  iWARP.
455
45611. Problem:    CQ915210 - FW assertion may occur on a race condition where we
457                are getting RST and sending RST at the same time.
458
459    Change:     [FW] Don't handle incoming RST in case we have already sent a
460                RST.
461
462    Introduced: FW 8.18.5.0.
463
464    Relevance:  iWARP.
465
46612. Problem:    CQ91474 - FW assertion may occur if running perf test without
467                rdma_cm_mode.
468
469    Change:     [FW] Handle race condition in modify qp flow.
470
471    Introduced: FW 8.18.5.0.
472
473    Relevance:  iWARP.
474
47513. Problem:    CQ91527, CQ91654 - Retransmission flow in rare cases might cause
476                HW attention.
477
478    Change:     [FW] Fix retransmission flow.
479
480    Introduced: Day 1.
481
482    Relevance:  RoCE.
483
48414. Problem:    SYN Packets received with errors aren't handled properly.
485
486    Change:     Check error flags and drop SYN packet if it is received with
487                error.
488
489    Introduced: Day 1.
490
491    Relevance:  iWARP.
492
49315. Problem:    Memory leak when SYN packet processing fails.
494
495    Change:     If SYN packet processing failed for any reason, return RX
496                buffer to pool.
497
498    Introduced: Day 1.
499
500    Relevance:  iWARP.
501
50216. Problem:    Theoretical bug can occur when an unaligned FPDU is split over
503                more than 2 tcp segments and a buffer is posted back to rx
504                chain before FW completed processing other packets placed on
505                the same tcp segment.
506
507    Change:     Change buffer repost flow to go via tx chain to ensure all
508                previous data has completed transmission.
509
510    Introduced: 8.18.12.0.
511
512    Relevance:  iWARP unaligned MPA flows.
513
514Enhancements:
515-------------
516 1. Request:    ecore_iov_pf_add_pending_events() is removed.
517                ecore_iov_pf_get_and_clear_pending_events() is renamed
518                ecore_iov_pf_get_pending_events().
519
520 2. Request:    If iWARP receive window size configured is less than the
521                minimum 64K, 64K will be set instead of 1M. Remove support for
522                configuring a default value in case a value is not provided.
523
524 3. Request:    [FW] Add support for 'drop' destination for LL2 TX packets.
525
526Version 8.18.12.0 (Feb 09, 2017)
527================================
528Internal FW 8.18.13.0
529
530Fixes:
531------
532 1. Problem:    CQ91001 - AH: PTP Sync not working.
533
534    Change:     Add workaround for latching the 2-step ptp packets.
535
536    Introduced: Day 1.
537
538    Relevance:  PTP.
539
540 2. Problem:    CQ91465 - driver disable hits assert.
541
542    Change:     Correctly release tcp cids.
543
544    Introduced: Day 1.
545
546    Relevance:  iWARP.
547
548 3. Problem:    The LL2 RX completion spin lock may be unlocked with a set of
549                flags that is different from the ones it was locked with.
550
551    Change:     Unlock the spin lock with the same set of flags it was locked
552                with.
553
554    Introduced: Day 1.
555
556    Relevance:  LL2.
557
558 4. Problem:    CQ91499 - driver crash while unloading RDMA driver.
559
560    Change:     iWARP related bitmaps should only be freed if iWARP is enabled.
561
562    Introduced: 8.18.8.0.
563
564    Relevance:  iWARP.
565
566 5. Problem:    CQ91210 - driver assert while unloading during traffic.
567
568    Change:     wait for all cids to be released.
569
570    Introduced: Day 1.
571
572    Relevance:  iWARP.
573
574Enhancements:
575-------------
576 1. Request:    PF ECORE allows to UL to prevent HW overriding VF MSI-X
577                table size.
578
579 2. Request:    Remove support in default SmartLinQ configuration. Feature is
580                in the MFW-only domain.
581
582 3. Request:    Add support for Energy efficient ethernet (EEE) feature.
583
584 4. Request:    Mask parity errors once they are asserted.
585
586 5. Request:    Add support for unaligned MPA packets received over
587                more than two tcp segments.
588
589 6. Request:    Add unaligned rx packets received statistic for iWARP.
590
591Version 8.18.11.0 (Feb 02, 2017)
592================================
593Internal FW 8.18.13.0
594
595Fixes:
596------
597 1. Problem:    Usage of a non-initialized spinlock.
598
599    Change:     Move initialization earlier.
600
601    Introduced: Day 1 of iWARP.
602
603    Relevance:  iWARP.
604
605 2. Problem:    Receive window used for verification when receiving packets is
606                wrongfully reduced by scaling it down and up.
607
608    Change:     [FW] Fix receive window calculation.
609
610    Introduced: Day 1.
611
612    Relevance:  TCP.
613
614 3. Problem:    Post send before connection is established doesn't work.
615
616    Change:     [FW] Initialize Send-Queue parameters during create QP rather
617                than when moving to full mode (after connection is established).
618
619    Introduced: Day 1.
620
621    Relevance:  iWARP.
622
623 4. Problem:    CQ90930 - FW assert in case of tcp window edge going backward
624                during fast-rxmit.
625
626    Change:     [FW] Fix fast-rxmit flow.
627
628    Introduced: Day 1.
629
630    Relevance:  iSCSI.
631
632 5. Problem:    CQ91241 - Receiving Syn or Syn-Ack packet with MSS option
633                smaller than 536 will not be accepted.
634
635    Change:     [FW] Change MSS minimum to 64 in validation.
636
637    Introduced: FW 8.18.5.0.
638
639    Relevance:  TCP.
640
641 6. Problem:    PF ID not configured correctly in aRFS profile.
642
643    Change:     [FW] Fix set_rfs_mode_enable HSI function.
644
645    Introduced: Day 1.
646
647    Relevance:  L2.
648
649 7. Problem:    RTR may accidentally sent after RST had arrived.
650
651    Change:     [FW] Don't send RTR if we already got RST.
652
653    Introduced: FW 8.18.11.0.
654
655    Relevance:  iWARP.
656
657 8. Problem:    RDMA application hangs.
658
659    Change:     Output the number of WIDs an application can use so the
660                application can verify that it is giving a doorbell in the valid
661                range.
662
663    Introduced: 8.18.9.0.
664
665    Relevance:  RDMA.
666
667Enhancements:
668-------------
669 1. Request:    Implement PTP MFW resource locking mechanism. Only PF which
670                holds this lock is allowed to use ptp clock on the port.
671
672 2. Request:    Added OSAL_DIV_S64() to help 64-bit division
673                on 32-bit platforms.
674
675 3. Request:    Add a warning printout in case of a DID mismatch between
676                nvm-cfg/efuse.
677
678Version 8.18.10.0 (Jan 24, 2017)
679================================
680Internal FW 8.18.12.0
681
682Fixes:
683------
684 1. Problem:    CQ90788, CQ90801 - FW assert may happen when a connection is
685                re-established after RST had arrived.
686
687    Change:     [FW] Fix error handling flow.
688
689    Introduced: FW 8.18.5.0.
690
691    Relevance:  iWARP.
692
693 2. Problem:    Can't open connection with same 4-tuple after previous failed.
694
695    Change:     Fix error handling flow in driver.
696
697    Introduced: FW 8.18.9.0.
698
699    Relevance:  iWARP.
700
701 3. Problem:    Rejecting a connection after MPA reply arrived is not working
702                properly.
703
704    Change:     [FW] Fix the flow that aborts the TCP connection without
705                changing the QP state.
706
707    Introduced: FW 8.18.11.0.
708
709    Relevance:  iWARP (Windows only).
710
711 4. Problem:    CQ91075 - FW assert may happen during retransmissions.
712
713    Change:     [FW] Fix missing initialization of TCP receive window.
714
715    Introduced: FW 8.18.10.0.
716
717    Relevance:  iWARP.
718
719Enhancements:
720-------------
721 1. Request:    CQ90608 - when setting link via ecore_mcp_set_link(), always
722                inform client via OSAL_LINK_UPDATE of current state.
723
724 2. Request:    [FW] Add support for iWARP (phase 2).
725
726 3. Request:    Add SmartLinQ support - link_capabilities now contain the
727                default, link_params have new field 'smartlinq' to enable it.
728
729 4. Request:    Added new API ecore_iwarp_tcp_abort().
730
731 5. Request:    Add an option to override the default force load behavior.
732
733 6. Request:    Increase the max number of CQs from 64 to 128.
734
735 7. Request:    Add support for the mdump GET/CLR_RETAIN sub commands.
736
737Version 8.18.9.0 (Jan 18, 2017)
738===============================
739Internal FW 8.18.10.0
740
741Fixes:
742------
743 1. Problem:    Not zeroing the whole union data of the MFW mailbox, and thus
744                disabling future extension of existing union members.
745
746    Change:     Zero the whole union data before copying the actual union
747                member.
748
749    Introduced: Day 1.
750
751    Relevance:  All.
752
753 2. Problem:    Outbound limit of the initiator isn't reduced in case inbound
754                limit of the peer is lower.
755
756    Change:     Reducing the limit accordingly.
757
758    Introduced: Day 1.
759
760    Relevance:  iWARP.
761
762 3. Problem:    CQ90180, CQ88940, CQ90409, CQ90313 - Condition race between MFW
763                attentions and pf stop command during unload flow cause ASSERT.
764
765    Change:     Sync PF stop and MFW UNLOAD Request flow.
766
767    Introduced: Day 1.
768
769    Relevance:  Unload, Power Management.
770
771 4. Problem:    CQ90157 - PTP sync fails after restarting ptp4l application.
772
773    Change:     Reset the Rx-timestamp register when configuring the rx filters.
774                This is a work-around till we root-cause the issue of missing/
775                FW-dropped PTP packet when the application is restarted.
776
777    Introduced: Day 1.
778
779    Relevance:  PTP.
780
781 5. Problem:    CQ90915: Cannot start all VFs due to lack of queues.
782
783    Change:     Assign VF-queues and only later the PF-queues.
784
785    Introduced: Day 1.
786
787    Relevance:  L2.
788
789 6. Problem:    Can't set interrupt coalescing of 128+ usecs.
790
791    Change:     Pass igu index instead of protocol index in coalesce flow.
792
793    Introduced: 8.18.7.0.
794
795    Relevance:  All.
796
797 7. Problem:    IPv4 Packets were transmitted with the flag 'dont fragment'
798                cleared.
799
800    Change:     [FW] Set the 'dont fragment' flag.
801
802    Introduced: Day 1.
803
804    Relevance:  TCP.
805
806 8. Problem:    SYN-ACK packets with TS option were sent with wrong ts_echo
807                value.
808
809    Change:     [FW] Fix extraction of ts_val from SYN packet.
810
811    Introduced: FW 8.10.3.0.
812
813    Relevance:  TCP option 2 with timestamp enabled.
814
815 9. Problem:    In rare cases when running with more than 2 QPs and sending
816                read/atomic request, completion error may be generated.
817
818    Change:     [FW] Fix transmission flow.
819
820    Introduced: Day 1.
821
822    Relevance:  RoCE, iWARP.
823
82410. Problem:    Reading DBU_REG_CMD in AH as part of GRC Dump can cause an
825                address error.
826
827    Change:     [FW] Excluded DBU_REG_CMD from GRC Dump in AH.
828
829    Introduced: Day 1.
830
831    Relevance:  Debug tools.
832
83311. Problem:    Application may hang when re-establishing a connection after it
834                was rejected.
835
836    Change:     [FW] Fix MPA reject flow.
837
838    Introduced: FW 8.18.9.0.
839
840    Relevance:  iWARP.
841
84212. Problem:    Always trying to release the resource lock when the resource
843                allocation fails, even when it is not needed.
844
845    Change:     Try to release only when it is required.
846
847    Introduced: 8.18.7.0.
848
849    Relevance:  All.
850
85113. Problem:    CQ91075 - iWARP assert during boot with latest components.
852
853    Change:     Fix driver initialization of default number of ooo buffers.
854
855    Introduced: 8.18.9.0.
856
857    Relevance:  All.
858
85914. Problem:    CQ90379: Driver provides MFW with bad primary MAC when changed.
860
861    Change:     Prepare MAC in native endian order for MFW to read.
862
863    Introduced: Day 1.
864
865    Relevance:  All.
866
867Enhancements:
868-------------
869 1. Request:    Infrastructure changes toward supporting Multiple Txq on same
870                queue zone for VF.
871
872 2. Request:    Added new OSAL - OSAL_DPC_SYNC().
873
874 3. Request:    Added ll2 option to limit the number of maximum bds per
875                packet. This is to reduce descriptor size when maximum bds per
876                packet is low and enable allocating a larger number of tx
877                descriptors if needed.
878
879 4. Request:    iWARP Support for packed and unaligned fdpus.
880
881 5. Request:    Remove the un-needed ecore API ecore_ptp_enable_pkt2host().
882
883 6. Request:    Read the BB/AH MAC counters from the suitable statistics bins.
884
885 7. Request:    ecore_int_get_num_sbs() returns more information about SBs.
886
887 8. Request:    Add new API ecore_int_igu_relocate_sb() to be used for moving
888                SBs between PF and its child-VFs.
889
890 9. Request:    ecore_queue_start_common_params needs SB reference instead
891                of index.
892
89310. Request:    Add new OSAL - OSAL_CRC8().
894
89511. Request:    Add new OSAL - OSAL_CRC8_POPULATE().
896
89712. Request:    [FW] iWARP performance optimization of WRITE & SEND flows.
898
89913. Request:    [FW] RoCE support of Unreliable Datagram QP for GSI offload.
900
90114. Request:    Added new API ecore_iov_pf_configure_vf_queue_coalesce(),
902                PF configures the Rx/Tx coalesce values of its child-VFs
903                on per Rx/Tx queue basis.
904
90515. Request:    Add new OSAL - OSAL_CACHE_LINE_SIZE.
906
90716. Request:    Add a restriction on the pad to cache line size register.
908
90917. Request:    RoCE support of Unreliable Datagram QP for GSI offload.
910
911Version 8.18.8.0 (Jan 11, 2017)
912===============================
913Internal FW 8.18.9.0
914
915Fixes:
916------
917 1. Problem:    CQ90907 - Continuous SGMII 10M/100M interrupts in AN mode.
918
919    Change:     Removed all NWM and NWS initializations from the Init Tool.
920
921    Introduced: Day 1.
922
923    Relevance:  All.
924
925Version 8.18.7.0 (Dec 29, 2016)
926===============================
927Internal FW 8.18.9.0
928
929Fixes:
930------
931 1. Problem:    CQ90214 - Speed of the VF is not same as that of the PF.
932
933    Change:     Updated bulletin board with link state during VF initialization.
934
935    Introduced: Day 1.
936
937    Relevance:  VF Link.
938
939 2. Problem:    Responder doesn't set peer2peer correctly in MPA rev2 in some
940                cases.
941
942    Change:     Fix driver to always respond with peer2peer in MPA rev2 if
943                requester requested peer2peer mode.
944
945    Introduced: 8.18.4.0.
946
947    Relevance:  iWARP MPA enhanced mode.
948
949 3. Problem:    CQ90010 - FW may accidentally drop packets when Tx Switching
950                Same-as-Last feature is enabled.
951
952    Change:     [FW] Fix Tx Switching Same-as-Last classification logic.
953
954    Introduced: Day 1.
955
956    Relevance:  SRIOV.
957
958 4. Problem:    CQ90198 - Firmware may not give flush on incomplete SQ wqes
959                after the QP was moved to error state.
960
961    Change:     [FW] Fix the error handling flow that give flushes to SQ.
962
963    Introduced: FW 8.18.5.0.
964
965    Relevance:  iWARP.
966
967 5. Problem:    Placement to an address out of the MR scope may pass firmware
968                verifications.
969
970    Change:     [FW] Fix the calculation of the last byte address of the MR.
971
972    Introduced: Day 1.
973
974    Relevance:  iWARP, RoCE.
975
976 6. Problem:    Destination GID was missing from LL2 RX GSI API.
977
978    Change:     Add it.
979
980    Introduced: Day 1.
981
982    Relevance:  iWARP, RoCE.
983
984 7. Problem:    Assert in ecore_sp_vf_start() while installing drivers for VF.
985
986    Change:     Added missing initialization in case of personality is iWARP.
987
988    Introduced: iWARP Day 1.
989
990    Relevance:  iWARP and SRIOV coexistence.
991
992 8. Problem:    GRC Dump corrupts a debug bus recording that was taken on
993                another PF on the same engine.
994
995    Change:     [FW] Skip static debug dump if the DBG block is enabled
996                (indicates that a debug bus recording is in progress).
997
998    Introduced: Day 1.
999
1000    Relevance:  Debug Tools.
1001
1002 9. Problem:    GRC Dump writes to protected registers, causing error entries
1003                in REG FIFO.
1004
1005    Change:     [FW] Modified GRC Dump to avoid taking LED and AVS_WRAP blocks
1006                out of reset.
1007
1008    Introduced: FW 8.10.5.0.
1009
1010    Relevance:  Debug Tools.
1011
101210. Problem:    A DPM doorbell can cause a false parity attention.
1013
1014    Change:     [FW] Initialized the entire DORQ WQE buffer with zeros.
1015
1016    Introduced: Day 1.
1017
1018    Relevance:  RoCE.
1019
102011. Problem:    CQ90473 – DCQCN packets may not be received in BB B0 in 100G,
1021                2x50G and 4x25G mode.
1022
1023    Change:     [FW] HW bug workaround - initialize the register to the correct
1024                value.
1025
1026    Introduced: Day 1.
1027
1028    Relevance:  RoCE DCQCN.
1029
103012. Problem:    DMAE failure when stopping RDMA during the unload phase of the
1031                recovery process.
1032
1033    Change:     Avoid DMAE transactions while a recovery is in progress.
1034
1035    Introduced: Day 1.
1036
1037    Relevance:  Error recovery.
1038
1039Enhancements:
1040-------------
1041 1. Request:    VF tunneling support.
1042
1043 2. Request:    VF ethtool coalescing support.
1044
1045 3. Request:    Enable mutually exclusive rdma flavor.
1046                Added API via ecore_rdma_pf_params to configure RDMA flavor.
1047
1048 4. Request:    iWARP support for MPA reject flow.
1049
1050 5. Request:    iWARP support for RTR Read (Revision 2).
1051
1052 6. Request:    Resource allocation interface v2.0 (setting values of soft
1053                resources).
1054
1055 7. Request:    Client to provide vport & RSS engine IDs when initializing VFs.
1056
1057 8. Request:    Add udp ports in bulletin to notify VFs for port change.
1058
1059Version 8.18.6.0 (Dec 15, 2016)
1060===============================
1061Internal FW 8.18.7.0
1062
1063Fixes:
1064------
1065 1. Problem:    Default number of iWARP OOO RX Buffers is 512 instead of 8K.
1066
1067    Change:     Fix default value initialization.
1068
1069    Introduced: Day 1.
1070
1071    Relevance:  iWARP.
1072
1073 2. Problem:    CQ90310,CQ90311, CQ90219 - Incorrect input buffer thresholds of
1074                Pause and PFC.
1075
1076    Change:     [FW] Fixed incorrect input buffer thresholds for better support
1077                of Pause and PFC.
1078
1079    Introduced: Day 1.
1080
1081    Relevance:  iSCSI, iWARP (AH only).
1082
1083 3. Problem:    CQ89928 - Asynchronous message of "QP catastrophic error" return
1084                during retransmit sequence.
1085
1086    Change:     [FW] Fix retransmit flow.
1087
1088    Introduced: Day 1.
1089
1090    Relevance:  RoCE.
1091
1092 4. Problem:    CQ90121 - FW assertion after unloading qedr will occur if
1093                register/deregister MR operation failed.
1094
1095    Change:     [FW] Fix MR register and deregister flows.
1096
1097    Introduced: Day 1.
1098
1099    Relevance:  RoCE.
1100
1101 5. Problem:    CQ90357 - iWARP wrong ird/ord values published.
1102
1103    Change:     Set correct maximum ord/ird values for iWARP.
1104
1105    Introduced: Day 1.
1106
1107    Relevance:  iWARP.
1108
1109Enhancements:
1110-------------
1111 1. Request:    Revise tunnel struct/APIs.
1112
1113 2. Request:    Add support for usage of the MFW generic resource lock.
1114
1115 3. Request:    RSS configuration via vport-update is done using queue-handles.
1116
1117 4. Request:    New API: ecore_mcp_ov_get_fc_npiv - Read NPIV table from MFW.
1118
1119 5. Request:    New API: ecore_mcp_update_fcoe_cvid - Send FCoE vlan to MFW.
1120
1121 6. Request:    New API: ecore_mcp_update_fcoe_fabric_name - Send Fabric name
1122                to MFW.
1123
1124 7. Request:    New OSAL: OSAL_HW_INFO_CHANGE to indicate of management changes
1125                to hw_info fields.
1126
1127 8. Request:    OSAL_VALLOC is obsolete and is replaced by OSAL_VZALLOC which
1128                should also zero the memory.
1129
1130 9. Request:    Add support for the new load request flow for handling a
1131                previous driver unload.
1132
113310. Request:    Add ecore support to recognize the iwarp app TLV, and configure
1134                the device with the user provided values.
1135
1136Version 8.18.5.0 (Dec 05, 2016)
1137===============================
1138Internal FW 8.18.6.0
1139
1140Fixes:
1141------
1142 1. Problem:    CQ90347 - AH 10GBaseT: [One time crash] System hit a bugcheck on
1143                disabling both ports from switch. System halts if CID resource
1144                is not available for allocation.
1145
1146    Change:     Don't cause system halt, just return error code.
1147
1148    Introduced: Day 1.
1149
1150    Relevance:  RoCE.
1151
1152 2. Problem:    CQ90311 - Disable Nop-Out and login to target, seeing
1153                "iscsi_error - rq ring full".
1154
1155    Change:     BDQ resource management is fixed.
1156
1157    Introduced: 8.18.4.0.
1158
1159    Relevance:  Storage.
1160
1161 3. Problem:    CQ90198: freeing contiguous memory from dpc context.
1162
1163    Change:     Fix ecore to free memory from passive context.
1164
1165    Introduced: 8.18.4.0.
1166
1167    Relevance:  iWARP.
1168
1169 4. Problem:    CQ90033 - fw assert due to improper out-of-order handling.
1170
1171    Change:     [FW] fix out-of-order trimming flow.
1172
1173    Introduced: Day 1.
1174
1175    Relevance:  iSCSI, iWARP.
1176
1177 5. Problem:    CQ90098 - FW may not give completions after the connection was
1178                re-offloaded.
1179
1180    Change:     [FW] Init all parameters when the connection is offloaded.
1181
1182    Introduced: Day 1.
1183
1184    Relevance:  iWARP.
1185
1186 6. Problem:    CQ90334 - FW "flr_cleanup_func_invalid_state" Fatal Assert upon
1187                scenario of consecutive FLR Initial cleanups to function.
1188
1189    Change:     [FW] Severity of "flr_cleanup_func_invalid_state" reduced to
1190                Warning (scenario may occur).
1191
1192    Introduced: Day 1.
1193
1194    Relevance:  All.
1195
1196 7. Problem:    Firmware may be stuck if it gets a SYN packet with 40B of
1197                options.
1198
1199    Change:     [FW] Support such scenario in Firmware.
1200
1201    Introduced: Day 1.
1202
1203    Relevance:  iSCSI Target, iWARP.
1204
1205 8. Problem:    VF isolation problem - VF can cause parity errors by reading
1206                from X or Y Storm VF Zone.
1207
1208    Change:     [FW] Fix Zone B configuration in init tool.
1209
1210    Introduced: FW 8.18.2.0.
1211
1212    Relevance:  SR-IOV.
1213
1214 9. Problem:    Device transmitter pipe stuck.
1215
1216    Change:     Use correct TC for loopback in 4 port environment.
1217
1218    Introduced: Day 1.
1219
1220    Relevance:  iWarp/iSCSI Arrowhead 4 port.
1221
1222Enhancements:
1223-------------
1224 1. Request:    Change database of connections in OOO from linked list to array
1225                to improve search time.
1226
1227Version 8.18.4.0 (Nov 28, 2016)
1228===============================
1229Internal FW 8.18.5.0
1230
1231Fixes:
1232------
1233 1. Problem:    Initialization fails due to supposed lack of VFs SBs.
1234
1235    Change:     Correct calculation of first_vf_in_pf for servers with no ARI.
1236
1237    Introduced: Day 1.
1238
1239    Relevance:  AH, no ARI.
1240
1241 2. Problem:    Firmware doesn't set the invalidate flag in RQ CQE when there
1242                is send w/ invalidate.
1243
1244    Change:     [FW] Set the invalidate flag and invalidated S-TAG on the RQ CQE
1245                (when Send W/ Invalidate arrives).
1246
1247    Introduced: Day 1.
1248
1249    Relevance:  iWARP.
1250
1251 3. Problem:    CQ89925, CQ90099, CQ90065, CQ90068, CQ90247 - Firmware may avoid
1252                sending SYN-ACK to the peer and stall the TX path.
1253
1254    Change:     [FW] Fix the firmware flow on passive side.
1255
1256    Introduced: Day 1.
1257
1258    Relevance:  iWARP.
1259
1260 4. Problem:    CQ90262 - Parsing SYN options field may cause Tcp offload ramrod
1261                to stuck.
1262
1263    Change:     [FW] Fix Tcp options field parsing.
1264
1265    Introduced: FW 8.10.3.0.
1266
1267    Relevance:  iSCSI (Target), iWARP.
1268
1269 5. Problem:    CQ90311 - Disable Nop-Out and login to target, seeing
1270                "iscsi_error - rq ring full".
1271
1272    Change:     BDQ resource management is fixed.
1273
1274    Introduced: 8.18.3.0.
1275
1276    Relevance:  Storage.
1277
1278Enhancements:
1279-------------
1280 1. Request:    L2 queue APIs changed - require less parameters to open
1281                queues and move into a handler-based implementation.
1282
1283 2. Request:    Add ecore support for processing the TLV request from MFW.
1284
1285 3. Request:    Improve cache-alignment of ecore_chain - place all fields
1286                required for produce/consume in a single cacheline [64 bytes].
1287
1288 4. Request:    iWARP support for Read With Invalidate.
1289
1290 5. Request:    iWARP - Add support for MPA revision 2 (enhanced).
1291
1292 6. Request:    iWARP - Add support for SYN retransmit timeout indication.
1293
1294Version 8.18.3.0 (Nov 21, 2016)
1295===============================
1296Internal FW 8.18.4.0
1297
1298Fixes:
1299------
1300 1. Problem:    Driver does not get completions when entering retransmit flow
1301                for high functions of an engine.
1302
1303    Change:     Driver did not initialize a resource correctly.
1304
1305    Introduced: 8.18.0.0.
1306
1307    Relevance:  iWARP NPAR and 4-port mode.
1308
1309 2. Problem:    CQ89024 - while running qperf a tid deregistration fails.
1310                Cause: after FW requested a NIG drain then the retransmitted
1311                ramrod is sent without properly configuring the itid.
1312
1313    Change:     Properly configure the itid in the retransmitted ramrod.
1314
1315    Introduced: Day 1.
1316
1317    Relevance:  RoCE/iWARP.
1318
1319 3. Problem:    CQ90143 - iSCSI discovery fails if done while FCoE driver is
1320                loaded.
1321
1322    Change:     Fail storage driver load if queue/cq request is beyond CQ
1323                resource allocation.
1324
1325    Introduced: Day 1.
1326
1327    Relevance:  iSCSI/FCoE.
1328
1329 4. Problem:    HW attentions cause idle check failures even when they are
1330                masked.
1331
1332    Change:     (FW) Updated idle check to consider attentions masking.
1333
1334    Introduced: Day 1.
1335
1336    Relevance:  Debug Tools.
1337
1338 5. Problem:    Possible garbage in PCIE Trace due to HW reset value bug.
1339
1340    Change:     (FW) HW bug workaround - initialize the register to the correct
1341                value.
1342
1343    Introduced: Day 1.
1344
1345    Relevance:  Debug Tools.
1346
1347 6. Problem:    CQ89179 - HW attention may occur due to a HW bug that may
1348                exposed when there is a traffic with DIF.
1349
1350    Change:     (FW FCoE) Work-around in FCoE RX path.
1351
1352    Introduced: Day 1.
1353
1354    Relevance:  FCoE, DIF.
1355
1356 7. Problem:    Heavy iWARP traffic that includes retransmissions may cause to
1357                unexpected behavior.
1358
1359    Change:     (FW iWARP) Verify there is a place in OOO queue before placing
1360                there packets.
1361
1362    Introduced: Day 1.
1363
1364    Relevance:  iWARP.
1365
1366 8. Problem:    Parity attention may occur when dumping a debug bus recording
1367                from the DBG block internal buffer, due to a HW bug.
1368
1369    Change:     (FW) Masked the parity attention.
1370
1371    Introduced: Day 1.
1372
1373    Relevance:  Debug Tools.
1374
1375 9. Problem:    iWARP Rxmit statistics don't appear properly on high functions.
1376
1377    Change:     Wrong id passed to FW macro.
1378
1379    Introduced: 8.18.2.0.
1380
1381    Relevance:  iWARP rxmit statistics.
1382
138310. Problem:    CQ89459 - System hits a bugcheck on setting ND Max QP to 16.
1384
1385    Change:     Nullify hwfn structures' pointers after being freed.
1386
1387    Introduced: Day 1.
1388
1389    Relevance:  All.
1390
1391Enhancements:
1392-------------
1393 1. Request:    Remove the `ver_str' field that the upper driver should have set
1394                before calling hw_init().
1395
1396 2. Request:    Support RoCE event statistics.
1397
1398 3. Request:    Add ecore interfaces for MFW TLV request processing.
1399
1400 4. Request:    Add WoL magic packet support routines for Windows.
1401
1402 5. Request:    (FW) Debug Bus tool updates:
1403                - Modified recording format to allow data synchronization in
1404                  case of: multiple groups per debug line, debug line split in
1405                  wrap-around mode, and data drops due to low bandwidth.
1406                - Improved readability of parsed HW blocks recordings.
1407                - Automatic detection of 256-bit debug lines.
1408                - Support specifying debug lines by name.
1409
1410 6. Request:    (FW iSCSI) iSCSI support for test unit ready (R=0, W=0).
1411
1412 7. Request:    (FW iWARP) Add support to MPA version2 (enhanced) in iWARP.
1413
1414 8. Request:    Add new OSAL - OSAL_STRTOUL().
1415
1416 9. Request:    Use the MFW mailbox for getting BDQ resource allocation
1417                information.
1418
1419Version 8.18.2.0 (Nov 13, 2016)
1420===============================
1421Internal FW 8.18.3.0
1422
1423Fixes:
1424------
1425 1. Problem:    CNIG attentions appear when hitting NWM/NWS attentions.
1426
1427    Change:     Correct AH aeu bit mapping to HW blocks.
1428
1429    Introduced: Day 1.
1430
1431    Relevance:  AH.
1432
1433 2. Problem:    Modifying QP to IDLE before destroying the QP will cause
1434                the next connection attempt done with an identical 4-tuple to
1435                fail.
1436
1437    Change:     Fix flow.
1438
1439    Introduced: Day 1.
1440
1441    Relevance:  iWARP.
1442
1443 3. Problem:    CQ89764: AH-Duluth-10GBaseT: Observed QEVBDA assert while
1444                running WHCK test PNP surprise Remove Device Test.
1445
1446    Change:     If CID bitmap isn't allocated yet, assume there are no QPs.
1447
1448    Introduced: 8.5.2.0.
1449
1450    Relevance:  RoCE/iWARP.
1451
1452 4. Problem:    Newer MFW might cause driver to reach OSAL_ASSERT.
1453
1454    Change:     Don't do DP_NOTICE() in case of unknown MFW message.
1455
1456    Introduced: Day 1.
1457
1458    Relevance:  All.
1459
1460 5. Problem:    FW assert may happen during connection establishment when there
1461                are retransmits.
1462
1463    Change:     (FW iWARP) Fix ingress processing during connection
1464                establishment.
1465
1466    Introduced: Day 1.
1467
1468    Relevance:  iWARP.
1469
1470 6. Problem:    Traffic continues after disable VPORT.
1471
1472    Change:     (FW L2) Fix VPORT disable FW flow.
1473
1474    Introduced: Day 1.
1475
1476    Relevance:  L2.
1477
1478 7. Problem:    VF isolation problem - VF can access parts of internal RAM of
1479                Storms in which VF Zone is unused.
1480
1481    Change:     (FW) Disable VF access to Zone B of unused Storms.
1482
1483    Introduced: Day 1.
1484
1485    Relevance:  SRIOV.
1486
1487 8. Problem:    Malicious VF Flood - Malicious VF driver can cause EQEs flood
1488                to parent PF by constantly writing to Ustorm VF zone.
1489
1490    Change:     (FW) Block malicious VF.
1491
1492    Introduced: Day 1.
1493
1494    Relevance:  SRIOV.
1495
1496 9. Problem:    Dropped RDMA read response may cause the RDMA read request to
1497                be sent multiple times.
1498
1499    Change:     (FW RoCE) Fix implied NAK implementation to only retransmit
1500                once.
1501
1502    Introduced: Day 1.
1503
1504    Relevance:  RoCE.
1505
150610. Problem:    Modifying QP to error state, while there is still traffic
1507                running, might results with error return on completion queue.
1508
1509    Change:     (FW RoCE) Fix Requester flow.
1510
1511    Introduced: FW 8.3.0.0.
1512
1513    Relevance:  RoCE.
1514
151511. Problem:    Multiple MTU RDMA Writes with T10 DIF sent without ACK request
1516                resulting in low performance.
1517
1518    Change:     (FW RoCE) Fix ACK request flag setting.
1519
1520    Introduced: FW 8.18.0.0.
1521
1522    Relevance:  RoCE.
1523
152412. Problem:    Parity attention on SEMI interrupt table.
1525
1526    Change:     (FW) Initialize the entire interrupt table with default event.
1527
1528    Introduced: Day 1.
1529
1530    Relevance:  All.
1531
153213. Problem:    CQ89456 - HW attention on BRB RC0_EOP_OUT_SYNC_FIFO_PUSH_ERROR.
1533
1534    Change:     (FW) Mask BRB RC0_EOP_OUT_SYNC_FIFO_PUSH_ERROR.
1535
1536    Introduced: Day 1.
1537
1538    Relevance:  All.
1539
154014. Problem:    CQ89756 - full out-of-order queue results in deadlock and
1541                connection errors.
1542
1543    Change:     (FW iSCSI) Add almost-full limit to the queue filling logic.
1544
1545    Introduced: Day 1.
1546
1547    Relevance:  iSCSI.
1548
154915. Problem:    Out-of-bound memory access on MFW interaction for resource
1550                allocation.
1551
1552    Change:     Fix the access to use the suitable driver mailbox union.
1553
1554    Introduced: 8.10.5.0.
1555
1556    Relevance:  All.
1557
155816. Problem:    Malicious VF Flood - Malicious VF driver can cause EQEs flood to
1559                parent PF by constantly writing 0 to vf_pf_msg_valid in Ustorm
1560                VF zone.
1561
1562    Change:     (FW) Block malicious VF.
1563
1564    Introduced: Day 1.
1565
1566    Relevance:  SRIOV.
1567
156817. Problem:    CQ89695 - Ramrod stuck while rebooting VF. False detection of
1569                PCI read error.
1570
1571    Change:     (FW) Fix PCI error check for VF slow path.
1572
1573    Introduced: Day 1.
1574
1575    Relevance:  SRIOV.
1576
157718. Problem:    CQ89793 - ASSERT might occur during driver load.
1578
1579    Change:     (FW) Remove the initialization of NWM_REG_PRTY_MASK_H_1 from the
1580                Init Tool.
1581
1582    Introduced: Day 1.
1583
1584    Relevance:  FC-FEC, AH only.
1585
158619. Problem:    CQ86787 - HW attention may occur during TCP establishment or
1587                tear-down.
1588
1589    Change:     (FW iSCSI) Fix pure-ack flow.
1590
1591    Introduced: Day 1.
1592
1593    Relevance:  iSCSI.
1594
159520. Problem:    FW assertion may occur during TCP tear-down.
1596
1597    Change:     (FW iSCSI) Fix Clear SQ flow.
1598
1599    Introduced: Day 1.
1600
1601    Relevance:  iSCSI.
1602
160321. Problem:    CQ89179 - HW attention during iSCSI non-DIF Rx traffic.
1604
1605    Change:     (FW iSCSI) Fix iSCSI non-DIF Rx flow.
1606
1607    Introduced: Day 1.
1608
1609    Relevance:  iSCSI.
1610
161122. Problem:    Wrong HW attentions debug print when attentions appear in more
1612                than one register per block.
1613
1614    Change:     (FW) Fix HW attentions debug print.
1615
1616    Introduced: Day 1.
1617
1618    Relevance:  Debug Tools.
1619
162023. Problem:    In CFC Delete Flow - When driver unloads, if there is active L2
1621                traffic, a Fatal "common_poll_reg_timeout_assert" FW assert is
1622                invoked.
1623
1624    Change:     (FW RoCE) "common_poll_reg_timeout_assert" reduced to warning.
1625
1626    Introduced: FW 8.10.8.0.
1627
1628    Relevance:  RoCE.
1629
163024. Problem:    In retransmit flow, FW ran out of buffers.
1631
1632    Change:     Driver flow didn't initialize param correctly.
1633
1634    Introduced: Day 1.
1635
1636    Relevance:  iWARP.
1637
163825. Problem:    FW assert if VF vport closed while queues are activei.
1639
1640    Change:     Make sure VF queue are closed before stopping vport.
1641
1642    Introduced: Day 1.
1643
1644    Relevance:  SRIOV.
1645
1646Enhancements:
1647-------------
1648 1. Request:    New API function ecore_vf_get_num_mac_filters().
1649
1650 2. Request:    Case 00041880 - NIG_REG_{RX_BRB, STORM}_OUT_EN shouldn't
1651                change; MFW will close the BRB-NIG interface properly.
1652
1653 3. Request:    Add API for getting/setting LLDP MAC address.
1654
1655 4. Request:    Decrease memory consumption used for SYN packet handling in
1656                iWARP.
1657
1658 5. Request:    CQ89592: Add new rdma pf param `max_cnqs' and expose the API
1659                to `ecore_hw_set_feat()'. To be used under certain limitations.
1660
1661 6. Request:    Restructure QM initialization code. QM info is no longer
1662                reallocated at DCBx renegotiation. Vports and PQs are no
1663                longer allocated at max values but allocated exactly.
1664
1665 7. Request:    (FW) Add CRC to all debug binary dumps.
1666
1667 8. Request:    Protect releasing LL2/iSCSI/OOO resources flow by NULL checking.
1668
1669 9. Request:    iWARP: Add retransmit statistics to ecore_rdma_stats.
1670
167110. Request:    (FW RoCE) Add RoCE statistics for internal CRC, retransmit
1672                tries, RNR nak and silent drops.
1673
167411. Request:    (FW) Add support for context validation.
1675
167612. Request:    Allocate an additional QM physical queue for roce PFs for low
1677                latency during traffic.
1678
167913. Request:    Add ecore API for getting the MBI version.
1680
1681Version 8.18.1.0 (Oct 30, 2016)
1682===============================
1683Internal FW 8.18.1.0
1684
1685Fixes:
1686------
1687 1. Problem:    When querying a RoCE port the max_msg_sz field is set to zero.
1688
1689    Change:     Configure the max_msg_sz field.
1690
1691    Introduced: Day 1.
1692
1693    Relevance:  RoCE/iWARP.
1694
1695 2. Problem:    CNIG attentions appear on port #4 regardless of actual port.
1696
1697    Change:     Correct logic finding first CNIG attention to be asserted.
1698
1699    Introduced: Day 1.
1700
1701    Relevance:  All.
1702
1703 3. Problem:    Register MR might fail if we did before Deregister MR while the
1704                port was paused.
1705
1706    Change:     (FW RoCE) Fix deregister MR flow.
1707
1708    Introduced: FW 8.14.2.0.
1709
1710    Relevance:  RoCE.
1711
1712 4. Problem:    Encapsulated broadcast packet may be dropped, if VNI used for
1713                tunnel classification and more than 160 filters configured.
1714
1715    Change:     (FW L2) Fix FW flow.
1716
1717    Introduced: FW 8.10.4.0.
1718
1719    Relevance:  L2.
1720
1721 5. Problem:    After QP is destroyed during traffic, reusing the connection
1722                resource may lead to firmware assert.
1723
1724    Change:     (FW RoCE) Fix internal firmware queue state tracking code.
1725
1726    Introduced: FW 8.3.0.0.
1727
1728    Relevance:  RoCE.
1729
1730 6. Problem:    Same aRFS filter used for TCP and UDP traffic.
1731
1732    Change:     (FW L2) Add L4 protocol type to aRFS filter profile.
1733
1734    Introduced: Day 1.
1735
1736    Relevance:  L2.
1737
1738 7. Problem:    TCP window probe will not be retransmitted (if it wasn't ACKed).
1739
1740    Change:     (FW iSCSI/iWARP) Retransmit the window probe if it wasn't ACKed
1741                for RTO time.
1742
1743    Introduced: Day 1.
1744
1745    Relevance:  iSCSI, iWARP.
1746
1747 8. Problem:    FW assertion may happen when doing modify QP to error.
1748
1749    Change:     (FW iWARP) Check that SQ is empty instead of verifying we gave
1750                completions for all wqes (might be non-signalled wqes).
1751
1752    Introduced: Day 1.
1753
1754    Relevance:  iWARP.
1755
1756 9. Problem:    AH Bug in High Malicious VF limitation and VFP (VF PF Channel).
1757                When High (191 for instance) VFs are used (on VMs for instance)
1758                and a malicious VF is detected.
1759                In addition FLR Cleanup was not completed properly..
1760
1761    Change:     (FW SRIOV) Allow up to 192 Malicious VFs (range 0..191) support.
1762                Wrong limitation to VF vector caused it. Also - VPC's ready-bit
1763                must be set as VF is returned to its original ("virgin") state,
1764                in which the VPC must be ready regardless of whether the driver
1765                acked (set the ready bit) the last request or not.
1766
1767    Introduced: Day 1.
1768
1769    Relevance:  SRIOV.
1770
177110. Problem:    Data integrity when re-transmitting large (>255 DIF intervals)
1772                IO with Dif.
1773
1774    Change:     (FW iSCSI) Fix FW flow.
1775
1776    Introduced: Day 1.
1777
1778    Relevance:  iSCSI.
1779
178011. Problem:    User application hang due to RT failure.
1781
1782    Change:     (FW iWARP) Fix the RT flow.
1783
1784    Introduced: Day 1.
1785
1786    Relevance:  iWARP.
1787
1788Enhancements:
1789-------------
1790 1. Request:    New API function ecore_int_get_sb_dbg() to return SB dbg info.
1791
1792 2. Request:    hw_prepare() parameters can now be used to allow graceful
1793                behavior, allowing 'lacking' probes to succeed.
1794
1795Version 8.18.0.0 (Oct 19, 2016)
1796===============================
1797Internal FW 8.18.0.0
1798
1799Fixes:
1800------
1801 1. Problem:    CQ89032 - iWARP - crash during initialization with SRIOV
1802                enabled.
1803
1804    Change:     Fix TM block ILT initialization.
1805
1806    Introduced: 8.14.3.0 TM attention fix.
1807
1808    Relevance:  iWARP and SRIOV coexistence.
1809
1810 2. Problem:    FW return code is checked even if TID register ramrod posting
1811                failed.
1812
1813    Change:     Check FW return code only if ramrod was posted successfully.
1814
1815    Introduced: Day 1.
1816
1817    Relevance:  RoCE.
1818
1819 3. Problem:    CQ88918 - iWARP - Assert during connection close, freeing
1820                dma-able memory from dpc by ecore.
1821
1822    Change:     Move memory free to later phase which is called in passive.
1823
1824    Introduced: iWARP Day 1.
1825
1826    Relevance:  iWARP.
1827
1828 4. Problem:    iWARP - Application hangs during destroy.
1829
1830    Change:     CLOSE callback not called properly in all cases.
1831
1832    Introduced: 8.14.4.0.
1833
1834    Relevance:  iWARP.
1835
1836 5. Problem:    If creating a CQ failed then the CQ bitmap was cleared without
1837                lock.
1838
1839    Change:     Clear the relevant bit from the bitmap under lock.
1840
1841    Introduced: Day 1.
1842
1843    Relevance:  RoCE.
1844
1845 6. Problem:    CQ88823 - Value of number of queue is showing 2 with default
1846                resource allocation value i.e. 0.
1847
1848    Change:     Change qid value from 8 bit field to 16 bit.
1849
1850    Introduced: Day 1.
1851
1852    Relevance:  All.
1853
1854 7. Problem:    False idle check failure on NIG DBGMUX_SYNCFIFO_ERROR_WR
1855                interrupt.
1856
1857    Change:     (FW) Fix idle check rule that checks NIG_REG_INT_STS.
1858
1859    Introduced: Day 1.
1860
1861    Relevance:  Debug Tools.
1862
1863 8. Problem:    HW attention while running Rx traffic with DIF.
1864
1865    Change:     (FW iSCSI) Fix the iSCSI Rx DIF flow.
1866
1867    Introduced: FW 8.14.0.0.
1868
1869    Relevance:  iSCSI DIF.
1870
1871 9. Problem:    CQ89197 - logs show AH0 for an arrowhead A1 adapter.
1872
1873    Change:     Consider both REV and METAL, and change print into AH A{0,1}.
1874
1875    Introduced: Day 1.
1876
1877    Relevance:  All.
1878
187910. Problem:    After FLR, previously malicious VF fails to init sometimes.
1880
1881    Change:     Make VF-PF channel operational while handling VF FLR.
1882
1883    Introduced: Day 1.
1884
1885    Relevance:  SRIOV.
1886
188711. Problem:    CQ89309 - VFs creation fail in Default mode with storage.
1888
1889    Change:     Add new feature ECORE_VF_L2_QUE to reflect supported number
1890                of queues by all VFs.
1891
1892    Introduced: Day 1.
1893
1894    Relevance:  IOV on BB 4-port / AH 2-port+ with storage enabled.
1895
189612. Problem:    The nvram test fails after MFW crash dump is collected and its
1897                image's CRC stops being valid.
1898
1899    Change:     Exclude the image of the MFW crash dump from the nvram test.
1900
1901    Introduced: Day 1.
1902
1903    Relevance:  Selftests.
1904
190513. Problem:    Cont00089354 - Arrowhead-10G: Observed QEVBDA Assert while
1906                running SMB SmbConnect LOGO test on AH 10G board.
1907                Allocation of RoCE resource managed via a bitmap can cause an
1908                assert if bitmap is full.
1909
1910    Change:     Don't assert in such a scenario.
1911
1912    Introduced: Day 1.
1913
1914    Relevance:  RoCE.
1915
191614. Problem:    QP resource leak.
1917
1918    Change:     Free resource even if QP responder/requester was never
1919                offloaded.
1920
1921    Introduced: 8.14.0.0.
1922
1923    Relevance:  RoCE.
1924
192515. Problem:    iWARP MSS wasn't configured properly on passive side.
1926
1927    Change:     Calculate header size correctly in passive side.
1928
1929    Introduced: Day 1.
1930
1931    Relevance:  iWARP.
1932
193316. Problem:    The PQs allocation doesn't enforce a granularity of 8.
1934
1935    Change:     Make sure the number of PQs per-PF and their start value are
1936                divisible by 8.
1937
1938    Introduced: 8.10.5.0.
1939
1940    Relevance:  All.
1941
194217. Problem:    cq89243 AH A1: RoCE: Assert @ 'qevbda!ecore_int_deassertion_aeu
1943                bit+4fd' when rebooting host after RoCE I/O.
1944
1945    Change:     Make sure that the ILT resources are released after the FW has
1946                completed its asynchronous operations.
1947
1948    Introduced: 8.14.0.0.
1949
1950    Relevance:  RoCE/iWARP.
1951
195218. Problem:    cq89522 iWARP: traffic failed over VLAN interfaces.
1953
1954    Change:     Vlan comparison wasn't done correctly for cases where listen
1955                was done on ANY_IPADDR.
1956
1957    Introduced: Day 1 of iWARP.
1958
1959    Relevance:  iWARP.
1960
196119. Problem:    cq89307 iWARP: statistics not updated correctly for all ports.
1962
1963    Change:     Same statistic counter was used for different ports.
1964
1965    Introduced: Day 1 of iWARP.
1966
1967    Relevance:  iWARP.
1968
1969Enhancements:
1970-------------
1971 1. Request:    Read default mtu value from the shared-memory during the device
1972                initialization.
1973
1974 2. Request:    Add support for the following OneView APIs.
1975                ecore_mcp_ov_update_mtu - Send MTU value to the MFW.
1976                ecore_mcp_ov_update_mac - Send MAC address to the MFW.
1977                ecore_mcp_ov_update_wol - Send WoL mode to the MFW.
1978
1979 3. Request:    Send eswitch_mode to MFW after the firmware load.
1980
1981 4. Request:    Configure NIG EDPM per TC enablement control bits for RoCE,
1982                RoCE_V2 traffic types.
1983
1984 5. Request:    Expose crc_needed and rcv_wnd_size to upper layer driver.
1985
1986 6. Request:    Update mfw when ecore assigns a default mtu value.
1987
1988 7. Request:    Add support for accessing an external phy.
1989
1990 8. Request:    (FW iWARP) Add support for iWARP phase-1.5 (Retransmissions and
1991                DCBX).
1992
1993 9. Request:    Utilize DRV_MSG_CODE_GET_PF_RDMA_PROTOCOL for learning RDMA
1994                capabilities of interface.
1995
199610. Request:    Add new OSAL - OSAL_CRC32().
1997
199811. Request:    iWARP OOO support.
1999
200012. Request:    Prevent replication error bit from mismatch between the local
2001                and remote sending local admin MIB.
2002
200313. Request:    Add WoL magic packet support.
2004
2005Version 8.14.4.0 (Sep 18, 2016)
2006===============================
2007Internal FW 8.14.7.0
2008
2009Fixes:
2010------
2011 1. Problem:    BB indirect CNIG registers cannot be accessed by GRC Dump and
2012                MFW simultaneously.
2013
2014    Change:     (FW) Excluded CNIG_REG_PMFC_IF_* and CNIG_REG_PMEG_IF_* from GRC
2015                Dump in BB.
2016
2017    Introduced: Day 1.
2018
2019    Relevance:  Debug Tools.
2020
2021 2. Problem:    When final-cleanup sent on inactive function FW may send delete
2022                on wrong function.
2023
2024    Change:     (FW) Verify activity of function before sending delete flow.
2025
2026    Introduced: Day 1.
2027
2028    Relevance:  All.
2029
2030 3. Problem:    Firmware assertion may happen during iWARP traffic that involves
2031                RDMA_READ/SENDs.
2032
2033    Change:     (FW iWARP) Fix RQ handling flow.
2034
2035    Introduced: Day 1.
2036
2037    Relevance:  iWARP.
2038
2039 4. Problem:    Closing RDMA function and opening it again without unloading the
2040                PF might cause memory access violation when accessing MRs.
2041
2042    Change:     (FW RDMA) Fix MR registration flow.
2043
2044    Introduced: Day 1.
2045
2046    Relevance:  RDMA.
2047
2048 5. Problem:    CQ88872 - FW assertion while running Tx traffic.
2049
2050    Change:     (FW iSCSI) Fix the iSCSI RT flow.
2051
2052    Introduced: FW 8.14.0.0.
2053
2054    Relevance:  iSCSI.
2055
2056 6. Problem:    Can’t open more than one QP simultaneously, and can’t post
2057                buffers prior to rdma_connect.
2058
2059    Change:     (FW iWARP) Implement a new scheme of separating between tcp
2060                connection establishment cid and Iwarp QP cid. A.k.a. cid
2061                migration.
2062
2063    Introduced: Day 1.
2064
2065    Relevance:  iWARP.
2066
2067 7. Problem:    CQ84502 - System crash during qevbd disable with verifier on.
2068
2069    Change:     Fix memory leakage.
2070
2071    Introduced: Day 1.
2072
2073    Relevance:  iSCSI.
2074
2075 8. Problem:    Dcbx update flag is being sent incorrectly to the FW.
2076
2077    Change:     The flag is incorrectly converted to boolean before assigning
2078                it to ramrod data, fix this typecasting.
2079
2080    Introduced: Day 1.
2081
2082    Relevance:  dscp.
2083
2084 9. Problem:    OS crash on partial driver reload, when the second load
2085                fails to allocate resources (e.g., requested too many QPs).
2086
2087    Change:     Set pointers to OSAL_NULL after freeing the allocations.
2088
2089    Introduced: Day 1.
2090
2091    Relevance:  All.
2092
2093Enhancements:
2094-------------
2095 1. Request:    Update ecore_hw_init() to send storm firmware version to MFW.
2096
2097 2. Request:    Send driver state as DISABLED to MFW as part of ecore_hw_init(),
2098                and, as UNLOADED as part of ecore_hw_remove(). Now it's the
2099                ecore client's responsibility to set the driver state as ACTIVE/
2100                DISABLED depending on whether the driver is operational or not.
2101
2102 3. Request:    ecore_mcp_ov_update_current_config() was sending incorrect value
2103                for MFW parameter field.
2104
2105 4. Request:    Remove attribute field from update_current_config() API, MFW
2106                need to know only the last entity who configured the device.
2107
2108Version 8.14.3.0 (Sep 07, 2016)
2109===============================
2110Internal FW 8.14.6.0
2111
2112Fixes:
2113------
2114 1. Problem:    CQ88392 E4 4x25G: System hits an assert on running RoCE traffic.
2115
2116    Change:     Read the error flag before releasing the memory.
2117
2118    Introduced: 8.14.0.0.
2119
2120    Relevance:  RoCE.
2121
2122 2. Problem:    expStatSN validation error after receiving Reject PDU.
2123
2124    Change:     (FW iSCSI) Advance expStatSN for incoming REJECT PDU.
2125
2126    Introduced: Day 1.
2127
2128    Relevance:  iSCSI Initiator.
2129
2130 3. Problem:    Setting final bit for TEXT Request PDU even if continue bit is
2131                set.
2132
2133    Change:     (FW iSCSI) Fix TEXT Request transmit flow.
2134
2135    Introduced: Day 1.
2136
2137    Relevance:  iSCSI Initiator.
2138
2139 4. Problem:    Not advancing statSN after sending REJECT, ASYNC and TMF
2140                Response PDUs.
2141
2142    Change:     (FW iSCSI) Fix the Tx flow.
2143
2144    Introduced: Day 1.
2145
2146    Relevance:  iSCSI Target.
2147
2148 5. Problem:    Setting final bit for TEXT Response PDU even if continue bit is
2149                set.
2150
2151    Change:     (FW iSCSI) Fix TEXT Response transmit flow.
2152
2153    Introduced: Day 1.
2154
2155    Relevance:  iSCSI Target.
2156
2157 6. Problem:    Overwriting statSN field while retransmitting SCSI Response,
2158                TEXT Response, LOGIN Response, LOGOUT Response, TMF Response,
2159                ASYNC and REJECT PDUs.
2160
2161    Change:     (FW iSCSI) Fix TX retransmit flow.
2162
2163    Introduced: Day 1.
2164
2165    Relevance:  iSCSI Target.
2166
2167 7. Problem:    "Got a non-regular LB LL2 completion" might appear
2168                [and possibly assert] in iscsi scenarios.
2169
2170    Change:     Correct logic handling an Rx queue flush for OOO.
2171
2172    Introduced: 8.14.0.0.
2173
2174    Relevance:  iSCSI OOO.
2175
2176 8. Problem:    TM block attention when configuring iWARP with a large number
2177                of supported ethernet connections.
2178
2179    Change:     TM ILT memory was not computed properly.
2180
2181    Introduced: day 1.
2182
2183    Relevance:  iWARP.
2184
2185 9. Problem:    Receiving a SYN packet on an already open connection was not
2186                detected properly.
2187
2188    Change:     Fixed compare code.
2189
2190    Introduced: day 1.
2191
2192    Relevance:  iWARP.
2193
2194Enhancements:
2195-------------
2196 1. Request:    Improve Tx-switched performance by utilizing the FW provided
2197                feature of same_as_last_id.
2198
2199Version 8.14.2.0 (Aug 25, 2016)
2200===============================
2201Internal FW 8.14.4.0
2202
2203Fixes:
2204------
2205 1. Problem:    CQ88564 - duplicate iSCSI app TLV when setting iSCSI
2206                QoS Policy in DCBX IEEE mode.
2207
2208    Change:     CEE selection field must be set regardless CEE/IEEE mode.
2209
2210    Introduced: 8.10.6.0.
2211
2212    Relevance:  DCBX.
2213
2214 2. Problem:    Malicious VF can cause crash due to out-of-bound access in HV
2215                by using a too-high index when starting an Rx queue.
2216
2217    Change:     Validate queue index before accessing queue array.
2218
2219    Introduced: Day 1.
2220
2221    Relevance:  SRIOV.
2222
2223 3. Problem:    Segmentation fault on RDMA stop if SRQ is not initialized.
2224
2225    Change:     Free the SRQ bitmap only if it was allocated.
2226
2227    Introduced: 8.14.1.0.
2228
2229    Relevance:  RoCE.
2230
2231 4. Problem:    VF acquisition fails over a legacy PF.
2232
2233    Change:     Correct logic handling rejections by legacy PF.
2234
2235    Introduced: 8.14.0.0.
2236
2237    Relevance:  SRIOV.
2238
2239 5. Problem:    Malicious VF removal will cause a FW assertion.
2240
2241    Change:     PF to start rejecting malicious VF requests.
2242
2243    Introduced: Day 1.
2244
2245    Relevance:  SRIOV.
2246
2247 6. Problem:    If a regular ramrod received while processing a consolidated
2248                ramrod, the regular ramrod might not be processed.
2249                Multiple outstanding consolidated ramrods might not be
2250                processed.
2251
2252    Change:     (FW) Fix common ramrod flow.
2253
2254    Introduced: Day 1.
2255
2256    Relevance:  iSCSI, FCoE, iWARP.
2257
2258 7. Problem:    When tx offload requests are passed on BD,'no snooping' mode
2259                might be set which may result in connections failing to
2260                establish.
2261
2262    Change:     (FW) Fix load Tx bd flow.
2263
2264    Introduced: FW 8.14.0.0.
2265
2266    Relevance:  RoCE, iWARP, iSCSI, FCoE.
2267
2268 8. Problem:    CQ87192 - AH NWM parity attention.
2269
2270    Change:     (FW) Masked parities 0,1,6,7 in NWM_REG_PRTY_MASK_H_2 as a
2271                temporary workaround.
2272
2273    Introduced: Day 1.
2274
2275    Relevance:  All.
2276
2277 9. Problem:    AH PCIE debug bus sampling rate is two clock cycles instead of
2278                one cycle.
2279
2280    Change:     (FW) Configured PCIE_REG_DBG_SAMPLING_INTERVAL to 0 instead of
2281                1.
2282
2283    Introduced: Day 1.
2284
2285    Relevance:  Debug Tools.
2286
228710. Problem:    DBU_REG_RXDATA contains invalid values in AH GRC Dump (due to
2288                a HW bug).
2289
2290    Change:     (FW) Excluded DBU_REG_RXDATA from GRC Dump in AH.
2291
2292    Introduced: Day 1.
2293
2294    Relevance:  Debug Tools.
2295
229611. Problem:    In multiple retransmissions scenario with RDMA reads an RDMA
2297                read request might be retransmitted from more than max ORD
2298                backwards (a request that was already responded).
2299
2300    Change:     (FW RoCE) Fix retransmission flow.
2301
2302    Introduced: Day 1.
2303
2304    Relevance:  RoCE.
2305
230612. Problem:    T10 DIF RDMA Write errors reported in all IOs of the TID after
2307                detection.
2308
2309    Change:     (FW RoCE) Clear detected errors at end of Invalidate flow.
2310
2311    Introduced: Day 1.
2312
2313    Relevance:  RoCE.
2314
231513. Problem:    Outbound T10 DIF without runt, following inbound T10 DIF with
2316                runt causes false runt error report.
2317
2318    Change:     (FW RoCE) Properly clear runt valid flags between operations.
2319
2320    Introduced: Day 1.
2321
2322    Relevance:  RoCE.
2323
232414. Problem:    FW Did not report malicious_vf_error_id for anti-spoofing checks
2325                failures.
2326
2327    Change:     (FW) FW Reports malicious_vf_error_id: ETH_ANTI_SPOOFING_ERR
2328                upon anti-spoofing failure.
2329
2330    Introduced: Day 1.
2331
2332    Relevance:  ETH.
2333
233415. Problem:    CQ88677 - Rhel6.8 VM OS is not coming up after installing
2335                drivers from NCDE 11 60.
2336
2337    Change:     DCBX config is not supported on VFs, fail the DCBX query for
2338                VF interfaces.
2339
2340    Introduced: 8.10.0.0.
2341
2342    Relevance:  DCBX.
2343
2344Enhancements:
2345-------------
2346 1. Request:    Add ecore_iov_is_vf_started() api.
2347
2348 2. Request:    ecore_sp_vport_start_params have several new b_err_* values
2349                that when set cause FW to be harsher toward egress errors -
2350                default is to silently drop, if set would turn VF into
2351                malicious state, or for a PF cause an assertion.
2352
2353 3. Request:    (FW) Add T/RDIF_REG_DEBUG_ERROR_INFO memories to GRC Dump.
2354
2355Version 8.14.1.0 (Aug 14, 2016)
2356===============================
2357Internal FW 8.14.3.0
2358
2359Fixes:
2360------
2361 1. Problem:    Dcbx config bit-fields are not cleared before updating with the
2362                user provided value.
2363
2364    Change:     Clear the bit-field before updating it with new value.
2365
2366    Introduced: Day 1.
2367
2368    Relevance:  RoCE.
2369
2370 2. Problem:    CQ86528 - Incorrect parsing of packet with unsupported
2371                GRE/GENEVE version.
2372
2373    Change:     (FW L2) Apply FW workaround in Rx flow.
2374
2375    Introduced: Day 1.
2376
2377    Relevance:  GRE, GENEVE.
2378
2379 3. Problem:    Initiator mode write exchange with T10 DIF may produce corrupt
2380                payload.
2381
2382    Change:     (FW iSCSI) Propagate T10 DIF attributes to Tx flow.
2383
2384    Introduced: Day 1.
2385
2386    Relevance:  iSCSI.
2387
2388 4. Problem:    CQ88494 - RoCE throughput inconsistent when traffic is run on F0
2389                and F2 (functions sharing same HW engine).
2390
2391    Change:     Fix Queue Zone allocation.
2392
2393    Introduced: 8.10.2.0.
2394
2395    Relevance:  RoCE w/ more than one function per engine.
2396
2397Enhancements:
2398-------------
2399 1. Request:    Remove unused parameter of loopback indication from RoCE API.
2400
2401 2. Request:    Add two APIs to configure A-RFS mode and A-RFS ntuple filter.
2402
2403 3. Request:    Improve robustness of the SET_FIELD macro by using a mask.
2404
2405 4. Request:    Add ecore API for getting the MFW crash dump info.
2406
2407 5. Request:    Separate index to keep cid and Qzone id to support multi COS.
2408
2409 6. Request:    Check that ECORE RoCE bitmaps are clear before freeing them.
2410
2411 7. Request:    (FW iSCSI) Improve iSCSI IOPS performance with DIF enabled.
2412
2413 8. Request:    (FW) Support AH ASIC.
2414
2415 9. Request:    Add support for iWARP (phase-1).
2416
241710. Request:    Add support for external PHY BCM8485x.
2418
2419Version 8.14.0.0 (Jul 31, 2016)
2420===============================
2421Internal FW 8.14.1.0
2422
2423Fixes:
2424------
2425 1. Problem:    RDMA interrupt not being received from FW. This happened because
2426                the interrupt arming doorbell was ignored by the HW.
2427
2428    Change:     Allocate a number of CIDs that is aligned to 16 (while not
2429                dropping the alignment to ILT page), which is the HW Doorbell
2430                Queue units when specifying the maximum Doorbell Queue number.
2431
2432    Introduced: Day 1.
2433
2434    Relevance:  RoCE.
2435
2436 2. Problem:    CQ86624 - RoCE and ping traffic stops while running stress+
2437                longrun testing and seeing pglue errors is still seen despite
2438                fix from 8.10.6.0.
2439
2440    Change:     (Init Tool) Fix ordering bug in init tool.
2441
2442    Introduced: Day 1.
2443
2444    Relevance:  Roce.
2445
2446 3. Problem:    CQ87398 - VF VLAN creation throws error in linux rhel6.8.
2447
2448    Change:     Allow VLAN stripping request from VF for linux as well.
2449
2450    Introduced: Day 1.
2451
2452    Relevance:  SRIOV under rhel6.x.
2453
2454 4. Problem:    iWARP pure Syn LB packets not identified.
2455
2456    Change:     (FW iWARP) Correct value is checked for tcp syn packets.
2457
2458    Introduced: FW 8.10.7.0.
2459
2460    Relevance:  iWARP.
2461
2462 5. Problem:    CQ87377 - Malicious VFs can send pause frames.
2463
2464    Change:     Configure FW to drop VF flow control packets according to MAC.
2465
2466    Introduced: Day 1.
2467
2468    Relevance:  SRIOV.
2469
2470 6. Problem:    Memory leaks in a few ECORE RoCE error flows.
2471
2472    Change:     Release the allocated memory even before exiting the functions.
2473
2474    Introduced: Day 1.
2475
2476    Relevance:  ECORE RoCE.
2477
2478 7. Problem:    Ethtype value is being read incorrectly in ieee-dcbx mode.
2479
2480    Change:     Use the ieee specific mask value for reading the ethtype value
2481                in ieee-dcbx mode.
2482
2483    Introduced: Day 1.
2484
2485    Relevance:  Dcbx.
2486
2487 8. Problem:    Endian-ness conversion is being applied incorrectly for dcbx
2488                pri_to_tc field while reading/writing.
2489
2490    Change:     Do not apply the conversion for pri_to_tc value.
2491
2492    Introduced: Day 1.
2493
2494    Relevance:  Dcbx.
2495
2496 9. Problem:    Transmission stop in case of large IOs with DIF.
2497
2498    Change:     (FW iSCSI) Fix the FW DIF flow.
2499
2500    Introduced: FW 8.10.8.0.
2501
2502    Relevance:  iSCSI.
2503
250410. Problem:    HW attention during retransmit.
2505
2506    Change:     (FW Storage) Change the FW init.
2507
2508    Introduced: FW 8.10.8.0.
2509
2510    Relevance:  iSCSI, FCoE.
2511
251211. Problem:    Pure TCP Syn packets not received correctly when function
2513                personality is Eth or iWARP.
2514
2515    Change:     (FW iWARP) Fix the Eth FW.
2516
2517    Introduced: FW 8.10.7.0.
2518
2519    Relevance:  iWARP.
2520
252112. Problem:    Login-request PDU is always transmitted with T(Transit) bit set.
2522
2523    Change:     (FW iSCSI) Set 'T' bit according to initialized value.
2524
2525    Introduced: Day 1.
2526
2527    Relevance:  iSCSI.
2528
252913. Problem:    CQ87318 - FW assertion during re-transmit.
2530
2531    Change:     (FW iSCSI) Fix the iSCSI RT flow.
2532
2533    Introduced: FW 8.10.7.50.
2534
2535    Relevance:  iSCSI.
2536
253714. Problem:    WQE with Fence indicator might result with "Local QP Operation"
2538                error completion.
2539
2540    Change:     (FW RoCE) Fix the RoCE Requester flow.
2541
2542    Introduced: Day 1.
2543
2544    Relevance:  RoCE.
2545
254615. Problem:    PF asserts on second [incorrect] ACQUIRE request from VF.
2547
2548    Change:     Deny ACQUIRE requests from already acquired VFs.
2549
2550    Introduced: 8.10.4.0.
2551
2552    Relevance:  SRIOV.
2553
2554Enhancements:
2555-------------
2556 1. Request:    Avoid forcing the driver's default resource allocation in case
2557                of a diff with the MFW's allocation values.
2558
2559 2. Request:    Remove PF MR configuration but allocate as many RoCE MRs as
2560                possible.
2561
2562 3. Request:    Allow backward compatibility with PF/VF from 8.7 and 8.8
2563                releases. New VF over old PF might require datapath changes.
2564
2565 4. Request:    Add an optional initiation of PF FLR as part of
2566                ecore_hw_prepare().
2567
2568 5. Request:    (FW RoCE) Improving RoCE 'Destroy QP' verb duration.
2569
2570Version 8.10.7.0 (Jul 10, 2016)
2571===============================
2572Internal FW 8.10.8.0
2573
2574Fixes:
2575------
2576 1. Problem:    Dcbx ieee selector-field value is not populated in the case of
2577                ecore interacting with old MFW.
2578
2579    Change:     Populate the value.
2580
2581    Introduced: Day 1.
2582
2583    Relevance:  Dcbx.
2584
2585 2. Problem:    MTU Violation (compared with Transmitted Packet Size) was not
2586                checked for LSO packets.
2587
2588    Change:     (FW L2) MTU Violation (compared with Transmitted Packet Size) is
2589                now checked for LSO packets as well.
2590
2591    Introduced: Day 1.
2592
2593    Relevance:  L2.
2594
2595 3. Problem:    T10 DIF RDMA Write retransmission reports AppTag failures when
2596                retransmitting from middle of IO.
2597
2598    Change:     (FW RoCE) Correct AppTag calculation in retransmission flow.
2599
2600    Introduced: FW 8.10.5.0.
2601
2602    Relevance:  RoCE.
2603
2604 4. Problem:    T10 DIF RDMA Write retransmission reports RefTag failures when
2605                retransmitting from start of IO.
2606
2607    Change:     (FW RoCE) Correct RefTag offset calculation in retransmission
2608                flow.
2609
2610    Introduced: FW 8.10.7.0.
2611
2612    Relevance:  RoCE.
2613
2614 5. Problem:    FW Fatal assert might occur when doing destroy QP after modify
2615                QP.
2616
2617    Change:     (FW RoCE) Remove code responsible for this FW fatal assert.
2618
2619    Introduced: Day 1.
2620
2621    Relevance:  RoCE.
2622
2623 6. Problem:    Doing RoCE start driver during L2 traffic is getting stuck due
2624                to ramrod failure.
2625
2626    Change:     (FW RoCE) Fix FW flow.
2627
2628    Introduced: FW 8.10.0.0.
2629
2630    Relevance:  RoCE.
2631
2632 7. Problem:    CQE with RDMA_CQE_RESP_STS_LOCAL_ACCESS_ERR is received when
2633                using RQ sge with 'reserved key'.
2634
2635    Change:     (FW RoCE) Fix FW flow.
2636
2637    Introduced: FW 8.10.4.0.
2638
2639    Relevance:  RoCE.
2640
2641 8. Problem:    Termination ramrod of multiple CIDs stuck.
2642
2643    Change:     (FW Storage) Fix the iSCSI/FCoE consolidation queue flow.
2644
2645    Introduced: Day 1.
2646
2647    Relevance:  Storage.
2648
2649 9. Problem:    Wrong iSCSI statistics ram pointer.
2650
2651    Change:     (FW iSCSI) Fix the ram pointer value.
2652
2653    Introduced: Day 1.
2654
2655    Relevance:  iSCSI.
2656
265710. Problem:    CQ87065/CQ86013/CQ86522 - HW bug causing HW attention.
2658
2659    Change:     (FW iSCSI) Apply FW workaround to Rx placement flow (MU ldr
2660                command per SGE).
2661
2662    Introduced: Day 1.
2663
2664    Relevance:  iSCSI.
2665
266611. Problem:    CQ87014 - FW may report incorrect RSP flags to the driver as
2667                part of CQE.
2668
2669    Change:     (FW FCoE) Fix the RSP handling flow.
2670
2671    Introduced: FW 8.10.7.0.
2672
2673    Relevance:  FCoE.
2674
267512. Problem:    CQ87399 E4-RoCE: RoCE traffic failed over PFC configuration.
2676
2677    Change:     Configure the correct TC to the PF.
2678
2679    Introduced: 8.10.6.0.
2680
2681    Relevance:  Dcbx.
2682
2683Enhancements:
2684-------------
2685 1. Request:    Add the NIG registers configuration for PTP in AH.
2686
2687 2. Request:    Fix the calculation of the MFW port number in AH.
2688
2689 3. Request:    Populate the dscp related info in the dcbx ramrod data.
2690
2691 4. Request:    Add new OSAL - OSAL_WARN().
2692
2693 5. Request:    Moved the roce_flavor parameter from
2694                ecore_ll2_acquire_connection() to ecore_ll2_prepare_tx_packet().
2695
2696 6. Request:    Add support for a destination MAC address update ramrod for
2697                an iSCSI offloaded connection.
2698
2699 7. Request:    Add support for ECORE LL2 loopback per packet.
2700
2701Version 8.10.6.0 (Jun 27, 2016)
2702===============================
2703Internal FW 8.10.7.0
2704
2705Fixes:
2706------
2707 1. Problem:    Ecore sets NIG_REG_DSCP_TO_TC_MAP_ENABLE register even when the
2708                dscp mapping is not written to the shared memory.
2709
2710    Change:     Set the register only when user configures the dscp mapping.
2711
2712    Introduced: Day 1.
2713
2714    Relevance:  Dcbx.
2715
2716 2. Problem:    CQ87007 - E4 RoCE: latest component broken PFC with RoCEv2.
2717
2718    Change:     Use the new config path/fields defined by the FW for RoCEv2
2719                protocol data.
2720
2721    Introduced: Day 1.
2722
2723    Relevance:  RoCE.
2724
2725 3. Problem:    CQ86902 - SW workaround for CFC VF weak & strong enable.
2726                CQ86624 - RoCE and ping traffic stops while running stress+
2727                          longrun testing and seeing pglue errors.
2728
2729    Change:     Initialize weak enable to 0 on top of existing configuration
2730                of strong enable to 1. The fix for these issues is composed
2731                of this initialization together with an init tool change to
2732                zero ILT on engine phase.
2733
2734    Introduced: Day 1.
2735
2736    Relevance:  Roce.
2737
2738 4. Problem:    The MR (TID) registration function returned to the user before
2739                the registration was complete in the FW (the ramrod was sent
2740                in a non-blocking manner so the verb consumer was informed of
2741                success before a completion was received from the FW).
2742
2743    Change:     Removed the possibility for non-blocking a.k.a. concurrent
2744                registration of TID registration. The latency issue that started
2745                this effort to begin with was mitigated by lowering the ramrod
2746                completion wait time in ecore SPQ.
2747
2748    Introduced: 8.7.0.0.
2749
2750    Relevance:  Verbs consumers that register MRs.
2751
2752 5. Problem:    Ecore nvram test implementation has memory leak in error flow.
2753
2754    Change:     Fix the memory leak.
2755
2756    Introduced: Day 1.
2757
2758    Relevance:  Selftests.
2759
2760 6. Problem:    SFP read and write can't exceed 16 bytes.
2761
2762    Change:     Zero the size and offset parameters before setting them.
2763
2764    Introduced: Day 1.
2765
2766    Relevance:  all.
2767
2768Enhancements:
2769-------------
2770 1. Request:    Added the roce_mode parameter to ecore LL2 to configure if LL2
2771                RoCE mode to RoCE v1/v2 IPv4/6.
2772
2773 2. Request:    Add support for multiple classes of service.
2774
2775 3. Request:    Enable tunnel HW GRO TPA aggregation.
2776
2777 4. Request:    Semantic changes in several ecore Rx and Tx APIs.
2778
2779 5. Request:    Clear appropriate indirect registers for arrowhead.
2780
2781 6. Request:    Add dcbx app support for IEEE Selection Field.
2782
2783Version 8.10.5.0 (Jun 09, 2016)
2784===============================
2785Internal FW 8.10.7.0
2786
2787Fixes:
2788------
2789 1. Problem:    CQ86777 - latest driver broken VF stop functionality.
2790
2791    Change:     Fixed flow in case VF is released without being acquired and
2792                FLR before release.
2793
2794    Introduced: 8.10.4.0.
2795
2796    Relevance:  SRIOV.
2797
2798 2. Problem:    CQ86809 - Observing yellow bang in SRIOV VF vbd.
2799
2800    Change:     Moved VF mail box mutex release to after handling the reply
2801                message instead of after sending the message to the PF.
2802
2803    Introduced: 8.10.4.0.
2804
2805    Relevance:  SRIOV.
2806
2807 3. Problem:    CQ86842 - FW assertion is hit when VFs are malfunctioning.
2808
2809    Change:     Prevent vport-update on PF if the VF's vport wasn't started.
2810
2811    Introduced: Day 1.
2812
2813    Relevance:  SRIOV.
2814
2815 4. Problem:    CQ86922 - FW assertion is hit after re-load of driver in VM.
2816
2817    Change:     Close VF in firmware when the VF is being released.
2818
2819    Introduced: 8.10.4.0.
2820
2821    Relevance:  SRIOV.
2822
2823 5. Problem:    CQ86541 - A HW bug that sometimes causes CFC-delete to succeed
2824                before write-backs are complete, which can result in memory
2825                corruption on host.
2826
2827    Change:     (FW) Apply FW workaround.
2828
2829    Introduced: Day 1.
2830
2831    Relevance:  All.
2832
2833 6. Problem:    Tx-Switched packet may be sent to a wrong destination after FLR,
2834                filter update or Vport up/down.
2835
2836    Change:     (FW L2) Fixed Tx-Switching cache clean FW flow.
2837
2838    Introduced: Day 1.
2839
2840    Relevance:  Tx Switching.
2841
2842 7. Problem:    DCQCN RP timeout not update.
2843
2844    Change:     (FW RoCE) Fix firmware configuration flow.
2845
2846    Introduced: FW 8.10.0.0.
2847
2848    Relevance:  DCQCN.
2849
2850 8. Problem:    T10 DIF RDMA Write calculates wrong expected CRC value in DIF
2851                Tag.
2852
2853    Change:     (FW RoCE) Correct CRC machine initialization code.
2854
2855    Introduced: FW 8.10.5.0.
2856
2857    Relevance:  T10 DIF RDMA.
2858
2859 9. Problem:    T10 DIF RDMA Write expected Runt value not verified against
2860                calculated value.
2861
2862    Change:     (FW RoCE) Correct firmware flow to verify Runt result and report
2863                errors.
2864
2865    Introduced: FW 8.10.5.0.
2866
2867    Relevance:  T10 DIF RDMA.
2868
286910. Problem:    T10 DIF RDMA Read flow asserts.
2870
2871    Change:     (FW RoCE) Correct CRC machine initialization code.
2872
2873    Introduced: FW 8.10.5.0.
2874
2875    Relevance:  T10 DIF RDMA.
2876
287711. Problem:    T10 DIF RDMA Write error result reported only on first IO.
2878
2879    Change:     (FW RoCE) Clear queued indication after first error result
2880                handler.
2881
2882    Introduced: FW 8.10.5.0.
2883
2884    Relevance:  T10 DIF RDMA.
2885
288612. Problem:    T10 DIF RDMA Write expected runt CRC checked in reverse
2887                endianity.
2888
2889    Change:     (FW RoCE) Reverse endianity when verifying expected runt result
2890                in firmware.
2891
2892    Introduced: FW 8.10.5.0.
2893
2894    Relevance:  T10 DIF RDMA.
2895
289613. Problem:    T10 DIF RDMA Read Runt CRC value written to host in reverse
2897                endianity.
2898
2899    Change:     (FW RoCE) Swap bytes in firmware before writing to host.
2900
2901    Introduced: FW 8.10.5.0.
2902
2903    Relevance:  T10 DIF RDMA.
2904
2905Enhancements:
2906-------------
2907 1. Request:    Add support for the MFW crash dump.
2908
2909 2. Request:    Use the MFW mailbox for getting resource allocation information.
2910
2911 3. Request:    Improve the way a blocked context waits for a ramrod to be
2912                completed.
2913
2914 4. Request:    (FW RoCE) Change RoCE retransmission flow to start from middle
2915                of retransmitted WQE (to help in interoperability).
2916
2917 5. Request:    (FW RoCE) Add IP DSCP field setting from DCB per-port database.
2918
2919 6. Request:    (FW RoCE) Add VLAN priority setting from DCB per-port database
2920                for RROCE.
2921
2922Version 8.10.4.0 (May 26, 2016)
2923===============================
2924Internal FW 8.10.5.0
2925
2926Fixes:
2927------
2928 1. Problem:    The FCoE discovery process fails.
2929
2930    Change:     Add a DUALMODE configuration in the LLH.
2931
2932    Introduced: 8.10.3.0.
2933
2934    Relevance:  FCoE.
2935
2936 2. Problem:    Memory corruption when allocating dynamic ilt task.
2937
2938    Change:     Fixed the task initialization.
2939
2940    Introduced: 8.10.3.0.
2941
2942    Relevance:  RoCE.
2943
2944 3. Problem:    PF allows VF to probe even when requiring too many resources.
2945
2946    Change:     Correct resource-agreement flow in VF acquisition message.
2947
2948    Introduced: Day 1.
2949
2950    Relevance:  SRIOV.
2951
2952 4. Problem:    VF can exhaust all unicast MAC filters in HW, preventing PF
2953                traffic.
2954
2955    Change:     PF enforces MAC limitation on VFs.
2956
2957    Introduced: Day 1.
2958
2959    Relevance:  SRIOV.
2960
2961 5. Problem:    VF requesting to initialize unallocated queues can hang device.
2962
2963    Change:     PF to validate queue indices passed by VF before usage.
2964
2965    Introduced: Day 1.
2966
2967    Relevance:  SRIOV.
2968
2969Enhancements:
2970-------------
2971 1. Request:    Add support for AH nvm cfg.
2972
2973 2. Request:    Add support for dcbx static mode.
2974
2975 3. Request:    Remove ECORE LL2 API to update MAC address.
2976
2977 4. Request:    Add new image type for MFW AH bundle: NVM_TYPE_ETH_PHY_FW1
2978                and NVM_TYPE_ETH_PHY_FW2.
2979
2980 5. Request:    Add support for reading AH statistics.
2981
2982 6. Request:    Add new OSAL - OSAL_SNPRINTF.
2983
2984 7. Request:    Extend compatibility between PF/VF drivers - no longer do they
2985                need a matching storm FW version, but rather a matching
2986                fastpath Major number [which should rarely change].
2987
2988 8. Request:    Added 'ecore_mcp_get_nvm_image()' API for reading an nvram img.
2989
2990 9. Request:    Add support for dscp-map query/config.
2991
299210. Request:    Differ BDQ resource ID for FCOe and iSCSI [BB only].
2993
299411. Request:    Enable the dscp-to-tc map bit when operational mib is received.
2995
2996Version 8.10.3.0 (May 09, 2016)
2997===============================
2998Internal FW 8.10.5.0
2999
3000Fixes:
3001------
3002 1. Problem:    SRIOV is not functional - ping on VF fails.
3003
3004    Change:     Correct the offset for producer update in RX queue start
3005                response to the VF.
3006
3007    Introduced: 8.10.2.0.
3008
3009    Relevance:  SRIOV.
3010
3011 2. Problem:    Register/clock selftests are failing for 100G adapters.
3012
3013    Change:     Use the correct ptt for a given hwfn.
3014
3015    Introduced: Day 1.
3016
3017    Relevance:  selftests.
3018
3019 3. Problem:    When resizing a CQ the CQ bitmap is changed without lock.
3020
3021    Change:     Add lock.
3022
3023    Introduced: 8.10.2.0.
3024
3025    Relevance:  RoCE.
3026
3027 4. Problem:    Some hardware don't support atomic bit operations.
3028
3029    Change:     change name of OSAL_ATOMIC_TEST_AND_FLIP to OSAL_TEST_AND_FLIP.
3030                note that it is harmless for the implementation to remain
3031                atomic.
3032
3033    Introduced: 8.10.2.0.
3034
3035    Relevance:  RoCE.
3036
3037 5. Problem:    CQ86300- Retaining the old mac after removal and creation of VF.
3038
3039    Change:     Clear the forced MAC while disabling VF.
3040
3041    Introduced: Day 1.
3042
3043    Relevance:  SRIOV.
3044
3045 6. Problem:    CQ86133 - Upgrading FW hogs CPU for long period of time.
3046
3047    Change:     Add short sleeps while reading-from/writing-to the nvram.
3048
3049    Introduced: Day 1.
3050
3051    Relevance:  Voluntary-preemption schemes.
3052
3053 7. Problem:    RoCE app PFC config gets overridden with the default app config.
3054
3055    Change:     If RoCE-V2 TLV is not detected, use RoCE app data for RoCE-v2.
3056
3057    Introduced: 8.10.2.0.
3058
3059    Relevance:  RoCE.
3060
3061 8. Problem:    CQ86411 - E4:100G:getting Ramrod stuck while loading driver in
3062                MSI mode.
3063
3064    Change:     Fail the initialization for 100G devices if invoked in MSI mode.
3065
3066    Introduced: Day 1.
3067
3068    Relevance:  All.
3069
3070 9. Problem:    CQ86213 - FW assertion while re-connecting.
3071
3072    Change:     (FW iSCSI) Fix the TCP params initialization.
3073
3074    Introduced: Day 1.
3075
3076    Relevance:  iSCSI.
3077
307810. Problem:    CQ85263 - FW assertion while doing host reset with iscsi + L2.
3079
3080    Change:     (FW iSCSI) Fix a thread-id bug.
3081
3082    Introduced: Day 1.
3083
3084    Relevance:  iSCSI.
3085
308611. Problem:    CQ86155 - Incorret data digest may be transmitted for PDUs with
3087                size > 12KB.
3088
3089    Change:     (FW iSCSI) Fix retransmit flow.
3090
3091    Introduced: Day 1.
3092
3093    Relevance:  iSCSI.
3094
3095Enhancements:
3096-------------
3097 1. Request:    RoCE shared receive queue support.
3098
3099 2. Request:    Fix minor issues in dcbx set-app implementation.
3100
3101 3. Request:    Added handlers for "Dual Stage Classification".
3102
3103 4. Request:    Added chain print API.
3104
3105 5. Request:    DIF support.
3106
3107 6. Request:    Support Binary debug tools.
3108
3109Version 8.10.2.0 (Apr 19, 2016)
3110===============================
3111Internal FW 8.10.4.0
3112
3113Fixes:
3114------
3115 1. Problem:    CQ85618 - NPAR Max/Min Bandwidth settings are not honoured.
3116
3117    Change:     Workaround - saving qm rate limiter values before reinitialize
3118                it due to dcbx update.
3119
3120    Introduced: Day 1.
3121
3122    Relevance:  NPAR, DCBX.
3123
3124 2. Problem:    CQ83753 - TX switch treats LSO traffic with outband VLAN wrong.
3125
3126    Change:     (FW L2) Update tag before TX switch on all LSO flows.
3127
3128    Introduced: FW 8.1.2.0.
3129
3130    Relevance:  SRIOV.
3131
3132 3. Problem:    CQ85054, CQ85371, CQ85298 – Chip might hang when receiving a
3133                RoCE packet with invalid destination QP (can be caused by mac
3134                CRC errors).
3135
3136    Change:     (FW RoCE) Disregard the packet with invalid destination QP.
3137
3138    Introduced: Day 1.
3139
3140    Relevance:  RoCE.
3141
3142 4. Problem:    CQ85528 - HW attention when ABTS request arrives to Initiator.
3143
3144    Change:     (FW FCoE) Fix the unsolicited FW flow (ABTS request from Target
3145                should be handled by Initiator as unsolicited packet).
3146
3147    Introduced: FW 8.10.0.0.
3148
3149    Relevance:  FCoE.
3150
3151 5. Problem:    CQ85384 - SRIOV over NPAR - ramrod stuck when linux VM
3152                with pvid set is powered off/on.
3153
3154    Change:     In case of when PVID is configured, if we do VM power off and
3155                power on, ecore sends ETH_RAMROD_RX_QUEUE_UPDATE ramrod without
3156                ETH_RAMROD_RX_QUEUE_START because ‘rxq_active’ flag is not
3157                cleared during FLR and ecore checks for the same. Clear this
3158                flag as part of FLR cleanup.
3159
3160    Introduced: Day 1.
3161
3162    Relevance:  SRIOV along with PVID.
3163
3164 6. Problem:    CQ85553 - the QM lock is not initialized for the non-first
3165                loaded monolithic driver.
3166
3167    Change:     Move the QM lock initialization to a common location.
3168
3169    Introduced: 8.10.0.0.
3170
3171    Relevance:  Monolithic drivers.
3172
3173 7. Problem:    Ringing a LL2 Tx doorbell might happen before its BDs data is
3174                updated.
3175
3176    Change:     Add a missing write barrier before the doorbell.
3177
3178    Introduced: Day 1.
3179
3180    Relevance:  LL2.
3181
3182 8. Problem:    CQ85899 - Wrong calculation of the resources start indices when
3183                hiding the non-last functions on the engine.
3184
3185    Change:     Use the PF index within the enabled functions.
3186
3187    Introduced: 8.7.6.0.
3188
3189    Relevance:  All.
3190
3191 9. Problem:    Timeset value is being configured incorrectly for a given Tx/Rx
3192                coalescing value.
3193
3194    Change:     Ecore always used to configure timeset as half the requested
3195                coalescing value. Configure the timeset and timer-resolution
3196                correctly for a given coalescing value.
3197
3198    Introduced: Day 1.
3199
3200    Relevance:  All.
3201
320210. Problem:    Number of EQ elements is smaller than it should be for RoCE
3203                personality.
3204
3205    Change:     Fix the calculation of number of EQ elements.
3206
3207    Introduced: 8.10.0.0.
3208
3209    Relevance:  RoCE.
3210
321111. Problem:    Anti spoofing does not work for tunneled packets.
3212
3213    Change:     (FW L2) Added tunneling logic to anti-spoofing feature.
3214
3215    Introduced: FW 8.2.1.0.
3216
3217    Relevance:  SRIOV.
3218
321912. Problem:    Unmatched unicast traffic may be classified to a wrong PF when
3220                the same MACs are used for both ports.
3221
3222    Change:     (FW L2) Fix HW init values.
3223
3224    Introduced: Day 1.
3225
3226    Relevance:  NPAR 4 port mode.
3227
322813. Problem:    TX TCP window doesn't advance.
3229
3230    Change:     (FW iSCSI) Initialize the snd_wl1 parameter.
3231
3232    Introduced: FW 8.10.3.0.
3233
3234    Relevance:  iSCSI.
3235
323614. Problem:    Chip may stall when retransmitting large (>64K) SlowIOs.
3237
3238    Change:     (FW iSCSI) Fix SlowIO scan flow.
3239
3240    Introduced: FW 8.5.1.0.
3241
3242    Relevance:  iSCSI.
3243
324415. Problem:    Connection might (in low probability) stop giving SQ completions
3245                in a scenario with packet loss.
3246
3247    Change:     (FW RoCE) Fix firmware retransmission flow..
3248
3249    Introduced: Day 1.
3250
3251    Relevance:  RoCE.
3252
325316. Problem:    Page fault occured during hw initialization phase.
3254
3255    Change:     Fixed initialization of internal driver structures under iSCSI
3256                personality.
3257
3258    Introduced: 8.10.1.0.
3259
3260    Relevance:  iSCSI personality.
3261
326217. Problem:    The EQ size is too small in case of iSCSI personality.
3263
3264    Change:     Fix the EQ size calculation.
3265
3266    Introduced: Day 1.
3267
3268    Relevance:  iSCSI.
3269
327018. Problem:    QP counters were showing double the number of QP.
3271
3272    Change:     Fixed calculation of QP Counters.
3273
3274    Introduced: Day 1.
3275
3276    Relevance:  RoCE.
3277
327819. Problem:    Tx-switched traffic rate is limited by physical line speed.
3279
3280    Change:     If no rate-limiters are needed, use maximum possible speed.
3281
3282    Introduced: Day 1.
3283
3284    Relevance:  Tx-switching.
3285
328620. Problem:    Printing results of a clean idle check mistakenly fails.
3287
3288    Change:     (FW) Fix the parsing flow.
3289
3290    Introduced: Day 1.
3291
3292    Relevance:  Idle check.
3293
3294Enhancements:
3295-------------
3296 1. Request:    (FW L2) Add tunnel statistics per PF statistics.
3297
3298 2. Request:    Add support for iSCSI/TCP connection offload for type 2.
3299
3300 3. Request:    Remove support for the obsolete iSCSI/FCoE RQ mechanism.
3301
3302 4. Request:    Add ecore API/support for dcbx configuration.
3303
3304 5. Request:    Add support to gather ECC statistics.
3305
3306 6. Request:    Add support to gather GPIO information.
3307
3308 7. Request:    Add app related fields/code for dcbx APIs. Also fix minor issues
3309                in the set implementation.
3310
3311 8. Request:    Add common API for LLH protocol filtering.
3312
3313 9. Request:    Modify LL2 API to allow flexibility in OOO RX buffer allocation.
3314
331510. Request:    (FW iWARP) Initial support for iWARP.
3316
331711. Request:    Printouts reflecting OOO RX events are added.
3318
331912. Request:    Printouts reflecting iSCSI offload/terminate events are added.
3320
332113. Request:    Refactored implementation of RoCE bitmaps with new bitmap OSALs.
3322
332314. Request:    Add support for 100g VFs.
3324
332515. Request:    Add support for handling RoCE version-2 type TLVs.
3326
3327Version 8.10.1.0 (Mar 15, 2016)
3328===============================
3329Internal FW 8.10.2.0
3330
3331Fixes:
3332------
3333 1. Problem:    Dynamic ILT allocation is not protected when being run from
3334                different contexts, and it updates a wide-bus register with
3335                separate 32-bit accesses.
3336
3337    Change:     Lock the allocation flow and change the wide-bus access into
3338                a DMAE transaction.
3339
3340    Introduced: Day 1.
3341
3342    Relevance:  RoCE.
3343
3344 2. Problem:    Read/Write to grc may fail after resuming from low power state.
3345
3346    Change:     Invalidating the grc ptts when entering low power state.
3347
3348    Introduced: Day 1.
3349
3350    Relevance:  ALL.
3351
3352 3. Problem:    Phy mac_stat doesn't show the correct port statistics.
3353
3354    Change:     Fixed function to use the port input correctly.
3355
3356    Introduced: 8.7.1.0.
3357
3358    Relevance:  ALL.
3359
3360 4. Problem:    CQ85037 – FW assert during the transmit of ASYNC and REJECT
3361                PDUs.
3362
3363    Change:     (FW iSCSI) Add support for ASYNC and REJECT PDUs.
3364
3365    Introduced: Day 1.
3366
3367    Relevance:  iSCSI.
3368
3369 5. Problem:    CQ85012 - Cleanup for task timed out after clearSQ in middle of
3370                R2TE processing.
3371
3372    Change:     (FW iSCSI) Continue processing the R2TE.
3373
3374    Introduced: Day 1.
3375
3376    Relevance:  iSCSI.
3377
3378 6. Problem:    CQ85012 - Login exchange cleanup & clear SQ fix.
3379
3380    Change:     (FW iSCSI) Fix the login exchange cleanup & clear SQ.
3381
3382    Introduced: Day 1.
3383
3384    Relevance:  iSCSI.
3385
3386 7. Problem:    CQ85072 - E4:RoCE:while running multiple sessions(200/500/1000)
3387                system crashes or getting assertions/ramrod stuck.
3388
3389    Change:     Avoid weak ordering writes when the doorbells BAR is mapped as
3390                write combining with the proper write barriers.
3391
3392    Introduced: Day 1.
3393
3394    Relevance:  All.
3395
3396Enhancements:
3397-------------
3398 1. Request:    Added ECORE RoCE API that returns the number and maximum number
3399                of: PDs, CQs, QPs, TIDs and DPIs.
3400
3401 2. Request:    Populate the priority/bandwidth tables (to be used by clients).
3402
3403 3. Request:    (FW L2) Added TX switch statistics per PF - counts mcast, bcast
3404                and ucast bytes and packets both on TX and RX path.
3405
3406 4. Request:    Remove ftrace support from driver.
3407
3408 5. Request:    Add support for enabling dcqcn in RoCE.
3409
3410 6. Request:    Add support for RDMA Queue Statistics.
3411
3412Version 8.10.0.0 (Feb 23, 2016)
3413===============================
3414Internal FW 8.10.1.0
3415
3416Fixes:
3417------
3418 1. Problem:    Max amount of cqs is not initialized.
3419
3420    Change:     Return intialization of max number of completion queues which
3421                was dropped by mistake.
3422
3423    Introduced: 8.7.8.0.
3424
3425    Relevance:  RoCE.
3426
3427 2. Problem:    CQ84044 - E4:NPAR: Seeing qed call traces on  DELL730 after
3428                reboot "BUG: scheduling while atomic: swapper/10/0/0x10000100".
3429
3430    Change:     Modify the locking scheme when sending a MB to the MFW, from a
3431                mutex to a spinlock.
3432
3433    Introduced: 8.5.8.0.
3434
3435    Relevance:  All.
3436
3437 3. Problem:    Connection recovery failure - un-completed task cleanup.
3438
3439    Change:     (FW iSCSI) Fix the clear SQ in middle of R2TQE flow.
3440
3441    Introduced: FW 8.7.4.0.
3442
3443    Relevance:  iSCSI.
3444
3445 4. Problem:    Data integrity issue for SlowIO write exchanges.
3446
3447    Change:     (FW iSCSI) Fix SlowIO flow.
3448
3449    Introduced: Day 1.
3450
3451    Relevance:  iSCSI.
3452
3453 5. Problem:    CQ84287 - system asserted when switch port shut/no-shut
3454                multiple times with RDMA traffic running.
3455
3456    Change:     Fixed cookie pointer when pending spq entry is moved to the
3457                pending sending list.
3458
3459    Introduced: Day 1.
3460
3461    Relevance:  ALL.
3462
3463 6. Problem:    Wrong calculation of the enabled functions on the 2nd engine in
3464                case of 100G.
3465
3466    Change:     Fix the calculation.
3467
3468    Introduced: 8.7.6.0.
3469
3470    Relevance:  100G.
3471
3472 7. Problem:    CQ84343 - Getting Aborts while doing iSCSI Discovery Login.
3473
3474    Change:     Fixed the chain pointer passed to zero the chain memory.
3475
3476    Introduced: 8.7.8.0.
3477
3478    Relevance:  iSCSI.
3479
3480 8. Problem:    EDPM wasn't turned off, even if required to so by user
3481                configuration / doorbell BAR size configuration.
3482
3483    Change:     Disable DPM via register if required to do so via user
3484                configuration.
3485
3486    Introduced: 8.7.8.0.
3487
3488    Relevance:  RoCE.
3489
3490 9. Problem:    CQ84363 - Traffic sometimes doesn't work in NPAR.
3491
3492    Change:     Protect against race when configuring DCBx results in QM.
3493
3494    Introduced: 8.2.3.0.
3495
3496    Relevance:  Multi-function, DCBx.
3497
349810. Problem:    CQ84636 - MB param is misconfigured.
3499
3500    Change:     Fixed MB param creation.
3501
3502    Introduced: 8.7.5.0.
3503
3504    Relevance:  All.
3505
350611. Problem:    CQ84582 - VF traffic doesn't work.
3507
3508    Change:     Correct VF doorbell address calculation.
3509
3510    Introduced: 8.7.7.0.
3511
3512    Relevance:  SRIOV.
3513
351412. Problem:    Hypervisor might crash when VF ACQUIRE message is blocked.
3515
3516    Change:     Initialize length used for preparing the VF response.
3517
3518    Introduced: Day 1.
3519
3520    Relevance:  SRIOV.
3521
352213. Problem:    CQ84077 - Data corruption when RSC enable.
3523
3524    Change:     (FW L2) Fix TPA flow for packets with ETH padding.
3525
3526    Introduced: Day 1.
3527
3528    Relevance:  RSC, LRO.
3529
353014. Problem:    CQ84512, CQ84077 - Hw interrupt while running L2 traffic.
3531
3532    Change:     (FW L2) Fix line credit handling in L2 TX fastpath.
3533
3534    Introduced: FW 8.7.6.0.
3535
3536    Relevance:  L2.
3537
353815. Problem:    CQ84546 - Running interoperability scenarios with switch may
3539                cause hardware attention.
3540
3541    Change:     (FW) Fix error handling flow when receiving packets with wrong
3542                destination qp.
3543
3544    Introduced: Day 1.
3545
3546    Relevance:  All.
3547
354816. Problem:    CQ84496 - System hit a bugcheck on starting RoCE traffic.
3549
3550    Change:     Fixed handling of unlimited pending slowpath ramrods with
3551                blocking completion mode.
3552
3553    Introduced: Day 1.
3554
3555    Relevance:  L2.
3556
355717. Problem:    Memory leak when failng to allocate a chain PBL table.
3558
3559    Change:     Fix the flow so the virtual PBL table will be freed in such a
3560                case.
3561
3562    Introduced: 8.7.7.0.
3563
3564    Relevance:  All.
3565
356618. Problem:    Multicast and broadcast packets not forwarded to LL2, when
3567                default PF is used.
3568
3569    Change:     (FW) Allow multicast and broadcast packets forwarding, when
3570                default PF is used.
3571
3572    Introduced: FW 8.2.3.0.
3573
3574    Relevance:  NPAR, QPAR.
3575
357619. Problem:    CQ84177 - 16 CQs causing System crash in iSCSI (relevant also
3577                for FCoE).
3578
3579    Change:     (FW Storage) Fix the initialization of CQs during Function Init.
3580
3581    Introduced: Day 1.
3582
3583    Relevance:  Storage.
3584
358520. Problem:    Statistics for requester received packets are not counted.
3586
3587    Change:     (FW RoCE) Fix RX statistics collection flow.
3588
3589    Introduced: FW 8.7.6.0.
3590
3591    Relevance:  RoCE.
3592
359321. Problem:    CQ84638 - Connect after termination on the same CID failure.
3594
3595    Change:     (FW iSCSI) Fix the close flow.
3596
3597    Introduced: Day 1.
3598
3599    Relevance:  iSCSI.
3600
3601Enhancements:
3602-------------
3603 1. Request:    Add ecore API to exract FCoE/iSCSI/LL2 statistics.
3604
3605 2. Request:    Use a seperate Ystorm queue zone ID for each Tx queue ID.
3606
3607 3. Request:    Add ecore support for configuring Tx coalesce value.
3608
3609 4. Request:    (FW L2) TX performance improvements.
3610
3611 5. Request:    Add ecore_selftest_api.h and, move selftest APIs to this file.
3612
3613 6. Request:    Add clock, register and nvram tests to selftest.
3614
3615 7. Request:    Add support for new device mode 4x25G, mainly for MNM.
3616
3617 8. Request:    Add ecore API for setting whether the general behavior should
3618                be preventing attention from being reasserted.
3619
3620 9. Request:    Add New OSAL_IOV_PRE_START_VPORT().
3621
362210. Request:    Add selftest APIs to the documentation.
3623
362411. Request:    Added "default_speed_autoneg" and "default_speed" params to
3625                ecore_mcp_link_capabilities and initializing them according to
3626                the nvm settings.
3627
362812. Request:    Add a CRC check to the nvram selftest.
3629
363013. Request:    Add an API to get the temperature sensors info from the MFW.
3631
363214. Request:    ECORE RoCE API to use num_qps and num_mrs instead of num_cons
3633                and num_tasks. Move out all non-input fields from ecore_roce_pf-
3634                params.
3635
363615. Request:    Move dcbx_pfc specific elements to new sub-structure and also,
3637                populate the pfc-bitmap in the ecore.
3638
363916. Request:    Add an API to get MBA versions from the MFW.
3640
364117. Request:    Change return values of sfp get functions.
3642
364318. Request:    (FW L2) Add support to control frames detection on TX path -
3644                SRIOV security feature, configured per vport, and detection by
3645                ether-type or by MAC address.
3646
364719. Request:    (FW RoCE) Adding DCQCN support.
3648
364920. Request:    Add FCoE support for BDQ and the corresponding API.
3650
3651Version 8.7.8.0 (Jan 12, 2016)
3652==============================
3653Internal FW 8.7.5.0
3654
3655Fixes:
3656------
3657 1. Problem:    Cont00084227 -E4:25G:"qed_dmae_host2grc: Wait Failed" ,probe
3658                failed and not able to load qede driver on specific Gen9 system
3659                Cont00084206 - E4 2015U2: 100G interface fails to show with
3660                driver 8.7.7.0.
3661                Failure to probe device (init hw) was followed by an invalid BUS
3662                read that prevented re-loading the driver, possibly crashing the
3663                machine on re-load.
3664
3665    Change:     Stop the timers (TM) as part of the failure code.
3666
3667    Introduced: Day 1.
3668
3669    Relevance:  All.
3670
3671 2. Problem:    Memory corruption in ecore_iscsi_setup_connection().
3672
3673    Change:     Zero pbl chain memory page by page.
3674
3675    Introduced: 8.7.7.0.
3676
3677    Relevance:  iSCSI.
3678
3679 3. Problem:    Due to a workaround to a HW bug the number of TIDs was limited
3680                to 128K-1.
3681
3682    Change:     Use newly introduced FW defines.
3683
3684    Introduced: Day 1.
3685
3686    Relevance:  RoCE.
3687
3688 4. Problem:    CQ82195 - Add Fan Failure support.
3689
3690    Change:     Notify the upper driver about a fan failure event.
3691
3692    Introduced: Day 1.
3693
3694    Relevance:  All.
3695
3696Enhancements:
3697-------------
3698 1. Request:    Add ecore API to send empty ramrod to the fw.
3699
3700 2. Request:    Add a user configuration roce_edpm that allows enabling,
3701                disabling or forcing EDPM.
3702
3703 3. Request:    Add a CNQ size limit.
3704
3705 4. Request:    Add notifications of HW errors to upper driver.
3706                Add new OSAL - OSAL_HW_ERROR_OCCURRED.
3707
3708Version 8.7.7.0 (Jan 07, 2016)
3709==============================
3710Internal FW 8.7.5.0
3711
3712Fixes:
3713------
3714 1. Problem:    MFW commands might timeout when enabling iov.
3715
3716    Change:     Take MCP lock when communicate MSI-x requirements for VF.
3717
3718    Introduced: 8.4.0.0.
3719
3720    Relevance:  SRIOV.
3721
3722 2. Problem:    Disabling the PCIe relaxed ordering attribute through a PGLCS
3723                register won't be applied if secure mode is enabled.
3724
3725    Change:     Replace the register write with a PCI config space access.
3726
3727    Introduced: 8.2.4.0.
3728
3729    Relevance:  All.
3730
3731 3. Problem:    When getting a process kill indication in CMT mode, attentions
3732                are disabled in the IGU block for only a single HW function.
3733
3734    Change:     Disable attentions for all HW functions, while carrying out the
3735                other operations by only HW function 0.
3736
3737    Introduced: 8.5.6.0.
3738
3739    Relevance:  Error recovery.
3740
3741 4. Problem:    Cont0084053 - E4 2x25G 2015U2: ib_read_bw exits with
3742                "Segmentation fault (core dumped)" when "--run_infinitely"
3743                option is used.
3744
3745    Change:     Updated the maximum CQE.
3746
3747    Introduced: 8.7.4.0.
3748
3749    Relevance:  RoCE.
3750
3751Enhancements:
3752-------------
3753 1. Request:    VF0 works on AH FPGA.
3754
3755 2. Request:    Modify the ILT allocation to be divided between the actual
3756                enabled PFs.
3757
3758 3. Request:    Add new OSALs - OSAL_PCI_FIND_CAPABILITY and
3759                OSAL_PCI_WRITE_CONFIG_WORD.
3760
3761 4. Request:    Modify the ecore chain allocation to be page by page.
3762
3763 5. Request:    Add new OSALs - OSAL_VALLOC and OSAL_VFREE.
3764
3765 6. Request:    Increase maximum RoCE QPs to 8192. Added the ability to
3766                configure the number of RoCE DPIs and QPs via qede. Added
3767                support for configurable normal region (change "DEMS size").
3768
3769 7. Request:    Add support for sfp get and set.
3770
3771 8. Request:    Add support for gpio read and write.
3772
3773Version 8.7.6.0 (Dec 28, 2015)
3774==============================
3775Internal FW 8.7.5.0
3776
3777Fixes:
3778------
3779 1. Problem:    Failing to transmit packets with LLC/SNAP header.
3780
3781    Change:     (FW L2) Add LLC/SNAP FW support.
3782
3783    Introduced: FW 8.6.0.0.
3784
3785    Relevance:  L2.
3786
3787 2. Problem:    In case out of order packet is a new Isle which can't be
3788                allocated (either because connection reached maximal isles
3789                configuration, or no more global isles resources left), TCP
3790                drops the packet, but would send a pure ACK.
3791
3792    Change:     (FW iSCSI) Send pure ack only if a new isle can be allocated for
3793                the connection.
3794
3795    Introduced: Day 1.
3796
3797    Relevance:  iSCSI.
3798
3799 3. Problem:    Login Response with header or digest enable failure.
3800
3801    Change:     (FW iSCSI) Fix the Login Response RT flow.
3802
3803    Introduced: Day 1.
3804
3805    Relevance:  iSCSI.
3806
3807 4. Problem:    Rx connection error.
3808
3809    Change:     (FW iSCSI) Disable the Mstorm valid bit in case of local
3810                completion.
3811
3812    Introduced: Day 1.
3813
3814    Relevance:  iSCSI.
3815
3816 5. Problem:    IO timeouts during OOO scenarios.
3817
3818    Change:     (FW iSCSI) Re-open TCP window once last Out-Of-Order packet is
3819                received from Out-Of-Order queue.
3820
3821    Introduced: Day 1.
3822
3823    Relevance:  iSCSI.
3824
3825 6. Problem:    Ack processing.
3826
3827    Change:     (FW iSCSI) Do ack processing on packets that are supposed to be
3828                truncated.
3829
3830    Introduced: Day 1.
3831
3832    Relevance:  iSCSI.
3833
3834 7. Problem:    Connection activity counters may be improperly released in error
3835                condition if SQ WQE contains multiple SGEs, eventually leading
3836                to stuck firmware.
3837
3838    Change:     (FW RoCE) Fix connection activity counter release firmware.
3839
3840    Introduced: FW 8.7.4.0.
3841
3842    Relevance:  RoCE.
3843
3844 8. Problem:    Race condition between data placement and error CQE when an
3845                error occurs in requester RX path.
3846
3847    Change:     (FW RoCE) Guarantee placement complete before posting error CQE.
3848
3849    Introduced: FW 8.7.3.0.
3850
3851    Relevance:  RoCE.
3852
3853Enhancements:
3854-------------
3855 1. Request:    Properly learn number of ports in AH.
3856
3857 2. Request:    Add verification for mcp_resume.
3858
3859 3. Request:    Add zero_placement_offset param to ecore_sp_vport_start_params.
3860
3861 4. Request:    Optimize the resource allocation scheme by considering the
3862                actual number of enabled PFs.
3863
3864 5. Request:    Add max_mr_size to ECORE ROCE.
3865
3866Version 8.7.5.0 (Dec 17, 2015)
3867==============================
3868Internal FW 8.7.4.0
3869
3870Fixes:
3871------
3872 1. Problem:    PCI read/write access by the device when Bus Master Enable was
3873                was down. Seen in CQ83517 and CQ82629 although this is not the
3874                root cause of these issues.
3875
3876    Change:     When PF stop ramrod fails, don't abort unload flow. Instead,
3877                continue to the HW disable flow disabling HW from accessing
3878                the host.
3879
3880    Introduced: Day 1.
3881
3882    Relevance:  All.
3883
3884 2. Problem:    After L2 interfaces is disabled (linux ifdown) roce ramrods
3885                can't pass. Example scenario: rping, ifdown, kill application.
3886
3887    Change:     When calling stop_fastpath, don;t diable timers, since slowpath
3888                should still be active, and roce slowpath requires timers to be
3889                active.
3890
3891    Introduced: Day 1.
3892
3893    Relevance:  Roce.
3894
3895 3. Problem:    Clear SQ failure (2nd force load command).
3896
3897    Change:     (FW iSCSI) Fix the WQE offset as part of the clear SQ ramrod.
3898
3899    Introduced: Day 1.
3900
3901    Relevance:  iSCSI.
3902
3903 4. Problem:    IO timeout due to TCP close window or
3904                ISCSI_EVENT_TYPE_ASYN_MAX_KA_PROBES_CNT connection error.
3905
3906    Change:     (FW iSCSI) Fix the in-order TCP window update.
3907
3908    Introduced: FW 8.4.2.0.
3909
3910    Relevance:  iSCSI.
3911
3912 5. Problem:    Missing TCP ACK.
3913
3914    Change:     (FW iSCSI) Fix the TCP ACK processing flow in case of segmented
3915                PDUs.
3916
3917    Introduced: Day 1.
3918
3919    Relevance:  iSCSI.
3920
3921 6. Problem:    FW assert after iscsi connection error (relevant for recovery
3922                flows).
3923
3924    Change:     (FW iSCSI) Fix the cid error MCM FOC flow.
3925
3926    Introduced: FW 8.7.0.0.
3927
3928    Relevance:  All.
3929
3930 7. Problem:    Stop sending packets while in Fast RT.
3931
3932    Change:     (FW iSCSI) Enable more to send rule in Fast RT if needed.
3933
3934    Introduced: Day 1.
3935
3936    Relevance:  iSCSI.
3937
3938 8. Problem:    CQ83520, 82997, 83118 - System break or ping stop during RoCE
3939                traffic.
3940
3941    Change:     (FW RoCE) New hardware initializations as workaround for HW
3942                issue found.
3943
3944    Introduced: Day 1.
3945
3946    Relevance:  RoCE.
3947
3948 9. Problem:    Firmware stuck in error handling race flow.
3949
3950    Change:     (FW RoCE) Fix error handling flow in Requester.
3951
3952    Introduced: FW 8.7.3.0.
3953
3954    Relevance:  RoCE.
3955
395610. Problem:    Memory region activity counters may not be released in error
3957                condition if SQ WQE contains multiple SGEs, eventually leading
3958                to stuck firmware.
3959
3960    Change:     (FW RoCE) Release all relevant activity counters.
3961
3962    Introduced: FW 8.4.1.0.
3963
3964    Relevance:  RoCE.
3965
396611. Problem:    In case packet is received with both RST and URG flags set, TCP
3967                would return TCP_SEG_PROC_URG result to upper layer and ignore
3968                the RST.
3969
3970    Change:     (FW) Completely ignore URG flag by the TCP stack.
3971
3972    Introduced: Day 1.
3973
3974    Relevance:  iSCSI.
3975
3976Enhancements:
3977-------------
3978 1. Request:    Add support for SFP/QSFP read, write and decode commands.
3979
3980 2. Request:    Update the variable names for MAC Rx stats to the more
3981                meaningful ones similar to the MAC Tx stats.
3982
3983 3. Request:   (FW Storage) Adding support for dropless queues (for CmdQ and
3984               BdQ).
3985
3986Version 8.7.4.0 (Dec 03, 2015)
3987==============================
3988Internal FW 8.7.3.0
3989
3990Fixes:
3991------
3992 1. Problem:    The RoCE device capability of CQ elements reported was smaller
3993                than possible by one CQE.
3994
3995    Change:     Report the maximum capability of allowed CQ elements.
3996
3997    Introduced: Day 1.
3998
3999    Relevance:  All.
4000
4001 2. Problem:    The handling of the SPQ out-of-order completions has a wrong
4002                bitmap calculation.
4003
4004    Change:     Fix the calculation.
4005
4006    Introduced: 8.7.2.0.
4007
4008    Relevance:  All.
4009
4010 3. Problem:    CQ83395 - Firmware assert exposes when performing exchange
4011                cleanup on a middle-path task.
4012
4013    Change:     (FW FCoE) Allow handling exchange cleanup on a middle-path task.
4014
4015    Introduced: Day 1.
4016
4017    Relevance:  FCoE.
4018
4019 4. Problem:    CQ82443 - Storm gets to 100% utilization and blocks the FCoE
4020                performance to 2.2 MIOPS.
4021
4022    Change:     (FW FCoE) Remove assert logs from the fast-path flows.
4023
4024    Introduced: Day 1.
4025
4026    Relevance:  FCoE.
4027
4028 5. Problem:    CQ83451 - Connection Error in case of Login Response StatSN
4029                value > 0.
4030
4031    Change:     (FW iSCSI) Fix the Login Response flow.
4032
4033    Introduced: FW 8.7.2.0.
4034
4035    Relevance:  iSCSI.
4036
4037 6. Problem:    Uncompleted task cleanup.
4038
4039    Change:     (FW iSCSI) Fix the cleanup flow (UnValid task after cleanup HQ
4040                scan).
4041
4042    Introduced: Day 1.
4043
4044    Relevance:  iSCSI.
4045
4046 7. Problem:    CQ83452 - CQE with flush not posted for SQ after Responder error
4047                detected.
4048
4049    Change:     (FW RoCE) Resolve race in error handling CQE generation.
4050
4051    Introduced: FW 8.3.0.0.
4052
4053    Relevance:  RoCE.
4054
4055 8. Problem:    CCFC execution error when getting packets with CRC errors.
4056
4057    Change:     Workaround - set the "strong_enable" bit in the CCFC for all VFs
4058                to enable the FW error handler to invoke in this case.
4059
4060    Introduced: Day 1.
4061
4062    Relevance:  All.
4063
4064Version 8.7.3.0 (Nov 22, 2015)
4065==============================
4066Internal FW 8.7.2.0
4067
4068Fixes:
4069------
4070 1. Problem:    Coexistence ROCE/iSCSI and FCoE problem.
4071
4072    Change:     Ecore does not care about LLH classification type but MFW
4073                initializes involved registers.
4074                Fix is effective with MFW 8.7.1.0 and later.
4075
4076    Introduced: Day 1.
4077
4078    Relevance:  ROCE, iSCSI, FCoE.
4079
4080 2. Problem:    CQ80844 - Ping stops once adding vlan ID.
4081
4082    Change:     (FW L2) Fix add VLAN filter flow.
4083
4084    Introduced: FW 8.2.1.0.
4085
4086    Relevance:  L2.
4087
4088 3. Problem:    Rx traffic stops after remove all VLAN filters.
4089
4090    Change:     (FW L2) Fix remove all filters flow.
4091
4092    Introduced: FW 8.7.1.0.
4093
4094    Relevance:  L2.
4095
4096 4. Problem:    Tx stop in middle of traffic.
4097
4098    Change:     (FW iSCSI) Fix the Tx.
4099
4100    Introduced: Day 1.
4101
4102    Relevance:  iSCSI.
4103
4104 5. Problem:    OOO event causing Rx connection error.
4105
4106    Change:     (FW iSCSI) Fix the OOO right edge trimming.
4107
4108    Introduced: FW 8.4.0.0.
4109
4110    Relevance:  iSCSI.
4111
4112 6. Problem:    exp_stat_sn validation error.
4113
4114    Change:     (FW iSCSI) Fix the Rx validations.
4115
4116    Introduced: FW 8.7.1.0.
4117
4118    Relevance:  iSCSI.
4119
4120Enhancements:
4121-------------
4122 1. Request:    Add OSAL_POLL_MODE_DPC to support single-threaded operation.
4123
4124 2. Request:    Major refactoring of LL2 code.
4125
4126 3. Request:    Add support for 16 PF AH emulation.
4127
4128 4. Request:    Add support for 32-bit chains.
4129
4130Version 8.7.2.0 (Nov 16, 2015)
4131==============================
4132Internal FW 8.7.1.0
4133
4134Fixes:
4135------
4136 1. Problem:    Concurrent non-blocking slowpath ramrods can cause an overflow
4137                in the SPQ.
4138
4139    Change:     Handle out-of-order completions, and fix the way a pending SPQ
4140                entry is moved to the pending sending list.
4141
4142    Introduced: Day 1.
4143
4144    Relevance:  All.
4145
4146 2. Problem:    The elements left calculation for "next pointer" chains may miss
4147                an unusable entry.
4148
4149    Change:     Fix the calculation.
4150
4151    Introduced: Day 1.
4152
4153    Relevance:  All.
4154
4155 3. Problem:    GRC access error on writing to MCP shmem during Function init
4156                and FLR initial cleanup.
4157
4158    Change:     (FW) Fix FW FLR flow.
4159
4160    Introduced: Day 1.
4161
4162    Relevance:  All.
4163
4164 4. Problem:    CQ82539 - Final FLR ack is not always written to the correct
4165                location.
4166
4167    Change:     (FW) Fix FW FLR flow.
4168
4169    Introduced: 8.7.0.0.
4170
4171    Relevance:  All.
4172
4173 5. Problem:    CQ82059 - unexpected RSC exceptions seen when traffic is run.
4174
4175    Change:     (FW L2) Do not increment tpa_aborts_num when aggregation closed
4176                due to timeout.
4177
4178    Introduced: Day 1.
4179
4180    Relevance:  RSC, LRO, GRO.
4181
4182 6. Problem:    'force_vlan_mode' flag in first TX BD overrides default VLAN
4183                setting.
4184
4185    Change:     (FW L2) Fix Tx flow. Now, 'force_vlan_mode' flag will only
4186                override DCB PCP.
4187
4188    Introduced: Day 1.
4189
4190    Relevance:  L2.
4191
4192 7. Problem:    CQ83089 - Modifying a QP to error state while retransmitting
4193                from the SQ might cause some SQ WQEs not to be completed.
4194
4195    Change:     (FW RoCE) Fix Modifying to error state flow.
4196
4197    Introduced: Day 1.
4198
4199    Relevance:  RoCE.
4200
4201 8. Problem:    CQ82386 - Error during transmitting RDMA read responses might
4202                cause the chip to get stuck.
4203
4204    Change:     (FW RoCE) Fix flow of handling transmission from IRQ after error
4205                was detected.
4206
4207    Introduced: Day 1.
4208
4209    Relevance:  RoCE.
4210
4211 9. Problem:    CQ83210 - Firmware assert may be exposed while performing
4212                exchange cleanup.
4213
4214    Change:     (FW FCoE) Fix firmware exchange cleanup flow.
4215
4216    Introduced: 8.7.0.0.
4217
4218    Relevance:  FCoE.
4219
422010. Problem:    FW assert during connection recovery.
4221
4222    Change:     (FW iSCSI) Fix the clear SQ flow.
4223
4224    Introduced: Day 1.
4225
4226    Relevance:  iSCSI.
4227
422811. Problem:    FW OOO slow recovery.
4229
4230    Change:     (FW iSCSI) Fix OOO flow.
4231
4232    Introduced: Day 1.
4233
4234    Relevance:  iSCSI.
4235
423612. Problem:    Data-In with statusBit=1 Re-transmit failure.
4237
4238    Change:     (FW iSCSI) Fix the Data-In Re-transmit flow.
4239
4240    Introduced: Day 1.
4241
4242    Relevance:  iSCSI.
4243
424413. Problem:    StatSN value skip.
4245
4246    Change:     (FW iSCSI) Fix the StatSN transmit flow.
4247
4248    Introduced: Day 1.
4249
4250    Relevance:  iSCSI.
4251
4252Version 8.7.1.0 (Nov 09, 2015)
4253==============================
4254Internal FW 8.7.0.0
4255
4256Fixes:
4257------
4258 1. Problem:    Can't initialize AH higher PFs when IOV capability exists.
4259
4260    Change:     Calculate first VF index without reading PCI core registers.
4261
4262    Introduced: Day 1.
4263
4264    Relevance:  IOV, AH.
4265
4266 2. Problem:    Driver Probe fails.
4267
4268    Change:     Temporarily not require FW to ack final cleanup indication as
4269                it is broken in FW 8.7.0.0.
4270
4271    Introduced: FW 8.7.0.0.
4272
4273    Relevance:  All.
4274
4275Enhancements:
4276-------------
4277 1. Request:    Added ecore_phy_api.h for phy commands used by debugfs.
4278
4279Version 8.7.0.0 (Nov 05, 2015)
4280==============================
4281Internal FW 8.7.0.0
4282
4283Fixes:
4284------
4285 1. Problem:    Double doorbel of LL2 TX packet.
4286
4287    Change:     Flow of TX packet submission is fixed.
4288
4289    Introduced: Day 1.
4290
4291    Relevance:  LL2.
4292
4293 2. Problem:    CQ80267 - Rx gets stuck because of miss-ordered rx update.
4294
4295    Change:     (FW iSCSI) Fix in retransmit flow.
4296
4297    Introduced: Day 1.
4298
4299    Relevance:  iSCSI.
4300
4301 3. Problem:    Rx ACK processing during/after retransmit caused assertion.
4302
4303    Change:     (FW iSCSI) Fix Rx ACK processing after re-transmit [Q0 flow].
4304
4305    Introduced: Day 1.
4306
4307    Relevance:  iSCSI.
4308
4309 4. Problem:    CQ82892 - HW attention observed when working on TAPE mode.
4310
4311    Change:     Fixed CONF/XFER placement firmware flow.
4312
4313    Introduced: Day 1.
4314
4315    Relevance:  FCoE Tape.
4316
4317 5. Problem:    NIG tag-mac classification always done according to outer MAC.
4318
4319    Change:     Fixed the check of whether chip is switch-independt MF.
4320
4321    Introduced: 8.2.1.0.
4322
4323    Relevance:  Switch Dependent MF.
4324
4325 6. Problem:    Compilation failure issue on Power PC.
4326
4327    Change:     Compare 64 bit variables instead of 32 bit.
4328
4329    Introduced: Day 1.
4330
4331    Relevance:  All.
4332
4333 7. Problem:    Capability of max_cqe was too high in 32 bit systems.
4334
4335    Change:     Configure max_cqe to an appropriate value in 32 bit systems.
4336
4337    Introduced: 8.6.1.0.
4338
4339    Relevance:  All.
4340
4341Enhancements:
4342-------------
4343 1. Request:    Configure ramrods with incremental 'echo'.
4344
4345 2. Request:    Reintroduce enhancement for Cont00081796 - speed up NFS over
4346                RoCE mount time. Change: when registering an ecore roce tid the
4347                caller can choose if the registration will be blocking or
4348                non-blocking i.e. concurrent.
4349
4350Version 8.6.1.0 (Oct 29, 2015)
4351==============================
4352Internal FW 8.6.1.0
4353
4354Fixes:
4355------
4356 1. Problem:    CQ81448 - E4 RDMA - Traffic moving to L2 path after link
4357                down/up from switch.
4358
4359    Change:     Added new qp state ECORE_ROCE_QP_STATE_SQ_ERR.
4360
4361    Introduced: Day 1.
4362
4363    Relevance:  RoCe.
4364
4365 2. Problem:    Assertions seen while running lots of storage connections.
4366
4367    Change:     Next entries in the searcher T2 table are initialized as BE.
4368                This introduces OSAL_CPU_TO_BE64.
4369
4370    Introduced: Day 1.
4371
4372    Relevance:  Storage.
4373
4374 3. Problem:    CQ81507 - Event Queue / Common Queue completion might be placed
4375                at the wrong place in the ring.
4376
4377    Change:     (FW) Fixed Common Queues PBL pre-fetch FW flow.
4378
4379    Introduced: Day 1.
4380
4381    Relevance:  All.
4382
4383 4. Problem:    tag insertion on EDPM packets with tunneling didn't work as
4384                expected.
4385
4386    Change:     (FW) Update relevant EDPM flow.
4387
4388    Introduced: Day 1.
4389
4390    Relevance:  L2.
4391
4392 5. Problem:    CQ82798 - Firmware caused an ecore assert during device unload.
4393
4394    Change:     (L2) Fixed Firmware device unload flow.
4395
4396    Introduced: Day 1.
4397
4398    Relevance:  All.
4399
4400 6. Problem:    CQ82638 - System crash while running L2 traffic and changing
4401                MTU after enabling WOL in lediag.
4402
4403    Change:     Update the link-status only when the driver requests for the
4404                link.
4405
4406    Introduced: Day 1.
4407
4408    Relevance:  All.
4409
4410 7. Problem:    CQ81593: RDMA connections getting dropped with large number
4411                of queue pairs.
4412
4413    Change:     Changed ECORE MR TID registration from callback to block.
4414                (This reverses the fix to: Cont00081796 - speed up NFS over
4415                RoCE mount time). Use ramrod with echo equals to 0.
4416
4417    Introduced: 8.6.0.0.
4418
4419    Relevance:  RoCE.
4420
4421Enhancements:
4422-------------
4423 1. Request:    Add ECORE RoCE API for CQ ring mode.
4424
4425 2. Request:    Add support for SRIOV vf min rate configuration.
4426
4427Version 8.6.0.0 (Oct 14, 2015)
4428==============================
4429Internal FW 8.6.0.0
4430
4431Fixes:
4432------
4433 1. Problem:    CQ82537 - Unable to create gvlan on the VF after PVID toggle.
4434
4435    Change:     Clear vlan shadow config in VF FLR flow.
4436
4437    Introduced: Day 1.
4438
4439    Relevance:  SRIOV.
4440
4441 2. Problem:    CQ80777 - RH6.6 System crashed while loading qede driver with
4442                INT#x (Legacy) interrupt.
4443
4444    Change:     Complete the IGU configuration before requesting for the
4445                interrupts.
4446
4447    Introduced: Day 1.
4448
4449    Relevance:  All.
4450
4451 3. Problem:    L5 with inner VLAN causing connection error.
4452
4453    Change:     (FW iSCSI) Fixed the vlan parsing configuration.
4454
4455    Introduced: Day 1.
4456
4457    Relevance:  iSCSI.
4458
4459 4. Problem:    CQ81502 - ISCSI errors are observed during Initiator READ I/Os.
4460
4461    Change:     (FW iSCSI) Fixed the Rx delineation flow.
4462
4463    Introduced: Day 1.
4464
4465    Relevance:  iSCSI.
4466
4467 5. Problem:    CQ81084, CQ81864 - iSCSI with inner vlan --> connection errors.
4468
4469    Change:     (FW iSCSI) Fixed the vlan parsing configuration.
4470
4471    Introduced: Day 1.
4472
4473    Relevance:  iSCSI.
4474
4475 6. Problem:    CQ82107 - HW attention after re-login to tape device.
4476
4477    Change:     (FW FcoE) Fix flow that sends CONF packets.
4478
4479    Introduced: Day 1.
4480
4481    Relevance:  FCoE - Tape devices.
4482
4483 7. Problem:    CQ82055 - Assertion during VM power while runninng L2 traffic.
4484
4485    Change:     (FW) Fix VF start flow.
4486
4487    Introduced: Day 1.
4488
4489    Relevance:  SRIOV.
4490
4491 8. Problem:    Rx flow gets stuck because of missing update from Tx-side.
4492
4493    Change:     (FW iSCSI) Fix Tx no-payload flow.
4494
4495    Introduced: Day 1.
4496
4497    Relevance:  iSCSI.
4498
4499 9. Problem:    Performance degredation in signle connection fow.
4500
4501    Change:     (FW L2) Fix Tx double buffer logic.
4502
4503    Introduced: 8.2.1.0.
4504
4505    Relevance:  L2.
4506
4507Enhancements:
4508-------------
4509 1. Request:    Cont00081796 - speed up NFS over RoCE mount time.
4510
4511 2. Request:    Add support for RoCE on AH emulation.
4512
4513 3. Request:    HSI files changes - added RDMA hsi files to be used by RoCE.
4514                A significant amount of renames from RoCE to RDMA in hsi.
4515
4516 4. Request:    Prevent malicious VF from causing attentions by doorebell.
4517
4518Version 8.5.9.0 (Oct 08, 2015)
4519==============================
4520Internal FW 8.5.6.0
4521
4522Fixes:
4523------
4524 1. Problem:    CQ82290 - Scheduling while atomic might occur if GFP_KERNEL is
4525                supported.
4526
4527    Change:     Fix DCBx flow to allocate using GFP_ATOMIC from sleepless ctx.
4528
4529    Introduced: 8.5.8.0.
4530
4531    Relevance:  All.
4532
4533 2. Problem:    OOO packets corrupts memory in linux.
4534
4535    Change:     Don't assume iterator at end of list is OSAL_NULL.
4536
4537    Introduced: 8.3.5.0.
4538
4539    Relevance:  iSCSI OOO.
4540
4541 3. Problem:    CQ80462 - driver load failure on 100G Board.
4542
4543    Change:     Do not obtain BAR size from OS callback, as in some environments
4544                too large values are returend, causing device access intended
4545                for engine 1 to arrive on engine 0. Instead, obtain BAR size
4546                from device register.
4547
4548    Introduced: Day 1.
4549
4550    Relevance:  100G.
4551
4552 4. Problem:    OOO TC isn't properly configured in HW.
4553
4554    Change:     Workaround - enable 5 TCs per port instead of 4.
4555
4556    Introduced: 8.5.8.0.
4557
4558    Relevance:  iSCSI OOO.
4559
4560Enhancements:
4561-------------
4562 1. Request:    Add APIs for vport level min rate configuration.
4563
4564 2. Request:    Add APIs to configure PF min and max bandwidth dynamically.
4565
4566 3. Request:    Add ecore support for handling the dynamic bandwidth change
4567                notifications from the mfw.
4568
4569 4. Request:    Make __ecore_get_vport_stats() public API to allow reading
4570                statistics from a given engine on a 100g device.
4571
4572 5. Request:    Remove slowdown logic as its not working in secure mode.
4573
4574Version 8.5.8.0 (Sep 21, 2015)
4575==============================
4576Internal FW 8.5.6.0
4577
4578Fixes:
4579------
4580 1. Problem:    CQ77036 - Port identification does not work in linux driver.
4581
4582    Change:     Add ecore support for port identification.
4583
4584    Introduced: Day 1.
4585
4586    Relevance:  All.
4587
4588 2. Problem:    OOO packets corrupts memory in linux.
4589
4590    Change:     Check for empty lists before iterating over them.
4591
4592    Introduced: 8.3.5.0.
4593
4594    Relevance:  iSCSI OOO.
4595
4596 3. Problem:    Connection error during out of order processing.
4597
4598    Change:     (FW iSCSI) Fixed the out-of-order flow.
4599
4600    Introduced: Day 1.
4601
4602    Relevance:  iSCSI OOO.
4603
4604 4. Problem:    CFC execution error might occur.
4605
4606    Change:     (FW L2) Changes the L2 TX AC policy.
4607
4608    Introduced: 8.5.6.0.
4609
4610    Relevance:  All.
4611
4612Enhancements:
4613-------------
4614 1. Request:    Remove 'tpa_buf_size' from ecore_sp_vport_start() [deprecated].
4615
4616 2. Request:    Support proper TC for iSCSO OOO TX chain.
4617
4618 3. Request:    Change slowpath allocation from GFP_ATOMIC into GFP_KERNEL.
4619
4620 4. Request:    Add ecore support for NCSI statistics.
4621
4622Version 8.5.7.0 (Sep 02, 2015)
4623==============================
4624Internal FW 8.5.5.0
4625
4626Fixes:
4627------
4628 1. Problem:    RoCE isn't working.
4629
4630    Change:     Translate ecore MF modes into FW MF modes when initializing.
4631
4632    Introduced: 8.5.6.0.
4633
4634    Relevance:  All.
4635
4636 2. Problem:    CQ81178 - accept-any-vlan is being reset when no VLAN filters.
4637
4638    Change:     (FW L2) Fixed any-vlan update flow.
4639
4640    Introduced: 8.2.2.0.
4641
4642    Relevance:  L2.
4643
4644 3. Problem:    CQ81412 - Timestamp value in TCP handshake is inconsistent
4645                with value in packets sent after it.
4646
4647    Change:     (FW iSCSI) Fix timestamp option on handshake packets.
4648
4649    Introduced: Day 1.
4650
4651    Relevance:  TCP option 2 with timestamp enabled.
4652
4653 4. Problem:    Completion for inline EDPM was given on WQE regardless of
4654                signaled attributes.
4655
4656    Change:     (FW RoCE) Fix processing of EDPM WQEs flow.
4657
4658    Introduced: Day 1.
4659
4660    Relevance:  Inline WQEs with EDPM enabled.
4661
4662 5. Problem:    Connection failure after task cleanup.
4663
4664    Change:     (FW iSCSI) Fixed the exp_stat_sn validation after task cleanup.
4665
4666    Introduced: Day 1.
4667
4668    Relevance:  iSCSI initiator.
4669
4670 6. Problem:    FW might still assert when transmitting [length > MTU].
4671
4672    Change:     (FW L2) Fixed MTU violation flag initialization.
4673
4674    Introduced: 8.5.6.0.
4675
4676    Relevance:  L2.
4677
4678Enhancements:
4679-------------
4680 1. Request:    Major changes in L2 Rx HSI - support TPA over BDs, remove
4681                SGE rings.
4682
4683 2. Request:    Add support for PF to suggest VF its mac via new api
4684                ecore_iov_bulletin_set_mac().
4685
4686 3. Request:    Update ecore_sp_vport_start function prototype to have an
4687                argument structure inplace of large number of arguments.
4688
4689Version 8.5.6.0 (Aug 26, 2015)
4690==============================
4691Internal FW 8.5.4.0
4692
4693Fixes:
4694------
4695 1. Problem:    When vport is configured to accept only untagged packets as
4696                default behavior, stopping HW might cause FW assertion.
4697
4698    Change:     (FW L2) Fixed relevant flow.
4699
4700    Introduced: 8.3.3.0.
4701
4702    Relevance:  L2.
4703
4704 2. Problem:    CQ80743, CQ81295 - FW assertion appear during vport stop.
4705
4706    Change:     (FW L2) Fixed contextless slow-path firmware flow.
4707
4708    Introduced: Day 1.
4709
4710    Relevance:  L2.
4711
4712 3. Problem:    Posting 'send' or 'rdma write' WQE with multiple SGEs where
4713                at least one of the SGEs has length <= 64K might stuck chip.
4714
4715    Change:     (FW RoCE) Fixed relevant flow.
4716
4717    Introduced: Day 1.
4718
4719    Relevance:  RoCE.
4720
4721 4. Problem:    Target write failure in case of R2T PDU packet delayed ack.
4722
4723    Change:     (FW iSCSI) Fix the R2T PDU packet delayed ack.
4724
4725    Introduced: 8.4.1.0.
4726
4727    Relevance:  RoCE.
4728
4729 5. Problem:    FW assert during the re-transmit of logic PDU.
4730
4731    Change:     (FW iSCSI) Fix the logic PDU re-transmit flow.
4732
4733    Introduced: Day 1.
4734
4735    Relevance:  iSCSI.
4736
4737 6. Problem:    Initiator mode is not updating the driver about sense data.
4738
4739    Change:     (FW iSCSI) Fix the updating of the sense data.
4740
4741    Introduced: Day 1.
4742
4743    Relevance:  iSCSI.
4744
4745 7. Problem:    GRC dump can't be parsed when taken with 'crash' preset.
4746
4747    Change:     (FW tools) Fix the grcDump.
4748
4749    Introduced: 8.5.4.0.
4750
4751    Relevance:  All.
4752
4753 8. Problem:    CQ80746 - FW asserts When transmitting [length > MTU].
4754
4755    Change:     (FW L2) Silently drop such packets instead of asserting.
4756
4757    Introduced: Day 1.
4758
4759    Relevance:  L2.
4760
4761 9. Problem:    CQ80796 - Assertions seen while running non-common block error
4762                recovery with ping traffic.
4763
4764    Change:     Disable attentions in the IGU block when getting a process kill
4765                notification.
4766
4767    Introduced: Day 1.
4768
4769    Relevance:  Error recovery.
4770
4771Enhancements:
4772-------------
4773 1. Request:    VF can request default behavior regarding vlan-tagged ingress
4774                when starting its vport.
4775
4776 2. Request:    Add ecore APIs for OneView support.
4777
4778 3. Request:    Add ecore_iov_get_vf_stats() through which a PF can read the
4779                statistics of any of its child VFs.
4780
4781 4. Request:    (FW) MCP trace is taken while MCP is halted.
4782
4783 5. Request:    Avoid waiting till timers linear scan is done during driver
4784                unload while recovery is in progress.
4785
4786 6. Request:    Avoid checking for incorrect states in the QM/xCFC blocks during
4787                driver unload while recovery is in progress.
4788
4789 7. Request:    Remove SF mode support from ecore and, add the support for
4790                Default-MF mode.
4791
4792 8. Request:    Added the following iov related api:
4793                ecore_iov_get_vf_num_rxqs(), ecore_iov_get_vf_num_active_rxqs(),
4794                ecore_iov_get_vf_ctx(), ecore_iov_get_vf_num_sbs(),
4795                ecore_iov_is_vf_wait_for_acquire(),
4796                ecore_iov_is_vf_acquired_not_initialized(),
4797                ecore_iov_is_vf_initialized().
4798
4799 9. Request:    Added ecore_sb_cnt_info struct which can be filled by
4800                ecore_int_get_num_sbs().
4801
480210. Request:    Workaround for a FW issue - disable QM opportunistic flow in the
4803                tx_queue_start ramrod.
4804
4805Version 8.5.5.0 (Aug 13, 2015)
4806==============================
4807Internal FW 8.5.3.0
4808
4809Fixes:
4810------
4811 1. Problem:    Mcp Trace comes up empty.
4812
4813    Change:     Improve "Corrupted Data" condition in Mcp Trace code
4814                (Prod has wrapped around but cons has not yet).
4815
4816    Introduced: FW 8.5.3.0.
4817
4818    Relevance:  All.
4819
4820Enhancements:
4821-------------
4822 1. Request:    Enable LRO for tunneled packets in vport update.
4823
4824Version 8.5.4.0 (Aug 10, 2015)
4825==============================
4826Internal FW 8.5.3.0
4827
4828Fixes:
4829------
4830 1. Problem:    CQ80841 - Abnormal consumption of one (per switch) physical
4831                processor of the host when traffic is run on multiple VFs of
4832                same switch.
4833
4834    Change:     Removed setting of tx accept all ucast.
4835
4836    Introduced: Day 1.
4837
4838    Relevance:  L2 Tx Switching.
4839
4840 2. Problem:    CQ81093: When VFs are enabled PF0 logs obscure error message
4841                "Consecutive igu vectors for HWFN 0 vfs is broken".
4842
4843    Change:     Prevent said print due to uninitialized CAM entries.
4844
4845    Introduced: Day 1.
4846
4847    Relevance:  SRIOV.
4848
4849 3. Problem:    Packets will be transmitted without timestamp even if such
4850                was negotiated in option 2 active connect.
4851
4852    Change:     (FW iSCSI) Fix reading of TCP options from SYN-ACK packet.
4853
4854    Introduced: Day 1.
4855
4856    Relevance:  iSCSI.
4857
4858 4. Problem:    CQ78157 - OS scaling used is not correct in option 2
4859                active connect when IP version is IPv6.
4860
4861    Change:     (FW iSCSI) Fix reading of TCP options from SYN-ACK packet.
4862
4863    Introduced: Day 1.
4864
4865    Relevance:  iSCSI.
4866
4867 5. Problem:    CQ78673 - System crashes when disabling function while traffic
4868                is running.
4869
4870    Change:     (FW RoCE) Fix QP destruction flow.
4871
4872    Introduced: Day 1.
4873
4874    Relevance:  RoCE.
4875
4876Enhancements:
4877-------------
4878 1. Request:    Storage ecore API operates by relative Q ID.
4879                No more first_global_q.
4880
4881 2. Request:    Add limited support for AH emulation [single PF, 4-port].
4882
4883 3. Request:    Added extra arguments to ecore_filter_accept_cmd() to pass
4884                accept any vlan behavior.
4885
4886 4. Request:    Add support for reg fifo debug feature in ecore.
4887
4888 5. Request:    Add support for AH fpga.
4889
4890 6. Request:    Add support for RoCE v2 (API structures were slightly changed).
4891
4892 7. Request:    Add support for protection override feature in ecore.
4893
4894Version 8.5.3.0 (Jul 26, 2015)
4895==============================
4896Internal FW 8.5.2.0
4897
4898Fixes:
4899------
4900 1. Problem:    LLH filters might get exhausted and traffic fail after reloads.
4901
4902    Change:     Prevent same LLH entry cleaning twice.
4903
4904    Introduced: Day 1.
4905
4906    Relevance:  All.
4907
4908 2. Problem:    CQ80867 - E4:RoCE:qedr driver is not detecting RoCE functions
4909                using MFW:8.5.0.0.
4910
4911    Change:     Enabling RoCE if personality is ETH and device capability in
4912                the nvm supports RoCE capability.
4913
4914    Introduced: MFW 8.5.0.0.
4915
4916    Relevance:  RoCE.
4917
4918 3. Problem:    CQ80514 - system crash when running port0 Medusa stress and
4919                port1 load/unload (verifier enabled).
4920
4921    Change:     Always return error status when ecore_resc_alloc() fail.
4922
4923    Introduced: Day 1.
4924
4925    Relevance:  All.
4926
4927 4. Problem:    Parity error may occur while running non-L2 traffic.
4928
4929    Change:     (FW) Temporary mask the parity.
4930
4931    Introduced: 8.5.2.0.
4932
4933    Relevance:  BB B0, non-L2.
4934
4935 5. Problem:    CQ80705 - attention when running traffic containing 'send with
4936                invalidate' packets.
4937
4938    Change:     (FW RoCE) workaround for HW issue.
4939
4940    Introduced: 8.5.2.0.
4941
4942    Relevance:  BB B0, RoCE.
4943
4944 6. Problem:    Recovery failure after local completion timeout.
4945
4946    Change:     (FW iSCSI) Fix the local compilation recovery flow.
4947
4948    Introduced: 8.4.1.0.
4949
4950    Relevance:  iSCSI.
4951
4952 7. Problem:    Slow IO recovery failure.
4953
4954    Change:     (FW iSCSI) Fix the recovery flow.
4955
4956    Introduced: 8.5.2.0.
4957
4958    Relevance:  iSCSI.
4959
4960 8. Problem:    DataOut may be sent with wrong [advanced] sequence ID in the
4961                middle of a sequence [i.e., sequence count != 0].
4962
4963    Change:     (FW FCoE) Correct sequence ID handling according to the count.
4964
4965    Introduced: Day 1.
4966
4967    Relevance:  Target or Tape device.
4968
4969Enhancements:
4970-------------
4971 1. Request:    Call OSAL_DMA_SYNC() only for physical addresses, not GRC.
4972
4973 2. Request:    Added OS identifier for Solaris [for SRIOV].
4974
4975 3. Request:    ecore_mcp_get_mfw_ver() now can also return the bundle-id.
4976
4977 4. Request:    Added ecore_iov_bulletin_set_forced_untagged_default() to allow
4978                Hypervisor to determine VFs default behavior when no vlan
4979                filter is configured.
4980
4981 5. Request:    Remove the cleanup of general attention 35 since is done by the
4982                MFW (starting at version 8.5.0.0).
4983
4984 6. Request:    Add ecore APIs for MCP halt/resume functionalities.
4985
4986Version 8.5.2.0 (Jul 14, 2015)
4987==============================
4988Internal FW 8.5.1.0
4989
4990Fixes:
4991------
4992 1. Problem:    CQ80492 - E4: Ethtool "autoneg" option can not be turned off
4993                once "autoneg" turned.
4994
4995    Change:     Add the changes for 25G speed support.
4996
4997    Introduced: Day 1.
4998
4999    Relevance:  All.
5000
5001 2. Problem:    TCP URG flag caused connection error.
5002
5003    Change:     (FW TCP) Ignore the TCP URG flag.
5004
5005    Introduced: Day 1.
5006
5007    Relevance:  iSCSI.
5008
5009 3. Problem:    Data digest retransmit failure.
5010
5011    Change:     (FW iSCSI) Fix the data digest retransmit flow.
5012
5013    Introduced: 8.4.1.0.
5014
5015    Relevance:  iSCSI.
5016
5017 4. Problem:    CQ80221 - FW assertion when using different ib applications -
5018                ib_send_bw on server adn ib_read_bw on client.
5019
5020    Change:     (FW RoCE) Enable graceful error handling of illegal remote
5021                access using Reserved LKEY.
5022
5023    Introduced: Day 1.
5024
5025    Relevance:  RoCE.
5026
5027 5. Problem:    CQ80349 - E4: Changing the port vlan id to different value do
5028                not stop the pvid traffic from vf to external
5029
5030    Change:     Fix forced feature handling logic in ecore to allow consecutive
5031                configurations of PVID by ecore.
5032
5033    Introduced: Day 1.
5034
5035    Relevance:  SRIOV - PVID
5036
5037 6. Problem:    CQ80498 - link down after load/unload.
5038                CQ80453 - crash while enable disable SRIOV.
5039
5040    Change:     Fix igu int attention enable init.
5041
5042    Introduced: Day 1.
5043
5044    Relevance:  All.
5045
5046 7. Problem:    hw_mdoe isn`t initialized with 40/100_MODE.
5047
5048    Change:     Added 40/100_MODE init to hw_mode calculation.
5049
5050    Introduced: Day 1.
5051
5052    Relevance:  All.
5053
5054 8. Problem:    Re-transmit data corruption.
5055
5056    Change:     (FW iSCSI) Fix the iscsi history queue.
5057
5058    Introduced: Day 1.
5059
5060    Relevance:  iSCSI.
5061
5062 9. Problem:    CQ80465 - E4: Assertions seen in the Hypervisor when VF
5063                attached VM is powered on.
5064
5065    Change:     Configure VFs status blocks in CAU after setting them in
5066                in IGU.
5067
5068    Introduced: 8.4.1.0.
5069
5070    Relevance:  SRIOV.
5071
507210. Problem:    If NVM is reset, load fail causes NULL pointer dereference.
5073
5074    Change:     Set pointer to OSAL_NULL after freeing it.
5075
5076    Introduced: Day 1.
5077
5078    Relevance:  All.
5079
5080Enhancements:
5081-------------
5082 1. Request:    Implement DCBx-DPM state machine. DPM is enabled by default
5083                for all PFs. DPM will be disabled for PFs with ROCE
5084                personality  when DCBx change occurs while there are allocated
5085                cids. DPM can subsequently be enabled if another DCBx change
5086                occirs with no cids allocated.
5087
5088 2. Request:    Added dp_ctx to struct ecore_dev and ecore_hwfn. This param is
5089                passed to PRINT() and PRINT_ERR().
5090
5091 3. Request:    Added extra argument to ecore_sp_vport_start() to pass
5092                default untagged vlan filter behavior.
5093
5094 4. Request:    Support a number of isles as sum of one isle per connection
5095                and shared pool.
5096
5097 5. Request:    Asynchronous event iSCSI OOO isle delete support.
5098
5099 6. Request:    (FW) Added BRB configurations to BB B0.
5100
5101 7. Request:    (FW iSCSI) Implement re-transmit of slowIO.
5102
5103Version 8.5.1.0 (Jul 05, 2015)
5104==============================
5105Internal FW 8.4.2.0
5106
5107Fixes:
5108------
5109 1. Problem:    Closing devices sporadically causes ramrod failures.
5110
5111    Change:     Move all CAU widebus initializations into using dmae.
5112
5113    Introduced: Day 1.
5114
5115    Relevance:  NPAR.
5116
5117 2. Problem:    B0 isn't being properly initialized.
5118
5119    Change:     Determine A0/B0 based MISCS_REG_CHIP_REV.
5120
5121    Introduced: Day 1.
5122
5123    Relevance:  B0.
5124
5125Enhancements:
5126-------------
5127 1. Request:    Modify the VID/DID read to be from the config space instead of
5128                from the nvram copy in the shmem.
5129
5130Version 8.5.0.0 (Jun 25, 2015)
5131==============================
5132Internal FW 8.4.2.0
5133
5134Version 8.4.1.0 (Jun 25, 2015)
5135==============================
5136Internal FW 8.4.2.0
5137
5138Fixes:
5139------
5140 1. Problem:    CQ80051 - System crash while installing QEVBD driver
5141                in NPAR mode.
5142
5143    Change:     Clears ROCE search for all functions to prevent involving
5144                non initialized function in processing ROCE packet.
5145
5146    Introduced: Day 1.
5147
5148    Relevance:  NPAR.
5149
5150 2. Problem:    CQ78105 - loading drivers gives continuous qed_int_deassertion
5151                messages in logs.
5152
5153    Change:     Configure SBs in CAU from IGU mapping.
5154
5155    Introduced: Day 1.
5156
5157    Relevance:  All.
5158
5159 3. Problem:    CQ80034 - Seeing FW assertions / ramrod stuck using large QP
5160                [size 512]; HW reports ILT error.
5161
5162    Change:     (FW RoCE) RoCE connection and task contexts are not deleted
5163                during FUNC_CLOSE instead of PF_STOP.
5164
5165    Introduced: Day 1.
5166
5167    Relevance:  RoCE.
5168
5169 4. Problem:    Running a benchmark more than once without removing the driver
5170                will cause the QP post completions with 'FLUSH' on each RQ WQE
5171                posted.
5172
5173    Change:     (FW RoCE) Fix QP cleanup code on destruction.
5174
5175    Introduced: 8.4.0.0.
5176
5177    Relevance:  RoCE.
5178
5179 5. Problem:    CQ79651 - Payload with data corruption when retransmitting near
5180                TCP sequence wrap-around.
5181
5182    Change:     (FW iSCSI) Use cyclic instead of linear arithmetic in
5183                retransmit flow.
5184
5185    Introduced: Day 1.
5186
5187    Relevance:  iSCSI.
5188
5189 6. Problem:    Out-of-order iSCSI was disabled during traffic.
5190
5191    Change:     (FW iSCSI) Fix Out-of-order mode.
5192
5193    Introduced: 8.4.0.0.
5194
5195    Relevance:  iSCSI.
5196
5197Enhancements:
5198-------------
5199 1. Request:    Add ecore support for configuring the driver version.
5200
5201 2. Request:    Add ecore support for configuring Rx coalesce value.
5202
5203 3. Request:    TPA for encapsulated packets is disabled by default.
5204
5205 4. Request:    Modified ecore_mcp_get_mfw_ver() to get ptt parameter.
5206
5207 5. Request:    Added OSAL_NVM_IS_ACCESS_ENABLED(hwfn).
5208
5209Version 8.4.0.0 (Jun 19, 2015)
5210==============================
5211Internal FW 8.4.1.0
5212
5213Fixes:
5214------
5215 1. Problem:    Inconsistency between advertised number of QPs supported to the
5216                number of QPs that can be opened.
5217
5218    Change:     Fix flow to allocate enough resources for capability
5219                adverstised.
5220
5221    Introduced: Day 1.
5222
5223    Relevance:  RoCE.
5224
5225 2. Problem:    CQ79933 - E4 DCBX: assigning strict priority to FCOE result
5226                in system assert.
5227
5228    Change:     Sanitize values provided by MFW.
5229
5230    Introduced: Day 1.
5231
5232    Relevance:  DCBx.
5233
5234 3. Problem:    QEDR interrupts in mF are received only on qedr0/1.
5235
5236    Change:     Fixed configuration CNQ ID.
5237
5238    Introduced: Day 1.
5239
5240    Relevance:  RoCE w/ mF.
5241
5242 4. Problem:    CQ79564 - FCoE: NPIV ports doesn't logs in to Target after
5243                creating around 70 NPIV ports.
5244                CQ79301 - [RHEL66-E4]fcoe plogi issue in NPAR(1.0)mode.
5245
5246    Change:     LLH ethertype classification is involved.
5247
5248    Introduced: Day 1.
5249
5250    Relevance:  FCOE under NPAR.
5251
5252 5. Problem:    CQ79801 - iSCSI: Assertion while disable enable iscsi port
5253                from device manager.
5254                CQ78952 - iSCSI: Function failed to obtain IP address after
5255                driver disable/enable.
5256                CQ79264 - FCOE: port doesn't Login after load/unload
5257                for long time.
5258
5259    Change:     Initialization FW variables on LL2 chains creation.
5260
5261    Introduced: Day 1.
5262
5263    Relevance:  LL2/Storage.
5264
5265 6. Problem:    cq79688: VF traffic is failing for VFs with 'high' parent PF.
5266
5267    Change:     Fix setting of IGU value [set parent PF instead of SISR].
5268
5269    Introduced: Day 1.
5270
5271    Relevance:  SRIOV, VF-RSS.
5272
5273 7. Problem:    VFs aren't operational in secure-mode.
5274
5275    Change:     Move VF configuration from shmem-based approach into using
5276                drv_data on MFW commands.
5277
5278    Introduced: Day 1.
5279
5280    Relevance:  SRIOV, secure-mode.
5281
5282 8. Problem:    "VF[<..>] did not fill the address of SB <..>" appear in logs.
5283
5284    Change:     Reduce verbosity of error print.
5285
5286    Introduced: 8.2.0.0.
5287
5288    Relevance:  SRIOV, VF-RSS.
5289
5290 9. Problem:    VF`s personality is different from its PF.
5291
5292    Change:     Fixed VF`s personality initialization in vf start ramrod.
5293
5294    Introduced: Day 1.
5295
5296    Relevance:  SRIOV.
5297
529810. Problem:    Fail to add same MAC filter to different vports.
5299
5300    Change:     (FW L2) Fix HW definitions.
5301
5302    Introduced: Day 1.
5303
5304    Relevance:  L2.
5305
530611. Problem:    CQ79620 - System crash while disabling RSC under traffic.
5307
5308    Change:     (FW L2) Fix TPA disable flow.
5309
5310    Introduced: Day 1.
5311
5312    Relevance:  L2 with TPA.
5313
531412. Problem:    CQ79868 - Summarized RSC aggregation size greater than defined.
5315
5316    Change:     (FW L2) Fix TPA decision rule.
5317
5318    Introduced: Day 1.
5319
5320    Relevance:  L2 with TPA.
5321
532213. Problem:    Responder retransmit flow after only 1 or 2 RDMA read
5323                operations since QP creation will cause fw assertion.
5324
5325    Change:     (FW RoCE) Fix scanback code for near-empty responder ops queue.
5326
5327    Introduced: Day 1.
5328
5329    Relevance:  RoCE.
5330
533114. Problem:    First retransmit request may be silently discarded depending on
5332                initial PSN used.
5333
5334    Change:     (FW RoCE) Correct out-of-order PSN comparison flow.
5335
5336    Introduced: Day 1.
5337
5338    Relevance:  RoCE.
5339
534015. Problem:    Repetitive RNR-NAKs will cause a transport retry error when
5341                infinite retry is configured.
5342
5343    Change:     (FW RoCE) Fix RNR NAK counter modification.
5344
5345    Introduced: Day 1.
5346
5347    Relevance:  RoCE.
5348
534916. Problem:    FW assert during connection recovery after link-down.
5350
5351    Change:     (FW iSCSI) Fix the connection connect flow.
5352
5353    Introduced: Day 1.
5354
5355    Relevance:  iSCSI.
5356
535717. Problem:    CQ79825 - Connecting to several targets results in assertion.
5358
5359    Change:     (FW iSCS) Fix the connect flow.
5360
5361    Introduced: Day 1.
5362
5363    Relevance:  iSCSI.
5364
536518. Problem:    FW assert may (rarely) occur during heavy storage/RoCE traffic.
5366
5367    Change:     (FW) Fix common firmware flow.
5368
5369    Introduced: Day 1.
5370
5371    Relevance:  All.
5372
537319. Problem:    Requester FW may get stuck in retransmit and flush SQ flows.
5374
5375    Change:     (FW RoCE) Fix internal SQ scan-back firmware code.
5376
5377    Introduced: Day 1.
5378
5379    Relevance:  RoCE.
5380
538120. Problem:    HW attention in responder retransmission.
5382
5383    Change:     (FW RoCE) Fix responder retransmission.
5384
5385    Introduced: Day 1.
5386
5387    Relevance:  RoCE.
5388
538921. Problem:    Responder may generate multiple duplicate ACKs when RDMA write
5390                and send operations are retransmitted by requester.
5391
5392    Change:     (FW RoCE) Block such responses when a retransmit flow is
5393                already in progress.
5394
5395    Introduced: Day 1.
5396
5397    Relevance:  RoCE.
5398
539922. Problem:    FW assert during unload if more than 160 filters are used on a
5400                single engine for classification.
5401
5402    Change:     (FW L2) Fix filter removal flow.
5403
5404    Introduced: Day 1.
5405
5406    Relevance:  L2.
5407
540823. Problem:    CQ80060 - Incorrect data digest produced in fast-retransmit.
5409
5410    Change:     (FW iSCSI) Fix dummy read flow.
5411
5412    Introduced: 8.3.4.0.
5413
5414    Relevance:  iSCSI.
5415
5416Enhancements:
5417-------------
5418 1. Request:    Added an osal(osal_unintptr_t) for typecasting.
5419
5420 2. Request:    Initial implementation of error recovery.
5421
5422 3. Request:    Add new pmm stats.
5423
5424 4. Request:    Support LLH (NPAR) classification by ethertype.
5425
5426 5. Request:    'Sealed' HW-channel for forward/backward support purposes.
5427                Changed OSAL_VF_FILL_ACQUIRE_RESC_REQ() and added
5428                OSAL_IOV_GET_OS_TYPE() for this purpose.
5429
5430 6. Request:    Modified the HSI functions get_*_results_buf_size and
5431                print_*_results to return a status code.
5432
5433 7. Request:    Added ISCSI_EVENT_TYPE_ASYNC_DELETE_OOO_ISLES as a possible
5434                async event.
5435
5436 8. Request:    HSI file structure changes - separate targets were removed.
5437                All clients should now use same set of HSI files.
5438
5439Version 8.3.5.0 (May 20, 2015)
5440==============================
5441Internal FW 8.3.8.0
5442
5443Fixes:
5444------
5445 1. Problem:    Compilation failure when using ECORE_CONFIG_DIRECT_HWFN.
5446
5447    Change:     Correct type of 'p_hwfn' into ecore_hwfn*.
5448
5449    Introduced: Day 1.
5450
5451    Relevance:  ECORE_CONFIG_DIRECT_HWFN.
5452
5453 2. Problem:    CQ79448 - When MCP is reset, need to re-read MFW
5454                mailbox offsets correctly.
5455
5456    Change:     Use MCP history register to check if MCP reset occurred between
5457                init time and now, while accessing MCP mailboxes.
5458
5459    Introduced: 8.3.0.0.
5460
5461    Relevance:  MCP access.
5462
5463 3. Problem:    Interrupts for RoCE CNQ not received when working with RoCE
5464                over 100g.
5465
5466    Change:     Set personality to be the same between hwfns.
5467
5468    Introduced: 8.3.4.0.
5469
5470    Relevance:  RoCE over 100g.
5471
5472 4. Problem:    Connection recovery bug in case the data was already acked.
5473
5474    Change:     (FW iSCSI) Fix the connection recovery flow.
5475
5476    Introduced: Day 1.
5477
5478    Relevance:  iSCSI.
5479
5480 5. Problem:    Data corruption possible when transmitting IO contained in
5481                single buffer descriptor.
5482
5483    Change:     (FW iSCSI) Fix cached BD transmit flow.
5484
5485    Introduced: Day 1.
5486
5487    Relevance:  iSCSI.
5488
5489 6. Problem:    CQ79391 - FCoE: Npar: HW aseertion on stop FCoE function.
5490
5491    Change:     Timers scans on FCoE tasks are disabled before FCoE function
5492                stop/destroy.
5493
5494    Introduced: Day 1.
5495
5496    Relevance:  FCoE.
5497
5498Enhancements:
5499-------------
5500 1. Request:    iSCSI OOO support.
5501
5502 2. Request:    Enable end-to-end flow control in responder by default.
5503
5504 3. Request:    Masked NIG "pause too long" attentions [sometimes appeared
5505                when dcbx was active].
5506
5507Version 8.3.4.0 (May 07, 2015)
5508==============================
5509Internal FW 8.3.7.0
5510
5511Fixes:
5512------
5513 1. Problem:    CQ79434 - Failed to read nvm directory after MFW upgrade.
5514
5515    Change:     Re-read MFW mailbox and mcp trace meta file after mcp reset.
5516
5517    Introduced: Day 1.
5518
5519    Relevance:  MFW upgrade.
5520
5521 2. Problem:    CQ79497 - FW asserts on MTU 4000.
5522
5523    Change:     Set maximum aggregation size to be maximum supported by FW.
5524
5525    Introduced: Day 1.
5526
5527    Relevance:  GRO.
5528
5529 3. Problem:    iSCSi target connect - negative scenario failure.
5530
5531    Change:     (FW iSCSI) Fix the option 2 connect negative scenario flow.
5532
5533    Introduced: 8.2.1.0.
5534
5535    Relevance:  iSCSI.
5536
5537 4. Problem:    Retransmittion of iSCSI traffic with data digest enabled may
5538                cause HW attention.
5539
5540    Change:     (FW iSCSI) Fix dummy-read flow.
5541
5542    Introduced: Day 1.
5543
5544    Relevance:  iSCSI.
5545
5546 5. Problem:    iSCSI multi-function connect failure.
5547
5548    Change:     (FW iSCSI) Fix the multi-function init flow.
5549
5550    Introduced: 8.3.2.0.
5551
5552    Relevance:  iSCSI.
5553
5554 6. Problem:    iSCSI unsolicited packed PDUs failure.
5555
5556    Change:     (FW iSCSI) Fix the unsolicited packed PDUs flow.
5557
5558    Introduced: Day 1.
5559
5560    Relevance:  iSCSI.
5561
5562 7. Problem:    No traffic when maximum bandwidth configured for Pf is 1Mb/s.
5563
5564    Change:     (FW) Make sure Rate-limiter is always configured to non-zero.
5565
5566    Introduced: Day 1.
5567
5568    Relevance:  L2, NPAR.
5569
5570 8. Problem:    NIG attention appears during bi-directional 100g traffic.
5571
5572    Change:     (FW) Mask attentions in A0.
5573
5574    Introduced: Day 1.
5575
5576    Relevance:  100g.
5577
5578 9. Problem:    cq79476 - VF Traffic is not working.
5579
5580    Change:     Fix return status in VFs ucast configuration by PF.
5581
5582    Introduced: 8.3.3.0.
5583
5584    Relevance:  SRIOV.
5585
5586Enhancements:
5587-------------
5588 1. Request:    Add VFs rate (max rate) limiting support.
5589
5590 2. Request:    Enable RoCE to work on 100G device.
5591
5592Version 8.3.3.0 (Apr 29, 2015)
5593==============================
5594Internal FW 8.3.6.0
5595
5596Fixes:
5597------
5598 1. Problem:    Memory overrun during roce stop.
5599
5600    Change:     ILT range for RoCE tasks was calculated based on hard coded
5601                values instead of configurable ones.
5602
5603    Introduced: Day 1.
5604
5605    Relevance:  RoCE.
5606
5607 2. Problem:    Drivers fail to load on emulation.
5608
5609    Change:     Prevent final cleanup and shmem-based logic from running on
5610                FPGA and emulations.
5611
5612    Introduced: 8.2.4.0.
5613
5614    Relevance:  FPGA, Emulation.
5615
5616 3. Problem:    FW assertion due to sync. loss on Tx buffer sequence.
5617
5618    Change:     (FW L2) Fix the Tx descrptors fetch flow.
5619
5620    Introduced: 8.2.1.0.
5621
5622    Relevance:  L2.
5623
5624 4. Problem:    Data corruption if TCP send window closes during transmission
5625                of slowIO type iSCSI exchange.
5626
5627    Change:     (FW iSCSI) Fix SlowIO transmit firmware flow.
5628
5629    Introduced: 8.3.1.0.
5630
5631    Relevance:  iSCSI.
5632
5633 5. Problem:    Seperate response withut Sense Data failure.
5634
5635    Change:     (FW iSCSI) Fix the completion flow of seperate response.
5636
5637    Introduced: Day 1.
5638
5639    Relevance:  iSCSI.
5640
5641 6. Problem:    Option 2 active connect failure.
5642
5643    Change:     (FW iSCSI) Fix the connect flow.
5644
5645    Introduced: Day 1.
5646
5647    Relevance:  iSCSI.
5648
5649 7. Problem:    Option 2 FIN re-transmit failure.
5650
5651    Change:     (FW iSCSI) Fix the termination flow.
5652
5653    Introduced: Day 1.
5654
5655    Relevance:  iSCSI.
5656
5657 8. Problem:    Cont00078980 E4:NPAR_RoCE: flooding messages "Silently dropping
5658                invalid QP1 packet" once interfaces are up /while running
5659                traffic.
5660
5661    Change:     Disable broadcast/multicast packet duplication to LL2.
5662
5663    Introduced: Day 1.
5664
5665    Relevance:  RoCE.
5666
5667Enhancements:
5668-------------
5669 1. Request:    Added new API function ecore_mcp_get_personality_cnt().
5670
5671 2. Request:    Memory barrier osals (MMIOWB, BARRIER, SMP_RMP, SMP_WMB,
5672                RMB, WMB) now pass 'struct *ecore_dev' as a parameter.
5673
5674 3. Request:    FCoE: PRS_REG_TASK_ID_MAX_TARGET_PF is set in target mode.
5675
5676 4. Request:    ecore_mcp_function_info 'protocol' now holds ECORE_PCI_ values
5677                instead of ECORE_MCP_PROTOCOL_ values which were removed.
5678
5679 5. Request:    DIRECT_REG_{RD,WR} now pass 'struct *ecore_hwfn' as a
5680                parameter [If needed, ecore should be compiled with
5681                CONFIG_ECORE_DIRECT_HWFN].
5682
5683 6. Request:    ecore_int_sb_setup can be called externally to re-set the sb.
5684
5685 7. Request:    Added 3 new iov-related OSALs: IOV_VF_ACQUIRE, IOV_VF_CLEANUP,
5686                and IOV_VF_VPORT_UPDATE.
5687
5688 8. Request:    Add support for VF's pvid configuration via a new API function
5689                ecore_iov_bulletin_set_forced_mac().
5690
5691 9. Request:    Added support for end-to-end flow control REP message.
5692
5693Version 8.3.2.0 (Apr 21, 2015)
5694==============================
5695Internal FW 8.3.5.0
5696
5697Fixes:
5698------
5699 1. Problem:    Possible context corruption.
5700
5701    Change:     (INIT) Employe CCFC/TCFC HW bug workaround.
5702
5703    Introduced: Day 1.
5704
5705    Relevance:  All.
5706
5707 2. Problem:    QM attentions may appear when running in NPAR.
5708
5709    Change:     (INIT) Use regular (external) vport ids as global rate-limiter
5710                id instead of the internal QM vport id.
5711
5712    Introduced: Day 1.
5713
5714    Relevance:  All.
5715
5716 3. Problem:    iSCSI out-of-order silently drops all packets.
5717
5718    Change:     (FW) Revise flow that checks whether a packet is to be dropped.
5719
5720    Introduced: Day 1.
5721
5722    Relevance:  All.
5723
5724 4. Problem:    Application freezes when testing writes on RoCE flow.
5725
5726    Change:     (FW) On start of Rx/Tx, clear old data written to driver by
5727                previous connections.
5728
5729    Introduced: Day 1.
5730
5731    Relevance:  All.
5732
5733 5. Problem:    SYN, SYN+ACK re-transmit failures.
5734
5735    Change:     (FW iSCSI) Fix re-transmission flow.
5736
5737    Introduced: Day 1.
5738
5739    Relevance:  iSCSI.
5740
5741 6. Problem:    Receive RESET during connect failure.
5742
5743    Change:     (FW iSCSI) Fix re-transmission flow.
5744
5745    Introduced: Day 1.
5746
5747    Relevance:  iSCSI.
5748
5749 7. Problem:    Possible re-transmit corruption.
5750
5751    Change:     (FW iSCSI) Transmit history queue fix.
5752
5753    Introduced: Day 1.
5754
5755    Relevance:  iSCSI.
5756
5757 8. Problem:    CQ78086 - Rx path may be stalled after FW reports an error.
5758
5759    Change:     (FW FCoE) Fix error reproting flow.
5760
5761    Introduced: Day 1.
5762
5763    Relevance:  FCoE.
5764
5765 9. Problem:    BD ring might get out of sync.
5766
5767    Change:     (FW L2) Fix BD ring synchronization problem.
5768
5769    Introduced: 8.2.1.0.
5770
5771    Relevance:  L2.
5772
577310. Problem:    BMC packets are mistakenly dropped.
5774
5775    Change:     (FW L2) Remove anti-spoofing check for BMC packets.
5776
5777    Introduced: 8.2.1.0.
5778
5779    Relevance:  Management traffic.
5780
578111. Problem:    PCI performance degredation on Grantly plaform.
5782
5783    Change:     (FW L2) Set RO=0 fo rall PCI transactions.
5784
5785    Introduced: Day 1.
5786
5787    Relevance:  L2.
5788
578912. Problem:    During FLR, non-FLRed functions may freeze.
5790
5791    Change:     (FW L2) FLRed function FW verifies it cleaned stale data for
5792                non-FLRed functions.
5793
5794    Introduced: Day 1.
5795
5796    Relevance:  All.
5797
579813. Problem:    CQ79115 - 25G: System hitting exception while loading driver.
5799
5800    Change:     Added handling in 25G port mode.
5801
5802    Introduced: Day 1.
5803
5804    Relevance:  All.
5805
580614. Problem:    PF start ramrod fails to pass on some environments.
5807
5808    Change:     Don't assume OSAL_DMA_ALLOC_COHERENT zeroes context memory.
5809
5810    Introduced: Day 1.
5811
5812    Relevance:  ESX Beta build.
5813
5814Enhancements:
5815-------------
5816 1. Request:    Added calls to OSAL_DMA_SYNC(), for clients needing to sync
5817                memory before and after DMA operations.
5818
5819 2. Request:    Added the following OSALs: MUTEX_ALLOC(), MUTEX_DEALLOC(),
5820                SPIN_LOCK_ALLOC(), SPIN_LOCK_DEALLOC() for clients that need
5821                to dynamically allocate lock primitives. Such clients should
5822                also pass CONFIG_ECORE_LOCK_ALLOC when compiling ecore sources.
5823
5824 3. Request:    Remove workaround for iSCSI asynchrounous event.
5825
5826 4. Request:    Support FCoE target configuration.
5827
5828 5. Request:    Add support to utilize binary firmware files.
5829
5830 6. Request:    ecore_eth_cqe_completion() receive hw-function instead of queue
5831                index, allowing client to employe any logic when mapping queues
5832                to engines in 100g device.
5833
5834 7. Request:    Added new API function ecore_mcp_get_personality_cnt().
5835
5836Version 8.3.1.0 (Apr 08, 2015)
5837==============================
5838Internal FW 8.3.4.0
5839
5840Fixes:
5841------
5842 1. Problem:    Potential access to an un-allocated memory may occur during
5843                function unload.
5844
5845    Change:     (FW) Fix common function unload FW flow.
5846
5847    Introduced: Day 1.
5848
5849    Relevance:  MF.
5850
5851 2. Problem:    CQ78857 - PFC packet received will only stop traffic on
5852                requested TC for maximum of ~200usec and not as requested on
5853                packet.
5854
5855    Change:     (FW) Fix timeout value after stopping TC due to received PFC
5856                packet.
5857
5858    Introduced: 8.2.3.0.
5859
5860    Relevance:  Port 1 in 2x40Gb configuration.
5861
5862 3. Problem:    Error of VF FLR flow.
5863
5864    Change:     (FW) Fix flow on VF load.
5865
5866    Introduced: 8.3.0.0.
5867
5868    Relevance:  SRIOV.
5869
5870 4. Problem:    L2 losses connectivity after running RoCE traffic.
5871
5872    Change:     (FW) Fix internal cache management flow.
5873
5874    Introduced: Day 1.
5875
5876    Relevance:  L2, RoCE.
5877
5878 5. Problem:    Driver unload during RDMA Read operation may cause wrong CQE
5879                generation.
5880
5881    Change:     (FW) Fix calculation of packets per operation code.
5882
5883    Introduced: Day 1.
5884
5885    Relevance:  RoCE.
5886
5887 6. Problem:    Driver unload or error condition in responder while RDMA read
5888                or atomic responses are pending transmission may cause
5889                firmware assert.
5890
5891    Change:     (FW) Correct activity counter calculation in error state.
5892
5893    Introduced: 8.3.0.0.
5894
5895    Relevance:  RoCE.
5896
5897 7. Problem:    When during retransmission (slow start) the transmission is
5898                stopped due to window, one packet will be sent every RTO timer
5899                until retransmission will end.
5900
5901    Change:     (FW) Fix retransmission flow.
5902
5903    Introduced: Day 1.
5904
5905    Relevance:  iSCSI.
5906
5907 8. Problem:    iSCSI traffic on function other than pfid 0 causes HW attention
5908                from PCFC.
5909
5910    Change:     (FW) Fix connection-establishment flow.
5911
5912    Introduced: Day 1.
5913
5914    Relevance:  iSCSI.
5915
5916 9. Problem:    Connection recovery failure.
5917
5918    Change:     (FW) Fix offload ramrod fix.
5919
5920    Introduced: Day 1.
5921
5922    Relevance:  iSCSI.
5923
592410. Problem:    iSCSI response PDU with "BUSY" status is treated as connection
5925                error and leads to termination of the connection.
5926
5927    Change:     (FW) Fix response PDU validations code to accept "BUSY" status.
5928
5929    Introduced: Day 1.
5930
5931    Relevance:  iSCSI.
5932
593311. Problem:    R2T stat sn validation error (misbehave target).
5934
5935    Change:     (FW) Disable R2T stat sn validation.
5936
5937    Introduced: Day 1.
5938
5939    Relevance:  iSCSI.
5940
594112. Problem:    iSCSI target - response packet with wrong statSN value.
5942
5943    Change:     Fix target Tx flow.
5944
5945    Introduced: 8.2.1.0.
5946
5947    Relevance:  iSCSI.
5948
594913. Problem:    CQ78903 - crash on disable driver.
5950                CQ78959 - OS Crash while doing Load Unload (MPIO Failover)
5951                and traffic is running.
5952
5953    Change:     Remove obsolete workaround of PTU HW block invalidation.
5954
5955    Relevance:  NPAR and 4 ports modes.
5956
595714. Problem:    A re-established TX LL2 connection failed to transmit.
5958
5959    Change:     Reset driver intenral variable (consumer of queue)upon
5960                connection  establishment.
5961
5962    Introduced: Day 1.
5963
5964    Relevance:  LL2.
5965
5966Enhancements:
5967-------------
5968 1. Request:    Restructure DCBx implementation so that there is DCBx API file
5969                to facilitate QED access into DCBx data structures.
5970
5971 2. Request:    Allocated or reused iSCSI connection memory must be zeroed.
5972
5973 3. Request:    (FW) Support creation of QP without End-to-End flow control.
5974
5975 4. Request:    (FW) Support switch-dependent multi-function.
5976
5977 5. Request:    (FW) Support Target mode.
5978
5979Version 8.3.0.0 (Mar 24, 2015)
5980==============================
5981Internal FW 8.3.3.0
5982
5983Fixes:
5984------
5985 1. Problem:    Memory corruption happens on VF bulletin board when
5986                PF is posting to it.
5987
5988    Change:     Fixed dame write command size to dwords value instead of bytes.
5989
5990    Introduced: Day 1.
5991
5992 2. Problem:    DMAE timeout sometimes randomly appear.
5993
5994    Change:     DMAE completion is made into 32-bit variable.
5995
5996    Introduced: Day 1.
5997
5998    Relevance:  All.
5999
6000 3. Problem:    Loss of L2 connectivity after running RoCE apps with rdma cm.
6001
6002    Change:     Change hw configuration to use separate internal cache indices
6003                for l2 packets going to RoCE CM and l2 regular packets.
6004
6005    Introduced: Day 1.
6006
6007    Relevance:  RoCE-CM / L2.
6008
6009 4. Problem:    Cont00078455 - E4 : Crash found when configuring  SRIOV 240
6010                vfs in NPAR.
6011
6012    Change:     Added error handling for DMA memory allocation failure.
6013
6014    Introduced: Day 1.
6015
6016    Relevance:  SRIOV.
6017
6018 5. Problem:    CQ78435 - Nictest test D1 "Internal loopback test" fails
6019                after programing NVM with manufacture kit 8562_40Gv11,
6020                with Roce personality (nvm cfg option 92).
6021
6022    Change:     Fixed ecore_cxt_set_pf_params() not to fail in case
6023                of roce personality without setting roce parameters.
6024                Show information warning in this case.
6025
6026    Introduced: 8.2.6.0.
6027
6028    Relevance:  Roce.
6029
6030 6. Problem:    Ethernet traffic carries a zeroed vlan tag when DCBx was
6031                negotiated. This has a detrimental effect on some OSs (e.g.
6032                RH6.5) and only negligible effect on others (in RH7.0 it only
6033                clutters up a network trace). An additional effect is that
6034                the vlan priority will be overwritten with 0 even if user
6035                configured it (the tag value will remain unaffected).
6036
6037    Change:     Do not enable DCBx for ethernet even if DCBx was negotiated.
6038                The OS should be the one to supply the vlan tag if required.
6039
6040    Introduced: 8.2.2.0.
6041
6042    Relevance:  L2 when DCBx is negotiated.
6043
6044 7. Problem:    CQ78700 - E4:RoCE:RDMA applications are not working on
6045                servers with 72 cpus.
6046
6047    Change:     Doorbells weren't accepted due to misscalculations performed
6048                based on number of CPUs. There is no need for basing these
6049                calculations on #cpus at this stage.
6050
6051    Introduced: Day 1.
6052
6053    Relevance:  RoCE.
6054
6055Enhancements:
6056-------------
6057 1. Request:    Ecore self test initial support.
6058
6059 2. Request:    ecore_mcp_drain() now returns only after drain period is over.
6060
6061 3. Request:    OSAL_ASSERT() follow GNU - Assert when condition is false.
6062
6063 4. Request:    VF RXQ update support.
6064
6065 5. Request:    VF Vport Update SGE/TPA support.
6066
6067 6. Request:    Add infrastructure to support Secure Nvram.
6068
6069 7. Request:    VFs are using their own PQs [required for VF rate-shaping].
6070
6071Version 8.2.4.0 (Feb 26, 2015)
6072==============================
6073Internal FW 8.2.7.0
6074
6075Fixes:
6076------
6077 1. Problem:    tpa_max_size is calculated in a way that only 16 segments are
6078                being aggregated.
6079
6080    Change:     Change the tpa_max_size calculation so max_sges_num will be the
6081                upper limiter for tpa aggregations.
6082
6083    Introduced: Day 1.
6084
6085    Relevance:  L2.
6086
6087 2. Problem:    Incorrect shadow mb register after comming back from D3.
6088
6089    Change:     When comming back from hiberbate state, read the mb shadow
6090                after we call ecore_mcp_load_req request.
6091
6092    Introduced: Day 1.
6093
6094    Relevance:  L2.
6095
6096 3. Problem:    Wrong device capabilities reported for maximum number of
6097                outstanding work requests send or Receive queue.
6098
6099    Change:     Correct calculation of maximum number.
6100
6101    Introduced: Day 1.
6102
6103    Relevance:  RoCE.
6104
6105 4. Problem:    Dynamic ILT memory allocated by RoCE device was not freed on
6106                RoCE driver unload.
6107
6108    Change:     Free RoCE ILT memory on RoCE driver unload.
6109
6110    Introduced: Day 1.
6111
6112    Relevance:  RoCE.
6113
6114 5. Problem:    Memory leakage when reconfiguring qm info upon DCBx update.
6115
6116    Change:     Free qm info memory before re-initialize it.
6117
6118    Introduced: 8.2.2.0.
6119
6120    Relevance:  DCBx.
6121
6122 6. Problem:    CQ77989 - Chip may hang during stress test with L2 and
6123                non L2 traffic.
6124
6125    Change:     Fix relevant firmware flow.
6126
6127    Introduced: Day 1.
6128
6129    Relevance:  All.
6130
6131 7. Problem:    Anti spoofing did not work with default Vlan.
6132
6133    Change:     Fix relevant firmware flow.
6134
6135    Introduced: 8.2.1.0.
6136
6137    Relevance:  SRIOV.
6138
6139 8. Problem:    Pause PFC not working properly on engine 1 in 2x50 mode.
6140                Also, PAUSE and PFC handling may be less than optimal in 4x10
6141                Eagle mode (Firmware wokaround was operational though HW
6142                handling is okay in these modes).
6143
6144    Change:     Activate Firmware workaround in 2x50, do not activate it in
6145                4x10 Eagle.
6146
6147    Introduced: 8.2.0.0.
6148
6149    Relevance:  Scenarios involving Pause / PFC and 4x10 Eagle or 2x50.
6150
6151Enhancements:
6152-------------
6153 1. Request:    Disable relaxed ordering in the PCI config space till the root
6154                cause for the performance drop is found.
6155
6156 2. Request:    Add support for guest VLAN filtering on VFs.
6157
6158 3. Request:    Add support for accept any VLAN mode on PFs and VFs.
6159
6160 4. Request:    Initial firmware error handling for abortive peer disconnect
6161                scenario during traffic.
6162
6163 5. Request:    Initialize personality according to shmem value.
6164
6165Version 8.2.3.0 (Feb 12, 2015)
6166==============================
6167Internal FW 8.2.4.0
6168
6169Fixes:
6170------
6171 1. Problem:    BRB discard and truncate statistics are incorrect.
6172
6173    Change:     Fix logic in ecore_get_vport_stats().
6174
6175    Introduced: 8.2.2.0.
6176
6177    Relevance:  All.
6178
6179 2. Problem:    DCBx set as enabled to zeroed priorities and zeroed TCs when
6180                DCBx negotiation failed, instead of being set to disabled.
6181
6182    Change:     Use new indication for MFW on whether negotiation succeeded
6183                and communicate the same to storm FW.
6184
6185    Introduced: 8.2.2.0.
6186
6187    Relevance:  DCBx.
6188
6189 3. Problem:    ll2 connections use the wrong protocol in DCBx flows in FW.
6190
6191    Change:     Utilize api for supplying ll2 connections with their protocol.
6192
6193    Introduced: 8.2.2.0.
6194
6195    Relevance:  DCBx.
6196
6197Enhancements:
6198-------------
6199 1. Request:    Support PFC on engine 1 by implementing FW workaround for
6200                Eagle A0 PFC HW bug.
6201
6202Version 8.2.2.0 (Feb 11, 2015)
6203==============================
6204Internal FW 8.2.4.0
6205
6206Fixes:
6207------
6208 1. Problem:    Unloading a 100g interface fails.
6209
6210    Change:     Clear the enble_fid only after all hw-functions are unloaded.
6211
6212    Introduced: ~Day 1.
6213
6214    Relevance:  100g.
6215
6216 2. Problem:    Statistics are counted only for first hw-function.
6217
6218    Change:     Correct loops on hw-function when gathering statistics.
6219
6220    Introduced: Day 1.
6221
6222    Relevance:  100g.
6223
6224 3. Problem:    Sending COMMON_RAMROD_PF_STOP ramrod unfer traffic may stall
6225                ramrod processing.
6226
6227    Change:     (FW) Fix relevant FW flows.
6228
6229    Introduced: Day 1.
6230
6231    Relevance:  All.
6232
6233 4. Problem:    CQ77422 - CCFC assert, if vport started with RSC.
6234
6235    Change:     (FW ETH) Fix packet drop flow.
6236
6237    Introduced: Day 1.
6238
6239    Relevance:  L2 Rx traffic with SGE enable.
6240
6241 5. Problem:    Under heavy traffic, low proabability that local operation
6242                with fence might cause the QP not to post a CQE.
6243
6244    Change:     (FW RoCE) Fix relevant firmware flow.
6245
6246    Introduced: Day 1.
6247
6248    Relevance:  RoCE.
6249
6250 6. Problem:    PFC packets are not honored on port 1.
6251
6252    Change:     (FW) Implement workaround that will receive PFC packets in FW
6253                and configure the hardware accordingly.
6254
6255    Introduced: Day 1.
6256
6257    Relevance:  2x40Gb A0.
6258
6259
6260 7. Problem:    Tx start after Tx stop on same CID causes firmware assert.
6261
6262    Change:     (FW LL2) Fix relevant firmware flow.
6263
6264    Introduced: Day 1.
6265
6266    Relevance:  LL2.
6267
6268 8. Problem:    Default vlan update doesn't work.
6269
6270    Change:     (FW ETH) Fix relevant firmware flow.
6271
6272    Introduced: Day 1.
6273
6274    Relevance:  L2.
6275
6276 9. Problem:    Tx switching didn't work correctly with EDPM packets.
6277
6278    Change:     (FW ETH) Fix relevant firmware flow.
6279
6280    Introduced: Day 1.
6281
6282    Relevance:  L2 with EDPM.
6283
628410. Problem:    Packets vlan-tagged with id 0 will be discarded if no vlan
6285                tag was defined for the QP/connection.
6286
6287    Change:     (FW RoCE, ISCSI) Fix relevnat firmware flow.
6288
6289    Introduced: Day 1.
6290
6291    Relevance:  RoCE, ISCSI.
6292
629311. Problem:    Multi-Function ISCSI works only on PF[0|1].
6294
6295    Change:     (FW ISCSI) Use function queues relative offset, and init
6296                the default queue during offload ramrod.
6297
6298    Introduced: Day 1.
6299
6300    Relevance:  Multi-Function ISCSI.
6301
630212. Problem:    Potential overlap in resource allocated for RoCE CNQs and
6303                ISCSI/FCoE CMDQS/CQS in npar/multi function, when each function
6304                is configured with a different personality.
6305
6306    Change:     RoCE CNQs and ISCSI/FCoE CMDQS/CQS share the same resource.
6307                Fixed code to take this into account.
6308
6309    Introduced: Day 1.
6310
6311    Relevance:  Multi-Function ISCSI/FCoE/RoCE.
6312
631313. Problem:    CQ77101- machine crashes due to list corruption.
6314
6315    Change:     Fix the error flows of the SPQ.
6316
6317    Introduced: Day 1.
6318
6319    Relevance:  All.
6320
6321Enhancements:
6322-------------
6323
6324 1. Request:    Implement static bandwidth configuration for NPAR1.0.
6325
6326 2. Request:    Initial DCBx support. Ecore detects DCBx negotiation results
6327                and reconfigures QM and updates storm FW according to results.
6328
6329 3. Request:    In 2x40g Single-Function mode, add support for 120 vfs-per-pf.
6330
6331 4. Request:    Change attention behaviour - reach OSAL_ASSERT() on malevolent
6332                attnetions, and don't clear interrupts so they'll appear in
6333                idle checks later.
6334
6335 5. Request:    Add the ability for a PF to query the link configuration in
6336                its VF's bulletin boards.
6337
6338Version 8.2.1.0 (Feb 04, 2015)
6339==============================
6340Internal FW 8.2.2.0
6341
6342Fixes:
6343------
6344 1. Problem:    Traffic passes only if first PF on engine is running.
6345
6346    Change:     (FW ETH) Fix registers init values.
6347
6348    Introduced: Day 1.
6349
6350    Relevance:   NPAR1.0.
6351
6352 2. Problem:    TPH control for Rx packet placement is not functional
6353                for Rx connections without SGL rings.
6354
6355    Change:     (FW ETH) Fix relevant FW flows.
6356
6357    Introduced: Day 1.
6358
6359    Relevance:  All.
6360
6361 3. Problem:    Wrong Rx producer received after Rx queue restart.
6362
6363    Change:     (FW ETH) Add CAU flush to slowpath flow.
6364
6365    Introduced: Day 1.
6366
6367    Relevance:  All.
6368
6369 4. Problem:    Posting WQE that will require 256+ packets will cause the
6370                QP traffic to halt.
6371
6372    Change:     (FW RoCE) Fix relevant FW flows.
6373
6374    Introduced:  Day 1.
6375
6376    Relevance:  All.
6377
6378 5. Problem:    TCP Option 2 timestamp error.
6379
6380    Change:     (FW) Fix relevant FW flows.
6381
6382    Introduced: Day 1.
6383
6384    Relevance:  All.
6385
6386 6. Problem:    FW error in case of FIN tcp segment.
6387
6388    Change:     (FW ISCSI) Fix relevant FW flows.
6389
6390    Introducd:  Day 1.
6391
6392    Relevance:  All.
6393
6394 7. Problem:    HW attention in case of repeated transmit.
6395
6396    Change:     (FW ISCSI) Fix relevant FW flows.
6397
6398    Introducd:  Day 1.
6399
6400    Relevance:  All.
6401
6402 8. Problem:    SCSI timeout expiration.
6403
6404    Change:     (FW ISCSI) Fix relevant FW flows.
6405
6406    Introducd:  Day 1.
6407
6408    Relevance:  All.
6409
6410 9. Problem:    RSP with payload of less than 24B causes error.
6411
6412    Change:     (FW FCoE) Handle such packets.
6413
6414    Introduced: Day 1.
6415
6416    Relevance:  All.
6417
641810. Problem:    FCoE with MAC error may cause HW to stuck.
6419
6420    Change:     (FW FCoE) Fix Rx MAC error flow.
6421
6422    Introduced: Day 1.
6423
6424    Relevance:  All.
6425
642611. Problem:    Write tasks with SGEs that are not aligned to page size
6427                may cause FW to stuck.
6428
6429    Change:     (FW FCoE) Fix relevant FW flows.
6430
6431    Introduced: Day 1.
6432
6433    Relevance:  All.
6434
643512. Problem:    CQ76456 - FW asserts a short time after sending a 4K read.
6436
6437    Change:     (FW FCoE) Fix relevant FW flows.
6438
6439    Introduced: Day 1.
6440
6441    Relevance:  All.
6442
644313. Problem:    RSP with resid_underflow = 0 arriving before FCP_DATA causes
6444                FW to report an error.
6445
6446    Change:     (FW FCoE) Fix relevant FW flows.
6447
6448    Introduced: Day 1.
6449
6450    Relevance:  All.
6451
645214. Problem:    CQ77279 - Rx queue arriving after queue stop cause FW to assert.
6453
6454    Change:     (FW LL2) Fix Rx MAC Error flow.
6455
6456    Introduced: Day 1.
6457
6458    Relevance:  All.
6459
646015. Problem:    Ethernet FCS error on port0 increment statistics of port1.
6461
6462    Change:     (FW) Fix relevant FW flows.
6463
6464    Introduced: Day 1.
6465
6466    Relevance:  Multi Function devices.
6467
646816. Problem:    HW attention is observed during initialization.
6469
6470    Change:     (FW Storage) Fix CMDQ initialization.
6471
6472    Introduced: 8.0.0.1.
6473
6474    Relevance:  FCoE/ISCSI Initiator.
6475
647617. Problem:    CQ77508 - valid packets are dropped after false expiration.
6477
6478    Change:     (FW FCoE) Fix relevant flows.
6479
6480    Introduced: Day 1.
6481
6482    Relevance:  All.
6483
648418. Problem:    De-registering a memory region which is used for incoming read
6485                requests on a QP and was moved to error state may lead to HW
6486                attetnion.
6487
6488    Change:     (FW RoCE) Fix relevant flows.
6489
6490    Introduced: Day 1.
6491
6492    Relevance:  All.
6493
649419. Problem:    CQ77696 - fatal assert while running fcoe traffic.
6495
6496    Change:     Initializes QM correctly with the number of tasks supported.
6497
6498    Introduced: Day 1.
6499
6500    Relevance:  Fcoe.
6501
650220. Problem:    CQ77765: Hardware attention when a packet with destination qp0
6503                arrives before any QP was offloaded.
6504
6505    Change:     Initialize HW not to try offloading RoCE packets according to
6506                destination qp before first RoCE QP is offloaded.
6507
6508    Introduced: Day 1.
6509
6510    Relevance:  RoCE Personality.
6511
6512Enhancements:
6513-------------
6514 1. Request:    Mask AVS stop attention during interrupt init.
6515
6516 2. Request:    (FW) Filter replacement only remove matching filters
6517                [e.g., replacing vlan would remove only existing vlans]
6518
6519 3. Request:    Implement VF multicast filtering and RX/TX accept flags.
6520
6521 4. Request:    CQ76942, CQ76894 - added function for [de]activating
6522                clock-slowdown.
6523
6524 5. Request:    Implement VF update rss as part of VPORT update.
6525
6526 6. Request:    Pass speed capabilities via bulletin board to VFs.
6527
6528 7. Request:    Remove the driver configuration of PSWRQ2 R/W MBS since is done
6529                by MFW (starting at MFW 8.2.2.0).
6530
6531 8. Request:    Implement NIG drain.
6532
6533 9. Request:    Implemented new interrupt mode for polling.
6534
653510. Request:    int_mode propagates via ecore_hw_init(); No need for upper
6536                layer driver to set it explicitly.
6537
653811. Request:    Fail resource acquisition if requesting too many PQs.
6539
654012. Request:    Added default vlan configuration to Vport Update.
6541
654213. Request:    Re-factored IOV code and added division between inner and
6543                outer ecore users.
6544
654514. Request:    Print all possible bits in case of parity of BMB/OPTE/MCP.
6546
6547Version 8.2.0.0 (Jan 11, 2015)
6548==============================
6549Internal FW 8.2.0.0
6550
6551Fixes:
6552------
6553 1. Problem:    Disabling sriov on higher PFs can lead to chip getting stuck.
6554
6555    Change:     Pass the VF's opaque vfid during VF initialization.
6556
6557    Introduced: Day 1.
6558
6559    Relevance:  SRIOV.
6560
6561 2. Problem:    Disabling sriov while num_vfs < total vfs can lead to stop
6562                ramrods being sent for disabled VFs.
6563
6564    Change:     Correct setting of vf state even if final cleanup isn't sent.
6565
6566    Introduced: Day 1.
6567
6568    Relevance:  SRIOV.
6569
6570 3. Problem:    pglue_b attentions may appear in system logs after FLR.
6571
6572    Change:     Cleanup the PF information for a vf after it is FLR-ed.
6573
6574    Introduced: Day 1.
6575
6576    Relevance:  SRIOV.
6577
6578 4. Problem:    Vlan-tagged traffic from VFs might fail to reach destination.
6579
6580    Change:     Pass VF request for vlan stripping on hw channel.
6581
6582    Introduced: Day 1.
6583
6584    Relevance:  SRIOV.
6585
6586 5. Problem:    VFs are marked as STOPPED after FLR, even if they're restarted.
6587
6588    Change:     Don't force STOPPED state unless previously at RESET state.
6589
6590    Introduced: Day 1.
6591
6592    Relevance:  SRIOV.
6593
6594 6. Problem:    Do not process any pending message after VF FLR.
6595
6596    Change:     Clear pending event bit for the VF which has been FLRed.
6597
6598    Introduced: Day 1.
6599
6600    Relevance:  SRIOV.
6601
6602 7. Problem:    Sequence of several SRIOV disable procedures get stuck.
6603
6604    Change:     (FW) Fix relevant FW flow.
6605
6606    Introduced: Day 1.
6607
6608    Relevance:  SRIOV
6609
6610 8. Problem:    Wrong value returned to MCP at the end of SRIOV disable flow.
6611
6612    Change:     (FW) Fix relevant FW flow.
6613
6614    Introduced: Day 1.
6615
6616    Relevance:  SRIOV.
6617
6618 9. Problem:    RSS parities appear when using high vports IDs.
6619
6620    Change:     (FW ETH) Fix RSS resource allocation flow.
6621
6622    Introduced: Day 1.
6623
6624    Relevance:  ETH.
6625
662610. Problem:    Posting atomic operation WQE will cause hardware attention.
6627
6628    Change:     (FW RoCE) Fix relevant firmware flow.
6629
6630    Introduced: Day 1.
6631
6632    Relevance:  RoCE.
6633
663411. Problem:    FW error in case of TCP segment that includes only iSCSI
6635                padding or digest (without iSCSI data).
6636
6637    Change:     (FW iSCSI) Fix relevant firmware flow.
6638
6639    Introduced: Day 1.
6640
6641    Relevnace:  iSCSI.
6642
664312. Problem:    VF RX producers in FW has old value after sending RXQ START.
6644
6645    Change:     Initializing rx producers in VF before sending RXQ START
6646                request.
6647
6648    Introduced: Day 1.
6649
6650    Relevance:  SRIOV.
6651
665213. Problem:    cq75387 - statistics aren't cleared after interface down/up.
6653
6654    Change:     Compensate for non-resetting port statistics using baseline.
6655
6656    Introduced: Day 1.
6657
6658    Relevance:  All.
6659
6660Enhancements:
6661-------------
6662 1. Request:    Read function information from shmem during function init.
6663
6664 2. Request:    ROCE: adding support of cq interrupt moderation feature.
6665
6666 3. Request:    Implement polling on HW resources prior to FLR final cleanup.
6667
6668 4. Request:    Prevent initialization of early PCI error [i.e., when reads
6669                return all Fs].
6670
6671 5. Request:    Avoid out-of-bound access to indices of the firmware resources
6672                allocated for each function.
6673
6674 6. Request:    Add ecore_mcp_api.h for upper-layer api of mcp functionality.
6675
6676 7. Request:    Add inter-PF Tx switching in NPAR mode.
6677
6678 8. Request:    Support processing asynchronous iSCSI events.
6679
6680 9. Request:    Add support for VF rss.
6681
668210. Request:    ROCE: Add vlan support.
6683
668411. Request:    Pass FW & MFW versions to VF via acquire response TLV.
6685
668612. Request:    Add initial support for Physical Device Assignment [of PFs].
6687
668813. Request:    Add support to use VPORT update TLV as list of extended tlvs.
6689
669014. Request:    Add support to allow the activation of non-continuous VFs.
6691