
*******************************************************************************
12/14/00	Jerry Viviano

PROJECT:	Tigris
SYSTEM:		ALL

PROBLEM:
		Spanish customers not happy with current retrain criteria.
		Need new data pump registry parameters: AdslCRCPerSES and
		AdslSESToRetrain.

SOLUTION:
		Make the retrain criteria externally controllable via either INF file
		or registry.
FILES:
		MONITOR.C
			Replaced SOME_X definition with AdslCRCPerSES.  Complements change by
			JDP to allow external control of AdslCRCPerSES.
			Replaced hard-coded 5 for threshold of consecutive SES's to trigger
			retrain, with AdslSESToRetrain.  Complements change by
			JDP to allow external control of AdslSESToRetrain.		
*******************************************************************************

*******************************************************************************
12/14/00	Jerry Viviano

PROJECT:	Tigris
SYSTEM:		ALL

PROBLEM:
		Getting many downstream CRC's on 800 MHz machines.

SOLUTION:
		Not sure of root cause.  Found that putting delay after Rx bit tone table 
		write to Falcon clears it  up. 
FILES:
		MISCUTIL.C		
*******************************************************************************

*******************************************************************************
01/09/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver LINUX

PROBLEM:
		Wirespeed/Redhat had to make minor changes to DMT files to compile under GNU
        Wirespeed based their 1.1 release on BLD064 and upgraded DMT to BLD080
CAUSE:
SOLUTION:
FILES:
	File			Linux	Tip		Changes
    				1.1
    -----------------------------------------------------------------------------
    Serial.c        Rev 6   7       case of includes, call to cardAL_SER_XmitMsg changed to cnxtty_SER_XmitMsg
    Project.h       Rev 35  41      Change include of wdm.h to LnxTools.h
    asicutil.h      Rev 7   8       Unbalanced comment on each FALCON_REG_WRITE
    Micro.c         Rev 44  48      delete include of hwio.h, case of utildbg.h
    types.h         Rev 5   7       Case of includes, wrap include of <ndis.h>, TICK_TYPE 16>>>32
    SYSINFO.h       Rev 12  18      Removed duplicate of SYS_OPERATING_DAYS_TYPE (also in xcvrinfo.h)
    _STRTOUL.C      Rev 1   1       undef READ before defining it
    _STRTOL.C       Rev 1   1       undef READ before defining it
    _DOSCAN.C       Rev 1   1       undefine READ, fix 3 errors
    stdlib.h        Rev 1   1       Wrap NULL, include types.h, wrap def of size_t
    stdio.h         Rev 1   1       Wrap NULL, include types.h, wrap def of size_t
    _ctype.h        Rev 1   3       Wrap toupper
    UTIL.h          Rev 3   6       wrap toupper
    XCVRINFO.h      Rev 57  71      #undef ES
    Micro.h         Rev 22  23      case of includes
    DmtAPi.h        Rev 2   2       case of includes
    AOCINTF.c       Rev 17  21      case of includes
    ASICUTIL.c      Rev 24  31      case of includes
    FrntPanl.c      Rev 4   5       case of includes
    FALCON.c        Rev 28  34      case of includes
    
    ******NO CHANGES TO THESE FILES *******************
    _SSCANF.C       Rev 1   1   === (Wirespeed Added errno var here but this is not needed since adding _errno.c)
    _ERRNO.C        Rev 1       ### "New" file (wirespeed put the var "errno" in the header file! nono)
    DmtDbg.c        Rev 0   2   ### (new file-added after wirespeed's port)
    DmtDbg.h        Rev 0   2   ### (new file-added after wirespeed's port)
    TIMER.c         Rev 5   11  ===
    STDEOC.H        Rev 4   5   ===
    terminal.c      Rev 4   5   ===
    STDEOC.c        Rev 16  23  ===
    SMRTXCVR.C      Rev 21  31  ===
    SMRT.C          Rev 7   13  ===
    TimeTask.c      Rev 7   7   ===
    SEQBLK.H        Rev 4   5   ===
    SelfTest.c      Rev 4   4   ===
    RTTXSTAT.c      Rev 16  25  ===
    RTRXSTAT.c      Rev 13  17  ===
    RTBGSTAT.c      Rev 82  105 ===
    QEDFER.h        Rev 8   9   ===
    UTIL.c          Rev 6   9   ===
    NVRAM.c         Rev 4   5   ===
    MONXCVR.c       Rev 13  17  ===
    MONITOR.c       Rev 9   17  ===
    MISCUTIL.c      Rev 42  58  ===
    GHSRTST.c       Rev 2   8   ===
    XCVRINFO.c      Rev 32  45  ===
    MicroXcv.c      Rev 9   10  ===
    xcvrver.h       Rev 21  22  ===
    _ATOL.C         Rev 1   1   ===
    GHSUTIL.h       Rev 11  14  ===
    GHSUTIL.c       Rev 17  35  ===
    SYSINFO.c       Rev 9   10  ===
    ghrttxst.c      Rev 11  14  ===
    ghrtrxst.c      Rev 4   6   ===
    ghrtbgst.c      Rev 29  38  ===
    FrTxSt.c        Rev 4   6   ===
    _read.c         Rev 1   1   ===
    _iowrite.c      Rev 1   1   ===
    FrBgSt.c        Rev 25  27  ===
    Fpga.c          Rev 11  12  ===
    FFTBLK.h        Rev 6   9   ===
    Falcon.h        Rev 4   4   ===
    _ctype_.c       Rev 1   1   ===
    _fgetc.c        Rev 1   1   ===
    EOCINTF.h       Rev 2   2   ===
    EOCINTF.c       Rev 6   8   ===
    dpuutil.c       Rev 4   6   ===
    dputest.c       Rev 5   7   ===
    dpusys.c        Rev 19  24  ===
    dpumisc.c       Rev 6   10  ===
    dpumenu.c       Rev 9   11  ===
    dpuid.h         Rev 10  12  ===
    dpudmt.c        Rev 46  57  ===
    dpuadsl.c       Rev 5   6   ===
    dpu.h           Rev 3   4   ===
    dpu.c           Rev 10  15  ===
    DMTINTF.c       Rev 29  33  ===
    DMTINFO.C       Rev 5   5   ===
    MIFCTL.H        Rev 3   3   ===
    MicroXcv.h      Rev 1   1   ===
    FrRxSt.c        Rev 4   5   ===
    Diblk.h         Rev 4   4   ===
    DIAGNOS.c       Rev 12  15  ===
    DacIntf.h       Rev 6   6   ===
    c166.h          Rev 2   2   ===
    AutoSense.c     Rev 30  43  ===
    atmecblk.h      Rev 5   5   ===
    AteBlk.h        Rev 2   2   ===
    _filbuf.c       Rev 1   1   ===
    _iob.c          Rev 1   1   ===
    aocintf.c       Rev 1   2   ===
    Ansi.h          Rev 1   1   ===
    AfeIntf.c       Rev 28  34  ===
    ADSLINFO.c      Rev 17  20  ===
    _STRNCPY.C      Rev 1   1   ===
    _ioread.c       Rev 2   2   ===
    _ungetc.c       Rev 1   1   ===
    _ATOI.C         Rev 1   1   ===
    
    ************WIRESPEED DID NOT USE THESE FILES ****************
    _vsprint.c      Rev 1       NA
    _FPUTC.C        Rev 1       NA
    _LTOA.C         Rev 1       NA
    _WRITE.C        Rev 1       NA
    errno.h         Rev 1       NA
    _DOPRINT.C      Rev 1       NA
    _SPRINTF.C      Rev 1       NA
    _FLSBUF.C       Rev 1       NA
*******************************************************************************

*******************************************************************************
01/10/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver WAN/LAN/CO/WDM/Linux

PROBLEM:
		Wirespeed/Redhat left out SetGpio routines because they weren't used
        Therefor the linux system won't work with shared micro.c since it has
        a MIC_SetGpio (which is not called) and this calls ChipAlTigrisDpSetGpio
        which Linux system does not have.
CAUSE:
SOLUTION:
FILES:
		micro.c:
        	remove unused MIC_SetGpio
        CardALTigrisDp.c:
        CardALTigrisDp.h:
        	remove unused ChipAlTigrisDpSetGpio
        CardALTigrisHal.c:
        CardALTigrisHal.h:
        	remove unused ChipAlTigrisHalSetGpio
*******************************************************************************

*******************************************************************************
01/10/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver LINUX

PROBLEM:
		Since Wirespeed port, ChipALTigris* files were renamed to CardALTigris*
		files and since some DMT wrapper files that are shared reference 
		CardALTigris, we must fix the LINUX non-shared references
CAUSE:
SOLUTION:
FILES:
		ChipALTigrisHal.c:
		ChipALTigrisDp.h:
		ChipALTigrisDp.c:
		ChipALTigrisHal.h:
		ChipALTigrisHalV.h:
			Renamed to CardALTigris*.*

		CardALTigrisDp.h:
		CardALTigrisDp.c:
		CardALTigrisHal.c:
		CardALTigrisHal.h:
		CardALTigrisHalV.h:
			Renamed from ChipALTigris*.*

		ChipALCdsl.h:
		ChipALCdslV.h:
		*CardALTigris.c: (Another change below)
			Renamed ChipALTigris to CardALTigris*.* in #includes
*******************************************************************************

*******************************************************************************
01/10/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver LINUX

PROBLEM:
		New LINUX issue introduced in DMT files since last wirespeed port
		Prototype does not match declaration
CAUSE:
SOLUTION:
FILES:
		CardALADSLDiag.h:
			include sysinfo.h
			have CardALADSLLogPairgain use type DIAG_SUBCODE_TYPE rather than
			generic INT16 to match declaration.
		xcvrinfo.c:
			Fix case of new include
		CardALTigris.c:
			Removed unused Diagnos_Write_Trace
		CardALTigrisDP.c:
		CardALTigrisDp.h:
			Change ChipAlTigrisDpGetNonVolatileParms parm from numerous values
			to a ptr to XCVR_OTHER_CFG_TYPE
		CardALTigrisHal.c:
			Definition of Afe_Write_Trace has moved to micro.c so make this
			an extern.
*******************************************************************************

*******************************************************************************
01/10/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver LINUX

PROBLEM:
		Booboo made in putting LINUX changes in tip
CAUSE:
SOLUTION:
FILES:
		Project.h:
			include of LinuxTools.h needs <>
		Smsysif.c:
			Must not use Wirespeed/Redhat version from zip but update that they
			sent
*******************************************************************************

*******************************************************************************
01/10/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver LINUX

PROBLEM:
		Wirespeed/Redhat deleted errno.c by moving its one var into errno.h
		Put it back to match tip
CAUSE:
SOLUTION:
FILES:
		Makefile:
			Added errno.c
			Added DmtDbg.c
			Rename ChipALTigris*.c to CardALTigris*.c
*******************************************************************************

*******************************************************************************
01/10/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver WAN/LAN/CO/WDM/Linux

PROBLEM:
		Wirespeed/Redhat left out SetGpio routines because they weren't used
        Therefor the linux system won't work with shared micro.c since it has
        a MIC_SetGpio (which is not called) and this calls ChipAlTigrisDpSetGpio
        which Linux system does not have.
CAUSE:
SOLUTION:
FILES:
		aocintf.c:
		autosense.c:
		CardALADSLDiag.c:
		CardALBdDp.c:
		CardALTigrisDiag.c:
		DmtApi.h:
		DmtDbg.c:
		DmtDbg.h:
		dmtintf.c:
		dpumisc.c:
		Makefile:
		micro.c:
		rtbgstat.c:
		rtrxstat.c:
		rttxstat.c:
		stdeoc.c:
			Changed case of DmtDbg.h and DmtApi.h to dmtdbg.h and dmtapi.hfor linux
*******************************************************************************

*******************************************************************************
01/12/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver Linux

PROBLEM:
		Autosense is not ported to Linux
CAUSE:
		Redhat failed to do this
SOLUTION:
FILES:
		CardALTigris.c:
			cardALChipStartAdslLine and cardALChipStopAdslLine should use
			Auto_StartAutoSense and Auto_StopAutoSense rather than forcing state
			changes as was copied from the dumb terminal reset FSM command
			originally.
			Added DyingGasp in cardALChipStopAdslLine
		CardALTigrisHal.c:
			Remove unused archaic chipAlTigrisHalWriteRelaysLeds
			Port chipAlTigrisHalSetWiringCombo and ChipAlTigrisHalSetWiring
			to Linux.
			NOTE: log to read registry values for relays are not yet ported
		CardALTigrisV.h:
			Added AUTOWIRING_COMBO_GPIO_T and AUTOWIRING_ORDER_T
		TigrisADSL.conf:
			Turned on autosense parms
		ARMAbstract.c:
			Set permissions and direction for relay gpios
			NOTE: log to read registry values for relays are not yet ported
*******************************************************************************

*******************************************************************************
01/15/01	jjv

PROJECT:	Tigris
SYSTEM:		Driver WAN/LAN/CO/WDM/Linux

PROBLEM:
		Getting downstream FEC's/CRC's against Globespan on long channels ( >7 kFt).
CAUSE:
		1) Globespan not realizing that bmax in R_MSG_RA includes the trellis overhead
		bits.  Therefore, all the rate options they are offering us are too aggressive.
		2) We do not add the trellis overhead onto the calculated necessary bit capacities
		for the 4 options offered by the CO.
		3) If all 4 options are too	aggressive, we select the last option rather than the
		least bad option.  If the CO was ordering the options as most aggressive to least
		aggressive like everyone else, this would not be a problem.  But Globespan doesn't.
		4) Our TRELLIS_OVERHEAD() macro arguments were based on XCVR_database->actual_rx_chnl_end
		which was 255 when we were using it, rather than the actual end channel id.
SOLUTION:
		1) No solution.
		2) Add trellis overhead into calculations when appropriate.
		3) Added code to find the 'least bad' of the four options, instead of assuming
		that the last one is the 'least bad'. We then use the 'least bad' of the four.
		4) Change TRELLIS_OVERHEAD() argument to 
		XCVR_database->bit_capacity_info.num_of_valid_chnls, which is valid.

		Even though there is no solution to #1, which is a problem on the Globespan,
		the other 3 improvements seem to get us better enough to eliminate the FEC's and 
		CRC's on the long channels against Globespan.

FILES:
	rtbgstat.c
*******************************************************************************

*******************************************************************************
01/15/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver Linux

PROBLEM:
		Relay and GPIO registry support is not ported to Linux
CAUSE:
		Redhat failed to do this
