Mon Nov 11 2002 Pamela Delaney
	* version 2.03.00
	Same as 2.02.03.

Fri Nov 1 2002 Pamela Delaney
	* version 2.02.03
	- mptbase.c: Release does not call kickstart.
	    Added write of 0xFF prior to enabling diagnostic mode.
	    Disabled interrupts prior to deleting IOC from Linked List.
	- mptctl.c: Added check on target ID for SCSI IO IOCTLS.
	    If strlen of Serial Number <-1, set string to NULL.
	    Return -ENODEV if ioc host number does not match SCSI host number.
	    Set defaults to -1 for all counters in HP target structure.
	    Add calls to register_ioctl32_conversion and unregister_ioct32 for
	      HP IOCTLS.
Thu Oct 17 2002 Pamela Delaney
	* version 2.02.02
	- mptbase.c: Fixed comments on MOST fix for 929X.
	    Added Msg Unit Reset prior to Diagnostict Reset for SCSI parts.
	- mptbase.h: Added counters for soft resets, hard resets and timeouts.
	- mptctl.c:  HP IOCTL changes.
            Fixed debug statements (dtm changed to dctl).
	- mptctl.h:  HP IOCTL changes.
	- mptscsih.c: HP IOCTL counter additions.
            Added define of highmem_io to skip bounce buffers in 
              high-memory case.
            Added patch for enabling highio (no bound buffers!)
            Added reset counters.
	    Added some debug statements.
            Bug Fix: Allow QAS if RAID or if disk capable of QAS.
            Bug Fix: Check bits 0 and 1 for QAS and IU support. If missing,
              max speed is U160.
	    Bug Fix: If issuing internal Req Sense, force untagged (WNW).
            Bug Fix: If DV enabled but not complete and a diagnostic reset,
              occurs, disk set to async/narrow instead of NVRAM settings.
            Bug Fix: qas_check skips current id.

Tue Oct 8 2002 Pamela Delaney
	* version 2.02.01.07
	-linux_compat.h: Added 2.5 Kernel compatibility changes.
            Defined MPT_INIT_WORK to INIT_WORK or to internal macro.
            Defined mpt_work_struct to work_strut or to tq_struct.
	- mptlan.c: 2.5 Kernel compat. changes
	- mptlan.h: 2.5 Kernel compat. changes
	- mptlinux.txt: Added instructions to change dir. prior to unmount
	- mptscsih.c: 2.5 Kernel compat. changes
            Enable highmem_io for 2.5.1 and later kernels.
	- mptscsih.h: 2.5 Kernel compat. changes

Tue Oct 1 2002 Pamela Delaney
	* version 2.02.01.06
	- lsi/ updated to the 1.02.09.00 header set
	- Config.in:  Added capability set the max number of sge / sgl
	  in the config utility. Default is 40.
	  Config.help (separate)
	- mptbase.c: Will reload_fw if detect a loginfo of 0x1101.
	    Added SCSI log info fields.  
	- mptbase.h: Added max_sge and num_chain to MPT_SCSI_HOST structure. 
	- mptctl.c: Fixed define for HPQ IOCTLs.
	- mptscsih.c: Stopped caching sense data in MPT_SCSI_HOST structure.
	    Reworked allocation of Chain buffers to be based on can_queue value
	    and max number sge / command.
	- mptscsih.h: add define for MAX_SECTORS and MAX_SGE
	    
Mon Sep 30 2002 Pamela Delaney
        * version 2.02.01.02
        - mptbase.h: increased MPT_MAX_ADAPTERS to 18 from 16
	- mptbase.c: Added MOST fix for 919X and 929X
	- mptscsih.c: setting the scsi host fieldfiel unique_id to the iocnumber
	     Modified the SCSI Error Report. Shortened. Writes message only 
	     if an error occurred on a read or a write.
	     Added capability to write max_sectors for 2.4.7 and later kernels.
	     Doubled the number of chain buffers if 64-bit physical addresses.
	- linux_compat.h: Modified mptscsih_save(restore)_flags. These
             functions are called by the _detect routine. For 2.5, invoke
	     the driver lock instead of save_flags/cli() etc.

