11 February 2004 CPMAC 1.7.0_B (limited deployment) CC Labels: DEV_20040211_HALdallas_cpmac_01.07.00_B Bug fixes: NTR New features: CPMAC - Update of Sangam AutoMdix register done in the CPMAC HAL CC Labels: REL_20040130_HALdallas_cpmac_01.07.00 Bug fixes: CPMDIO - When in manual negotiate mode and linked, dropping link would move into NWAY state rather than manual state. CPMDIO - Extraneous debug message corrected New features: CPMDIO - Support for AutoMdix usage added. 25 September 2003 CPSAR 1.6.6 (external release) CC Labels: REL_20030925_HALdallas_cpsar_01.06.06 Bug fixes: PDSP firmware has been updated to fix the OAM padding problem. It previously wrote pad bytes into a reserved field of the OAM cell. There is a small change to the CPSAR configuration code which corresponds to the PDSP spec change. New features: NTR 09 September 2003 CPMAC 1.6.6 (external release) CC Labels: REL_20030909_HALdallas_cpmac_01.06.06 Bug fixes: CPMAC : When _CPMDIO_NOPHY is set, Cpmac COntrol is set to Full Duplex Bridge loopback test does not show a problem using 1.6.5 if packet rate is below 50,000 pbs. Now testing with a 100% send from Ixia. New features: NTR 05 August 2003 CPHAL 1.6.5 (external release) CC Labels: REL_20030805_HALdallas_cpmac_01.06.05 Bug fixes: NTR New features: CPMAC : Added support for CPMAC modules that do not have a Phy connected. The CPMAC is informed of this by the MdioConnect option _CPMDIO_NOPHY. This is the only driver change needed to receive and transmit packets through the Marvel switch. Note In this mode Link status will reported linked at 100/FD to PhyNum 0xFFFFFFFF. ALL: Cleaned up some Vlynq support logic. 16 July 2003 CPSAR 1.6.3 (external release), no CPMAC release CC Labels: REL_20030716_HALdallas_cpsar_01.06.03 Bug fixes: 1) Changed default value of CPCS_UU from 0x5aa5 to 0. The old default value caused problems with Cisco routers. New features: NTR Known issues not addressed in this release: NTR. 01 July 2003 CPHAL 1.6.2 (external release) CC Labels: REL_20030701_HALdallas_cpmac_01.06.02 REL_20030701_HALdallas_cpsar_01.06.02 Bug fixes: 1) A previous firmware upgrade caused firmware OAM loopback cells to only work on every other command. This has been fixed in the new firmware version (0.47). 2) Problem with PTI values changing on transparent mode packets has been resolved. 3) Previously, successful firmware OAM loopback cells waited 5 seconds before notifying the OS of success, rather that notifying immediately. This has been resolved in firmware. 4) PITS #148 (MAC and SAR), #149 (MAC) have been fixed. New features: 1) AAL5 HAL now capable of receiving unknown VCI/VPI cells on a single transparent channel. See updated HAL document (AAL5 appendix) for implementation details. 2) AAL5 HAL now allows OS to modify the OAM loopback timeout window. Previously, failed OAM loopback attempts timed out after a nominal 5 seconds (based on the SAR frequency provided by the OS). Now, the default is 5 seconds, but the OS may change the value via halControl() to any integer number of milliseconds. See updated HAL document (AAL5 appendix) for implementation details. 3) MAC (cpmdio): added loopback to Istate. Used for debug. Known issues not addressed in this release: NTR. 09 June 2003 CPSAR 1.6.1 (external release), CPMAC 1.6.1 (internal release - no functional change) Note: This is the same set of fixes being applied to 1.6.0 that were applied to 1.5.3. The only difference between 1.6.1 and 1.5.4 is that 1.6.1 has the TurboDSL fix. CC Labels: REL_20030609_HALdallas_cpmac_01.06.01 REL_20030609_HALdallas_cpsar_01.06.01 Bug fixes: 1) Bug in OamLoopbackConfig fixed. 2) New firmware version (.43) to fix Westell issue of dropped downstream packets in presence of OAM traffic when operating at or near line rate. New features: NTR. 09 June 2003 CPSAR 1.5.4 (external release), CPMAC 1.5.4 (internal release - no functional change) Note: This is a branch release from 1.5.3. This does not contain anything from 1.6.0. The CPMAC is only being labeled to keep the release flow consistent. CC Labels: REL_20030609_HALdallas_cpmac_01.05.04 REL_20030609_HALdallas_cpsar_01.05.04 Bug fixes: 1) Bug in OamLoopbackConfig fixed. 2) New firmware version (.43) to fix Westell issue of dropped downstream packets in presence of OAM traffic when operating at or near line rate. New features: NTR. 30 May 2003 CPSAR 1.6.0 (external release), CPMAC 1.6.0 (internal release - no functional change) CC Labels: REL_20030530_HALdallas_cpmac_01.06.00 REL_20030530_HALdallas_cpsar_01.06.00 Bug fixes: 1) TurboDSL issue has been fixed with a software workaround in TxInt. This workaround has been verified under Adam2 ONLY at this point. Testing remains to be done on Linux and VxWorks. New features: NTR. Known issues not addressed in this release: NTR. 30 May 2003 CPSAR 1.5.3 (external release), CPMAC 1.5.3 (internal release - no functional change) CC Labels: REL_20030530_HALdallas_cpmac_01.05.03 REL_20030530_HALdallas_cpsar_01.05.03 Bug fixes: NTR. New features: 1) AAL5 Send() has been modified to accept an ATM Header either in the first fragment by itself, or in the first fragment directly in front of payload data. The API() does not change. 2) Documentation updates throughout, reflected in latest version of CPHAL user's guide. 3) AAL5 MaxFrags default value is now 46. This is based upon the default AAL5 RxBufSize of 1518 (MaxFrags = (65568/1518) + 2). IF THE OS CHOOSES A SMALLER RxBufSize, IT MUST INCREASE THE VALUE OF MaxFrags ACCORDINGLY. This is done via halControl(), prior to Open(). Known issues not addressed in this release: 1) The Linux SAR driver is seeing an issue in which it cannot reliably send traffic simultaneously on both the high and low priority queues of a single AAL5 channel. (TurboDSL) 23 May 2003 CPHAL 1.5.2 (external release) CC Labels: REL_20030523_HALdallas_cpmac_01.05.02 REL_20030523_HALdallas_cpsar_01.05.02 Bug fixes: 1) PITS #138: CPMAC flooding issue resolved. 2) PITS #142: OS may now set "MaxFrags" via Control(). This controls the maximum number of fragments expected by the CPHAL. The default value is 2 for CPMAC and 1028 for AAL5. If the OS chooses a RxBufSize that will cause more fragments than the defaults, the OS must set "MaxFrags" to a correct value ((maximum packet length / RxBufSize) + 2). 3) PITS #143: Fixed. 4) Firmware OAM bug fixed. (new firmware release in this version) New features: NTR. Known issues not addressed in this release: 1) The Linux SAR driver is seeing an issue in which it cannot reliably send traffic simultaneously on both the high and low priority queues of a single AAL5 channel. (TurboDSL) 14 May 2003 CPHAL 1.5.1 (external release) CC Labels: REL_20030514_HALdallas_cpmac_01.05.01 REL_20030514_HALdallas_cpsar_01.05.01 Bug fixes: 1) PITS 132 - (CPMAC) Frames < 60 bytes and split into multi-fragments. 2) BCIL MR PSP00000353 - (CPMAC) PhyDev not free'd on halClose() 3) PITS 113 - OsSetup bug in ChannelSetup fixed. 4) Fixed AAL5 to check return values of InitTcb/InitRcb. 5) Fixed Shutdown to properly free resources in the case of a Close mode 1 followed by Shutdown. Previously, buffer and descriptor resources were left unfreed in this case. New features: 1) AAL5 Send() modified to be capable of accepting ATM header as first four bytes of first fragment. This allows the OS to "override" the default ATM header which is constructed from preconfigured channel parameters. 2) AAL5 Receive() modified to be capable of passing the received ATM header (4 bytes, no HEC) in the first fragment (by itself). It also passes up the OS an indication of what the received packet type was. For Host OAM and transparent mode packets, the ATM header is passed in this manner, and for other types of packets (AAL5, NULL AAL) no ATM header is passed currently. Known issues not addressed in this release: 1) The Linux SAR driver is seeing an issue in which it cannot reliably send traffic simultaneously on both the high and low priority queues of a single AAL5 channel. 30 April 2003 CPHAL 1.5.0 (external release) CC Labels: REL_20030430_HALdallas_cpmac_01.05.00 REL_20030430_HALdallas_cpsar_01.05.00 Bug fixes: 1) Fixed AAL5 bug that rendered the low priority queue unusable. 2) Fixed a bug in AAL5's Oam Rate calculations. 3) Fixed use of "DeviceCPID" key in AAL5's halControl(). 4) Fixed RxReturn logic in HAL. The HAL now can handle failing MallocRxBuffer calls when multiple fragments are being used. New features: 1) AAL5 Stats now available on a per queue basis. 2) AAL5 adds two new keys to halControl() for "Set" actions: RxVc_OamCh and RxVp_OamCh. 3) Shutdown() has been modified for both AAL5 and CPMAC to call Close() if the module is still in the Open state. 4) CPMAC adds the following access keys to halControl(): hcPhyAccess,hcPhyNum,hcCpmacBase,hcSize,and hcCpmacSize. 5) CPHAL no longer requests an extra 15 bytes on data buffer mallocs. Known issues not addressed in this release: 1) The Linux SAR driver is seeing an issue in which it cannot reliably send traffic simultaneously on both the high and low priority queues of a single AAL5 channel. 21 April 2003 CPHAL 1.4.1 (external release) CC Labels: REL_20030421_HALdallas_cpmac_01.04.01 REL_20030421_HALdallas_cpsar_01.04.01 Bug fixes: 1) Fixed OAM logic in SAR portion of CPHAL. New features: 1) OAM loopback counters exposed through halControl. 2) Host OAM Send() can now use a single channel to send OAM cells on unlimited number of VP's/VC's. 3) CPHAL now requests "SarFreq" through osControl. 4) CPHAL now calculates all OAM function rates based on "SarFreq"; function OamRateConfig removed for API. 5) New OAM function OamLoopbackConfig, used for configuring loopback functions in firmware OAM mode. Known issues not addressed in this release: Bug fix 1) in release 1.4 (see below) does not work properly for multiple fragments. 10 April 2003 CPHAL 1.4 (external release) CC Labels: REL_20030410_HALdallas_cpmac_01.04.00 REL_20030410_HALdallas_cpsar_01.04.00 This release is for SAR and MAC. Bug fixes: 1) Implemented logic in HAL to re-request buffer mallocs in the case of MallocRxBuffer failing. The HAL now maintains a NeedsBuffer queue of all RCB's that are without buffers. On interrupts, or on Send(), the HAL checks to see if any RCB's are on the queue, and if so, calls MallocRxBuffer to attempt to get a new buffer and return the RCB to circulation. 2) SAR now properly returns all error codes from halOpen and halChannelSetup. New features: NTR Known issues not addressed in this release: NTR 08 April 2003 CPHAL 1.3.1 (internal release - SAR only) CC Labels: REL_20030408_HALdallas_cpsar_01.03.01 This is a SAR only release. The current CPMAC release is still 1.3. Bug fixes: 1) PDSP State RAM / Scratchpad RAM is now completely cleared after reset. This resolves a stability issue. New features: 1) OamMode is now a parameter in halControl(). Both "Set" and "Get" actions are available. The value may be "0" (Host OAM), or "1" (Firmware OAM). Known issues not addressed in this release: 1) Appropriate action for HAL in the case of MallocRxBuffer failing. We are investigating whether the HAL should implement a needs buffer queue. 04 April 2003 CPHAL 1.3 (external release) CC Labels: REL_20030404_HALdallas_cpmac_01.03.00 REL_20030404_HALdallas_cpsar_01.03.00 REL_20030404_HALdallas_cpaal5_01.03.00 REL_20030404_HALdallas_cpaal2_01.03.00 This release requires no changes for the ethernet end driver. The changes necessary for the sar driver (firmware file name changes) have already been implemented. Bug fixes: 1) RxReturn now returns an error if MallocRxBuffer fails. On RxReturn error, the driver should call RxReturn again at a later time (when the malloc may succeed) in order for the CPHAL to maintain a full complement of Rx buffers. We recommend holding off making this driver change until we verify that this condition occurs. New features: 1) Removed benign compiler warnings. 2) PITS 122: http://www.nbu.sc.ti.com/cgi-bin/pits/redisplay_archive?product=cphal_dev&report=122 3) Cpsar label (above) now is applied to everything beneath /cpsar. 4) PITS 14: http://www.nbu.sc.ti.com/cgi-bin/pits/redisplay_archive?product=cphal_dev&report=14 Transferred to MR PSP 00000089. 5) PITS 120: http://www.nbu.sc.ti.com/cgi-bin/pits/redisplay_archive?product=cphal_dev&report=120 Known issues not addressed in this release: 1) PITS 102 (as relating to OamMode configuration): http://www.nbu.sc.ti.com/cgi-bin/pits/redisplay_archive?product=cphal_dev&report=102 Future release will make OamMode configurable through halControl(), not on per channel basis. 20 March 2003 CPHAL 1.2.1 (internal release) CC Labels: REL_20030320_HALdallas_cpmac_01.02.01 REL_20030320_HALdallas_cpsar_01.02.01 REL_20030320_HALdallas_cpaal5_01.02.01 REL_20030320_HALdallas_cpaal2_01.02.01 Bug fixes: 1. Fixed modification of buffer pointer following MallocRxBuffer in cppi.c. 2. Removed extra firmware files from /cpsar. New features: NTR. Known issues not addressed in this release: NTR. 07 March 2003 CPHAL 1.2 (external release) CPMAC/CPSAR feature complete release. SAR added several features including full OAM support and various other features and bug fixes to address PITS 99-106, and 114. CPMAC cleaned up details raised by India PSP team. 29 January 2003 CPHAL RC 3.01a (external release) Corrects non-static functions to be static in cppi.c. 09 Janurary 2003 CPHAL RC 3.01 (external release) PITS 88: Fixed MDIO re-connection problem (hcpmac.c) PITS 90: Corrected Rx Buffer Pointer modification (cppi.c) Corrected error in cpremap.c 20 December 2002 CPHAL RC 3 (external release) Statistics support via halControl(). See Appendix A of guide. Fixed errors in ChannelTeardown/ChannelSetup CPHAL logic. Added multicast support as requested. Several new OS string functions added to OS_FUNCTIONS. "DebugLevel" configuration parameter changed to "Debug". "Stats0" changed to "StatsDump" for CPMAC. 13 December 2002 CPHAL RC 2.03 (internal release) Performance improvements. More debug statements implemented (esp AAL5). Updated makefile with "make debug" option. Hbridge performance: [debug library] 15774 tps (53% line rate) [non-debug library] 13700 tps (46%) 10 December 2002 CPHAL Release Candidate 2.02 (internal release) Much of the configuration code internal to CPMAC and AAL5 has been made common. [os]Receive API had been modified to remove OsReceiveInfo. This information is now available as third member of the FRAGLIST structure, on a per buffer basis. Successfully tested multi-fragment support on CPMAC, using 32 byte buffers. Code is now Emerald compliant - all buffer descriptors now aligned to cache-line boundaries. 2 December 2002 CPHAL Release Candidate 2.01 Updates to comments in hcpmac.c, cpmdio.c, hcpmac.h Nested comment in hcpmac.c in RC2 can cause compile errors. 25 November 2002 CPHAL Release Candidate 2 Project Items not completed for RC2 #6 Ship as Library - Once under CC. Moved to RC3 #8 Under Clearcase - Moved to RC3 #25 Emerald compliant - Moved to RC3 #26 Statistics support - Moved to RC3 (some support in RC2) #36 Debug scheme implemented - Moved to RC3 (some support in RC2) 8 November 2002 CPHAL Release Candidate 1 Notes: Project Items not completed for RC1 #8 Under Clearcase - Clearcase server failure this week. Moved to RC2 #6 Ship as Library - Once under CC. Moved to RC2 #13 Verify Datatypes. Moved to RC2 #14 Review APIs. Moved to RC2 APIs under review for RC2 halIsr() hslRxReturn() halSend() osSendComplete() osReceive() CPMAC Build Instructions Compile the file 'hcpmac.c'. AAL5 Build Instructions The AAL5 build is composed of the source files aal5sar.c and cpsar.c. Refer to the provided makefile for an example of compiling these files into a library. Example CPHAL Code CPMAC: Example CPMAC code is provided in the file hbridge.c. This program is provided simply as an example of using the CPHAL API. It is not intended to be compiled and executed in your environment. AAL5: Example AAL5 code is provided in the file loopback.c. This program is provided simply as an example of using the CPHAL API. It is not intended to be compiled and executed in your environment. Performance Baseline Cpmac RC1: hbridge.bin, running with IXIA cpahl_1.cfg. This sends 64-byte packets from each Ixia port, with mac destination the other Ixia port. MIPS core 4Kc. RC2: hbridge.bin, running with IXIA cpahl_1.cfg. This sends 64-byte packets from each Ixia port, with mac destination the other Ixia port. MIPS core 4Ke. CPHAL now includes Emerald support, but this has been disabled by using 'cache -wt' to emulate 4Kc. RC3: hbridge.bin, running with IXIA cpahl_1.cfg. This sends 64-byte packets from each Ixia port, with mac destination the other Ixia port. MIPS core 4Ke. Running as Emerald processor. Release Total Receive Rate Throughput Setting RC1 11300 38% RC2 9524 32% RC3 15190 51%