SOLUTION:
FILES:
		CommonData.h:
			Removed:
				AutoSenseWiring
			Added:
				AutoWiringSelection
				AutoWiringRelayDelay
				AutoWiringRelayEnrg
				AutoWiringComboGPIO
				AutoWiringOrder
		ConfigLabels.h:
			Removed:
				AUTOSENSE_HANDSHAKE_MODE
				AUTOSENSE_WIRING_MODE
				AUTOSENSE_WIRES_FIRST
				AUTO_WIRING_SELECTION
				AUTO_WIRING_NUM_COMBOS
			Added:
				AUTO_SENSE_HANDSHAKE
				AUTO_SENSE_WIRES_FIRST
				AUTO_SENSE_WIRING_SELECTION
				AUTO_SENSE_WIRING_RELAY_DELAY
				AUTO_SENSE_WIRING_RELAY_ENRG
				AUTO_SENSE_WIRING_NUM_COMBOS
				AUTO_SENSE_WIRING_COMBO_GPIO
				AUTO_SENSE_WIRING_ORDER
		CnxConfig.c:
			Changed AUTO_WIRING_SELECTION to AUTO_SENSE_WIRING_SELECTION
			Correct cut & paste errors in modulation selection code
		CnxLoad.c:
			Removed special case for AutoLogPath and MACAddress (now handled
				with format specifier
			Moved ConfigParams from global to local of SendUserParams
			Changed ConfigParams offset to address to provide capability of
				reading parms into either PersistData struct or local vars
			Changed from initializing each struct element of PersistData individually
				to using memset to clear entire struct
			Added support for optional format specifier in .conf file
			Removed:
				AUTOSENSE_HANDSHAKE_MODE
				AUTOSENSE_WIRING_MODE
				AUTOSENSE_WIRES_FIRST
				AUTO_WIRING_SELECTION
				AUTO_WIRING_NUM_COMBOS
			Added:
				AUTO_SENSE_HANDSHAKE
				AUTO_SENSE_WIRES_FIRST
				AUTO_SENSE_WIRING_SELECTION
				AUTO_SENSE_WIRING_RELAY_DELAY
				AUTO_SENSE_WIRING_RELAY_ENRG
				AUTO_SENSE_WIRING_NUM_COMBOS
				AUTO_SENSE_WIRING_COMBO_GPIO
				AUTO_SENSE_WIRING_ORDER
			Added format string support and array support
		CardALADSLDiag.c:
			Changed AutoSenseWiring to AutoWiringSelection
		CardAlTigrisHal.c:
			removed temp local versions of config parms for GPIO and relays
			Use PersistData config parms for GPIO and relays
		TigrisADSL.conf:
			Added format specifier to MACAddress and AutoLogPath
			Added:
				AutoSenseWiresFirst
				AutoSenseWiringNumCombos
				AutoSenseWiringComboGPIO
				AutoSenseWiringRelayDelay
				AutoSenseWiringRelayEnrg
				AutoSenseWiringOrder
				GpioADSLFunctionMask
				GpioARMFunctionMask
				GpioDirectionMask
				GpioEdgeMask
				ARMHwId
				ADSLHwId
				ARMFunctionIdentifier
				ADSLFunctionIdentifier
				HwDebugFlag
				PhysicalDriverType

*******************************************************************************

*******************************************************************************
01/16/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver Linux

PROBLEM:
		GPIO initialization registry support is not ported to Linux
CAUSE:
		Redhat failed to do this
SOLUTION:
FILES:
		CnxLoad.c:
			Added
				AUTOLOG_PATH
				ARM_HW_ID
				ADSL_HW_ID
				ARM_FUNCTION_IDENTIFIER
				ADSL_FUNCTION_IDENTIFIER
				HW_DEBUG_FLAG
				PHYSICAL_DRIVER_TYPE

		ConfigLabels.h:
			Added:
				ARM_HW_ID                 
				ADSL_HW_ID                
				ARM_FUNCTION_IDENTIFIER   
				ADSL_FUNCTION_IDENTIFIER  
				HW_DEBUG_FLAG             
				PHYSICAL_DRIVER_TYPE      
		CommonData.h:
			Added:
				ARMHwId;
				ADSLHwId;
				ARMFunctionIdentifier;
				ADSLFunctionIdentifier;
				HwDebugFlag;
				PhysicalDriverType;

*******************************************************************************

*******************************************************************************
01/17/01	Jerry Viviano for David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	BSOD when training with ADI DSLAM on noisey line.

CAUSE:
	In certain noisy line condition,  ADI CO realize they cannot support enough bits 
	even for 32 kbps.  They will send fail all options in C_RATES2 and shut down (or send all zeros for C_B&G).  
	Since all chnl in C_B&G are zero,  it causes an divide by zero crash.

SOLUTION:
	Verify that num_active_tx_chnl is not zero before using it in denominator. Abort train request
	on RATES2_FAILOPTION.

FILES:
	rtbgstat.c 
		Abort train on RATES2_FAILOPTION.
	miscutil.c 
		Verify num_active_tx_chnl is non-zero.    
*******************************************************************************

*******************************************************************************
01/17/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver Linux

PROBLEM:
		GPIO initialization registry support is not ported to Linux
CAUSE:
		Redhat failed to do this
SOLUTION:
FILES:
		ConfigLabels.h:
			Added:
				GPIO_ADSL_FUNCTION_MASK
				GPIO_ARM_FUNCTION_MASK
				GPIO_DIRECTION_MASK
				GPIO_EDGE_MASK
				FIRMWARE_FILENAME
		CommonData.h:
			Added:
				GpioADSLFunctionMask
				GpioARMFunctionMask
				GpioDirectionMask
				GpioEdgeMask
		CnxLoad.c:
			Added 
				GPIO_ADSL_FUNCTION_MASK
				GPIO_ARM_FUNCTION_MASK
				GPIO_DIRECTION_MASK
				GPIO_EDGE_MASK
				FIRMWARE_FILENAME
			Read firmware filename from conf file instead of hard coding
			Add ioctl code to bad ioctl messages
		TigrisADSL.conf
			Added FirmwareFilename
		ArmAbstract.c:
			replace hardcoded GPIO privlege and direction with registry 
			(PersistData) values

*******************************************************************************

*******************************************************************************
01/17/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver Linux

PROBLEM:
		Merge RHat 1.2 version changes into baseline
CAUSE:
SOLUTION:
FILES:
		ARMAbstract.c:
		ChipALCdsl.c:
		ChipALIoP46.c:
		FrameALAAL.c:
		Makefile:
		Version.h:
			Merge RHat 1.2 version changes into baseline
*******************************************************************************

*******************************************************************************
01/18/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver Linux

PROBLEM:
		Hex file is required to have CR/LF, but we convert all other files
		to LF only (mainly source files) so this is inconsistent
CAUSE:
		Download routine was copied from RipTide which was Windows based and
		therefor expected CR/LF instead of the Linux LF
SOLUTION:
FILES:
		CnxLoad.c:
			Modify downLoadMicroCode to read a chunk and find first LF and
			detect whether hex file uses CR/LF (windows) or just LF (Linux)
			and adjust accordingly.
*******************************************************************************

*******************************************************************************
01/19/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver Linux

PROBLEM:
		New implementation to deal with CR/LF vs LF seemed weak
CAUSE:
		New implementation was to read first line and based on whether it was
		CR/LF or LF, expect that on all lines.
SOLUTION:
		Instead, just skip all whitespace between records
FILES:
		CnxLoad.c:
			New implementation was to read first line and based on whether it was
			CR/LF or LF, expect that on all lines. Instead, just skip all
			whitespace between records
*******************************************************************************

*******************************************************************************
01/22/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver Linux

PROBLEM:
		Need debug print support
CAUSE:
SOLUTION:
		Init DebugFlag
FILES:
		Makefile:
			turn on DBG
		CardAL.c:
			In CardALCfgInit, init DebugFlag from PersistData
		ChipALCdsl.c:
			fix print debug syntax error
			In ChipALCfgInit, init ChipALDebugFlag to 
				pThisAdapter->PersistData.HwDebugFlag rather than FALSE
		ChipALCdslV.h:
			Fix initialization syntax error for OptionalServices
		CnxLoad.c:
			Fix cut & paste error in converting %l parms
*******************************************************************************

*******************************************************************************
01/22/2001	dand/davidsdj
22-Jan-2001	

PROJECT:		Tigris
SYSTEM:			Linux Driver

PROBLEM:
	Use of 'ErrPrt', 'printk', and 'DBG_DISPLAY' added by Wirespeed (Red Hat)
	instead of using 'DBG_CDSL_DISPLAY' (or 'DBG_DISPLAY' for ChipAL files
	or CDAL module).

SOLUTION:
	Change debug print statements to 'DBG_CDSL_DISPLAY' or 'DBG_DISPLAY'.

FILES:
	CardMgmt.c:
		Cleaned up debug print statements.
	ChipALBusCtl.c:
		Added DBG_DISPLAY statements for debug display of certain values when
		the PCI device is found.
	ChipALIoP46.c:
		Added DBG_DISPLAY statements for debug display of certain values when
		the PCI device is found.
		Changed 'printk' statements to DBG_DISPLAY statements, so that control
		of debug prints can be controlled by the debug flag.
*******************************************************************************

*******************************************************************************
01/23/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver Linux

PROBLEM:
		Wirespeed port of NT_SUCCESS returns false for STATUS_PENDING
CAUSE:
		it only returns true for STATUS_SUCCESS instead of for range of good
		status
SOLUTION:
		Use range check like NT. This requires bringing in NT status codes
		and equating all the linux codes that are specific to Tigris to NT codes.
FILES:
		ArmAbstract.c:
			Remove unnecessary 500us magic delays
		CnxADSL.h:
			Removed STATUS_SUCCESS and STATUS_FAIL since all codes are now
			in LnxDefs.h:
		CommonData.h:
			Moved error codes to LnxDefs with others and redefined to use
			NT status codes
		LnxDefs:
			Moved error codes from CommonData.h to be with others and redefined
			to use NT status codes
			Redefined NT_SUCCESS from == NT_SUCCESS to a range check
*******************************************************************************

*******************************************************************************
01/24/2001	Ali Abdallah

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Unable to obtain high upstream throughput with CSCO ADI DSLAM in BNA mode.

CAUSE:
	Long Tx filetrs might be causing problems to the ADI TEQ. Also smooth transition 
	from the passband to the stopband seems to improve the upstream throughput
	comapred to a sharp or flat roll-off.

SOLUTION:
	Added a new TX filter called BNA_TX_FILTER to be used for BNA mode only. The filter 
	is of order 52, however, only the middle 28 coefficients are effective since the
	tail coefficients approximate to zeros.

FILES:
    RTBGSTAT.C
	XCVRINFO.C
	XCVRINFO.C
	  
*******************************************************************************

*******************************************************************************
01/24/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver Linux

PROBLEM:
		make stop has crashed since putting in autosense.
CAUSE:
		cardALChipShutdownAdslLine used to just turn off falcon. Now it flags
		autosense_poll to do it which runs from SI thread. However there is
		no support for disable function so the halt just flags it and the SI
		thead immediately stops and the req is never handled leaving interrupts
		running after the driver is removed 
SOLUTION:
		Add CardALDeviceDisable and have it call cardALChipShutdownAdslLine
		and sync with SI thread
FILES:
		CardAlTigris.c:
			Add CardALDeviceDisable and have it call cardALChipShutdownAdslLine
			and sync with SI thread
			Run threads until disabled, not until adaptershutdown which was
			set before we were disabling preventing threads from running.
		CardAlTigrisV.h:
			Add CardALDeviceDisable to CARDAL_OPT_MOD.
			Add BGThreadDisableFlag
*******************************************************************************

*******************************************************************************
01/24/2001	dand/davidsdj
24-Jan-2001	

PROJECT:		Tigris
SYSTEM:			Linux Driver

PROBLEM:
	File title blocks inappropriately changed by Wirespeed (Red Hat).
	Use of 'ErrPrt' and 'DBG_DISPLAY' added by Wirespeed (Red Hat) instead of
	using 'DBG_CDSL_DISPLAY' (or 'DBG_DISPLAY' for ChipAL files or CDAL module).
	Debugging is more difficult in Linux.

SOLUTION:
	Change file tile blocks back to Conexant-Hsv standard.
	Change use of 'ErrPrt' and 'DBG_DISPLAY' back to 'DBG_CDSL_DISPLAY'.
	Added more debug print commands ('DBG_CDSL_DISPLAY').

FILES:
	CnxLoad.c:
		Removed Wirespeed (Red Hat) file title block, added Conexant standard
		title block.
		Added error checking into some of the IOCTL commands.
	CommonData.h:
		Added error checking into some of the IOCTL commands.
	ARMAbstract.c:
		Removed Wirespeed (Red Hat) file title block, added Conexant standard
		title block.
		Changed 'ErrPrt' statements to DBG_DISPLAY statements, so that control
		of debug prints can be controlled by the debug flag.
		Added debug print statements (DBG_CDSL_DISPLAY).
	CardALTigrisHal.c:
		Corrected years in copyright statement in file title block.
		Corrected check of status after a 'ChipALWrite' to look for pending
		or success.
	CardMgmt.c:
		Corrected years in copyright statement in file title block.
		Corrected company name in file title block.
		Added keywords (used by VSS) to file title block.
		Changed debug level on most debug print calls from DBG_LVL_MISC_INFO
		to DBG_LVL_GENERIC (causes to always output when DBG is turned on).
		Changed debug flag on most debug print calls from pAdapter->DebugFlag
		to DBG_FLAG_DONT_CARE (causes to always output when DBG is turned on,
		and the 'DebugFlag' (via context) was not always available).
		Added error checking into some of the IOCTL commands.
*******************************************************************************

*******************************************************************************
01/24/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Falsely detecting C_TONE due to noise on line.

CAUSE:
	AGC cutback in BG_TweakSystemForLoopLength() causes next detection of noise
	signal to look like signal has reduced in amplitude as compared to first reference
	level, which makes it look like a valid tone.

SOLUTION:
	Reduce reference level of detected tone in SubChannelPower array in 
	BG_TweakSystemForLoopLength() whenever AGC cutback occurs.  This required
	adding arguments to the BG_TweakSystemForLoopLength() routine so that
	necessary information about the location of the reference signal would
	be available.

FILES:
	rtbgstat.c 
		Reduce detected tone reference level when cutting back AGC.    
*******************************************************************************

*******************************************************************************
01/25/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	BSOD on G.HS attempts.

CAUSE:
	ghrtbgst.c has calls to BG_TweakSystemForLoopLength() with old arg list.
	(Pre 1/24/2001)

SOLUTION:
	Update arg list in calls to BG_TweakSystemForLoopLength().

FILES:
	ghrtbgst.c    
*******************************************************************************

*******************************************************************************
01/25/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	BSOD on G.HS attempts.

CAUSE:
	Undefined XCVR_database->last_startup_mode during G.HS startup attempts

SOLUTION:
	Defined XCVR_database->last_startup_mode to STARTUP_GHS	in BG_GHS_startup_config.

FILES:
	ghrtbgst.c    
*******************************************************************************

*******************************************************************************
01/25/01		Jerry Viviano

PROJECT:	Tigris
SYSTEM:		WAN ALL

PROBLEM:
		None yet noticed.  But likely would find problems in selecting the proper
		CO rate option on non-trellis chips when forced to operate in trellis mode.

CAUSE:
		Coding bug.  Too many requirements in logic to add trellis overhead	to
		user payload & RS in calculating required bmax for each rate option.

SOLUTION:
		Eliminate requirement for CHIP_ID to be > FALCON_2P 
FILES:
		rtbgstat.c
			Eliminate requirement for CHIP_ID to be > FALCON_2P
*******************************************************************************

*******************************************************************************
01/31/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver Linux

PROBLEM:
		I had removed the new routine MIC_SetGpio when adding relay support as
		it was unused and was not previously ported, only stubbed. It turns out
		it is there for debug use as in having a GPIO to wiggle to measure
		stuff.
CAUSE:
SOLUTION:
FILES:
		micro.c:
			un-remove MIC_SetGpio
		CardAlTigrisDp.c:
		CardAlTigrisDp.h:
			add ChipAlTigrisDpSetGpio
		CardAlTigrisHal.c:
		CardAlTigrisHal.h:
			Add ChipAlTigrisSetGpio

*******************************************************************************

*******************************************************************************
02/01/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver Linux

PROBLEM:
		Magic delay is needed in ARMALStartArm after writing 
		ARM_SET_COMMAND_EXTENSION_ROUTINE_ADDRESS or the completion routine
		ARMALP46CompletionRoutine in ARMALInitIo will not run
CAUSE:
SOLUTION:
FILES:
		LnxDefs.h:
			Change Status from int to long int to guarantee 32 bits
		CnxLoad.c:
			Print bad ioctl status codes as hex rather than decimal
		ArmAbstract.c:
			Print error messages of bad status since NT_SUCCESS is fixed
			Move magic delay to end of ARMALStartAr after the
			ARM_SET_COMMAND_EXTENSION_ROUTINE_ADDRESS is written since this
			is what is sensitive to the delay then remove it since it is fixed

*******************************************************************************

*******************************************************************************
02/02/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver Linux

PROBLEM:
		Magic delay is needed in ARMALStartArm after writing 
		ARM_SET_COMMAND_EXTENSION_ROUTINE_ADDRESS or the completion routine
		ARMALP46CompletionRoutine in ARMALInitIo will not run
CAUSE:
SOLUTION:
FILES:
		ChipALIoP46.c:
			If a boot command was followed immediately by an extended command
			which would then be queued if the boot command was not yet read,
			all subsequent commands are thereafter queued and non ever dequeued.
			This showed up during boot between ARMALStartArm and ARMALInitIo
			which sent ARM_SET_COMMAND_EXTENSION_ROUTINE_ADDRESS and 
			ARM_SET_IO_ACCESS_PRIV respectively.
			This is due to that boot commands may not be queued in the FW, so
			to pace them, CalP46ArmWrite disables the CMDE interrupt and
			CalP46ArmRead (which reads the response of which there is one for
			every boot command) re-enables the CDME interrupt. 
			When CalP46ArmRead re-enables the CMDE, it sets a HW_CMDE event,
			the ISR never runs and so no commands are ever dequeued. This is
			fixed by having it also call calP46DPCWriteNextCommand.
*******************************************************************************

*******************************************************************************
02/05/01	dsl 

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	showtime snr margin measurement is missing for tone 255                      
CAUSE:
    A < instead of <= for VALID_RX_CHNL_END is used when I move
    showtime snr margin measurement from ISR to background task
SOLUTION:
    change < to <= 
FILES:
miscutil.c
*******************************************************************************

*******************************************************************************
02/05/01	dsl 

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
    We won't stay in showtime if Alcatel DSLAM request > 928 kbps for upstream 
CAUSE:
    There's a hardware limitation in Falcon DI block that prohibit us from connect above
928 Kbps 
SOLUTION:
    limit bits per symbol in R_MSGS1 from 15 to 12
FILES:
xcvrinfo.h
*******************************************************************************

*******************************************************************************
02/05/01	dsl 

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
    Trapper changes needed to be integrated
SOLUTION:
    N/A
FILES:
ATMECBLK.H, Dmtintf.c, Falcon.h, frrtbgst.c, microxcv.c, SEQBLK.H, Rtbgstat.c
asicutil.h, falcon.c, mifctl.h, miscutil.c, qedfer.h, asicutil.c
*******************************************************************************

*******************************************************************************
02/05/01	dsl 

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
    New Trapper features needed to be integrated.  Modem will freeze in R_SILENT0
    with Trapper.
CAUSE:
    Double write to TCR before TSTATE interrupt is now queued in Trapper. If the first
    write has symbol count of 0, TSTATE interrupts will never occur.
SOLUTION:
    FORCE TX STATE transition immediately prior to TCR write.  We also take advantage 
    of this queued TCR write to alleviate interrupt response requirement in R_REVERB6routine.
FILES:
asicutil.h  ghrttxstat.c : FORCE_TX_STATE_NOW prior to TCR write to avoid deadlock
rttxstat.c : take advantage of this queued TCR write to alleviate interrupt 
             response requirement in R_REVERB6routine 
*******************************************************************************

*******************************************************************************
02/06/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver Linux

PROBLEM:
		Magic delay is needed in CardAlTigrisHal on Dan's PC with Yukon
CAUSE:
		Typo in earlier work to port latest code to Linux. The enumeration
		HARDWARE_DEVICE_T which contains P46_ARM and P46_ARM_DSL changed from
		when Wirespeed did initial port of BLD064 and now. CardAlTigrisHal
		usages of P46_ARM now must be P46_ARM_DSL. Missed one such instance
		the first time.
		When chipAlTigrisHalSetWiringCombo used P46_ARM rather than P46_ARM_DSL,
		and the command must be queued, it was queued on the ARM CSR queue and
		this confused everything.
SOLUTION:
FILES:
		CardALTigrisHal.c:
			When chipAlTigrisHalSetWiringCombo used P46_ARM rather than 
			P46_ARM_DSL due to an erlier porting error, and the command must be
			queued, it was queued on the ARM CSR queue and 	this confused 
			everything.
*******************************************************************************

*******************************************************************************
02/07/2001	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	1) Variety of aspects of system could improve if we had an estimate of
	looplength.
	2) Everytime we need the CO vendor ID we have to calculate it.

SOLUTION:
	1) Added a place in XCVR_DATABASE structure to hold estimate of 26 AWG wire length.
	2) Added a place in XCVR_DATABASE structure to hold vendor ID so that it only
	has to be calculated once.
	

FILES:
	FileName:
		xcvrinfo.h:	See SOLUTION.
*******************************************************************************

*******************************************************************************
02/08/01	dsl 

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
    New Trapper features needed to be integrated.  
SOLUTION:
    We further take advantage of this queued TCR write to alleviate interrupt 
    response requirement in tx state machine.
FILES:
rttxstat.c : take advantage of this queued TCR write to alleviate interrupt 
             response requirement in various tx state 
*******************************************************************************

*******************************************************************************
02/08/01	dsl 

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
    New Trapper features needed to be integrated.  We cannot do
    more than 3 channel tx bit swap.  
CAUSE:
    Falcon 2P cannot support more than 3 channel tx bit swap.  
SOLUTION:
    Trapper have this fixed.
FILES:
mifctl.h, falcon.c, asicutil.c, aocintf.c
*******************************************************************************

*******************************************************************************
02/08/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver Linux

PROBLEM:
		Merge in changes from LSS for 1.4
CAUSE:
SOLUTION:
FILES:
		_doscan.c:
		_strtol.c:
			Merge in changes from LSS for 1.4
				define LONG_MIN depending on Linux OS version

		CnxTTY.c:
			Merge in changes from LSS for 1.4
				define version depending on Linux OS version

		LnxTools.h:
			Merge in changes from LSS for 1.4
				include compatmac.h depending on Linux OS version


		ChipAlBusCtlP46.c:
		ChipAlDmaChanP46.c:
			Merge in changes from LSS for 1.4
				add conditional include of asm/io.h for 2.2 kernel

		CardMgmt.h:
		CnxAdsl.h:
			Merge in changes from LSS for 1.4
				define NET_IRDA_H to prevent redifinition of ASSERT via included
				linux/atmdev.h which included net/sock.h which included
				net/irda/irda.h which defined ASSERT
		Version.h:
			Merge in changes from LSS for 1.4
				Updated version number

		cnxadsl:
			Merge in changes from LSS for 1.4
			Added command line args to insmod of CnxADSL as part of
			merging 1.4 LSS changes
			
		Makefile(shared):
			Merge in changes from LSS for 1.4
				copy vpi_vci to /sbin

		vpi_vci:
			Merge in changes from LSS for 1.4
				This script is used to set up parameters for cnxadsl boot script

*******************************************************************************

*******************************************************************************
02/08/2001	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Merging 085.010 and 085.011 branch mods into trunk.

SOLUTION:
	Variety of solutions to a variety of problems all requiring utility callable 
	routines from miscutil.c 
	
FILES:
	miscutil.c: Added the following callable routines:
		MISC_Estimate26AWGkFt()
		MISC_GetREVERB_StartTxChnl()
		MISC_GetREVERB_EndTxChnl()
		MISC_GetMEDLEY_StartTxChnl()
		MISC_GetMEDLEY_EndTxChnl()
		MISC_DetAdslHeadEndEnvToUse()
		MISC_ValidateCO_VendorID()
		MISC_SelectRateOption()

		All the routines do pretty much what the name implies.

*******************************************************************************

*******************************************************************************
02/08/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Not close enough to 800 kbps upstream against ADI Cisco 0 kFt to 6 kFt.

CAUSE:
	R_REVERB and R_MEDLEY start channels need to be a function of loop length.

SOLUTION:
	Added routines that contain all the logic for defining start and stop channels
	for both R_REVERB and R_MEDLEY signals based on whether DSLAM is ADI, BNA
	mode is enabled, and what the loop length is.  Added new structure element
	XCVR_database->Estimate26AWGkFt to hold loop length estimate.

FILES:
	miscutil.c
		Added the following routines:
			MISC_GetREVERB_StartTxChnl()
			MISC_GetREVERB_EndxChnl()
			MISC_GetMEDLEY_StartTxChnl()
			MISC_GetMEDLEY_EndTxChnl()
	rtbgstat.c
		Used calls to the MISC_Estimate26AWGkFt routine to obtain and other
		new MISC routines to get loop length estimate
		and to define start and stop channels for training signals.
	xcvrinfo.h
		Defined XCVR_database->Estimate26AWGkFt structure element.    
*******************************************************************************

*******************************************************************************
02/08/2001	Ali Abdallah

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Fail to connect at 800 kbps upstream with CSCO ADI DSLAM below 2 kft.

CAUSE:
	Could be the TX level is high for short loops. 

SOLUTION:
	Decreased the TX filter gain by 4.5 dB if the loop estimate is below 2 kft.

FILES:
    RTBGSTAT.C
	  
*******************************************************************************

*******************************************************************************
02/09/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver Linux

PROBLEM:
		Merge in changes from LSS for 1.4.1
CAUSE:
SOLUTION:
FILES:
		cnxadsl:
		CnxADSL.spec:
		Version.h:
			Merged changes from LSS 1.4.1 release
			
*******************************************************************************

*******************************************************************************
02/09/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	1) Merged in changes from 085.010 branch.
	2) Trouble connecting with ADI CO's in G.HS .
	3) Diagnostic messages could be improved.

CAUSE:
	1) N/A
	2) Timing problems.  AGC not reset properly.
	3) No real cause.

SOLUTION:
	1) N/A
	2) Changed NO_CONNECT_TIMEOUT_MSEC FROM 5000 TO 9000.  Added reset of
	both the hybrid gain and the total Rx gain sections to known values.
	3) Add/repair diagnostic messages.

FILES:
	ghrtbgst.c
*******************************************************************************

*******************************************************************************
02/09/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	General merge with 085.010 & 085.011 changes.
	1) Problem staying connected with Globespan on short loop.
	2) Unnecessary recomputation of same quantity.
	3) Too many FEC's with Globespan around 9 kFt.

CAUSE:
	1) Upstream rate being requested by DSLAM is beyond 928 kbps limit in interleaved mode.
	2) CO vendor ID is reconstructed several places from it's parts.
	3a) Wrong rate option being selected. 
	3b) R_MSG_RA K value being calculated improperly when trellis is being used.	

SOLUTION:
	1) Leave trellis turned off in interleaved mode for non-trellis chips, whereas
	it was turned on in the past, even with non trellis (-11 and earlier) chips.
	2) Construct it once and store it in XCVR_database->ReceivedVendorID.
	3a) Replaced the expanded exchange rate option selection code in rtbgstat.c with
	a call to a new routine, MISC_SelectRateOption().  This routine selects the best rate
	option based on bmax, by searching through all of the rate options and selecting the most
	aggressive rate option that still fits within bmax.  It also subtracts trellis overhead from
	bmax when trellis is used before comparing to the rate option requirements.  If all options
	are too aggressive, it selects the least aggressive option.
	3b) Subtract trellis overhead from bmax before calculating K.

FILES:
	rtbgstat.c 
		1) Addded line to avoid turning on trellis with -11 chips and earlier unless
		data in the fast buffer.
		2) Construct it once and store it in XCVR_database->ReceivedVendorID.
		3a) Replaced local rate option search with call to MISC_SelectRateOption().
		3b) Subtract trellis overhead from bmax before calculating K. 		    
*******************************************************************************

*******************************************************************************
02/09/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	General merge of 085.010 and 085.011 into trunk.
	Hanaro wants to be able to swap between BNA and non-BNA DSLAMs and get clean
	connects without adjusting the BNA flag through the control panel.

CAUSE:
	Ask them.

SOLUTION:
	When AdslTelcoId is HANARO, force BNA mode on when AdslHeadEnd (after being updated
	from C_MSG1 from CO) is either ADI or Globespan.  Force non-specific (non-BNA) mode
	when AdslHeadEnd is Texas Instruments.  One problem with this is that when 
	AdslHeadEndEnvironment is BNA, the CO will not train well enough with the Tigris RT
	to get CMSG_1, therefore AdslHeadEnd might not ever be Texas Instruments.  The ugly
	kludge around this is that when AdslTelcoId is Hanaro and we fail to train several
	times, we force non-specific (non-BNA) mode.

FILES:
	rtbgstat.c
		Put code in to count how many failures getting to showtime.  When it gets to 3
		and the AdslTelcoId is Hanaro, and AdslHeadEnd is either ADI or Globespan, it 
		forces BNA mode assuming the CO is TI.  Terrible Kludge, but only way to make
		money.

	xcvrinfo.h
		Defined XCVR_database->ReceivedVendorID structure element.
		Also created enumeration of Telco ID's.    
*******************************************************************************

*******************************************************************************
02/09/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver Linux

PROBLEM:
		Correct errors that show up when building for release
CAUSE:
SOLUTION:
FILES:
		ArmAbstract.c:
		ARMAbstract.h:
			change function return values from int to NT_STATUS to match 
			CardMgmt standard
		CardMgmt.c:
			Wrap setup of CardALDebugFlag with debug flag
			
*******************************************************************************

*******************************************************************************
02/12/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Machine crashing when running bit allocation table in smart terminal.

CAUSE:
	1) In smrtxcvr.c, a function prototype for MISC_GetChnlInfo() was specified with 2 
	UINT8 arguments.  Actually it is MISC_GetChnlInfo( XCVR_INFO_TYPE, UINT8 ).
	2) A call to MISC_GetChnlInfo() was made with a GEN_UINT calculation for the second
	argument. This was also in smrtxcvr.c .  

SOLUTION:
	1) Replaced the faulty function prototype with a valid one.
	2) I typecast the calculation for the second arg to UINT8.

FILES:
	smrtxcvr.c
*******************************************************************************

*******************************************************************************
02/12/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Sloppy code.

CAUSE:
	Code complexity increasing obsoletes old ways of doing things.   

SOLUTION:
	Replaced uses of ASIC_DEFINE_ACTIVE_TX_CHNL() macro such as:

    if( sys_nvram[XCVR_NUM_0][NEAR_END].xcvr_other_cfg.AdslHeadEnd == ANALOG_DEVICES_ID )
    {
        ASIC_DEFINE_ACTIVE_TX_CHNL(XCVR_NUM_0, DEFAULT_VALID_TX_CHNL_START+1, DEFAULT_VALID_TX_CHNL_END-1);
    }
    else
    {
        ASIC_DEFINE_ACTIVE_TX_CHNL(XCVR_NUM_0, DEFAULT_VALID_TX_CHNL_START  , DEFAULT_VALID_TX_CHNL_END  );
    }

	with

	ASIC_DEFINE_ACTIVE_TX_CHNL( XCVR_NUM_0, MISC_GetREVERB_StartTxChnl(), MISC_GetREVERB_EndTxChnl() );