Tue Aug 13 2002 Pamela Delaney
        * version 2.02.01.01
        - mptbase.h: Added define for Inq with data length > 56
	- mptbase.c: Added write of 0xFF during diag reset.
	     Will check cached ptr value instead of relying on facts data
	        for downloadboot algorithm.
             Added a MessageUnitReset if MakeIocReady is called
                for any parallel SCSI adapter.
        - mptscsih.c: 
	     Fix Mask error in ANSI version of INQ data (03 to 07). 
	     DV routine will issue an untagged Request Sense if
               first full speed Inquiry is wide bus, IOCStatus of GOOD,
	       but SCSI State of AUTOSENSE_FAILED, and current FW.
               doDv returns an int instead of a void.
             Removes tracker for untagged devices. If device untagged and
               FW is too old, DV will not be executed. Otherwise, relies
               on the FW returning a status of BUSY. Will try again later.
             bios_param changed prototype in 2.5.28 kernel.k
	- linux_compat.h: Added mptscsih_save(restore)_flags. These
             functions are called by the _detect routine. Needed
             due to 2.5 kernel changes.
	- mptctl.c: Changes to memory free - pci_free_consistent arg's
	     were pointing to the wrong location.
        - lsi/ updated to 1.02.08 headers.

Thu Sep 5 2002 Pamela Delaney
        * version 2.02.01 
        - mptctl.c: Bug fix: memory leak due to arg error in
          pci_free_consistent
        - mptscsih.c: Bug fix: Incorrect ANSI version mask set
          to 2 instead of 3 bits.
          Will not log Unit Attention if TUR command.

Wed Aug 22 2002 Pamela Delaney
        * version 2.02.00
	- same as 2.01.10

Wed July 31 2002 Pamela Delaney
        * version 2.01.10
        - mptctl.c & mptscsih.c: Modified file_operations structure 
             definition. Requested by Linux Kernel maintainers.
        - mptscsih.c: Bug fix: QAS checker routine was calling 
             writeSDP1 but not using the NVRAM settings.

Thu July 25 2002 Pamela Delaney
        * version 2.01.09
        - mptctl.c: Remove the block on IOCTL SCSI I/Os to untagged devices.

Thu July 25 2002 Pamela Delaney
        * version 2.01.08
        - mptscsih.c:  Bug fix: Added tracking capability for untagged commands
            until DV is complete. If OS busy when DV starts, DV will wait.

Tue July 23 2002 Pamela Delaney
        * version 2.01.07.03
        -mptscsih.c:  Modified writeSDP1 to determine the maximum
             data transfer rates from NVRAM and set the negotiation flags
             disable bits (GEM workaround).
             Reworked set_dvflags to be called from qcmd when dvStatus
             is not zero instead of io_done on all cmds. Should allow 
             for a performance improvement. For Tapes, dv flag is now set in
             initTarget.

Tue July 23 2002 Pamela Delaney
        * version 2.01.07.02
        - mptbase.h: Changed DV flag from DONE to NOTDONE.
        - mptbase.c: Fixed a typo in a comment.
        - mptscsih.c: Reworked some debug statements.
             Bug Fix: Disable QAS if QAS enabled and disk added
             after driver load.
             Bug Fix: DV flag swapped from DONE to NOTDONE
             Bug Fix: Changed error logging to prevent logging
             lots of errors when a CD Changer and no media
             Bug Fix: Workaround for sg interface submitting wrong
             data direction (sc_data_direction)
        - mptctl.c: Made some print statements into debug statements.
             For Applications.

