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