FILES:
	ghrtbgst.c
	ghsutil.c
*******************************************************************************

*******************************************************************************
02/12/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	CHIP_ID_AFTER_F2PT is not defined correctly

SOLUTION:
	change >= to != in CHIP_ID_AFTER_F2PT definition

FILES:
	falcon.h
*******************************************************************************

*******************************************************************************
02/12/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Register 0xB2 QAM_BER is really a read-only register and should not be written to the image


SOLUTION:
	Replaced image address with NULL in peep poke table

FILES:
	falcon.c
*******************************************************************************

*******************************************************************************
02/13/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	miscutil.c and rtbgstat.c not compiling in Linux.

CAUSE:
	HWIO references invalid.   

SOLUTION:
	Eliminated use of HWIO #defines for BNA issues.  #Defined own similar
	macros in xcvrinfo.h .


FILES:
	rtbgstat.c
	miscutil.c
	xcvrinfo.h (xcvrinfo.h actually checked in on 2/12)
*******************************************************************************

*******************************************************************************
02/14/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	array out of bound access


SOLUTION:
    fix array out of bound in GHS_TONE_DETECTION in asicutil.c
    expand ghs_tone_detection array from GHS_TONE_RX_BAND_SIZE to 
    GHS_TONE_RX_TRANSFER_SIZE
    
FILES:
	asicutil.c, rtbgstat.c
*******************************************************************************

*******************************************************************************
02/14/01	rcl

PROJECT:	Tigris
SYSTEM:		Driver WAN/LAN/CO/WDM/Linux

PROBLEM:
		David Lau reported a problem with a corrupted variable. 
CAUSE:
		BG_NORMALroutine called with ASIC_GetAvgSigPwr passing ghs_tone_detection_pwr
		which is dimensioned as GHS_TONE_RX_BAND_SIZE. However, ASICUTIL.C
		ReadScratchPadRam case GHS_TONE_DETECTION copies using
		GHS_TONE_RX_TRANSFER_SIZE which is one larger.
SOLUTION:
FILES:
		rtbgstat.c:
			Dimension ghs_tone_detection_pwr with GHS_TONE_RX_TRANSER_SIZE
			rather than GHS_TONE_RX_BAND_SIZE to match the size of the copy
			in ReadScratchPadRam case GHS_TONE_DETECTION
*******************************************************************************

*******************************************************************************
02/14/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Support of special four plot test mode.


SOLUTION:
    New Feature
    
FILES:
	rtbgstat.c, miscutil.c, smrtxcvr.c
*******************************************************************************

*******************************************************************************
02/14/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		Yukon Pings take forever. 
CAUSE:
		Windows system had a fix for ARM buffer allocation after the BLD064 
		which is where the Linux port came from
SOLUTION:
		Put in this fix. It adds 4 parms to the registry (only one used right
		now and only in Yukon). ChipAL must use defaults if these are not in
		registry. I added an element to the TIG_USER_PARAMS structure to allow
		ChipAL to tell if value was found in registry so it can substitute
		default. CnxLoad sets all defaults to 0 so this mechanism is necessary.

		Long range, we should hide the PTIG_USER_PARAMS from driver and have
		it call a read routine like Windows does and the read routine is
		passed the parm to read and the default value to return if parm is
		not in registry just like windows. The Linux read routine would simply
		look in PTIG_USER_PARAMS.
FILES:
		CnxADSL.spec: (Tigris/Yukon)
			removed /etc/sysconfig/conexant from the file list as it is a 
			configuration file only produced by running vpi_vci script which
			should not be required to package a RPM
		CommonData.h:
			Added
				RxChannelSize;
				RxSegments;
				TxChannelSize;
				TxSegments;
				RxChannelSizeCfg;
				RxSegmentsCfg;
				TxChannelSizeCfg;
				TxSegmentsCfg;
		ConfigLabels.h:
			Added
				RX_CHANNEL_SIZE
				RX_SEGMENTS
				TX_CHANNEL_SIZE
				TX_SEGMENTS
		CnxLoad.c:
			Fixed format/parm mismatch in printf statements
			Added pConfiged to USER_CFG and added NULL to all ConfigParams
			except the following four:
				RX_CHANNEL_SIZE
				RX_SEGMENTS
				TX_CHANNEL_SIZE
				TX_SEGMENTS
			Added logic to set ConfigParams[cnt].pConfiged
		CnxADSL.conf: (Yukon only)
			Added RxSegments = 32 to fix Yukon ping problem
		ChipALCDSL.c:
			Change CHANNEL_SIZE_BY_SPEED from 1 to 0
			ChipALCfgInit should set four new parms in Tune from registry or
			from defaults if not in registry
				RxChannelSize;
				RxSegments;
				TxChannelSize;
				TxSegments;
		ChipAlDMAChanP46.c:
			#define MIN_NUMBER_SEGMENTS 2 >>> 8 
			#define	MAX_NUMBER_SEGMENTS 4 >>> 96
*******************************************************************************

*******************************************************************************
02/22/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Need to add Chung Ho and Chung Hwa to ADSL_TELCO_ID enumeration list for
	use by Euphrates and others.


SOLUTION:

    
FILES:
	xcvrinfo.h
*******************************************************************************

*******************************************************************************
02/22/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Avoid double write to TCR registers in G.HS and Fast Retrain

SOLUTION:
    New Feature in Trapper    
FILES:
	ghrttxst.c ghcotxst.c frrttxst.c frcotxst.c
*******************************************************************************

*******************************************************************************
02/22/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	chip ID is not displayed correctly in dumb terminal

CAUSE:
    reading chip ID before HRSTB pin is pulled high
    no TRAPPER chip ID string was defined yet.

SOLUTION:
	Reread QAM_RCR after InitFalcon to ensure correct chip ID
FILES:
	micro.c dmtintf.c falcon.c 
*******************************************************************************

*******************************************************************************
02/23/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	CRC in fast machine, RAM corruption after burst write rx bit tone table

CAUSE:
    reading MIF scratch pad RAM after Burst write will cause mysterious
    RAM corruption in even location

SOLUTION:
	Read another location instead of MIF scratchpad for P46 workaround
FILES:
	falcon.h 
*******************************************************************************

*******************************************************************************
02/23/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	MIF SPRAM is not defined volatile

SOLUTION:
	Add volatile keyword to the SPRAM type
FILES:
	mifctl.h 
*******************************************************************************

*******************************************************************************
02/26/2001	dand/davidsdj
26-Feb-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	Linux Yukon driver is not reading MAC address from EEPROM.

SOLUTION:
	Yukon MAC address is stored at different location than Tigris MAC address, need to be able to read MAC from EEPROM based upon card type.

FILES:
	CardALTigrisLC.c:
	CardALTigrisV.h:
	ChipALIoP46.h:
		Added capability to have different addresses for MAC address in EEPROM of the adapter card (i.e., able to use different storage address in EEPROM form MAC address for Tigris and Yukon boards).
	ChipALBusCtlP46.c:
		Fixed copyright notice.
		Fixed size of data structure 'ArmControlRegister' (to match windows code).
		Removed comment marks ('//') from beginning of conditional compile statements (caused syntax error and should not have been put in).
*******************************************************************************

*******************************************************************************
02/26/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	AFE not calibrate in G.dmt.  This causes low upstream performance and FEC in G.dmt 

SOLUTION:
	Move AFE calibration to AFE_Init          
FILES:
	afeintf.c cobgstat.c rtbgstat.c dpudmt.c
*******************************************************************************

*******************************************************************************
02/26/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	 Adjust Phase by 180 degrees in ATEBLK is required before Trapper for 
	 Conexant AFE

SOLUTION:
	With trapper or after, this is no longer necessary.  Check for Trapper before doing that         
FILES:
	frrtbgst.c ghrtbgst.c rtbgstat.c 
*******************************************************************************

*******************************************************************************
02/27/2001	dand/davidsdj
27-Feb-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver


PROBLEM:
	Check for kernel < 2.4.0 causes syntax error in 2.2.16 kernel.

SOLUTION:
	As yet unknown reason for fix that works -> changing inclusion of "version.h" header file to inclusion of "version-up.h" header file.

FILES:
	LnxTools.h:
		Also corrected file title block.


PROBLEM:
	DownLoadApp application is set to always compile debug mode.

SOLUTION:

FILES:
	Makefile:		<DownLoadApp folder>
		Removed line always causing debug mode.
		Enhanced debug mode, included define of DBG (used in application code).
*******************************************************************************

*******************************************************************************
02/28/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	 Default min SNR margin is 4dB in CO.
SOLUTION:
	Change the default to 6 dB 
FILES:
	xcvrinfo.h
*******************************************************************************

*******************************************************************************
02/28/2001	dand/davidsdj
28-Feb-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver


PROBLEM:
	Incorrect file title blocks (either incorrect information, missing file
	title block, or copyright out of date).

SOLUTION:

FILES:

  Base folder
	buildcnxrpm:
	ARMAbstract.h:
	CnxTTY.c:
		Added file title block.

  Base folder
	CnxADSL.spec:
	CommonData.h:
	ConfigLabels.h:
	LnxDefs.h:
  DownLoadApp Folder/Project
	CnxLoad.h:
  KernelModule Folder/Project
	_memcpy.c:
	CardAL.h:
	CardALTigrisDp.c:
	CardALTigrisDp.h:
	CardALTigrisHal.h:
	CardMgmt.h:
	CellDataTest.c:
	ChipALCdsl.c:
	ChipALCdsl.h:
	ChipALIoP46.c:
	ChipALIoP46.h:
	ChipALSEmw.c:
	CnxADSL.h:
	FramelAl.c:
	FramelALAAL.c:
	FramelALATM.c:
	SmSysIf.c:
	UtilDbg.h:
	Version.h:
		Updated file title block.


PROBLEM:
	Local driver/application header files should not be included using '<'
	and '>' (indicating a library/system header file) but instead should be
	included using quotes '"' and '"' around the filename.

SOLUTION:

FILES:

  KernelModule Folder/Project
	ARMAbstract.c:
	ARMAbstract.h:
	CardALTigrisDp.c:
	CardMgmt.c:
	CardMgmt.h:
	ChipALCdsl.c:
	ChipALCdsl.h:
	ChipALIoP46.c:
	ChipALIoP46.h:
	CnxADSL.h:
	CnxTTY.c:
	LnxTools.h:
	SmSysIf.c:
		Fixed header file inclusions (changed '#include <...>'
		to '#include "..."') for non library/system header files.


PROBLEM:
	Various syncronization problems between VSS <-> CVS.

SOLUTION:

FILES:

  Base folder
	buildcnxrpm:
		Corrected error output when no parameter given during command
		invocation of script.
		Added creation of file /etc/sysconfig/conexant (contains VPI
		and VCI to use in cnxadsl script) to build process.
	CnxADSL.spec:
		Commented out line creating lock (touch /var/lock/subsys/cnxadsl,
		to inform that driver is installed) when creating RPM.
		Added last line '/etc/sysconfig/conexant' back, so that it is
		installed from RPM.
	LnxDefs.h:
		Added LSS addition; added undefine for "INT" if already defined
		before doing define for "INT".

  DownLoadApp Folder/Project
	CnxConfig.c:
		Added relative path to common (base) header file include statements.
	CnxLoad.c:
		Added relative path to common (base) header file include statements.
		Added relative path to KernelModule header file include statements.
		Changed tab/spacing/indentation/multiline statements to match CVS files.

  KernelModule Folder/Project
	CardAL.h:
		Removed unwanted/extraneous debug defines, now use those defined
		in UtilDbg.h.
	CardMgmt.c:
		Fixed debug conditional compile check (changed "#ifdef DBG"
		to "#ifdef DBG").
	ChipALDMAChanP46.c:
	CnxTTY.c:
		Added LSS change; changed conditional inclusion of header file
		'<linux/version.h>' to unconditional inclusion of header file 
		'"LnxTools.h"' (and removed undefine of KERNEL_VERSION).
	ChipALSEmw.c:
		Fixed ASSERT macro call (wrapped with() where spaces were involved).
	Makefile:
		Updated from CVS, to support MODVERSIONS.


PROBLEM:
	Errors checked-in with last changes.

SOLUTION:

FILES:
	ARMAbstract.c:
		Corrected error in inclusion of CnxADSL.h header file (erroneously
		put in in last set of changes).
	LnxTools.h:
		Removed unknown patch (including version-up.h header file instead
		of version.h), problem was found and headers now included only
		where needed.
*******************************************************************************

*******************************************************************************
03/01/2001	dand/davidsdj
01-Mar-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver


PROBLEM:
	Various syncronization problems between VSS <-> CVS.

SOLUTION:

FILES:
  KernelModule Folder/Project
	CardALADSLDiag.c:
	CardALTigris.c:
	CardALTigrisDp.h:
	CardALTigrisTigrisHal.c:
	CardALTigrisTigrisHal.h:
		Changes to synchronize VSS <> CVS (add/remove blank lines).
	CardALTigrisDp.c:
	CardALTigrisDp.h:
		Updated file title block (added years to copyright).
	CellDataTest.c:
		Changes to synchronize VSS <> CVS (added $Header to file title block).
*******************************************************************************

*******************************************************************************
03/04/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Connecting at rates higher than 928 kbps upstream.

CAUSE:

SOLUTION:
	Added check on upstream rate option selected by CO.  If it is higher than
	928 kbps, and ReduceUpstreamCapacity flag is reset, set ReduceUpstreamCapacity flag
	and retrain.  If it is lower than 928 kbps and ReduceUpstreamCapacity flag is set,
	reset ReduceUpstreamCapacity flag and retrain. Otherwise proceed into showtime.  
	At next retrain, default to FULLRATE_BITS_PER_CHNL on upstream bits per channel.
	However, if ReduceUpstreamCapacity is set, change to FULLRATE_BITS_PER_CHNL-1.
    
FILES:
	rtbgstat.c
	ghrtbgst.c
*******************************************************************************

*******************************************************************************
03/06/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	AFE calibrated once upon startup.  Somehow, once in a long while it gets
	un-calibrated.  

SOLUTION:
	As a workaround, we recalibrate AFE upon restart in dmtintf.c

FILES:
	afeintf.c dmtintf.c
*******************************************************************************

*******************************************************************************
03/09/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Delay and WaitBurstDone were added to temporarily workaround 800 MHz problem  

CAUSE:
    Problem was really in scratch pad ram read prior burst done finished.

SOLUTION:
	With the root problem fixed, temporary work workaround is being taken out.

FILES:
	miscutil.c              
*******************************************************************************

*******************************************************************************
03/13/01	Jerry Viviano for David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Downstream connect rates too low at 15 kFt to satisfy Korean customer.

CAUSE:
	Not known.

SOLUTION:
	Change trellis coding gain parameter from 4 to 5 dB in XCVR_ComputeCodingGain().    

FILES:
	xcvrinfo.c 
*******************************************************************************

*******************************************************************************
03/13/01	Jerry Viviano for David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Unnecessary interrupts being generated by Tx state machine when train abort
	occurs.

CAUSE:
	Last set state on Tx state machine may have set small number in falcon symbols
	register.  An interrupt will occur every 250 uSec * the # of symbols in symbol
	register. 

SOLUTION:
	When Tx state machine aborts training, also load symbol register with large number
	of symbols.    

FILES:
	rttxstat.c 
*******************************************************************************

*******************************************************************************
03/13/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Connecting at rates higher than 928 kbps upstream.

CAUSE:
	We're just too good.

SOLUTION:
	Added check on upstream rate option selected by CO.  If it is higher than
	928 kbps, and ReduceUpstreamCapacity flag is reset, set ReduceUpstreamCapacity flag
	and retrain.  If it is lower than 928 kbps and ReduceUpstreamCapacity flag is set,
	reset ReduceUpstreamCapacity flag and retrain. Otherwise proceed into showtime.  
	At next retrain, default to FULLRATE_BITS_PER_CHNL on upstream bits per channel.
	However, if ReduceUpstreamCapacity is set, change to FULLRATE_BITS_PER_CHNL-1.
    
FILES:
	rtbgstat.c
	ghrtbgst.c
*******************************************************************************

*******************************************************************************
03/13/01	Jerry Viviano for David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Downstream connect rates too low at 15 kFt to satisfy Korean customer.

CAUSE:
	Bmax calculations and rate option selection too conservative because TRELLIS_OVERHEAD() 
	was being based on number of valid channels instead of number of active channels. 

SOLUTION:
	Change from:
		TRELLIS_OVERHEAD( XCVR_database->bit_capacity_info.num_of_valid_chnls );
	To
		TRELLIS_OVERHEAD( XCVR_database->bit_capacity_info.num_of_active_chnls );
    
FILES:
	miscutil.c
	rtbgstat.c 
*******************************************************************************

*******************************************************************************
03/13/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Extra semicolon found in new rate option selection routine.

CAUSE:
	Korean jet lag with programmer.  Too much kim chee. 

SOLUTION:
	Take out the semicolon in MISC_SelectRateOption().
    
FILES:
	miscutil.c 
*******************************************************************************

*******************************************************************************
03/13/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	1) Poor up and downstream performance after line conditions change or long use
	of modem.
	2) Upstream FEC's at 0 kFt agains Globespan CO device.

CAUSE:
	1) AFE calibration drift.
	2) Globespan CO device Rx AGC bug.

SOLUTION:
	1) Add call to AFE_Calibrate() before every retrain for both G.HS
	and T1.413.
	2) Reduce Tx level by 2 dB on short loops.    

FILES:
	rtbgstat.c
	ghrtbgst.c
*******************************************************************************

*******************************************************************************
03/16/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	None really.

CAUSE:
	N/A

SOLUTION:
	Just added 
		#define DBGP(x) ( (SINT16) debug_parameters[x]  )
	to make use of the debug_parameters a little easier.     

FILES:
	xcvrinfo.h
*******************************************************************************

*******************************************************************************
03/16/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Only getting 7616 kbps downstream on short lines in interleaved mode.

CAUSE:
	Our rate selection algorithm selected rate option with highest total payload +
	Reed Solomon requirements that fit within Bmax.  Sometimes, the total
	requirement of the second option was higher than that of the first, while
	the user payload of the first was higher than the second.

SOLUTION:
	Find rate option with highest user payload while its total user payload +
	Reed Solomon requirement still fits within Bmax.    

FILES:
	miscutil.c
*******************************************************************************

*******************************************************************************
03/19/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		Intermittent kernel panic when reaching showtime. 
CAUSE:
		ALLOCATE_MEMORY was calling kmalloc with arg GFP_KERNEL which is a
		nono from interrupts and timers. 
		
		When we reached showtime, we were calling ChipALDmaChanP46Enable which 
		called DmaRxDataHandler which passed a lot of segments to P46. Each
		command was queued by allocating a chunk for the command in 
		CalP46ArmWrite. There were 95 such commands now that MAX_NUMBER_SEGMENTS
		was increased recently to 96. 
SOLUTION:
FILES:
		LnxTools.h:
			Use GFP_ATOMIC rather than GFP_KERNEL to allow usage by interrupts
			and timers.
		ChipALDMAChanP46.c:
			Corrected multiple references to pCh->Extension that should have 
			been &pCh->Extension.  This was corrupting memory. From Windows
			baseline.
*******************************************************************************

*******************************************************************************
03/19/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Unable to achieve showtime with Falcon 2PT in G.dmt mode

CAUSE:
    I have added FORCE_TX_STATE_NOW for Trapper.  I thought it's okay for Falcon 2PT.
    It has some strange side effects.

SOLUTION:
	check for after F2PT before doing FORCE_TX_STATE_NOW

FILES:
	asicutil.h
*******************************************************************************

*******************************************************************************
03/19/2001	dand/davidsdj
19-Mar-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver


PROBLEM:
	MAC address not being read from card (address out of device range) for Yukon.

SOLUTION:
	Yukon card EEPROM is twice the size of the Tigris card.  Software must set
	size of EEPROM according to card type.

FILES:
  KernelModule Folder/Project
	ChipALSEmw.c:
		Added changes/updates so that table used to access EEPROM is
		initialized (during driver initialization) based upon the card
		type on which the software is running.
*******************************************************************************

*******************************************************************************
03/20/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Found out the fix to call AFE_Calibrate() before each retrain was done twice,
	once by myself, and once by someone else, in two different ways.  No functional
	problems, only sloppy coding.

CAUSE:
	Poor communications.

SOLUTION:
	Remove calls to AFE_Calibrate() in rtbgstat.c and ghrtbgst.c.    

FILES:
	rtbgstat.c
	ghrtbgst.c
*******************************************************************************

*******************************************************************************
03/20/2001	dand/davidsdj
20-Mar-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver


PROBLEM:
	Noticed only file "buildcnx" was being deleted from temporary directory
	before tarball creation (the file "buildcnxrpm" was not also being deleted).

SOLUTION:

FILES:
	buildcnxrpm:
		Added removal of file "buildcnxrpm" (along with file "buildcnx") before
		creation of tarball from the temporary directory.


PROBLEM:
	Noticed string specifying Linux Support Services as packager of RPM.

SOLUTION:

FILES:
	CnxADSL.spec:	<Tigris>
		Changed RPM packager string from "Linux Support Services, Inc."
		to "Conexant Systems, Inc.".


PROBLEM:
	Not all changes made to Tigris also made here.

SOLUTION:

FILES:
	CnxADSL.spec:	<Yukon>
		Changes to match last several changes made to same file in Tigris.
*******************************************************************************

*******************************************************************************
03/20/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Four plot variables not declared for CO code

SOLUTION:
	move declaration to smrtxcvr.c and extern in rtbgstat.c

FILES:
	smrtxcvr.c rtbgstat.c
*******************************************************************************

*******************************************************************************
03/21/2001	Ali Abdallah

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	1 - Unable to connect at 800 kpbs upstream with the Serome and DigiTel cards 
	    for loop lengths up to 1 kft against the CSCO ADI DSLAM in BNA mode.
	2 -	Low downstream connect rate at 14 kft accompanied by FECs with bothe DigiTel 
	    and Serome.  

CAUSE:
   1 - 	Could be due to one or more of the following: 
   		a. Long Tx filetrs might be causing problems to the ADI TEQ. 
   		b. Smooth transition from the passband to the stopband seems to improve the upstream 
   		   throughput comapred to a sharp or flat roll-off.
		c. POTS (splitters) were added to the cards.
	2 - Too much Tx gain.

SOLUTION:
	1 - Added a new TX filters to be used for BNA mode only. The filters have smooth
	    transition in the passband. In addition, the filters will compensate for the 
	    splitters added. 
	2 - Reduced the long loop TX filter gain.
	