Wed July 3 2002 Pamela Delaney
        * version 2.01.06.02
        -mptbase.c: Changed print statments in do_upload and
             downloadboot from dprintk to ddlprintk.
             Bug fix: Pushed FW onto adapter when driver unloads
                if a downloadboot configuration.
             Bug fix: FW upload 
             Bug fix: FW downloadboot
        -mptbase.h: Added ddlprintk macro. Added temporary
             abort workaround.
        -mptscsih.c: Bug fix:  Added calls to pci_unmap_sg or
             pci_unmap_single if diagnostic reset kills an outstanding
             I/O.
             Bug Fix: Above for DROP_TEST code.
             Bug Fix: mptscsih_release. Fixed how number of freed bytes
                are counted.
             Added temporary ABORT counter workaround.
             Quantum Workaround: Negotiate WDTR/SDTR on first I/O.
         -test/apps.c & mptio.c: Feature: Added bus reset IOCTL
         -test/getspeed.c: Added disassembling of transfer type
              QAS, DT, II.
         -utils/mptfdu.c: Release label.
              Bug fix: Set adap_pci_id for each image to prevent
                 secondary image from being rejected due to
                 product mismatch.

Thu June 20 2002 Pamela Delaney
        * version 2.01.06
        - mptbase.c: Bug fix: arg ordering in mpt_add_chain.
        - mptbase.h: version bump
             Changed defines from TIMEOUT to IOCRESET
             Added TM timer to IOCTL structure
             Added external structures for TM via ioctl
        - mptctl.c: Added busn reset capability via ioctl
        - mptscsih.c: Bug fix: Chain buffer handling.
             Added parens arounc spin_unlock
             Removed AddNull function. Replaced with inline code.
             Disable negotiation on processor devices.
             Reworked mem alloc for DV.
             Disable DV level 2 for non-disks.
        - test/getspeed.c new utility for getting the data rate
        - test/makefile updated for getspeed
        - utils/mptfdu: updated FDU.

Wed June 12 2002 Pamela Delaney
        * version 2.01.05
        - Same as 2.01.04.03. Release for test.
        - mptctl.c: Any attempt to issue a SCSI I/O via IOCTL to an
            untagged device will be returned to the user with a
            status of -EPERM.

Wed June 12 2002 Pamela Delaney
        * version 2.01.04.03
	- Major Change: Reworked the FW Upload and FW Download Boot
            algorithms. Affected: mptbase.h, mptbase.c, mptctl.c 
	    -mptbase.h: new variable, noQAS, IA64 fix
	    -mptscsih.c: Ability to detect mixed bus case and will
               disable QAS.

Wed June 5 2002 Pamela Delaney
        * version 2.01.04.01
	- Major Addition: New EH code is enabled by default for 2.5.1
	    kernels. Thanks Mike! Changes include: 
	    -linux_compat.h: macro defines HOST_LOCK
	    -mptbase.h: new debug define dnehprintk
	    -mptbase.c: GFP_KERNEL to GFP_ATOMIC
	    -mptscsih.h: new EH structures
	    -mptscsih.c: all of the new EH functions updated. TM
	       bus reset sets the LIP flag.
        - mptscsih.c: added check on byte 56 of Inquiry data for DT support

Wed June 5 2002 Pamela Delaney
        * version 2.01.04
	- mptscsih.c: If ANSI version = 2, was setting max speed to U2.
	    Now only set max speed to U2 if version 2 and narrow.
	- test/utils/mptfdu.c:  Reworked mptfdu to contain verify
	    and erase cycles. On a download, do an upload and a compare.
	    If miscompare on FW download, erase FW, Option ROM
	    If miscompare on Option ROM download, erase Option ROM

Tue June 4 2002 Pamela Delaney
        * version 2.01.03.03
        - mptbase.h: Added numAborted member to count number of aborts.
        - mptscsih.c: Added another GEM workaround (TASK_TERMINATED).
            Added code to count number of aborts per target. If get more
              than 5, increase sync factor by 1.
            Removed print statement of NOT READY.
            Bug Fix: In no negotiate case, moved call to setDevicePage1Flags
              down a few lines.