FILES:
    RTBGSTAT.C
	XCVRINFO.C
	XCVRINFO.H
	MISCUTIL.C
*******************************************************************************

*******************************************************************************
03/21/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Not getting BNA mode when AdslTelcoID=HANARO and ADI CO.  (Actually seen
	only in 085 Korean branch.  But when we get AdslTelcoID processing integrated
	into the trunk, this will be a problem here as well. 

CAUSE:
	Not all decisions based on AdslHeadEndEnv are using MISC_DetAdslHeadEndEnvToUse() 

SOLUTION:
	Convert all AdslHeadEndEnv decisions to MISC_AdslHeadEndEnvToUse().     

FILES:
	ghrtbgst.c
	rtbgstat.c
	miscutil.c
*******************************************************************************

*******************************************************************************
03/21/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Retrain count is needed by Korean customers 
 
SOLUTION:
	add retrain counter in hwio HW_IO_TRANSCEIVER_STATUS_T 
	data structure and update in rtbgstat.c

FILES:
	hwio.h CardAlBdDp.c rtbgstat.c
*******************************************************************************

*******************************************************************************
03/22/2001	Ali Abdallah

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	1 - Wrong selection of the TX filter in BNA mode with the ADI CSCO DSLAM. 
 	2 -	Removed the BNA label and replaced it with HEAD_END_ENV_NO_LINE_DRIVER.  

CAUSE:
   1 - Different labels were used when changing the trunk code to include teh changes 
       made to the branch for Korea using BNA mode. 

SOLUTION:
	1 - Converted to the correct label for BNA.
		
FILES:
    RTBGSTAT.C
	GHRTBGSt.C
	XCVRINFO.H
	MISCUTIL.C
*******************************************************************************

*******************************************************************************
03/22/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	CO Tigris TX side is causing downstream HEC, RT doesn't use xcvr_atm_cfg
    to program RXSOC.  Lucky default is 0.
 
SOLUTION:
	swap ATM0 and ATM1 of TXSOC in ATU-C, use xcvr_atm_cfg to program TXSOC and RXSOC

FILES:
	cardaltigris.c asicutil.c 
*******************************************************************************

*******************************************************************************
03/22/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	update far end defects even CRC is wrong
 
SOLUTION:
	check CRC before reading far end indicator bits

FILES:
	monxcvr.c
*******************************************************************************

*******************************************************************************
03/23/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver WAN/LAN/CO/WDM/Linux

PROBLEM:
		On some ports (e.g. Pairgain Slot 5 port 5 @5Kft 24AWG) we falsely detect
		g.hs. 
CAUSE:
		Unknown
SOLUTION:
		Make a threshold (e.g. 6dBm) that must be exceeded before g.hs notifies
		autosense of a detection.	Harry Lau worked out this threshold by
		empirical testing on all loop lengths and impairments.
FILES:
		ghsbgst.c:
			Make a threshold (e.g. 6dBm) that must be exceeded before g.hs notifies
			autosense of a detection.
			Fix some compiler warnings.

*******************************************************************************

*******************************************************************************
03/23/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Compiler error in Euphrates
 
SOLUTION:
    move "include <stdio.h>" from dmtdbg.h to dmtdbg.c
    remove following line in hwio.h
        typedef  HW_IO_SET_SOFTWARE_SWITCHHOOK_T HW_IO_SET_SOFTWARE_SWITCHHOOK_T ;
    change following line 173 in util.c from
         return '!!' to return ('!'* 0x100 + '!') since not all compiler supports it
    change UINT16 to DIAG_SUBCODE_TYPE in line 49 of diagnos.c
FILES:
    dmtdbg.h dmtdbg.c  hwio.h  util.c  diagnos.c
*******************************************************************************

*******************************************************************************
03/27/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	AFE issue for CO
 
SOLUTION:
    No effects on RT code.  All changes are inside compiler switch
FILES:
    afeintf.c xcvrinfo.h dpudmt.c
*******************************************************************************

*******************************************************************************
03/28/2001	dand/davidsdj
28-Mar-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver


PROBLEM:
	Script, executable, configuration, specification, etc. file names are not
	consistent.

SOLUTION:
	Changed to newer consistent file names.

FILES:
  Base folder
	buildcnxadsl.sh:
		New file, used to be last part of buildcnxrpm script file.
		Changed to be the common part of RPM build with the device and product
		names passed in as parameters.
	buildcnxcvs.sh:
		New file, used to be buildcnx script file (retrieve from CVS and build).
		Changed to call script file buildcnxrpm.sh so that device and product
		names are set release build.
	buildcnxrpm.sh:
		New file, used to be last part of buildcnxrpm script file.
		Changed to set the device and product names used in the RPM file name
		and pass them and the Version parameter to the new buildcnxadsl.sh
		script file.
		Changed to newer consistent file names.
	cnxadslctl.sh:
		New file, used to be the cnxadsl script file.
		Changed to newer consistent file names.
	cnxadslrpm.spec:
		New file, used to be the CnxADSL.spec RPM specification file.
		Changed to newer consistent file names.
	ConfigLabels.h:
	Makefile:
		Changed to newer consistent file names.
	vpi_vci.sh:
		New file, used to be the vpi_vci script file.
		Changed to newer consistent file names.
  DownLoadApp Folder/Project
	Makefile:
		Added new (very basic) application (cnxadslstatus) to return showtime
		status of ADSL driver.
		Changed to newer consistent file names.
*******************************************************************************

*******************************************************************************
03/28/2001	dand/davidsdj
28-Mar-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver


PROBLEM:
	Release number must be edited by hand into cnxadslrpm.spec file.

SOLUTION:
	Make part of build release procedure.

FILES:
  Base folder
	buildcnxadsl.sh:
	buildcnxrpm.sh:
		Added second parameter, Release number, to invocation of script file.
	buildcnxcvs.sh:
		Added fourth parameter, Release number, to invocation of script file.
*******************************************************************************

*******************************************************************************
03/28/2001	dand/davidsdj
28-Mar-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver


PROBLEM:
	Release source tarball does contain the build RPM script files.

SOLUTION:
	Add build RPM script files back into source tarball of release build.

FILES:
  Base folder
	buildcnxadsl.sh:
		Changed so that build RPM script files (buildcnxcvs.sh, buildcnxrpm.sh,
		and buildcnxadsl.sh) are not deleted before building the source tarball.
*******************************************************************************

*******************************************************************************
03/29/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/Linux

PROBLEM:
	Vendor ID is still Pairgain
 
SOLUTION:
    change vendor ID to Conexant (i.e. 0x0030)
FILES:
    cardalremote.h
*******************************************************************************

*******************************************************************************
03/29/2001	dand/davidsdj
29-Mar-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver


PROBLEM:
	Four "readme.txt" files must be edited with exact same changes.

SOLUTION:
	Consolidate to one generic (not product (Tigris or Yukon) or Linux kernel
	specific) "readme.txt" file.

FILES:
  Instructions folder
	readme.txt:
		Rearranged so that this readme file applies to both Tigris and Yukon
		drivers regardless of the Linux kernel version.
  Base folder
	buildcnxadsl.sh:
		Added edit of the "readme.txt" file's driver version number to the
		version number passed into this script file.  NOTE: the "readme.txt"
		file's driver version number should always be "11.22.33.44" so that
		the edit performed by this script file will always work correctly!!
*******************************************************************************

*******************************************************************************
03/29/2001	dand/davidsdj
29-Mar-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver


PROBLEM:
	Build RPM script file is very rigid in requiring Version, Release, Device
	and Product strings to match exactly for automatic edit to take place.

SOLUTION:
	Change to use regular expression for search and replace automatic edit.

FILES:
  Base folder
	buildcnxadsl.sh:
		Changed automatic edit of "readme.txt" and "cnxadslrpm.spec" files to
		use regular expression ".+" (which searches for any character found
		one or more times) after the name identifier (e.g., "Version: ") to
		eliminate rigid exact string search (e.g., was "Version: 1.2", now
		is "Version: .+").
	cnxadslrpm.spec:
		Changed comments requiring Version, Release, and Name strings to be
		unchanged forever to specifying name identifier string
		(e.g., "Version: ") should not occur before the next line.
*******************************************************************************

*******************************************************************************
03/29/2001	dand/davidsdj
29-Mar-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver


PROBLEM:
	The change to the new configuration file name, "cnxadslvpivci.conf", was
	not completed correctly in all script and specification files.

SOLUTION:
	Correct file name.

FILES:
  Base folder
	cnxadslctl.sh:
	cnxadslrpm.spec:
		Changed configuration file name referenced to "cnxadslvpivci.conf".
*******************************************************************************

*******************************************************************************
03/30/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	TEQ overflow when AFE rx gain max out.  This problem occurs in CO. It also
	happens in RT in some BNA mode when CO is not transmitting full power
 
SOLUTION:
    Instead of keep scaling TEQ tap up, scale up the FFTDYN
FILES:
    miscutil.c
*******************************************************************************

*******************************************************************************
03/30/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	Some customers want us to train on low downstream SNR and also too many
	upstream CRC error indications.

CAUSE:
	That's the way the want it. 

SOLUTION:
	Add support for retraining on too many conscutive seconds of low downstream
	SNR as well as too many upstream CRC indications.  These parameters needed
	to be added to global structures so that they could be initialized by INF
	entries. Added AdslSNR_SecsToRetrain and AdslSES_Sensitivity to
	XCVR_OTHER_CFG_TYPE.    

FILES:
	xcvrinfo.h
*******************************************************************************

*******************************************************************************
04/02/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO Windows/Linux

PROBLEM:
	Incorrect display of data rate and physical statistics in control panel for CO Tigris
 
SOLUTION:
    Distinguish between upstream vs near-end and downstream vs far-end in data rate
    and physical statistics.
    
FILES:
    cardaltigris.c cardalBdDp.c
*******************************************************************************

*******************************************************************************
04/03/01	Jerry Viviano/Vlad Dorfman

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	Some customers want us to train on low downstream SNR and also too many
	upstream CRC error indications.	 (Continued)

CAUSE:
	That's the way the want it. 

SOLUTION:
	Add support for retraining on too many conscutive seconds of low downstream
	SNR as well as too many upstream CRC indications. This involved adding 2
	algorithms to monitor.c . 1) Retrain on near-end SNR being below an INF specified level
	for more than an INF specified number of consecutive seconds. 2) Retrain on
	an INF specified number of seconds of too many upstream CRC errors.  This also
	required a couple of initialization routines in monxcvr.c .   

FILES:
	monitor.c
	monxcvr.c
*******************************************************************************

*******************************************************************************
04/03/01	Jerry Viviano/Vlad Dorfman

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	NONE

CAUSE:
	NONE 

SOLUTION:
	Document as comments names of INF parameters which are used to initialize various 
	retrain algorithm parameters.   

FILES:
	monitor.c
*******************************************************************************

*******************************************************************************
04/04/2001	dand/davidsdj
04-Apr-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver


PROBLEM:
	Yukon not installing correctly.

SOLUTION:
	Correct PCI vendor id, PCI device id, and board type passed to driver in
	insmod command to Yukon instead of Tigris.

FILES:
  Base folder
	cnxadslctl.sh:
		File cannot be shared between Tigris and Yukon projects since both
		need different values passed to driver with insmod command.
		Change Yukon script file to pass Yukon values to driver.


*******************************************************************************

*******************************************************************************
04/07/01	rcl

PROJECT:	Yukon
SYSTEM:		Linux

PROBLEM:
	Yukon not establishing 'showtime'.

SOLUTION:
	Correct wiring selection mode in the configuration file for Yukon to
	be automatic instead of fixed.

FILES:
  DownLoadApp Folder/Project
	cnxadsl.conf:
		Changed wiring selection mode ("AutoWiringSelection") to automatic (0)
		instead of fixed (3).
*******************************************************************************

*******************************************************************************
04/07/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Linux

PROBLEM:
		Discovered autosense was detecting 0 signal on tip/ring and weak g.hs
		signal on A/A1 against Cisco/ADI DSLAM running G.hs on Tip/RIng.
CAUSE:
		Unknown
SOLUTION:
		Change AutoWiringSelection from 0 to 1
FILES:
		cnxadsl.conf:
			Change AutoWiringSelection from 0 to 1 since we have a problem of
			false wiring detects on the wrong pair with Cisco/ADI G.HS
*******************************************************************************

*******************************************************************************
04/11/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		Need to view current settings in conf file as written by cnxadslconfig.
CAUSE:
		
SOLUTION:

FILES:
		cnxadslconfig.c:
			Added -Q query option
				-Q0 to view supported settings
				-Qh to view head end (vendor) choices
			Added -h ADSL head end (Vendor) option
			Added -e ADSL head end environment option
			Updated usage
			made AdjustIntParameter accept a format string to support hex
			made ValidateInteger accept format char to support hex
			Corrected AdjustIntParameter to not match superset labels
*******************************************************************************

*******************************************************************************
04/12/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO Windows/Linux

PROBLEM:
	Annex B support
 
SOLUTION:
    For now, a compiler switch is added to support Annex B, later we'll
    make it a run-time variables
    
FILES:
    xcvrinfo.h qedfer.h
*******************************************************************************

*******************************************************************************
04/12/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO Windows/Linux

PROBLEM:
	Variables name politically incorrect
 
SOLUTION:
    rename AdslLineSpeedUpOrFar and  AdslLineSpeedDownOrNear to AdslLineSpeedFar and 
    AdslLineSpeedNear
    
FILES:
    cardaltigris.c cardalTigrisDiag.c CardALTigrisLC.c CardAlTigrisV
    DevIoCardAL.h
*******************************************************************************

*******************************************************************************
04/12/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO Windows/Linux

PROBLEM:
    eoc and serial msg is processed periodically every msec regardless if there's
    msgs or not.
 
SOLUTION:
	create software Trap event to wait for eoc and serial msg
    
FILES:
    CardAlTigrisDp.h    CardAlTigrisV.h    micro.c    CardAlTigris.c
    CardAlTigrisDp.c
   
*******************************************************************************

*******************************************************************************
04/16/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		Need to provide statistics in user friendly command.
CAUSE:
		
SOLUTION:

FILES:
		cnxadslctl.sh:
			Added Statistics case
			cat /proc/net/atm/CnxAdsl:0 |more
*******************************************************************************

*******************************************************************************
04/16/01	Min Wang

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO Windows/Linux

PROBLEM:
		"Negaive" payload in R_MSG_RA is resulted from small Bmax and all
		numbers invloved in the computations are unsigned.
    
SOLUTION:
    		In BG_BITALLOCroutine() of RTBGSTAT.C, checks are introduced 
		whenever c=a-b is involved, where a,b,c are unsigned. 
		if(a>=b) c = a-b;
		else c = 0;

FILES:
    		RTBGSTAT.C
   
*******************************************************************************

*******************************************************************************
04/16/01	Vlad Dorfman

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO Windows/Linux

PROBLEM:
    The "coding gain" change is introduced to improve the coding gain
    and SNR margin calculations.
    Rate Selection is improved based on the above to account for 
    difference between the coding parameters in the options offered by CO.
    
SOLUTION:
    XCVRINFO.C 
    Three routines are added to calculate coding gain more precisely 
    depending on the Reed-Solomon coding parameters - K and R.
    UINT8 XCVR_ComputeCodingGainKR (BOOLEAN is_trellis, BOOLEAN is_fec, GEN_UINT K, GEN_UINT R); 
    UINT8 XCVR_ComputeCodingGainRS    (GEN_UINT K, GEN_UINT R);  
    UINT8 XCVR_ComputeCodingGainRSTCM (GEN_UINT K, GEN_UINT R); 
    
    UINT8 XCVR_ComputeCodingGainTarget is added to be used in the future 
    for setting the target coding gain during the Bitalloc stage. (R_MSG_RA)
    and it is not used yet.

    RTBGSTAT.C 
    SelectRateOption function is added and made local.
    ComputeCodingGainCisco is added for future use - not used yet.
    
    MISCUTIL.C 
    MISC_ComputeSnrMarginTbl is modified to use the coding gain
    calculated by SelectRateOption during C_RATES_RA stages.  
    GetSnrMargin is modified to use the fractional format in the RTBG_coding_gain
    and calculation of the margin is corrected for bins with 3 btis
    
    
FILES:
    XCVRINFO.C   RTBGSTAT.C   MISCUTIL.C
   
*******************************************************************************

*******************************************************************************
04/16/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO Windows/Linux

PROBLEM:
	Use of Trapper timer for MIC_GetCurrentTick and MIC_ElapsedMsec
 
SOLUTION:
    If chip ID is trapper or after, use Trapper HW timers instead
    
FILES:
    falcon.h, asicutil.h, falcon.c, xcvrinfo.c, dmtintf.c, micro.c, mifctl.h
*******************************************************************************

*******************************************************************************
04/16/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		We are using two different configuration files and commands.
CAUSE:
		vpi_vci.sh writes to cnxadslvpivci.conf which is read by cnxadslct.sh.
		This is a second conf file containing just vpi/vci and is in addition to
		the conf file cnxadsl.conf.  We should configure vpi_vci with 
		cnxadslconfig which writes to cnxadsl.conf. cnxadslct.sh should read 
		this conf file instead of the cnxadslvpivci.conf to find the VPI-VCI
		values. This will centralize all parms in one conf file and all
		configuration in one program:
			vpi_vci.sh >>> cnxadslvpivci.conf >>> cnxadslct.sh (vpi_vci)
			cnxadsconfig >>> cnxadsl.conf >>> cnxadslload (all other parms)
SOLUTION:
		change to
			cnxadslconfig >>> cnxadsl.conf >>> cnxadslctl.sh (vpi_vci)
			cnxadslconfig >>> cnxadsl.conf >>> cnxadslload (all other parms)
		The cnxadslctl.sh could read the values by greping and awking the conf 
		file from the cnxadslctl.sh script. This is a little harder than the 
		existing method of running the cnxadslvpivci.conf file (which is really
		a script to set to local variables) and utilizing variables with the
		vpi/vci values. Although slightly harder, it would simplifiy matters.

FILES:
		buildcnxadsl.sh:
			remove reference to obsolete vpi_vci.sh
			remove reference to obsolete cnxadslvpivci.conf
		chgmodscripts.sh
			remove reference to obsolete vpi_vci.sh
		*cnxadslctl.sh:
			remove reference to obsolete cnxadslvpivci.conf
			Grep /etc/Conexant/cnxadsl.conf to get VPI/VCI
			Change new statistics case to "stat"
		*cnxadslrpm.spec:
			remove reference to obsolete vpi_vci.sh
			remove reference to obsolete cnxadslvpivci.conf
		ConfigLabels.h:
			Added ATM_VPI
			Added ATM_VCI
		Makefile:
			remove reference to obsolete vpi_vci.sh
		*cnxadsl.conf:
			Added ATM_VPI
			Added ATM_VCI
			regrouped some parms and added some comments
		cnxadslconfig.c:
			changed from using getopt to getopt_long to support --vpi and --vci options
			Updated usage for --vpi and --vci
			Added support in AdjustIntParameter to allow format to follow label without spaces
			Added support in AdjustIntParameter to print lines on column boundaries
			Added support in ReadAllParameters to print ATM_VPI and ATM_VCI
			Changed ReadAllParameters to use a table
		vpi_vci.sh:
			Deleted
		*Changed both Tigris and Yukon versions
*******************************************************************************

*******************************************************************************
04/17/01	Min Wang

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO Windows/Linux

PROBLEM:
		In MISC_SelectRateOption() of MISCUTIL.C:
		1. TotalPayloadPlusRS_Bits -= TRELLIS_OVERHEAD(...) without
                   checking that TotalPayloadPlusRS_Bits is greater than
                   or equal to TRELLIS_OVERHEAD(...)
		2. Rounding in the overhead & payload computation in
                   BG_BITALLOCroutine() of RTBGSTAT.C doesn't reflect here. 
    
SOLUTION:
    		1. Adding a check before the subtraction.
		2. Adding 4 to TotalPayloadPlusRS_Bits.
FILES:
    		MISCUTIL.C
   
*******************************************************************************

*******************************************************************************
04/17/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		cnxadslctl.sh is installed in a directory that is not in the default
		search path forcing you to type the full path name.
CAUSE:
		
SOLUTION:
		Install it in /usr/bin and put a link to it in the old location of
		/etc/rc.d/init.d

FILES:
		cnxadslrpm.spec:
			change path of cnxadslctl.sh from /etc/rc.d/init.d to /usr/bin
				in all references to it (forming links, chgmod
			Update reference to vpi_vci.sh to cnxadslconfig
		Makefile:
			change path of cnxadslctl.sh from /etc/rc.d/init.d to /usr/bin when
				copying this file upon install and removing upon uninstall

*******************************************************************************

*******************************************************************************
04/17/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	Messy code.

CAUSE:
	Haste makes waste. 

SOLUTION:
	Eliminate useage of XCVR_NUM_0 in miscutil.c routines MISC_GetREVERB_EndTxChnl()
	and MISC_GetMEDLEY_EndTxChnl(). Replace with xcvr_num argument.  Replace all
	calls to these routines with calls conforming to new arg lists.   

FILES:
	miscutil.c
	rtbgstat.c
	ghrtbgst.c
	ghsutil.c
*******************************************************************************

*******************************************************************************
04/17/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO Windows/Linux

PROBLEM:
    Very inefficient to wake up every few ticks to process low resolution periodic task

CAUSE:
	Easiest way to implement. 
 
SOLUTION:
	Create new task for low resolution periodic task
    
FILES:
    cardaltigris.c, cardaltigrisv.h
*******************************************************************************

*******************************************************************************
04/18/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	Obsolete code still exists.

CAUSE:
	Code was left in place, but #if 0'ed until new method was proven. 

SOLUTION:
	Eliminate code block in MISC_SelectRateOption() that at one time subtracted 
	approximately 2 bits per bin of bit capacity when connected to ADI CO.  
	Better Tx filtering was used as a better way to eliminate downstream FEC's for 
	which the obsolete code was the first attempt.  This code change should have no 
	impact on performance, as the obsolete code was not even being compiled. 

FILES:
	miscutil.c
*******************************************************************************

*******************************************************************************
04/18/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	Prototype mis-match for	MISC_SelectRateOption() in miscutil.c

CAUSE:
	Crept in in recent code clean-up effort. Windows compiler did not catch it as an
	error.  Linux compiler did.  

SOLUTION:
	Correct arg list in MISC_SelectRateOption() prototype. 

FILES:
	miscutil.c
*******************************************************************************

*******************************************************************************
04/18/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	2 registries to adjust SNR margin and FEC threshold

CAUSE:
	Provide flexibility for Korean customers

SOLUTION:
    add 2 more entries in the registries

FILES:
 CardALTigrisLC.c xcvrinfo.h cardalremote.h CardAlTigrisV.h CardAlADSLDiag.c
 monxcvr.c

*******************************************************************************

*******************************************************************************
04/18/2001	dand/davidsdj
18-Apr-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	Warnings during compile of source files.

SOLUTION:
	Fix.

FILES:
  KernelModule folder
	CardALTigris.c:
		In function "cardALCloseDumbTerminal" compiler incorrectly assumed
		variable "pContext" was not used even though it is initialized in
		the variable declaration and used in a macro.  Changed initialization
		to occur as the first function statement instead of in the variable
		declaration.
	ChipALCdslV.h:
		Removed redundant/unnecessary braces around initializer ("{{0}}"
		to "{0}").
*******************************************************************************

*******************************************************************************
04/18/2001	dand/davidsdj
18-Apr-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	Need data pump controller code released in source release as an object file without any source code.

SOLUTION:

FILES:
  Base folder
	Makefile:
		Added execution in KernelModule/DpController folder.
  KernelModule folder
	Makefile:
		Added inclusion of DpController folder in search paths when searching for include files.
	All Data Pump Controller files (98 files):
		Moved to sub-folder DpController.
  KernelModule/DpController folder  (New Folder)
	Makefile:
		New make file for this new folder (pulled from the parent (KernelModule) folder's Makefile and modified).  Generates the Data Pump Controller object file and copies it to the parent KernelModule folder for inclusion as part of the driver module build.
	All Data Pump Controller files (98 files):
		Moved here from parent folder KernelModule.
*******************************************************************************

*******************************************************************************
04/19/2001	dand/davidsdj
19-Apr-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	In isolating the data pump controller code into an object file without any source code, dependencies between the data pump controller code and the rest of the code were uncovered.

SOLUTION:
	FOR NOW: Move needed data pump controller code header files back to parent KernelModule folder.
	FUTURE: Isolate data pump controller code from rest of code through a defined interface.

FILES:
  Base folder
	buildcnxadsl.sh:
		Added making of object modules, data pump controller code for now, (which will make the object files, copy the object files to the KernelModule folder, and then delete the object module folder (remove source files)) before the source tarball is created so that the object module's source files will not be included in the source tarball/RPM.
	Makefile:
		Added new phony target, "modules", so that the data pump controller module (and any other modules added later) object file can be generated, copied to the KernelModule folder, and the DpController folder (containing source files not to be released) deleted.
		Changed phony target "all" and "clean" to only execute within object module folders if those folders exist.
  DownloadApp folder
	Makefile:
		Added new phony target, "modules", to generate an error message if used/called.
  KernelModule folder
	Makefile:
		Changed module object file name for data pump controller code from "PairGain.o" to "dpcontroller.o".
		Added new phony target, "modules", to generate an error message if used/called.
  KernelModule/DpController folder
	Makefile:
		Changed module object file name for data pump controller code from "PairGain.o" to "dpcontroller.o".
		Added new phony target, "modules", so that the data pump controller module (and any other modules added later) object file can be generated, copied to the KernelModule folder, and the DpController folder (containing source files not to be released) deleted.
  KernelModule/DpController folder
  KernelModule folder
	asicutil.h:
	ateblk.h:
	atmeblk.h:
	c166.h:
	dacintf.h:
	diblk.h:
	dmtapi.h:
	dmtdbg.h:
	falcon.h:
	fftblk.h:
	ghsutil.h:
	micro.h:
	microxcv.h:
	mifctl.h:
	project.h:
	qedfer.h:
	seqblk.h:
	stdarg.h:
	sysinfo.h:
	types.h:
	xcvrinfo.h:
	xcvrver.h:
		Moved files from KernelModule/DpController folder back to parent folder KernelModule.
*******************************************************************************

*******************************************************************************
04/19/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	2 coding gain variables defined. Both in different format

SOLUTION:
    merge the 2 coding gains and unified format to Q8

FILES:
   dmtintf.c cobgstat.c miscutil.c xcvrinfo.h rtbgstat.c xcvrinfo.c

*******************************************************************************

*******************************************************************************
04/19/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	registries entry names too descriptive, MarginAdjust is unsigned.

SOLUTION:
  1.change MarginAdjust and FecThreshold to ADSLOption1 and ADSLOption2
    However, variable names in xcvrinfo.h is named MarginAdjustOp1 and FecThresholdOp2
    for ease of use
  2.change MarginAdjust to signed per Jerry's request.

FILES:
   xcvrinfo.h monxcvr.c rtbgstat.c xcvrinfo.c cardalremote.h
   CardAlADSLDiag.c
*******************************************************************************

*******************************************************************************
04/20/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	Can seldom get vendor ID in G.HS mode.

CAUSE:
	We have only been looking at T1.413 C_MSG1 vendor ID field, which by the
	G.HS standard should be left blank for G.HS connections. 

SOLUTION:
	Look at G.HS ProviderCode field.  Decipher the 4 bytes in it to determine
	CO device vendor ID.  Then translate it into the equivalent T1.413 vendor ID
	which is used throughout the rest of the code.  Only look at C_MSG1 vendor ID
	field when connecting in T1.413 mode.  Otherwise, use the G.HS derived vendor ID.
	A new routine, ProviderCodeToVendorID() has been added to ghsrtst.c to convert
	from provider code to vendor ID. 

FILES:
	ghsrtst.c
	rtbgstat.c
*******************************************************************************

*******************************************************************************
04/20/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	Downstream FEC errors at 10 kFt against Globespan CO's . 

CAUSE:
	Not certain. 

SOLUTION:
	When vendor ID is Globespan in G.hs or Cisco in T1.413, limit the max
	downstream bits per bin to 13 .

FILES:
	rtbgstat.c
*******************************************************************************

*******************************************************************************
04/21/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO Windows/Linux

PROBLEM:
	In MISC_BitPreallocation routine, we forgot to take trellis overhead into 
	consideration.  It's fine for Issue 2 but causes problem in Issue 1

SOLUTION:
    Add one more paramter for trellis overhead in MISC_BitPreallocation    
FILES:
    miscutil.c rtbgstat.c frrtbgstat.c cobgstat.c frcobgstat.c
*******************************************************************************

*******************************************************************************
04/23/01	Min Wang

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO Windows/Linux

PROBLEM:
        Integrating upstream tx power boost capability into the driver.
SOLUTION:
    	In BG_TweakSystemForLoopLength routine, adding upstream tx power boost 
        capability for long loops. Notice that TADJUST1_A_DEFAULT defined in
        fftblk.h increased by 0.5dB and accordingly, the default tx filter gains
	for both short loop and long loop were marked down by 0.5dB, comparied 
	to previous version. The reason for this gain redistribution is that most
        of power boost tests were conducted in this way.
FILES:
    rtbgstat.c fftblk.h
*******************************************************************************

*******************************************************************************
04/23/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		LSS wrote a GUI control panel stub. I wanted to proof of concept send
		an OID to the driver.
CAUSE:
		
SOLUTION:
		Add OID sending code to one control of the LSS GUI control panel.
		Add path through CardMgtm/SmSysIf to handle OIDs passed via TIG_DEVICE_SPEC
		Had to straighten out some #include problems

FILES:
		CardMgmt.c:
			Added #include of SmSysIfV.h
			Added function CmgmtGetApiList taken from Windows CardMgmtLan.c
		CardMgmt.h:
			Removed #includes of SmSysIf.h and SmSysIfv.h
		SmSysIf.c:
			Move #include of CardMgmt.h before #include of SmSysIfv.h
		SmSysIfv.h:
			Remove #if OIDS_SUPPORTED wrapper around
				OID_QUERY_CHAN
				OID_SET_CHAN
				OID_API_CHAN
			Set CHAN_METHOD_T pChanMethod to NULL in the following
			(cause we don't have OIDs)
				OID_QUERY_CHAN
				OID_SET_CHAN

		Makefile:
		gui.c:
		main.c:
		callbacks.c:
		callbacks.h:
		frames.h:
		glists.h:
		gui.h:
		images.h:
			GUI control panel as received from LSS

		Makefile:
			Restructure include properties to take into account flatness
			(No "include" subdirectory and shared files in above directory)
		callbacks.s:
			Added BD definitions - *****should be using DevIo.h*****
			Added SendIoBd
			on_combo_selected_tab_p_lsetup_modu	modified to call SendIoBd with
			fixed args as proof of concept

		CommonData.h:
		DevIoADSLDiag.h:
			Shared from Shared Directory/KernelModule to Appy/ControlPanel

		DevIo.h:
			In BD_STRUCTURE_UNION_T, replaced:
				DEVIO_CHEETAH_STRUC_UNION
				DEVIO_TIGRIS_STRUC_UNION
				DEVIO_P46ARB_STRUC_UNION
			with
				DEVIO_ADSL_DIAG_STRUC_UNION
			Removed Module header file Include Section
			**************NOTE**********************
			This mod is to the GUI version only. This file is not currently
			shared but should be.
			**************NOTE**********************


*******************************************************************************

*******************************************************************************
04/24/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	No 'void' in GetMEDLEY_StartTxChnl() arg list when there should have been. 

CAUSE:
	Didn't put it in there when I should have. 

SOLUTION:
	Put it in there, and anywhere else there is a GetMEDLEY_StartTxChnl() prototype.

FILES:
	ghsutil.c
	miscutil.c
	rtbgstat.c
*******************************************************************************

*******************************************************************************
04/24/01	Min Wang

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO Windows/Linux

PROBLEM:
        After TADJUST1_A_DEFAULT was boosted by 0.5dB, we saw some problems against
        ADI DSLAM due to the filters for ADI were tuned for original TADJUST1_a_DEFAULT
        value.
SOLUTION:
	Changing TADJUST1_A_DEFAULT to its original value. Adjusting the Tx filter power
        boost gains accordingly.
FILES:
    rtbgstat.c fftblk.h
*******************************************************************************

*******************************************************************************
04/25/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	require extra device timer for TM task
	
SOLUTION:
	change NUM_VIRTUAL_DEVICE_TIMERS from 2 to 3
    WARNING:  this change requires a new cnxtgf.hex

FILES:
   cardaltigrisv.h
   cardaltigrs.c : minor cleanup
*******************************************************************************

*******************************************************************************
04/25/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: 
	Will not build Win95 properly

CAUSE:
	Recent introduction of use of strncmp() routine.  Not part of Win95 libraries
	for some reason.  Results in undefined external reference in build for Win95.
		
SOLUTION:
	Created UTIL_strncmp() funtion and used it instead.

FILES:
	util.c
	ghsrtst.c
*******************************************************************************

*******************************************************************************
04/26/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: 
	Obsolete comments.

CAUSE:
	N/A
		
SOLUTION:
	Moved C_RATES1 rates_br[] calculation comments back to where they belong.
	Removed //vivi modification flags. 

FILES:
	rtbgstat.c
	ghsrtst.c
*******************************************************************************

*******************************************************************************
04/26/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: 
	Too many old diagnostic log messages.

CAUSE:
	N/A
		
SOLUTION:
	Surounded with #if or #ifdef compiler controls to disable some by default.

FILES:
	ghrtbgst.c
	miscutil.c
*******************************************************************************

*******************************************************************************
04/26/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	pseudo-Annex B support: when num tx chnls is 64, but B&G remains for 
    chnl 1 to 31.  The tx bit tone table memorize info from last run and
    cause failed connection.
	
SOLUTION:
	reinitialize tx bit tone table every time.
FILES:
    xcvrinfo.h miscutil.c   
*******************************************************************************

*******************************************************************************
04/27/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: 
	1) Connection tab on Control panel reverses vendor ID's for near and far end.
	2) Connection tab on Control panel always shows Unknown Vendor for far end
	   and invalid info for far end SW revision code.
	3) Too much vendor id code in midst of BG_MSGDEC1routine(). 

CAUSE:
	1) Placements of UP_STREAM and DWN_STREAM macro's were reversed in
	XCVR_GetDatabaseInfo() in xcvrinfo.c .
	2) No code to handle RT getting info for upstream (CO) side device
	in XCVR_GetSysInfo() in xcvrinfo.c .
	3) Complexity creep in vendor id handling issues. 
		
SOLUTION:
	1) Reverse placements ofof UP_STREAM and DWN_STREAM macro's in
	XCVR_GetDatabaseInfo() in xcvrinfo.c .
	2) Author code to handle RT getting info for upstream (CO) side device
	in XCVR_GetSysInfo() in xcvrinfo.c .
	3) Create and call new routine 'HandleVendorID_Stuff()' to take care of
	it all.

FILES:
	rtbgstat.c
	xcvrinfo.c
*******************************************************************************

*******************************************************************************
04/27/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	Minor error and warning problems in UTIL_strncmp and ghrtst.c
    1. unmatch declaration
    2. unknown register parameters
    3. casting warning in ProviderCodeToVendorID
    4. portability problem to Euphrates due to size_t
	
SOLUTION:
	fix above problems
FILES:
    util.h, dpu.c, util.c, xcvrinfo.h, ghsrtst.c
*******************************************************************************

*******************************************************************************
04/30/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	No suport of fractional coding gain or SNR margin
	
SOLUTION:
	increase table in MISC_ComputeNSR to support fractional snr of 0.5 resolution
    and minor code cleanup
FILES:
    miscutil.c
*******************************************************************************

*******************************************************************************
04/30/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: 
	Cannot read Tx filter coefficients properly from Falcon in Smart Terminal. 

CAUSE:
	Cut and paste error in argument to ASIC_BurstRead in smrtxcvr.c . 
		
SOLUTION:
	Fixed destination argument.

FILES:
	smrtxcvr.c
*******************************************************************************

*******************************************************************************
05/01/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: 
	Falcon initializing to NORMAL Tx filter coefficients correctly, but Smart
	Terminal displaying old PairGain Tx filter. 

CAUSE:
	TxFilterSelect being initialized to PAIRGAIN_TX_FILTER in falcon.c . 
		
SOLUTION:
	Initialize TxFilterSelect to NORMAL_TX_FILTER in xcvrinfo.c and also whenever
	Falcon is reinitialized.

FILES:
	falcon.c
	xcvrinfo.c
*******************************************************************************

*******************************************************************************
05/01/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: 
	Bad comments in ProviderCodeToVendorID() header. 

CAUSE:
	Cut and paste error. 
		
SOLUTION:
	Fix 'em.

FILES:
	ghsrtst.c
*******************************************************************************

*******************************************************************************
05/1/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	clock recovery doesn't work in Annex B
	
SOLUTION:
	ANNEX B specific debug code added
FILES:
    rtbgstat.c
*******************************************************************************

*******************************************************************************
05/1/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	Log.txt too big
	
SOLUTION:
	remove anything more than 12 months old
FILES:
    log.txt
*******************************************************************************

*******************************************************************************
05/2/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	C_BandG in Annex B is 64 bytes longer
	
SOLUTION:
	extend C_BandG in Annex B mode based on UPSTREAM_CHNL instead of hard-code value
FILES:
    xcvrinfo.h sysinfo.h rtbgstat.c rtrxstat.c
*******************************************************************************

*******************************************************************************
05/02/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: 
	Annex B Tx spectrum too low and not flat.  Does not allow us to develope
	Annex B code prior to AFE2C.  

CAUSE:
	AFE2B not designed for Annex B.  The Annex A Tx Continuous Time filter and the
	Tx Interpolating FIR are attenuating and rolling off the Annex B Tx spectrum. 
		
SOLUTION:
	Bypass the Tx Continuous Time Filter and Tx Interpolating FIR.	This required
	routines to be written that will enable and disable the Tx interpolating FIR.

***NOTE*** The new AFE_BypassRxFIR() routine should not be used for production code.
	It is only there to allow development of Annex B code prior to the introduction
	of AFE2C which will circumvent these problems.  Use of  AFE_BypassRxFIR() will
	result in a non-compliant Tx spectrum.

FILES:
	afeintf.c
*******************************************************************************

*******************************************************************************
05/02/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: 
	1) Cannot transmit Annex B spectrum through our Annex A Tx digital filter.
	2) Obsolete Tx filter coefficient arrays cluttering xcvrinfo.c .  

CAUSE:
	1) Current Tx digital filters are designed for Annex A.
	2) Old ones have not been cleaned out. 
		
SOLUTION:
	1) Create Annex B tx digital filter and add it to the list of Tx filters in
	xcvrinfo.c.  Ali Abdallah created the filter. I just added it in.
	2) Remove old PairGain Tx digital filter coefficient array.  Remove test filter.  
	Update Tx filter enumeration list in xcvrinfo.h correspondingly.  Also added a 
	general-purpose Tx all-pass filter for debug purposes.

FILES:
	xcvrinfo.c
	xcvrinfo.h
*******************************************************************************

*******************************************************************************
05/04/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		When Tigris is loaded on Qube, about half the time our ISR is no longer
		called. This occurs around the time the ARM function finishes downloading
		and starting the DSL  and the DSL actually starting. The normal sequence
		is as follows
			IOCTL			Function						ARM CMD
			-------------------------------------------------------------
			TIG_SET_PARAMS
			TIG_LOAD_START	ARMIsCommandSetLoaded			HW_COMMAND_SYNC
			TIG_LOAD_RECORD					

			TIG_LOAD_DONE	ARMALStartArm					ARM_GOTO
															ARM_READ_MEMORY
															ARM_SET_COMMAND_EXTENSION_ROUTINE_ADDRESS
							ARMALInitIo
							  ARMALSetIoAccessPrivileges	ARM_SET_IO_ACCESS_PRIV
							  ARMALSetIoDirection			ARM_SET_IO_DIRECTION
							  ARMALSetIo					ARM_SET_IO
							  ARMALNotifyArmReady			ARM_CONFIGURATION_COMPLETE (causes DSLCMDPROCRDY response and allows DSL commands)
			TIG_START_DSL	ChipAlTigrisHalInit
		When the driver sends ARM_CONFIGURATION_COMPLETE to the ARM function, it
		responds with a  DSLCMDPROCRDY and then a ARM_CONFIGURATION_COMPLETE
		response. We also get a DSL CMDE interrupt prior to these responses
		because we had a SYNC command outstanding since early on because
		CalP46Init sent one on each function to see if the ARM is ready. The ARM
		sits there until the firmware is downloaded and extended commands are
		activated. The DSL one sits there until the ARM_CONFIGURATION_COMPLETE
		gets sent.
CAUSE:
		It looks like the Qube has a problem with having two interrupts pending
		from two different devices on the same card and/or interrupt. This loss
		of interrupts only occurs during this small window of overlapping
		ARM/DSL operation (once the ARM starts the DSL it is through).
		
SOLUTION:
		Make ARM finish all operations before DSL starts. This means we don't
		send the SYNC command cause it causes an DSL CMDE interrupt while
		the ARM is finishing.
		
		Also, change firmware to not send DSL DSLCMDPROCRDY until after sending
		ARM_CONFIGURATION_COMPLETE and delaying a bit.  

		Also added TIG_GET_PRINT_BUFF IOCTL and printl routine during the 
		course of debugging along with a program called cnxadslprint. printl
		accepts arguments like printf. It does not evaluate the format string,
		but simply logs it and the passed parms. The new IOCTL is used to retrieve
		this log (and all format strings) and the new program cnxadslprint
		does so and prints all strings from background.

		I left this in for now. This is an advantage over printk as it does not
		affect timing near as much.

FILES:
		ARMAbstract.c:
			Added case for TIG_GET_PRINT_BUFF IOCTL
			Added printl
		CardMgmt.c:
			Added case for TIG_GET_PRINT_BUFF IOCTL
		ChipALIoP46.c:
			In CalP46Init, removed call to calP46IsArmAlive to avoid sending
			SYNC on DSL function and getting a DSL CMDE interrupt before ARM
			operations and their interrupts complete and trigger the Qube bug.
		CommonData.h:
				Added TIG_GET_PRINT_BUFF IOCTL

		cmdint_dsl.c:
			In DslDrainRspQ, don't do anything if WriteArmBeforeDsl flag is set.
		cmdint_arm.c:
			In ARMCmdExtention, when processing CONFIGURATION_COMPLETE, set 
				WriteArmBeforeDsl to 1
			In DslDrainRspQ, monitor RSPF bit to update WriteArmBeforeDsl, and
				update WriteArmBeforeDsl from 1 to 2 when writing a response
		
*******************************************************************************

*******************************************************************************
05/07/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		Can only set common parms with cnxadslconfig.
CAUSE:
		By design		
SOLUTION:
		Set uncommon ones via --parm PARM=[(FORMAT)]VALUE.

FILES:
		cnxadslconfig.c:
			Added -Q1 option to report ALL parms
			Added --parm option to set uncommon parms
			Updated usage
			--parm PARM=[(FORMAT)]VALUE

*******************************************************************************

*******************************************************************************
05/10/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		On second Qube tried, download fails consistently.
CAUSE:
		Just changing Makefile from release to debug has no effect.		
		Add printk statements or turn on DebugFlag and it works fine.
		Found we send write command and then wait on copmletion routine.
		WAIT_EVENT has hole in that if the interrupt occurs between the write
		of the record byte and when we wait (add ourselves to a queue and call
		interruptible_sleep_on_timeout) it signals the queue that we are not 
		yet on and hence we will timeout.

		Also found that we were testing for timeout by having WAIT_EVENT return
		the set_flag. In this case it is set even though we timeout. Change to
		return time_remain instead so we properly detect the timeout and we
		return an error to the IOCTL and don't lock up the machine.
SOLUTION:
		Change SET_EVENT to disable interrupts prior to checking the flag and
		calling interruptible_sleep_on_timeout. It is safe to call this with
		interrupts off as the kernel will add us to the queue and then enable
		interrupts.

FILES:
		LnxTools.c:
			Change SET_EVENT to disable interrupts prior to checking the flag and
			calling interruptible_sleep_on_timeout. It is safe to call this with
			interrupts off as the kernel will add us to the queue and then enable
			interrupts.



		cnxadslprint.c:
			Added -D option to print user defined debug parms from driver
			moved retrieval of PrintDesc records from main into a subroutine
		CommonData.h:
			Added TIG_GET_DEBUG_DATA and TIG_DEBUG_DATA_DESC
		ARMAbstract.c:
			Added case for TIG_GET_DEBUG_DATA in ARMALIoctl
		CardMgmt.c:
			Added case for TIG_GET_DEBUG_DATA in CmgmtProcIOCTL
			
*******************************************************************************

*******************************************************************************
05/11/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
	INF registry needed for power boosting in long loop

SOLUTION:
  Add PwrBoostFactor (i.e. AdslOption3)

FILES:
 CardALTigrisLC.c xcvrinfo.h cardalremote.h CardAlTigrisV.h CardAlADSLDiag.c
*******************************************************************************

*******************************************************************************
05/11/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    LOWPASS_FILTER_COEF and LOWPASS_FILTER_PARAMETER are set and get everywhere.
    Difficult to modified for Annex B.
	
SOLUTION:
	Create MISC_SetupLoopTiming to control all loop timing setup
FILES:
    rtbgstat.c rtrxstat.c miscutil.c xcvrinfo.h 
*******************************************************************************

*******************************************************************************
05/11/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    MISC_ComputeNSR coding gain only had resolution of 0.5
	
SOLUTION:
	use interpolation if fractional coding gain is desired