Tue May 28 2002 Pamela Delaney
        * version 2.01.03.02
        - mptbase.h: Reworked the SGE interface. All SGE/Chain elements
            added by calling mpt_add_sge(chain) in mptbase.c. These set
            the sge size by the dma_addr_t size. 
            PCI DMA MASK defaults to 64 bits.
            sizeof(MptSge_t) -> sizeof(dma_addr_t) + sizeof(u32) everywhere.
            mpt_addr_size() returnes the MPI define for SGE size.
            mpt_msg_flags() returnes the MPI define for sense dma addr size.
            Removed cpu_to_leXX and leXX_to_cpu macros.
        - mptbase.c: 
            Bug fix. Discarding IOC FW image then requesting a fw upload. 
            SGE Change. Added mpt_add_sge and mpt_add_chain.
            Removed arch dependent code and replaced with sizeof(dma_addr_t)
               code.
        - mptctl.h/mptctl.c: Added revisioning in getiocinfo function and
            altered processing to allow for a limited amount of revisioning.
            Removed obsolete code when SG change put in place.
            Removed chain capability in FW download (old).
        - mptscsih.c: Added SGE changes.

Wed May 8 2002 Pamela Delaney
        * version 2.01.03
        - mptscsih.c: Another small fix to DV. (GEM chips).

Wed May 8 2002 Pamela Delaney
        * version 2.01.02
        - mptscsih.c: Small fix to DV.

Mon May 6 2002 Pamela Delaney
        * version 2.01.00.03
	- mptbase.c: Added cast to (void *) for some print statements.
           Added setting bit to free FW image on a IOCInit and a
           flashless environment.
	- mptscsih.c: Added cast to (void *) for some print statements.
        - patch/linux-2.4.4-4GB.txt, updated.
	- utils/mptfdu.c: Added support for downloading and uploading
           Option ROM images. (Major changes). Tool is ALPHA.
        - mptlinux.txt: Patches for SuSE 7.2 IA64, SuSE 8.0 and Red Hat 7.3.
        - linux_compat.h: pci_set_dma_mask shows up in 2.4.4 not 2.4.0

Tue Apr 16 2002 Pamela Delaney
        * version 2.01.00.02
	- mptbase.h: Added FC919X and FC929X to CHIP_TYPE structure
          Since 929X cannot be converted to int, set the value as 829.
	  Moved unique_prepad so be next to unique_data. Otherwise
	  breaks dmpath driver.
	  Added define MPT_MAX_PCI_MASK - defaults to 64bit for ia64
	  and 32 bit otherwise.
	- mptbase.c: Added support for FC919X and FC929X
	  Modified spinlocks, to minimize function calls while locked.
	  Moved call to pci_enable_device to beginning of install.
          Added calls to pci_set_dma_mask.
	- mptscsih.c: Modified spinlocks, to minimize function calls 
	  while locked.
	  Added io_request spin locks to all scsi_done callbacks.
	  Bug Fix:  Added MPT_SGE_FLAGS_ADDRESSING to SGL handling.
	  Breaking with 64bit SGL.
	- linux_compat.h: Added compatibility for pci_set_dma_mask.
	- patch: Added patch for 2.4.9-31

Thu Apr 4 2002 Pamela Delaney
        * version 2.01.00.01
	- mptscsih.c: Conditioned raid event processing on is_spi 
	  Added use of sc_data_direction for 2.4 kernels
        - linux_compat.h: Added compatibility defines for 
          pci_enable_device and scsi_set_pci_device.
	  Added compatibility defines for SCSI_DATA_XXX used in
	  2.4 kernels.
        - mptbase.c: Added call to pci_enable_device.
        - mptscsih.c: Added call to scsi_set_pci_device.
        
Tue April 2 2002 Pamela Delaney
        * version 2.01 (GCA)
        - 2.00.11 with minor fix to mptscsih_event_process.
          Falling through when should not have and added check
          on is_spi (mptscsih).
	- patch/: Added patch for TurboLinux 7.0 Workstation.
	- utils/mptfdu.c: Major update to the utility
	- utils/mptfdu.c and test/apps.c: Added capability to 
	  search /proc/modules for existence of mptctl.  
	  Added capability for to create node /dev/mptctl if not found. 
          (Remark: utils/ test/ not for release).
	-patch/: Added patch for TurboLinux 7.0 Workstation.