FILES:
    miscutil.c 
*******************************************************************************

*******************************************************************************
05/11/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    pilot tone is not compensated correctly for Frame Boundary Selection in
    Annex B.
	
SOLUTION:
	New routine to compensate pilot tone 96 differently
FILES:
    miscutil.c 
*******************************************************************************

*******************************************************************************
05/11/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Loop timing parameters and coefficients are set everywhere
	
SOLUTION:
	encapsulate in a separate function for simplify maintenance
FILES:
    miscutil.c, rtbgstat, frrtbgst.c frrtrxst.c, ghrtbgst.c
    ghsutil.c, rtrxstat.c
*******************************************************************************

*******************************************************************************
05/11/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    tx chnls are computed on the fly everywhere in several functions, very difficult
    to maintain for Annex B and ATU_C
	
SOLUTION:
	encapsulate in a separate function for simplify maintenance
FILES:
    dmtintf.c xcvrinfo.h rtbgstat.c ghsutil.c ghrtbgst.c   
*******************************************************************************

*******************************************************************************
05/11/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    G.HS doesn't support Annex B yet 
	
SOLUTION:
	Add Annex B types in ghsutil.h and ghsutil.c
FILES:
    ghstutil.h ghsutil.c
*******************************************************************************

*******************************************************************************
05/11/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		printl doesn't support %s format specifier properly.
CAUSE:
		Need to copy the string the %s refers to and patch up the ptr.
SOLUTION:
		cnxadslprint.c:
			Generalize Format_Buffer name to String_Buffer
			Move STRING_BUFFER_SIZE from common.h to here
			Update member names of TIG_PRINT_DESC from Format... to String...
		CommonData.h:
			Move STRING_BUFFER_SIZE to cnxadslprint.c
			Update member names of TIG_PRINT_DESC from Format... to String...
		ARMAbstract.c:
			Update member names of TIG_PRINT_DESC from Format... to String...
			Add support for %s format specifier
			Need to copy the string the %s refers to and patch up the ptr.
*******************************************************************************

*******************************************************************************
05/14/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		On second Qube tried, download still fails consistently.
CAUSE:
		Did not have all fixes from first Qube on this one. Namely, did not have
		new hex file as well as changes noted below
SOLUTION:
FILES:
		ChipALIoP46.c:
			Instead of avoiding a write of IS_ARM_ALIVE | DSL_COMMAND_SYNC by
			not calling calP46IsArmAlive from CalP46Init, go to calP46IsArmAlive
			and comment out the write so the rest of the logic occurs. Mark it
			as ready here, not in CalP46Init as we only want to force it for DSL
			not ARM as would happen otherwise.

			Apply change of 10/31/2000 on windows system:
			calP46ISRCommandSync should call ChipALSetEvent ARM_FUNCTION, HW_CMDE
			to avoid missing interrupts
		ArmAbstrat.c:
			ARMIsCommandSetLoaded was still writing a IS_CMD_LOADED | ARM_COMMAND_SYNC
*******************************************************************************

*******************************************************************************
05/14/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		On second Qube tried, download still fails 1 out of 6 times.
		With this fix, we still fail 1 of 16 times.
CAUSE:
		calP46DPCWriteNextCommand can be called as an ISR or from CalP46ArmRead
		during bootload which will be called from background via ChipALRead
SOLUTION:
FILES:
		ChipALIoP46.c:
			calP46DPCWriteNextCommand should use GET_WRITE_LOCK rather than
			GET_WRITE_LOCK_AT_ISR
*******************************************************************************

*******************************************************************************
5/16/2001	palazzjd

PROJECT:	Tigris
SYSTEM:		All

PROBLEM:	
		Need an easy way to add additional registry parameters for the
		Data Pump Controller code.		
	

SOLUTION:	
		Add 17 new registry parameters AdslOption4 thru AdslOption20.		
	

FILES:
	FileName:
		CardAlTigrisLC.c:
			New function CardAlLoadOptionalRegistryParameters
			provides self generating registry parameters of 
			'AdslOptionXX'. The first one is AdslOption4, successive 
			values are AdslOption5, AdslOption6, etc. 
			The NUMBER_OF_ADSL_OPTIONS should be set accordingly.
	
		CardAlTigrisDiag.c:
			Added support to CdalADSLGetNonVolatileParms to read 
			in new parameters.

		CardAlTigrisV.h:
			Added NUMBER_OF_ADSL_OPTIONS.

		Xcvrinfo.h:
			Added SINT16 array to XCVR_OTHER_CFG_TYPE structure.
		
*******************************************************************************

*******************************************************************************
05/17/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		Could not build with debug turned ont.
CAUSE:
		
SOLUTION:
FILES:
	CardAlTigrisHal.c:
		removed conditional code that would not compile. It was a cut and paste
		error in the source from the windows code.


*******************************************************************************

*******************************************************************************
05/18/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: 
	Will not connect to Alcatel in G.dmt with DSLAM max upstream limit set to
	1000 kbps.  

CAUSE:
	When the algorithm for reducing upstream capacity detects we are above 928 kbps,
	it reduces the upstream bits per bin by one.  In most cases, this reduces the
	upstream rate to 928.  But for the Alcatel in G.dmt, it reduces it to 896.  896 was
	low enough to trigger the routine to bump the upstream max bits per bin back to the
	original value, which caused us to connect at 960 kbps again.  This resulted in an
	infinite loop of connecting at 960, 896, 960, 896....
		
SOLUTION:
	Add hysteresis to the algorithm, such that it will only bump the max bits per bin
	back up if we connect at a rate below 896.  Thus, in G.dmt, we connect at 960 once,
	then retrain with 1 less bit per bin.  This results in us connecting at 896, and
	we stay there.
	At the same time, I converted some associated variable names to the variable_name format.
FILES:
	rtbgstat.c
	ghrtbgst.c
*******************************************************************************

*******************************************************************************
05/18/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		Shutting down driver while in showtime takes about 20 seconds.
CAUSE:
		When I added dying gasp 1/12/01 V3, I added the timeout value in us but
		it is used as ms so the 20,000 us became 20,000 ms.
		
SOLUTION:
		Change DYING_GASP_TIMEOUT from 20,000 to 20 as it is suppossed to be
		in ms not us.
FILES:
	CardAlTigris.c:
		Change DYING_GASP_TIMEOUT from 20,000 to 20 as it is suppossed to be
		in ms not us.


*******************************************************************************

*******************************************************************************
05/18/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		Shutting down driver during download causes oops.
CAUSE:
		Threads may be in kernel space waiting when cleanup_module occurs and
		the waits timeout after it exits so that they try to pick back up
		in a module that is unloaded.
SOLUTION:
FILES:
	CardMgmt.c:
		cleanup_module should sync up with threads to guarantee they are not
		in kernel space. This used to be done in CardAlTigris 
		CardALDeviceAdapterHalt but since cleanup_module disables all interrupts
		we need to sync before they are disabled.
		cleanup_module should be sure to set the shutdown flag first.
	LnxDefs.h:
		Added ERR_SHUTDOWN

*******************************************************************************

*******************************************************************************
05/18/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		Shutting down driver after download takes about 10 seconds.
CAUSE:
		Now that IOCTLs are failed during shutdown, CardALDeviceAdapterHalt
		tyring to sync to threads will timeout.
		
SOLUTION:
		No need to sync here now.
FILES:
	CardAlTigris.c:
		CardALDeviceAdapterHalt should not try to sync with threads as that
		is now done in cleanup_module.


*******************************************************************************

*******************************************************************************
05/21/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    No SNR reporting to Cisco GSPN
	
SOLUTION:
	When connected with Cisco GSPN DSLAM, flood the eoc response every superframe
	for 1 sec.  This guarantee Cisco GSPN will receive one of them.
FILES:
     asicutil.c eocintf.c rtbgstat.c stdeoc.c   
*******************************************************************************

*******************************************************************************
05/22/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Occasionally, garbage EOC causes disabling of special Cisco GSPN EOC processing mode
	
SOLUTION:
	1. Fix a loophole that accept garbage EOC during waiting CO response
	2. Increase the disqualification requirement of False Cisco GSPN detection.
FILES:
    stdeoc.c
*******************************************************************************

*******************************************************************************
05/22/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		Original Pairgain DRA/Tiger hardware supported soft interrupts and
		SER_ProcessRxcMsg and EOC_ProcessRxcMsg were signalled to run via
		this soft interrupt.

		When I ported DMT code I just polled these routines from the same task
		I created to run the TM_LoResTimerIntHandler ( which for the record
		ran from an interrupt while the BG state machin ran in a background
		loop). This seemed sufficient.

CAUSE:
		David Lau has decided the soft interrupt handlers should be signalled.
		
SOLUTION:
		I added a separate task for the timer and now signal the SI task.
		I de-stubbed the MIC_ActivateTrap/CardALTigrisSITrap.

		Note: Ran into a problem where cardALDeviceSIThread exits wait due to
		being signalled the first time and when it calls SER_ProcessRxcMsg
		this first time, the event gets set again and if we do not either call
		SLEEP or RESET_EVENT before calling WAIT_EVENT again we deadlock. I
		found I could also prevent this by calling schedule in CardALTigrisSITrap
		but this is not well understood.
FILES:
	cnxadslload.c:
		Fork a new thread for splitting the timer from the soft interrupt
	CommonData.h:
		Added TIG_TMR_POLL to separate the timer and soft interrupt.
		rearranged file to be more orderly.
	CardAlTigris.c:
		Added new Timer Task that takes over most of old Soft Interrupt task.
		Changed SI task to wait on an event instead of polling.
		Added  CardALTigrisSITrap
		Moved Auto_AutoSensePoll from SI task to BG task to match windows code
		that fixed a window of vunerability done on 09/27/00:
			Call Auto_AutoSensePollfrom BG thread rather than SI thread to
			ensure that autosense only shuts down DMT (via disabling interrupts)
			from BG thread which guarantees that it is not in ghs_shutdown_xcvr
			which polls tx_data_mode (set by ISR) avoiding deadlock.
		NOTE: The shutdown flags/events are no longer used and can be deleted
	 		BG/SI/TmrThreadShutdownFlag 
	 		BG/SI/TmrThreadShutdownEvent
	CardALTigrisDp.c:
		ChipAlTigrisDpSITrap: uncondition in call to CardALTigrisSITrap
	CardALTigrisV.h:
		change NUM_VIRTUAL_DEVICE_TIMERS from 2 to 3
		Add SITrapEvent
		Add DisableFlag, ShutdownFlag and ShutdownEvent for new Tmr task
		Add prototype for cardALDeviceTmrThread
		Add prototype for CardALTigrisSITrap
		Delete the shutdown flags/events because they are no longer used
	 		BG/SI/TmrThreadShutdownFlag 
	 		BG/SI/TmrThreadShutdownEvent
	CardMgmt.c:
		Handle new TIG_TMR_POLL by calling new cardALDeviceTmrThread
	LnxTools.c:
		Change WAIT_EVENT to return SetFlag rather than remaining time as an
		indication of whether or not the flag got set vs a timeout since on
		short timeout periods (such as 1 timer intervel) it is likely the 
		remaining time is zero even though the flag is set.
*******************************************************************************

********************************************************************************
05/23/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    AdslOption1 to AdslOption3 are not in the array format like the rest of the 
    AdslOption4
	
SOLUTION:
	Get rid of the existing AdslOption1 to AdslOption3 and add them to the AdslOptions
	array.
FILES:
    CardAlADSLDiag.c cardalremote.h CardALTigrisV.h monxcvr.c rtbgstat.c xcvrinfo.h
*******************************************************************************

********************************************************************************
05/23/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Trapper doesn't go to showtime in modulation autosense mode
	
CAUSE:
	every falcon is reset, the MIC_GetCurrentTick gives you garbage
	
SOLUTION:
	use an OS timer created in timer.c 
FILES:
    autosense.c timer.c
*******************************************************************************

********************************************************************************
05/24/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Falcon cannot support 4 times tx oversampling for tx chnl = 64
	
CAUSE:
	AFE limitation
	
SOLUTION:
	reduce tx oversampling ratio for Annex B and use all-pass filter for Annex B
    for now.
FILES:
    xcvrinfo.h miscutil.c
*******************************************************************************

*******************************************************************************
05/25/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: 
	1) Sometimes retraining when not necessary.
	2) Variable name format difference  

CAUSE:
	1) RT seeing change in received vendor ID.  When this happens, the RT always aborts
	training to start over with tweaks based on new vendor ID.
	2) Historical  
		
SOLUTION:
	1) Since the only CO devices that require non-standard particulars are Analog Devices
	and Medialincs, restrict retrains to only when we have change to or from one of these
	vendors.
	2) Globally change XCVR_Database->ReceivedVendorID to XCVR_Database->received_vendor_id.
FILES:
	rtbgstat.c
	ghsrtst.c
	xcvrinfo.h
*******************************************************************************

********************************************************************************
05/30/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    some casting warnings when invoking some asicutil.h macros.
	
SOLUTION:
	put in some explicit casting in the macros
FILES:
    asicutil.h
*******************************************************************************

********************************************************************************
05/30/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    tx filters and tx filter index are all global.  Very difficult to keep track
    who's modifying the tx filter.
	
SOLUTION:
	encapsulate all RT tx filter to rtbgstat.c.  The only exception is the default tx filter
	which need to be accessed by smart terminal. (should also be encapsulated upon next
	cleanup) All other filters are now local and const.
FILES:
    dpudmt.c miscutil.c falcon.c rtbgstat.c smrtxcvr.c
    xcvrinfo.c xcvrinfo.h
*******************************************************************************

********************************************************************************
06/01/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    2dB coding gain fudge for RS only. This workaround is to qualify us for Chung Hwa
    Telecom.
	
SOLUTION:
	use TelcoID to deploy this Chung Hwa Telco specific workaround.
FILES:
    xcvrinfo.c
*******************************************************************************

********************************************************************************
06/04/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    sys_nvram[XCVR_NUM_0][NEAR_END].xcvr_other_cfg.AdslHeadEnd == GLOBESPAN_ID is mistyped
    as sys_nvram[XCVR_NUM_0][NEAR_END].xcvr_other_cfg.AdslTelcoID == GLOBESPAN_ID
    for Hanaro mode
	
SOLUTION:
	change AdslTelcoID to AdslHeadEnd.
FILES:
    rtbgstat.c
*******************************************************************************

********************************************************************************
06/04/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    G.HS support for Annex B
	
SOLUTION:
	Annex B messaging implemented in G.HS
FILES:
    rtbgstat.c dpudmt.c ghrtbgst.c ghsrtst.c ghsutil.c ghsutil.h
    miscutil.c smrtxcvr.c xcvrinfo.h xcvrinfo.h cardaladsldiag.c
*******************************************************************************

********************************************************************************
06/04/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Proprietary EOC protocol doesn't work in G.dmt mode.  
    
CAUSE:
    We forgot to check for CONEXANT_ID in G.HS.
	
SOLUTION:
	if most significant 3 bytes are zero, we assume LSB is the vendor ID in T1.413 
	format.
FILES:
    ghsrtst.c
*******************************************************************************

********************************************************************************
06/06/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    DO_BYTE_ALIGNMENT switch is obselete  
    
CAUSE:
    We need this before Falcon 2P
	
SOLUTION:
	take out code within obselete switch
FILES:
    asicutil.c rtbgstat.c cobgstat.c
*******************************************************************************

********************************************************************************
06/11/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Need to implement AdslOption4 to AdslOption6 per George request
    

SOLUTION:
   Implement AdslOption4 to 6 
   ADSL_MAX_RX_BIT_PER_CHNL (i.e. ADSL_OPTION4:zero means feature disabled),  
   ADSL_MAX_SEC_CRC_DROP(i.e.ADSL_OPTION5) and  
   ADSL_MAX_CRC_DROP (i.e. ADSL_OPTION6:zero means feature disabled)	
FILES:
    rtbgstat.c xcvrinfo.h monxcvr.c
*******************************************************************************

********************************************************************************
06/13/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Some variables and macros should be local and some code are no longer being called (i.e. dead code)
    
SOLUTION:
   Cleanup some dead code, move some variables and constants to local and get rid of afeintf.c warnings
FILES:
    rtbgstat.c microxcvr.c xcvrinfo.h afeintf dpudmt.c ghrtbgst.c miscutil.c
*******************************************************************************

********************************************************************************
06/14/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    tx filter gain in SendTxFilter routine can not be more than unity.
    
SOLUTION:
   allow > unity gain in tx filter gain for SendTxFilter routine by introducing 
   a new UTIL_suint16_mult.  A new USE_EXISTING_TX_FILTER_GAIN is defined to allow
   same gain being used in SendTxFilter
FILES:
    util.c util.h xcvrinfo.h and miscutil.c
*******************************************************************************

********************************************************************************
06/18/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    No loop length estimate for selecting Tx gain in TweakSystemForLoopLength()
	when needed.  It is needed in order to get optimal up and down connect rates
	for G.dmt modes.
    
SOLUTION:
   	New routine added in ghrtbgst.c to estimate loop length based on G.HS AGC setting.
   	This is good only for non-BNA modes, but for the time being, that is all it is needed
   	for.

FILES:
    ghrtbgst.c - Created GHSEstimate26AWGkFt() routine.
    util.c     - Created routine to multiply 2 signed numbers in EXT_INT16 (Q8) format
    and return the result in the same format - UTIL_ext_sint16_mult( SINT16 n1, SINT16 n2 ).
    util.h     - Add prototype for UTIL_ext_sint16_mult() 
*******************************************************************************

********************************************************************************
06/19/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Needing both better up and downstream performance on longer loops.
    
SOLUTION:
   	Used BNA FILTER3 with -4.5 dB Tx gain for loops over 12 kFt, but only on G.HS modes,
	as T1.413 does not have loop length estimate in place by the time that we need to
	select the Tx filter and gain.  Changed name of BNA3_TX_FILTER to RX_PROTECT_TX_FILTER
	because it is now also being used in a non-BNA scenario.  Since the basic idea of
	the filter is to protect the Rx band, but still allow for Tx level boost, this was
	a good name for it.	In G.HS call to TweakSystemForLoopLength(), changed setting 
	of short_or_long_loop arg to being based on loop length estimate rather than AGC
	setting.

FILES:
    ghrtbgst.c - Changed arg to TweakSystemForLoopLength() as described above.  
    rtbgstat.c - Changed name of BNA3_TX_FILTER to RX_PROTECT_TX_FILTER.  Made
	it's filter coefficient array global to the rtbgstat.c module so that it could
	be accessed from both the TweakSystemForLoopLength() routine, and the
	DeploySpecialAdiBnaFilter() routine.  Used this filter for G.dmt loops longer
	than 12 kFt in G.HS modes, unless AdslOption7 is non-zero.  Otherwise default
	back to the standard default filter.  Use -4.5 + AdslOption3/10 as the gain
	offset for this filter when used.  
*******************************************************************************

********************************************************************************
06/19/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Rushmore supported needed
    
SOLUTION:
   	Implement Rushmore specific features.

FILES:
    falcon.c miscutil.c qedfer.h rtbgstat.c xcvrinfo.c
*******************************************************************************

********************************************************************************
06/19/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Thrashing in G.HS startup.
    
SOLUTION:
   	Possibly due to placement of call to TweakSystemForLoopLength() in G.HS startup.
	Tx level adjustment was happening after startup tones, but before G.HS messaging.
	But there was some chance that we changing our Tx level during the training was
	causing a problem, even though this is only a BPSK system.  Also cleaned up some
	code.  Initial tests showed a little less thrashing, but these tests were very
	shallow.

FILES:
    ghrtbgst.c - Moved call to TweakSystemForLoopLength() from early part of G.HS sequence
    to between end of G.HS and beginning of common training mode states.  Eliminated some
    uses of SINT16 and replaced with GEN_SINT.  Moved prototype for GHSEstimate26AWGkFt() from
    ghrtbgst.c to rtbgstat.c
      
    rtbgstat.c - Moved prototype for GHSEstimate26AWGkFt() from
    ghrtbgst.c to rtbgstat.c  
*******************************************************************************

********************************************************************************
06/21/01	Joe Palazzo

PROJECT:	Tigris-CO
SYSTEM:		Windows/Linux

PROBLEM:
	Added standard EOC support for UNH.
    
SOLUTION:
   	New EOC API functions.

FILES:
	CardAlTigrisDiag.c:
		New dispatch handler CdalDiagEOC to support 
		HW_IO_EOC_COMMAND

	HwIo.h:
		New data structure HW_IO_EOC_COMMAND_T.
*******************************************************************************

*******************************************************************************
06/26/2001	dand/davidsdj
22-May-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	System oops or locks or works (depending on system, kernel, time-of-day,
	etc.) when "cnxadslctl.sh stat" (cat of /proc/...) is performed.

SOLUTION:
	Function SmSysIfGetHandlerListBinary returns status of success and does
	not set the head list pointer (ppHeadEvent).  This causes the calling
	function to assume that the message type was found and the head list
	pointer set.  Thus the head list pointer is uninitialized and is set
	to whatever happened to be on the stack last in this location.

FILES:
  KernelModule folder
	SmSysIf.c:
		Fix function SmSysIfGetHandlerListBinary to return status unsuccessful
		(instead of successful) when the message type searched for was not
		found in the list.
*******************************************************************************

*******************************************************************************
06/19/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: cannot support multiple instances

FILES:
    adslinfo.c adslinfo.h afeintf.c afeintf.h aocintf.c aocintf.h
    asicutil.c asicutil.h autosense.c autosense.h CardAlADSLDiag.c
    CardAlADSLDiag.h CardAlBdDp.c CardAlTigris.c CardAlTigrisDiag.c
    CardAlTigrisDp.c CardAlTigrisDp.h CardAlTigrisHal.c CardAlTigrisHal.h
    CardALTigrisLC.c CardALTigrisLED.c CardAlTigrisV.h ChipALIoP46.h
    cobgstat.c corxstat.c cotxstat.c datapump.h diagnos.c diagnos.h
    dmtapi.h dmtdbg.c dmtdbg.h dmtinfo.c dmtinfo.h dmtintf.c dmtintf.h
    dpu.c dpu.h dpuadsl.c dpuadsl.h dpudmt.c dpudmt.h dpumenu.c dpumenu.h
    dpumisc.c dpumisc.h dpusys.c dpusys.h dputest.c dputest.h dpuutil.c
    dpuutil.h eocintf.c eocintf.h falcon.c falcon.h fpga.c fpga.h frcobgst.c
    frcorxst.c frcotxst.c frntpanl.c frntpanl.h frrtbgst.c frrtrxst.c
    frrttxst.c ghcobgst.c ghcorxst.c ghcotxst.c ghrtbgst.c ghrtrxst.c
    ghrttxst.c ghscost.c ghsrtst.c ghsrtst.h ghsutil.c ghsutil.h micro.c
    micro.h microxcv.c microxcv.h miscutil.c miscutil.h monitor.c monitor.h
    monxcvr.c monxcvr.h nvram.c nvram.h rtbgstat.c rtbgstat.h rtrxstat.c
    rtrxstat.h rttxstat.c rttxstat.h selftest.c selftest.h seqblk.h
    serial.c serial.h smrt.c smrt.h smrtxcvr.c smrtxcvr.h stdeoc.c
    stdeoc.h sysinfo.c sysinfo.h terminal.c terminal.h timer.c timer.h
    timetask.c timetask.h types.h util.c util.h xcvrinfo.c xcvrinfo.h
    Note: Some of the files (not included above) and are checked
    in by mistake without any changes.
*******************************************************************************

********************************************************************************
06/27/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:	BSOD on Win95 of multi-instance driver

CAUSE:		Two calls to DIAG_AddDiagnostic() had 0 for first argument (technically
			OK for pre-multi-instance format.)  Should be pDatapump for multi-instance
			format.	In rtbgstat.c

SOLUTION:	Replace 0's with pDatapump.

FILES:		rtbgstat.c
*******************************************************************************

*******************************************************************************
06/27/2001	dand/davidsdj
27-June-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	Desire to go from 2.4.0 kernel to 2.4.2 kernel version.
	Kernel version 2.4.2-2 (Red Hat 7.1) locks up when driver runs.
	Kernel version 2.4.2 (-0) locks up when driver runs.

SOLUTION:
	Use kernel version 2.4.2-ac28

FILES:
  Base folder
	cnxadslctl.sh:
		Changed from sh to bash shell specification on first line.
  KernelModule folder
	CardALADSLDiag.c:
	CardALTigrisDiag.c:
		Change structure references from arrayed (structure was not arrayed)
		 to specific element reference.  Previous code caused problem with
		 newer version (2.9x) gcc.
	LnxTools.c:
		Move critical code (incrementing and decrementing the WaitCnt) inside
		of protected code (within disable interrupts/restore).
*******************************************************************************

*******************************************************************************
07/02/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		Change to Datapump to support multiple instances via replacing
		xcvr_num with pDatapump (a context pointer) requires changes to the
		datapump wrapper which was not done for the Linux system.
CAUSE:
		
SOLUTION:


Adapting Multi-instance Datapump code to Linux


FILES:
	CardMgmt.c:
		Added pAdapter to arg list for call to cnxtty_init
	ArmAbstract.c:
		Define pDatapump with Dummy version - Cant use real version due to
		chicken/egg problem with include files.
	asicutil.h:
		Change "struct AVERAGE_CHOICE" to "AVERAGE_CHOICE" since GNU C doesn't 
		allow this.
	autosense.c:
		Add wrapper protection for multiple includes
	CardAL.h:
		Add pThisAdapter to arg list for CardALDelayMsec
	CardALADSLDiag.c:
		remove DMT prototypes since they now are wrong and furthermore are
		defined in a header file
		Change to pass context ptr to dmt files and to change access of global
		DMT variables from globals to DATAPUMP_CONTEXT
	CardALADSLDiag.h:
		Change CardALADSLLogPairgain to accept context ptr rather than xcvr_num
	CardALBdDp.c:
		Change to pass context ptr to dmt files and to change access of global
		DMT variables from globals to DATAPUMP_CONTEXT
	CardALTigris.c:
		remove DMT prototypes since they now are wrong and furthermore are
		defined in a header file
		Change to pass context ptr to dmt files and to change access of global
		DMT variables from globals to DATAPUMP_CONTEXT
		Change to accept context ptr rather than xcvr_num or nothing
		REMOVED GLOBAL CONTEXT PTRS that were a hack.
		Allocate a context space for DATAPUMP_CONTEXT within TIGRIS_CONTEXT_T
	CardALTigrisDiag.c:
		remove DMT prototypes since they now are wrong and furthermore are
		defined in a header file
		Change to pass context ptr to dmt files and to change access of global
		DMT variables from globals to DATAPUMP_CONTEXT
	CardALTigrisDp.c:
		Change to pass context ptr to dmt files and to change access of global
		DMT variables from globals to DATAPUMP_CONTEXT
		Change to accept context ptr rather than xcvr_num or nothing
		Added ChipAlTigrisDpSER_XXX and ChipAlTigrisDpTRM_xxx shims
	CardALTigrisDp.h:
		Added ChipAlTigrisDpSER_XXX and ChipAlTigrisDpTRM_xxx shims
		Change to accept context ptr rather than xcvr_num or nothing
	CardALTigrisHal.c:
		Dont' use Afe_Write_Trace nor AFE_WRITE_TRACE to determine writing
		via DBG_CDSL_DISPLAY
		Call CardALDelayMsec with pThisAdapter 
	CardALTigrisHal.h:
		Define PDATAPUMP_CONTEXT with dummy type to resolve references
	CardALTigrisV.h:
		Define dummy TIGRIS_CONTEXT_S to resolve refences from Datapump code.
		We will assign it with a cast as needed to TIGRIS_CONTEXT_T
		In TIGRIS_CONTEXT_T, replace Xcvr_Num with pDatapump
		Defined P_DATAPUMP for going from TIGRIS_CONTEXT_T to DATAPUMP_CONTEXT
	CnxTTY.c:
		Include header files for prototypes
		Removed old prototypes which don't have context ptr anyway
		Change to pass context ptr to dmt files and to change access of global
		DMT variables from globals to DATAPUMP_CONTEXT
		Change to accept context ptr rather than xcvr_num or nothing
		Save CDSL_ADAPTER_T in 	(*cnxtty_driver.table)->driver_data
		cnxtty_SER_XmitMsg should derive cnxtty_table from driver_data
	CnxTTY.h:
		Change to accept context ptr rather than xcvr_num or nothing
	datapump.h:
		wrap offsetof with multiple-definition protection
		Change PDATAPUMP_CONTEXT to struct DATAPUMP since the former may not
		yet be defined yet due to problems with include file order
	qedfer.h:
		Change AVERAGE_CHOICE from simple enum to typedef

	adslinfo.c:
		correct capitalization of include
	asicutil.c:
		Change arg type in following routines AVERAGE_CHOICE from enum to typedef:
			ASIC_GetAvgSig
			ASIC_GetAvgErrPwr
			ASIC_GetAvgSigPwr
*******************************************************************************

*******************************************************************************
07/05/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		Shutting down driver causes lockup or panic.
CAUSE:
		
SOLUTION:

FILES:
	CardMgmt.c:
		rename cardALExecBkgnd to cardALDeviceBGThread
	CardAlTigrisV.h:
		rename cardALExecBkgnd to cardALDeviceBGThread
	CardAlTigrisHalV.h:
		Added AFE_Print to TIGRIS_HAL_CONTEXT_T
	CardAlTigrisHal.h:
		Added ChipAlTigrisHalSetAfePrint
	CardAlTigrisHal.c:
		Added ChipAlTigrisHalSetAfePrint
		ChipAlTigrisHalWriteAfe should look at AFE_Print rather than #if AFE_WRITE_TRACE
	CardALTigris.c:
		rename cardALExecBkgnd to cardALDeviceBGThread
		rename cardALStartDeviceBGThread to cardALStartDevice
		Change cardALDeviceSIThread from while to if to fix shutdown sync problem
		Add call to ChipAlTigrisHalSetAfePrint in cardALSetTrace
	SmSysIf.c:
		SmShutdownExternTable did not check for NULL pChannel->MsgU.pMessageOrdered
		which occurs in SmInitMessageHandlerExternTable on those channels that
		do not have GetMessageTable value
*******************************************************************************

*******************************************************************************
07/05/01	jdp

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		Build issue
CAUSE:
		Added wrappers around kernel threads for 2.2.16
		i.e. #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0)
		
SOLUTION:

FILES:
		CardMgmt.c:
		CardAlTigrisV.h:
		CardALTigris.c:

*******************************************************************************

*******************************************************************************
07/05/01	Jerry Viviano

PROJECT:	Tigris/Yukon
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux


PROBLEM:
		Preparing for Fetcher.
CAUSE:
		N/A
		
SOLUTION:
		Added ability to use internal Fetcher short-loop circuitry, and extended
		gain range of Rx highpass section to 30 dB for Fetcher, instead of the old
		27 dB for pre-Fetcher AFE's.  Also cleaned up code in AFE_SetRxGain().
FILES:

		datapump.h
		Added afe_register_image[] to the DATAPUMP structure.
		Renamed AFE2 to AFE2B in the CNXT_AFE_TYPE enumeration.

		xcvrinfo.h
		Added enumerated list of addresses for all of the AFE registers.
		Cleaned up and automated macro #definitions	of the mins' and max'es of the AFE pre-gain, hybrid,
		highpass, and ADC sections.  Automation is based on AFE rev.

		afeintf.c
		Cleaned up AFE_SetRxGain() by eliminating unused old code, reverted to
		variable_name format, made code easier to understand.  Utilized MIN_AFE_HIGHPASS_GAIN
		macro which is now a function of AFE rev.  Converted all instances of AFE2 macro
		to AFE2B to remove the ambiguity (both AFE2B, which is pre-Fetcher, and AFE2C which
		is Fetcher, are both AFE2's).
		
		Filled in SetPregainHybrid() template which David Lau started.
		
		Added use of pDatapump->afe_register_image[] by creating a new routine WriteAndRecordAFERegister(),
		which both writes to the AFE via MIC_ChangeAFESetting() and stores the register content into the
		register image.  This allows us to maintain existing information from a register without 
		destroying the information when writing to other non-related fields in the register.
		Replaced all calls to MIC_ChangeAFESetting() with equivalent calls to WriteAndRecordAFERegister().
		
		Renamed GetCnxtAfeType() to GetCnxtAfeRev().
		
		In AFE_SetTxGain(), converted to only writing to the TxGain field in register 6, rather than the
		entire register.  This was necessary in order to not corrupt the short loop gain control bit in
		the register.  This was done with pDatapump->afe_register_image.

*******************************************************************************

*******************************************************************************
07/05/2001	dand/davidsdj
05-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	User threads.

SOLUTION:
	Kernel threads.
	Changes made via files provided by Joe Palazzo.

FILES:
  DownLoadApp folder
	cnxadslautolog.c:	<new file, autolog function moved from cnxadslload.c>
	cnxadslload.c:
	Makefile:
  KernelModule folder
	KThread.c:			<new file>
	KThread.h:			<new file>
	CardALTigris.c:
	CardALTigrisV.h:
	CardMgmt.c:
	Makefile:
*******************************************************************************

*******************************************************************************
07/05/2001	dand/davidsdj
05-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	The dummy declaration for "TIGRIS_CONTEXT_S" has no structure and
	causes compile errors with new gcc compiler on 2.4.3 kernel.

SOLUTION:
	Place an element in the dummy declared structure.
	Fix function declarations.

FILES:
  KernelModule folder
	CardALTigrisDp.c:
	CardALTigrisDp.h:
	CardALTigrisV.h:
*******************************************************************************

*******************************************************************************
07/05/2001	dand/davidsdj
05-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	The kernel version wrapper is before header file inclusion that defines
	the kernel version.

SOLUTION:
	Move wrapper.

FILES:
  KernelModule folder
	KThread.c:
*******************************************************************************

*******************************************************************************
07/05/2001	dand/davidsdj
05-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:

SOLUTION:
	Fix typo put in with previous changes.

FILES:
  DownLoadApp folder
	cnxadslload.c:
*******************************************************************************

*******************************************************************************
07/05/2001	dand/davidsdj
05-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	Compile error.

SOLUTION:
	Corrected error (LINUX_KERNEL_VERSION should have been LINUX_VERSION_CODE).

FILES:
  KernelModule folder
	CardALTigrisV.h:
*******************************************************************************

*******************************************************************************
07/06/01	rcl

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		Shutting down driver causes lockup or panic. (But only if have reached
		showtime at least once)
CAUSE:
		Interrupt is occuring after shutdown/disable
SOLUTION:
		Ensure interrupts get disabled

FILES:
	CardALTigris.c:
		cardALDeviceBGThread disabled interrupts when exiting. Remove this as
		it is not called anymore during shutdown as CardMgmt filters it out.
		cardALDeviceBGThread should not call Auto_AutoSensePoll nor 
		DMT_ProcCurStartUpState when shutting down. The other threads were
		already protected.
		Have CardALDeviceDisable call ChipAlTigrisDpDisableIRQ1_2 so to ensure
		that the interrupts get disabled.
*******************************************************************************

*******************************************************************************
07/06/01	Jerry Viviano

PROJECT:	Tigris/Yukon
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux


PROBLEM:
		1) Lost change in multi-instance merge.  Change was the move of G.HS
		TweakSystemForLoopLength() from middle of C_TONES to between end of
		G.HS and beginning of common training modes.
		2) debug_parameters unusable from within GHSEstimate26AWGkFt().
		3) Old obsolete comments.

CAUSE:
		1) Dunno.
		2) pDatapump not passed into function.
		3) N/A
		
SOLUTION:
		1) Re-merge change.
		2) Add pDatapump arg.
		3) Remove old comments.
FILES:

		ghrtbgst.c: Move the lines of code to the right place.
					Add pDatapump arg to GHSEstimate26AWGkFt().
					Remove old comments.

		rtbgstat.c: Removed old comments.
*******************************************************************************

*******************************************************************************
07/06/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: use ADI filter for normal short loop in TweakSystemForLoopLength   

CAUSE:
		cut and paste error
FILES:
    rtbgstat.c
*******************************************************************************

*******************************************************************************
07/09/01	HHM

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:    P46 can read the AFE type from AFE so 
			read AFE type from EEPROM locations 70 and 71.

CAUSE:
FILES:			
			Cardaltigris.c
			Cardalrigrisdiag.c
			Cardaltigrislv.h
			Cardaltigrislc.c
			Cardaltigrishalv.h
			afeinit.c
			hwio.h

*******************************************************************************

*******************************************************************************
07/09/01	jdp

PROJECT:	Tigris/Yukon
SYSTEM:		Driver Linux

PROBLEM:
		Kernel Threads
CAUSE:
		Added kernel threads for 2.2.16
		
SOLUTION:

FILES:
		CardMgmt.c:
		CardAlTigrisV.h:
		CardALTigris.c:
		KThread.h
		KThread.c
*******************************************************************************

*******************************************************************************
07/10/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: can't distinguish local static var from global variables

CAUSE:
		multi-instance version disallow local static. 
        Lack of #ifndef _???_H_ causes multiple definition warning
SOLUTION:
      Create local_var structure for each module.  Add #ifndef _???_H_ in all
      header files. Will move variables from global to this local var structure
      later.
FILES:
 eocintf.c dmtintf.h dpudmt.h micro.h rtbgstat.h rtrxstat.h rttxstat.h autosense.h
 stdeoc.h miscutil.h serial.h afeintf.h timer.h aocintf.h smrtxcvr.h smrt.h adslinfo.h
 serial.c monitor.h asicutil.h eocintf.h timetask.h diagnos.h datapump.h
 CardAlADSLDiag.h : fix parameter mismatch warning
*******************************************************************************

*******************************************************************************
07/10/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: can't distinguish local static var from global variables

CAUSE:
		multi-instance version disallow local static. 
        Lack of #ifndef _???_H_ causes multiple definition warning
SOLUTION:
      Create local_var structure for each module.  Add #ifndef _???_H_ in all
      header files. Will move variables from global to this local var structure
      later.
FILES:
 eocintf.c dmtintf.h dpudmt.h micro.h rtbgstat.h rtrxstat.h rttxstat.h autosense.h
 stdeoc.h miscutil.h serial.h afeintf.h timer.h aocintf.h smrtxcvr.h smrt.h adslinfo.h
 serial.c monitor.h asicutil.h eocintf.h timetask.h diagnos.h datapump.h
 CardAlADSLDiag.h : fix parameter mismatch warning
*******************************************************************************

*******************************************************************************
07/11/2001	dand/davidsdj
11-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver for 2.4.3-12 kernel

PROBLEM:
	The "version.h" file in the 2.4.3-12 kernel now has four different defines
	for UTS_RELEASE (for 'smp', for 'BOOT', for 'enterprise', and normal).

SOLUTION:
	Change from using awk to retrieve kernel version from the "version.h" file


FILES:
  Base folder
	cnxadslrpm.spec
*******************************************************************************

*******************************************************************************
07/12/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: can't support Fetcher AFE

CAUSE:

SOLUTION:
      Cleanup afeintf.c and add code to recognize Fetcher and utilize extra
      hybrid gain in Fetcher
FILES:
    xcvrinfo.h   rtbgstat.c  miscutil.c
    ghrtbgst.c   dpudmt.c    afeintf.c     afeintf.h    
*******************************************************************************

*******************************************************************************
07/12/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: "FAR SES running count= 0" and "FAR SES count 0" displayed in diagnostic
            log.
CAUSE:

SOLUTION:
      comment out debug Diagnostic log in monitor.c
FILES:
     monitor.c    
*******************************************************************************

*******************************************************************************
07/12/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: Bug: variable shift is used after the sign is taken out in ScaleSingleTapTeq

CAUSE:

SOLUTION:
      use the shift to compute D_PILOT before sign is losed
FILES:
     frrtbgst.c
*******************************************************************************

*******************************************************************************
07/12/2001	dand/davidsdj
12-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	Warning generated in Linux compiles that there is a comment within a comment.

SOLUTION:
	Removed the slash ('/') from line within the comment block that was
	generating the warning message.

FILES:
  KernelModule folder
	adslinfo.h
	afeintf.h
	datapump.h
	dmtintf.h
	dpudmt.h
	miscutil.h
	monitor.h
	rtbgstat.h
	rtrxstat.h
	rttxstat.h
	serial.h
	smrt.h
	timer.h
	xcvrinfo.h
*******************************************************************************

*******************************************************************************
07/12/2001	dand/davidsdj
12-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	Warning generated in Linux compiles that last line of code does not contain
	an EOL (before EOF).

SOLUTION:
	Added EOL to last line in file.

FILES:
  KernelModule folder
	diagnos.h
	smrtxcvr.h
	terminal.h
*******************************************************************************

*******************************************************************************
07/12/2001	dand/davidsdj
12-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	The RPM spec file specified an erroneous path (in command
	"chmod +x /usr/bin/init.d/cnxadslctl.sh"), the "init.d/" should not be
	in the path, that has been in the file since last changed in April.

SOLUTION:
	Remove "init.d/" from the path in the specified command line.

FILES:
  Base folder
	cnxadslrpm.spec:
*******************************************************************************

*******************************************************************************
07/13/2001	dand/davidsdj
13-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	Recent changes to DP controller files in the Windows drivers required
	changes to driver files not shared with Linux drivers.

SOLUTION:
	Function added to "CardALTigrs.c" in Windows drivers needs added for Linux
	drivers.

FILES:
  KernelModule folder
	afeintf.h:
		Added defines for AFE Id and AFE Id Check Value values stored in EEPROM.
	CardALTigris.c:
		Added function "cardALTigrisAFEEEPROM" (needed by DP controller files).
*******************************************************************************

*******************************************************************************
07/13/2001	dand/davidsdj
13-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	Warning generated in Linux compiles that there is a comment within a comment.

SOLUTION:
	Removed the slash ('/') from line within the comment block that was
	generating the warning message.

FILES:
  KernelModule folder
	afeintf.h:
*******************************************************************************

*******************************************************************************
07/13/2001	dand/davidsdj
13-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	Compile warning, function not prototyped ("cardALTigrisAFEEEPROM").

SOLUTION:
	Add function prototype for function "cardALTigrisAFEEEPROM".

FILES:
  KernelModule folder
	CardALTigrisV.h:
*******************************************************************************

*******************************************************************************
07/13/2001	dand/davidsdj
13-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	Warning generated in Linux compiles that last line of code does not contain
	an EOL (before EOF).

SOLUTION:
	Added EOL to last line in file.

FILES:
  KernelModule folder
	timetask.h:
*******************************************************************************

*******************************************************************************
07/13/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: line drop after 10 sec with PacBell or BellSouth in G.dmt mode

CAUSE:
   Alcatel sometimes request dramatic tx power cutback during C_B&G in G.dmt mode.
   Although not specified in the standard, they expect us to cutback in our sync
   symbol too.
SOLUTION:
    To workaround this problem, we are choosing tone 16 (T1.413 pilot tone)
   to decide how much we need to cut back
FILES:
    rttxstat.c
*******************************************************************************

*******************************************************************************
07/14/2001	dand/davidsdj
14-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	The compile/build is set to debug.

SOLUTION:
	Changed compile/build from debug to release.

FILES:
  DownLoadApp folder
	Makefile:
  KernelModule folder
	Makefile:
*******************************************************************************

*******************************************************************************
07/14/2001	dand/davidsdj
14-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	New application for AutoLog not in RPM

SOLUTION:
	Added new user application "cnxadslautolog" (AutoLog).

FILES:
  Base folder
	cnxadslrpm.spec:
*******************************************************************************

*******************************************************************************
07/16/01	David Lau
                           
PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: using gain on tone 16 in C_B&G may not be reliable

CAUSE:
   Alcatel sometimes request dramatic tx power cutback during C_B&G in G.dmt mode.
   Although not specified in the standard, they expect us to cutback in our sync
   symbol too.
SOLUTION:
   Change to use the average gain in C_B&G instead.
   Get rid of some compiler switch in miscutil.c
FILES:
   rttxstat.c miscutil.c xcvrinfo.h miscutil.h
*******************************************************************************

*******************************************************************************
07/17/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: Code cleanup.

CAUSE:
   N/A
SOLUTION:
   Change HYB_PREGAIN_LO to MIN_HYB_PREGAIN, and HYB_PREGAIN_H to MAX_HYB_PREGAIN
   in orger to be consistent with rest of AFE macro naming conventions.
FILES:
   afeintf.c
*******************************************************************************

*******************************************************************************
07/17/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: Annex B required changes

SOLUTION:
   Add Annex B supported (enabled only by compiler switch)
FILES:
   rtbgstat.c ghsutil.c xcvrinfo.h dmtintf.c afeintf.c     
*******************************************************************************

*******************************************************************************
07/18/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: 
	pDatapump->afe_register_image not being initialized to zero's in AFE_Init().
	No known symptoms yet.

CAUSE:
   Never coded.

SOLUTION:
   Do it.  Preventive measure.

FILES:
   afeintf.c
*******************************************************************************

*******************************************************************************
07/19/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: 
	AFE2B never setting to 39 dB on longest loops.  Max setting is 36 only dB.

CAUSE:
   Someone recently rewrote MISC_AdjustRcvGain().  Not sure why it was not working.

SOLUTION:
   Re-rewrote MISC_AdjustRcvGain().  Copied MISC_AdjustHybridGain() and made
   appropriate changes. After this change AFE2B's are now setting to 39 dB on
   longest loops.  Fetchers checked and they are also working properly with 
   new routine.  Note that the Fetchers were never, and still aren't setting to
   42 dB on longest loops.  This appears to be OK.
   
   Also converted these routines from VariableName format to variable_name format.

FILES:
   miscutil.c
*******************************************************************************