Tue Mar 19 2002 Pamela Delaney
	* version 2.00.11.02
        - mptscsih.c: Added a break to mptscsih_event_process
          Falling through when should not have.
	- utils/mptfdu.c: Major update to the utility

Thu Feb 28 2002 Pamela Delaney
        * version 2.00.11
        - Changed mailto addresses. Same as 2.00.10

Thu Feb 28 2002 Pamela Delaney
        * version 2.00.10
        - Release for Test.  Same as 2.00.09.02. (Never Released)!

Fri Feb 22 2002 Pamela Delaney
        * version 2.00.09.02
        - mptbase.h: Added pads and re-ordered structure contents
          for good 64-bit alignment.
        - mptscsih.c: Fujitsu workaround.
          Added fix for disabling DV via command line option.
        - Added patch for 2.4.9-18 kernel.

Tue Feb 19 2002 Pamela Delaney
        * version 2.00.09.01
        - mptbase.c: Bug fix mpt_interrupt. Added test of pa != NULL in ISR 
          validation code for 1030. Broke target mode driver without change.
        - mptscsih.c: Modification to search_pendingQ to remove compiler warning
          Violates RAW Dependency warning on PSR for 2.4.17 IA64 platform. 
          Replaced 
               if (mf == MF_2_MFPTR()) 
          statement inside do-loop with
               cmdMfPtr = MF_2_MFPTR()
          prior to spin-lock and 
               if (mf == cmdMfPtr)
          as the inner do-loop check. No new code or logic.
         
Fri Feb 15 2002 Pamela Delaney
        * version 2.00.09
        - Release for test. Same as 2.00.08.06.

Tue Feb 12 2002 Pamela Delaney
        * version 2.00.08.06
        - mptscsih.c: Removed obsolete if 0 - code in some places.
          Fixed placement of defines when DV is disabled. Allows
          for correct build.
        - mptbase.c: Added 1030 HW workaround for PCIX split-transactions.
          Use a read-modify-write operation to zero bits 4-6 in
            the PCIX Command register. Set split-transaction depth to zero.
          Modified mpt_do_ioc_recovery and GetIocFacts - the latter function
            now is called whether a BRINGUP or RECOVERY after a hard reset.
            The reason is passed into GetIocFacts. If BRINGUP, functionality
            is the same as usual. If RECOVERY, only the ioc->facts structure
            is updated...no changes to any ioc structures and no execution of 
            port enable. Why? Consistent /proc output after a F/W reload.
        - utils/mptfdu.c: Fixed a typo.
        - utils/Config.help: Fixed a typo
        
Tue Feb 12 2002 Pamela Delaney
        * version 2.00.08.05
        - Merge 2.00.08.03 into 2.00.08.04 and perform checkin. 

Tue Feb 11 2002 Steve Ralston
        * version 2.00.08.04
        - Merge dmpath code into tip 2.00.08