*******************************************************************************
07/23/2001	dand/davidsdj
23-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	Different compiler warnings.

SOLUTION:

FILES:
  KernelModule folder
	CardALTigris.c:
		Unused variable (Status) warning in function "cardALTigrisAFEEEPROM".
		This function had several return statements instead of setting the
		variable "Status" and returning the variable "Status" at the end of
		the function.
	CardALV.h.:
		The variable "CardALDebugFlag" needs to be available to the DP
		controller code (built in debug mode) even when the kernel module
		code is built in release (non-debug) mode.
	LnxTools.c:
		Removed unused variable "LockFlag" from function "WAIT_EVENT".
	SmSysIf.c:
		The debug print statement containing the string "(????)"in function
		"SmSysIfTrace" causes a warning message in the latest Linux compiler.
		Each question mark in the string was changed to be preceded with the
		backslash to cause the question marks to be treated as the question
		mark character and not some string operator.
*******************************************************************************

*******************************************************************************
07/23/2000	Joe Palazzo


PROJECT:	Tigris/Yukon
SYSTEM:		Linux Driver

PROBLEM:
		System OOPS during cat /proc/net/atm/CnxADSL on kernel
		and OOPS during 'cnxadslctl stat'.
	
SOLUTION:	
		Pass correct pointer (pDatapump).


	CardALTigrisDiag.c:
		function CdalDiagGetAdslConfig: a NULL pointer was being
		passed to SYS_GetSysNvram.

*******************************************************************************

*******************************************************************************
07/24/2001	dand/davidsdj
24-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	Shutdown of driver causing kernel oops (unable to handle kernel paging
	request ...).

SOLUTION:

FILES:
  KernelModule folder
	CardALTigris.c:
		Adding checking of the shutdown flag to kernel threads (no processing
		if flag set).
		Added check of the shutdown flag to function
		"cardALChipShutdownAdslLine" (exit function if flag is set).
	CardALTigrisLC.c:
		The function "CDALTigrisShutdown" had the wrong function name in
		the debug print statement (cut and paste error).
	CardMgmt.c:
		The function "cleanup_module" needed the SLEEP for one second
		(prematurely removed when switched from user to kernel threads)
		to allow threads to complete any waits.
*******************************************************************************

*******************************************************************************
07/25/2001	dand/davidsdj
25-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	Use of variable before initialized.

SOLUTION:

FILES:
  KernelModule folder
	CardALTigris.c:
		In function "cardALChipShutdownAdslLine" moved use of
		variable "pDatapump" after variable is initialized.
*******************************************************************************

*******************************************************************************
07/25/2001	Joe Palazzo
25-July-2001	

PROJECT:	Tigris/Yukon
SYSTEM:		Linux Driver

PROBLEM:
		Kernel threads not real-time.

SOLUTION:
		Setup kernel threads to be real-time and make their 
		priorities configurable.

FILES:
  KernelModule folder
	CardALTigris.c:
		Thread initialization contains a boost priority [0 - 99]
		used to set rt_priority of a kernel thread.

	CardMgmt.c:
		Added syscall vectors and initialization.

	KThread.c:
		Modified init_kthread to create real-time kernel threads
		and accept the new boost priority.

	KThread.h:
		Changed prototype for init_kthread.		

*******************************************************************************

*******************************************************************************
07/27/2001	dand/davidsdj
27-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	Kernel version 2.4.3 not going to Showtime unless DP controller code is
	compiled debug/checked.

SOLUTION:
	Determined (by JP) that the latest compiler (suggested by Red Hat,
	"gcc-2.96-85") is causing the problem.  If "CC = kgcc" is placed in
	the Makefile (causing older compiler ("egcs-2.91.66", same as delivered
	with Red Hat 6.2) to be used) then Showtime is achieved correctly/normally.

FILES:
  DownLoadApp folder
	Makefile
  KernelModule folder
	Makefile
  KernelModule/DpController folder
	Makefile
*******************************************************************************

*******************************************************************************
07/27/2001	dand/davidsdj
27-July-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	Redundant definition, "asm("int3")" already defined as "TRAP" macro (in
	file "LnxDefs.h").

SOLUTION:
	Remove redundant definition (macro "BREAKPOINT") (from file "CardMgmt.c").

FILES:
  KernelModule folder
	CardMgmt.c:
*******************************************************************************

*******************************************************************************
07/27/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: line disconnect from Showtime when connected to Newbridge G.lite mode

CAUSE:
   Both CO and RT are requesting Trellis to be turned on.  However, Falcon cannot  
   support Trellis without tone-ordering. (i.e. G.lite)
SOLUTION:
   Disable Trellis automatically in G.lite mode
FILES:
   rtbgstat.c
*******************************************************************************

*******************************************************************************
07/30/01	David Lau

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM: Annex B specific changes for Fetcher.  It's not enabled until 
    #define ANNEX_MODE ANNEX_B in xcvrinfo.h

FILES:
    asicutil.c  autosense.c  xcvrinfo.c  miscutil.c rtrxstat.c  xcvrinfo.h
*******************************************************************************

********************************************************************************
8/01/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Upstream rates very low in T1.413 to Globespan CO.
    
SOLUTION:
   	For some reason, if we specify that we are Alcatel in R_MSGS1 to the Globespan
	CO, we then connect at excellent rates.

   	Insert a system that checks pilot tone level compared to it's neighbor's levels
	during showtime.  If it falls too far below set XCVR_database->enable_self_vendor_id_faking.
	This prevents us from faking our RMSGS1 vendor id to Alcatael in future connect attempts.

FILES:
    rtbgstat.c - In HandleVenderID_Stuff(), if we are running T1.413 and the
    far end is Globespan (or Cisco), specify Alcatel as the RT vendor ID in
    R_MSGS1. Only fake RMSGS1 vendor id to Alcatel when
	XCVR_database->enable_self_vendor_id_faking is TRUE. Test existence of pilot tone during
	showtime.  If it disappears, disable XCVR_database->enable_self_vendor_id_faking.
   	Only call ASIC_GetAvgSigPwr() for the first couple of seconds of showtime to test for
	disappearance of pilot tone.  Pilot tone loss occurs almost immediately upon enterring
	showtime when it happens with Globespan CO's.  Therefore it only needed to be checked
	for the first few seconds.  This should get around the Win95 ASIC_GetAvgSigPwr() problem,
	if it still exists.
	Only check pilot tone loss for the first few seconds of showtime, using
	one_shot_after_showtime boolean to qualify when it happens.

	dmtintf.c - Set XCVR_database->enable_self_vendor_id_faking to TRUE at power up.

	xcvrinfo.h - Define XCVR_database->enable_self_vendor_id_faking .  
*******************************************************************************

********************************************************************************
8/03/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Thrashing late in training.

CAUSE:
   	On short loops against Globespan and Alcatel, we are at/near/above the 928 kbps
	upstream limit.  When we reduce upstream max bits per bin by one in order to get below
	928, we sometimes drop back to 864 kbps.  This is 32 kbps below the 896 limit that 
	kicks us back up by 1 bit per bin, which in turn sometimes causes us to connect above
	928, and so on, and so on, and so on.

SOLUTION:
	Reduce the 896 kbps lower threshold to 864 kbps.

FILES:
    rtbgstat.c - Reduce the upstream 896 kbps lower threshold to 864 kbps.
*******************************************************************************

*******************************************************************************
08/07/2001	dand/davidsdj
07-August-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver for kernel 2.2.16

PROBLEM:
	The configuration file for the 2.4.3 kernel did not specify to check
	module versions and the configuration file for the 2.2.16 kernel does.

SOLUTION:
	Change the configuration file for the 2.2.16 kernel version to match
	the configuration file for the 2.4.3 kernel.

FILES:
	{.}config (part of "kernel-atm-ppp-2.2.16.tar.gz"):
		Changed kernel configuration to not check module versions (turned
		off CONFIG_MODVERSIONS -> "Set version information on all symbols
		for modules enabled").
*******************************************************************************

*******************************************************************************
08/08/2001	Joe Palazzo

PROJECT:	Tigris/Yukon
SYSTEM:		Linux Driver

PROBLEM:
	Dumb terminal no longer works.

SOLUTION:
	Eliminate CPU release during cnxtty_write.

FILES:
  KernelModule folder
	CardALTigris.c:
		Set sleep interval for SIThread to 1 jiffy, same as 
		BGThread.

		cardALDeviceSIThread - Removed processing of dumb terminal input 
		from SIThread and placed it into TmrThread. 

		 CardALTigrisSITrap - Removed call to schedule().	

	CnxTTY.c:
		cnxtty_open - Removed redundant calls to ChipAlTigrisDpSER_InitMsg
		and ChipAlTigrisDpTRM_TerminalInit which are call in
		CardALDeviceAdapterInit during DSL_START.
*******************************************************************************

*******************************************************************************
08/08/2001	dand/davidsdj
08-August-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver for kernel 2.2.16

PROBLEM:
	Driver for kernel 2.4.3 had the MODVERSIONS option removed to compile
	correctly (due to changes in kernel files in 2.4.3).

SOLUTION:
	Removed MODVERSIONS option from make of driver for kernel 2.2.16 to match
	build of driver for kernel 2.4.3.


FILES:
  KernelModule folder
	Makefile:		<Tigris for kernel 2.2.16>
	Makefile:		<Yukon for kernel 2.2.16>
  KernelModule/DpController folder
	Makefile:		<for kernel 2.2.16>
*******************************************************************************

*******************************************************************************
08/08/2001	dand/davidsdj
08-August-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver for kernel 2.2.16

PROBLEM:
	When PPPoATM is specified to be built into the 2.2.16 kernel it is not
	really built into the kernel.

SOLUTION:
	PPPoATM does not work for the 2.2.16 kernel unless it is built as a module
	and modprobed in.

FILES:
	{.}config (part of "kernel-atm-ppp-2.2.16.tar.gz"):
		Changed kernel configuration file to specify PPPoATM as a module
		instead of built into the kernel.
*******************************************************************************

*******************************************************************************
8/13/2001	Joe Palazzo

PROJECT:	Tigris
SYSTEM:		Linux Driver

PROBLEM:	 
	Cell Alignment error

SOLUTION:
 	Set RXFIFOMUX bit for firmware. Updated copies of CnxTgF.hex and
	CnxYkF.hex in Linux DownLoadApp directories.

FILES:
	FileName:
		ChipAlDmaChanP46.c:
			ChipALDmaChanP46Open() - Set CSR_DSL_RX_FIFO_MUX bit to 
			allow firmware to view cell data.
*******************************************************************************

*******************************************************************************
08/14/2001	dand/davidsdj
14-August-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	The proprietary object file is being deleted when a 'make clean' is performed and this file is not rebuilt as part of the reference design release.

SOLUTION:
	Rename proprietary object file (to "dpcontroller.o.proprietary") when copied from proprietary folder ("DpController") to the 'KernelModule' folder so that it is not deleted when all of the object files ("*.o") are deleted by the 'make clean' command.

FILES:
  KernelModule folder
  KernelModule/DpController folder
	Makefile:
*******************************************************************************

*******************************************************************************
08/14/2001	dand/davidsdj
14-August-2001	

PROJECT:		Tigris/Yukon
SYSTEM:			Linux Driver

PROBLEM:
	During install the Makefile does not force the copy commands.

SOLUTION:
	Change copy of files during install to force the copy command.

FILES:
  DownLoadApp folder
	Makefile:
*******************************************************************************

*******************************************************************************
08/14/2001	dand/davidsdj
14-August-2001	

PROBLEM:
	When PPPoATM module is specified to be built into the 2.2.16 kernel it
	is not really built into the kernel.

SOLUTION:
	PPPoATM initialization function needs to be called as part of kernel
	initialization of kernel modules.

FILES:
	kernel-atm-ppp-2.2.16.tar.gz (file drivers/block/genhd.c):
		Added call to PPPoATM initialization function.
	{.}config (also part of "kernel-atm-ppp-2.2.16.tar.gz"):
		Changed kernel configuration file to specify PPPoATM as built
		into the kernel instead of as a loadable module.
*******************************************************************************


********************************************************************************
8/14/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Thrashing in G.HS .

CAUSE:
   	1) G.HS tone detector firing when there are not really any tones there.
	2) GHS_HUNT_NOISE_FLOOR() being called and running while CO G.HS tones still
	existant from previous failed start-up attempt.

SOLUTION:
	1) Add minimum energy criteria to G.HS tone detection routine.
	2) Create new routines GHS_IsFarEndTxing() and GHS_WaitForFarEndSilence() to
	do pretty much what the function titles indicate.

FILES:
    ghrtbgst.c - Create new routines GHS_IsFarEndTxing() and GHS_WaitForFarEndSilence().
	Call them at the beginning of GHS_HUNT_NOISE_FLOOR().  If far end G.HS tones
	are detected, shut down transmitter.  Wait for far end G.HS tones to terminate,
	and then restart the state machines.
	
	ghsutil.c - Add min energy detection threshold to G.HS detection routine.
	 
    rtbgstat.c - Add prototypes for GHS_IsFarEndTxing() and GHS_WaitForFarEndSilence().
*******************************************************************************

********************************************************************************
8/14/01	David Lau    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Unable to accomodate UMC Rushmore
    
CAUSE:
   	New register for programming Fast Sync byte is added in UMC Rushmore.

SOLUTION:
	Add new register accordingly and initialize in Falcon.c

FILES:
    xcvrinfo.c falcon.c qedfer.h atmecblk.h 
*******************************************************************************

********************************************************************************
8/14/01	Jerry Viviano

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    More hrashing in G.HS .

CAUSE:
   	Bad check in. (Jerry Viviano 8/14) Had a call to ASIC_START_GHS_TONE_DETECTION() 
   	left over that was supposed to be deleted.

SOLUTION:
	Delete bad line.

FILES:
    ghrtbgst.c - Delete bad line.
*******************************************************************************

********************************************************************************
8/15/01	David Lau    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Hardware fix for SNR reporting to Cisco GSPN DSLAM with UMC Rushmore
    
CAUSE:
   	New register for programming Fast Sync byte is added in UMC Rushmore.

SOLUTION:
	No need to engage special EOC processing with UMC Rushmore

FILES:
    rtbgstat.c
*******************************************************************************

********************************************************************************
8/15/01	David Lau    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    PRBS detect tone list is not very good for Annex B
    
CAUSE:
   	Some of the tones in the list are not carrying signal

SOLUTION:
	Move the tones closer to pilot tone (i.e. 96)

FILES:
    xcvrinfo.c
*******************************************************************************

********************************************************************************
8/16/01	Jerry Viviano    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Not able to connect with 24 HDSL interferers beyond 10 kFt. 
    
CAUSE:
   	G.HS Call to TweakSystemForLoopLength()	was moved from middle of G.HS sequence
	to between end of G.HS and beginning of common training states.

SOLUTION:
	Move the call of TweakSystemForLoopLength() back to where it was.

FILES:
    ghrtbgst.c: Move the call of TweakSystemForLoopLength() back to where it was.
*******************************************************************************

********************************************************************************
8/16/01	David Lau    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Difficult to correlate Falcon register in the source code to the Spec
    
CAUSE:
   	I didn't explicitly put Falcon register address in the header file.  This makes
   	it difficult to find the corresponding register.

SOLUTION:
	put physical addresses for each register as comments next to each register definition

FILES:
 qedfer.h  fftblk.h dacintf.h ateblk.h seqblk.h mifctl.h diblk.h
*******************************************************************************

********************************************************************************
8/17/01	Jerry Viviano    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Not able to connect with 24 HDSL interferers beyond 10 kFt - STILL, even after
    8/16/01 change to fix this. 
    
CAUSE:
   	It turned out that the problem was not the location of the G.HS call to
   	TweakSystemForLoopLength(), but to an accidental change in the location of a
   	call to ASIC_SetupTeqShadowRam().  

SOLUTION:
	Move the call of TweakSystemForLoopLength() back to between end of G.HS and 
	beginning of common training states. Move the call of ASIC_SetupTeqShadowRam()
	back to middle of G.HS sequence .

FILES:
    ghrtbgst.c: Move the calls of TweakSystemForLoopLength() and ASIC_SetupTeqShadowRam()
    both to where they really belong.
*******************************************************************************

********************************************************************************
8/17/01	Jerry Viviano    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Some concern with performance of RxProtect filter being default. 
    
CAUSE:
   	  

SOLUTION:
	Change default back to standard filter by changing parity of AdslOption7 usage
	in determining if the RxProtect filter is being used.

FILES:
    rtbgstat.c: See SOLUTION.
*******************************************************************************

********************************************************************************
8/17/01	David Lau    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    New Rushmore is now supporting Bit error detector
    
SOLUTION:
	start preparing code to utilize this bit error detector

FILES:
 rtbgstat.c miscutil.c miscutil.h 
*******************************************************************************

********************************************************************************
8/20/01	Jerry Viviano    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    We don't stay in showtime with some recent ADI DSLAM code revs.  
    
CAUSE:
	Newest ADI DSLAM code revs are now for the first time using channels 251-255.
	But the power on them cuts out for a short period of time during training,
	causing our FEQ to train to humongous values on those channels.  Then when
	we reach showtime, the gain is way to high on them, resulting in continuous
	FEC's and/or CRC's.  	  

SOLUTION:
	If AdslHeadEnd is ANALOG_DEVICES_ID, limit max Rx channel to 250.

FILES:
    rtbgstat.c: Created new routine GetActualRxChnlEnd(), which determines max
    Rx channel to use based on AdslHeadEnd and whether we are using G.Lite mode,
    and whether device is RT or CO.
*******************************************************************************

********************************************************************************
8/20/01	Jerry Viviano    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Unneeded code in rtbgstat.c .  
    
CAUSE:
	In 8/21/01 change for ADI showtime problem, I added code to handle both RT
	and CO cases.  	  

SOLUTION:
	Eliminate CO code in GetActualRxChnlEnd() because the module is RTbgstat.c,
	not CObgstat.c

FILES:
    rtbgstat.c
*******************************************************************************

********************************************************************************
8/22/01	David Lau    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Smart Terminal to support multiple bit allocation plots
    
SOLUTION:
	add new command to support multiple bit allocation plots

FILES:
 rtbgstat.c miscutil.c miscutil.h datapump.h smrtxcvr.c 
*******************************************************************************

*******************************************************************************
8/24/2001	Joe Palazzo

PROJECT:	Tigris/Yukon
SYSTEM:		Linux Driver

PROBLEM:	 
	Driver shutdown problem Linux Kernel 2.4.3-12

SOLUTION:
	Deallocate resources properly.	

FILES:
	FileName:
		cnxadsl.spec:
			Added new cnxadslctl script file to /etc/rc.d/init.d
			Replaced command symbolic link creation with Rehat
			chkconfig utility. Removed cnxadsllock.

		cnxadslctl:
			Added new script file cnxadslctl to Yukon and Tigris top
			level folders; removes 30 second delay during start.

		linux-atm-2.4.3-12.patch.gz: 
			Made changes to br2684.c and atmdev.h to provide to new 
			ioctls ATM_CLOSE and ATM_CLOSE_VCC.
				
		atm-0.78-1.i386.rpm:
			Made changes to br2684ctl.c to handle new ioctls. 


*******************************************************************************

********************************************************************************
8/28/01	David Lau    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Default corner freq for Fetcher in Annex B mode is a little bit high
    
SOLUTION:
	provide capability to tweak the tx/rx band separation 

FILES:
    afeintf.c 
*******************************************************************************

********************************************************************************
8/28/01	David Lau    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Unable to peek/poke AFE registers via smart terminal
    
SOLUTION:
	The best way is to provide a smart terminal interface to peek/poke these
	AFE registers.  Until that's available, I'm using register 0xC1 to 0xD5 in 
	Falcon peek/poke register menu to access AFE registers 0x01 to 0x15.
    Also provide a backdoor to abort 4-plot request.

FILES:
    smrtxcvr.c 
*******************************************************************************

********************************************************************************
8/31/01	David Lau    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    New features for smart terminal
    
SOLUTION:
	Increase debug_parameters from 5 to 10
    Monitor each rx gain stages
    Peek/Poke AFE Registers
FILES:
    smrtxcvr.c datapump.h
*******************************************************************************

********************************************************************************
8/31/01	David Lau    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Unable to connect for Lucent Stinger in Taiwan for Accton
    
CAUSE:
	G.HS power seems to be too strong in short loop and our rx gain setting is
	a too high.

SOLUTION:
	Change RX_GAIN_RESET_VALUE (i.e. initial G.HS rx gain setting) from 12 to 0.

FILES:
    ghrtbgst.c
*******************************************************************************

********************************************************************************
9/4/01	Jerry Viviano (For David Lau)

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Not connecting to ADI based Samwoo/Samsung DSLAM at Garnet for loops longer than
    8 kFt in T1.413 . 

CAUSE:
   	Not detecting C-REVERB1.  ADI has done something new to that signal that we don't
	understand.
												
SOLUTION:
	Reduce C-REVERB1 detection criteria from:
		if (sig_detection_pwr > (PRBS_PWR_THRESHOLD>>14))
	to
		if (sig_detection_pwr > (PRBS_PWR_THRESHOLD>>15))

FILES:		 
    rtbgstat.c - See SOLUTION.
*******************************************************************************

********************************************************************************
9/4/01	David Lau    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Unable to transmit multiple tones in Smart terminal      
    
CAUSE:
	Before Falcon didn't support multiple tones transmission.
SOLUTION:
	Add new parameters in smart terminal to support multiple tone transmission.  
    (with backward compatibility of course)

FILES:
    smrtxcvr.c
*******************************************************************************

********************************************************************************
9/4/01	David Lau    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Multiple bit capacity plots support via smart terminal.
    
SOLUTION:
	By doing SNR measurement at different time during startup and turning off
    transmitter strategically.  We can analyze if we are limited by ISI or echo or both.

FILES:
    rtbgstat.c rttxstat.c rtrxstat.c
*******************************************************************************

********************************************************************************
9/7/01	David Lau    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    Annex B specific changes
    
SOLUTION:
	afeintf.c : lower tx/rx corner frequency to reduce echo and improve performance in Annex B
    rtbgstat.c : get rid of AdslOption4 that limits max rx bit per tone for Annex B

FILES:
    rtbgstat.c afeintf.c 
*******************************************************************************

********************************************************************************
9/7/01	David Lau    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    TEQ training is assuming Pairgain CO which starts at 40
    
SOLUTION:
	synchronize it with DEFAULT_VALID_RX_CHNL_START+1. This helps maintainability
    if we need to change rx channel band.

FILES:
    xcvrinfo.h
*******************************************************************************

********************************************************************************
9/7/01	David Lau    

PROJECT:	Tigris/Tigris-HCF
SYSTEM:		Driver WAN/LAN/CO/ Windows/Linux

PROBLEM:
    CO doesn't have autosense and Annex B doesn't support T1.413
    
SOLUTION:
	force fixed mode for CO and force G.dmt for Annex B.

FILES:
    autosense.c
*******************************************************************************