Thu Jan 31 2002 Pamela Delaney
        * version 2.00.08.03
        - mptbase.h: Added support for a pendingQ in mptscsih. Q used to 
          temporarily divert commands from being issued if we are 
          doing DV to that ID.
        - mptscsih.c: Added NEW_EH code, not currently enabled.
          Bug Fix: Fall back routine falling back to async narrow if loop
            twice on Basic DV test. Fix by not resetting "now" field to 
            asyn/narrow.
          Bug Fix: DV not running for Tape drives. Key off of initial Inq cmd.
          Bug Fix: DV command times out and OS command time out can cause 
            multiple entries into TMHandler. DV timeout will not result in 
            bus reset if tmPending flag is set.  For new EH code, DV timeout 
            is a no-op. Rely on OS timeout on some future or pended command.
          Bug Fix: DV get bus reset and echo buffer, switch to data buffer
            but do not perform a fallback.
          Bug Fix?  RESIDUAL_MISMATCH case is now treated as a data underrun.
          Bug Fix: DV will not be performed for GEM or other processor devices.
        - mptctl.c: Added FW_DOWNLOAD capability through generic MPT_COMMAND 
          format. Modified mptctl_reply to handle MPT_COMMANDS first and 
          then duplicate paths for non-MPT_COMMANDs.
        - test/apps.c and mptio.c:  Added capability to issue a FW Upload 
          and FW Download via the utility using standard MPI messages.
        - utils/mptflash.txt: Updated text. Utility may be used with 9XX 
          and 10XX parts.
        - utils/mptflash.c: Updated utility. Mainly altered a few print 
          statements and split the verification of the ProductID to not 
          fail if switching from IM to non-IM F/W or vica versa.
        - utils/makefile: Added mptfdu.
        - utils/mptfdu.c: New utility. Performs the F/W download via a 
          menu program or via command line options. Performs an IOCFacts 
          request, FW Upload, FW Download, reset sequence.
        
Wed Jan 31 2002 Pamela Delaney
        * version 2.00.08.02
        - mptscsih.c: Added check to peripheral qualifier type 
          after DV basic test. If PROCESSOR (GEM), quit DV for 
          this device. Workaround.
        - mptbase.c: Added explicit read of doorbell after 
          doorbell interrupt on doorbell transfers. (modified 
          two handshake functions).
        
Fri Jan 18 2002 Pamela Delaney
        * version 2.00.08.01
        - mptctl.c: IOCTL not returning data on a SCSI I/O request 
          when a data underrun occurs. Return data if SCSI I/O and 
          {Good, underrun, recoverred error} cases.
        - test/mptio.c: Updated app to dump sense data only of SCSI I/O 
          and autosense valid bit set. Data is dumped if SCSI state 
          flags & 0x0F is zero.
        
Thu Jan 17 2002 Pamela Delaney
        * version 2.00.08
        - Updated Copyright label on all files. 
        - Added email to pam.delaney@lsil.com.

Thu Jan 17 2002 Pamela Delaney
        * version 2.00.07.08
        - mptctl.c: MPT_FUNCTION_SCSI_ENCLOSURE_PROCESSOR is now a legal IOCTL.

Mon Jan 14 2002 Pamela Delaney
        * version 2.00.07.07
        - mptbase.h: Created a structure ScsiCfgData that saves necessary 
            parallel SCSI information. Most of the contents was pulled from the
            SCSI host structure. Part of MPT_ADAPTER structure.  Required 
            change for DV to be able to be run as a background process.
          Removed MPT_DEBUG_SCAN define and created MPT_DEBUG_DV 
            and MPT_DEBUG_DV_TINY defines.  The latter is used just for top 
            level DV debugging. The former dumps detail information.
        - mptscsih.h: Removed options associated with internal bus scan. 
            Obsolete.
        - mptscsih.c: Major changes with DV handling. Now runs as a 
            background thread. Flag to run DV to a device is set after a 
            Read Capacity or Mode Sense command reply is received, if DV 
            has not already completed.
          Internal bus scan has been deleted.
          Modified Event handling to add support to set NEED_DV flag for 
            a hidden physical disk that has been replaced.  Disk must 
            show in cached IOCpg3. 
          Added command 0xa3 as data out.
        - mptctl.h: Added IOCTL to allow for replacement of cached F/W image.
            Updates cached IOCFactsReply data structures.
          Renamed structure mpt_reset_info to mpt_ioctl_diag_reset
            and set contents to be mpt_ioctl_header for consistency
            with other IOCTL structures.
          Added functionality for replacement of cached F/W image.
            Made changes necessary for changes to mpt_reset_info.
        - test/ apps.c:  Added F/W replacement IOCTL to menu.
          Added diagnostic functionality to application.
        - test/ mptio.c: Added F/W replacement IOCTL functionality.
