18c2ecf20Sopenharmony_ciSat May 12 12:00 2001 Gerard Roudier (groudier@club-internet.fr) 28c2ecf20Sopenharmony_ci * version sym53c8xx-1.7.3c 38c2ecf20Sopenharmony_ci - Ensure LEDC bit in GPCNTL is cleared when reading the NVRAM. 48c2ecf20Sopenharmony_ci Fix sent by Stig Telfer <stig@api-networks.com>. 58c2ecf20Sopenharmony_ci - Backport from SYM-2 the work-around that allows to support 68c2ecf20Sopenharmony_ci hardwares that fail PCI parity checking. 78c2ecf20Sopenharmony_ci - Check that we received at least 8 bytes of INQUIRY response 88c2ecf20Sopenharmony_ci for byte 7, that contains device capabilities, to be valid. 98c2ecf20Sopenharmony_ci - Define scsi_set_pci_device() as nil for kernel < 2.4.4. 108c2ecf20Sopenharmony_ci - + A couple of minor changes. 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciSat Apr 7 19:30 2001 Gerard Roudier (groudier@club-internet.fr) 138c2ecf20Sopenharmony_ci * version sym53c8xx-1.7.3b 148c2ecf20Sopenharmony_ci - Fix an unaligned LOAD from scripts (was used as dummy read). 158c2ecf20Sopenharmony_ci - In ncr_soft_reset(), only try to ABORT the current operation 168c2ecf20Sopenharmony_ci for chips that support SRUN bit in ISTAT1 and if SCRIPTS are 178c2ecf20Sopenharmony_ci currently running, as 896 and 1010 manuals suggest. 188c2ecf20Sopenharmony_ci - In the CCB abort path, do not assume that the CCB is currently 198c2ecf20Sopenharmony_ci queued to SCRIPTS. This is not always true, notably after a 208c2ecf20Sopenharmony_ci QUEUE FULL status or when using untagged commands. 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciSun Mar 4 18:30 2001 Gerard Roudier (groudier@club-internet.fr) 238c2ecf20Sopenharmony_ci * version sym53c8xx-1.7.3a 248c2ecf20Sopenharmony_ci - Fix an issue in the ncr_int_udc() (unexpected disconnect) 258c2ecf20Sopenharmony_ci handling. If the DSA didn't match a CCB, a bad write to 268c2ecf20Sopenharmony_ci memory could happen. 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ciMon Feb 12 22:30 2001 Gerard Roudier (groudier@club-internet.fr) 298c2ecf20Sopenharmony_ci * version sym53c8xx-1.7.3 308c2ecf20Sopenharmony_ci - Support for hppa. 318c2ecf20Sopenharmony_ci Tiny patch sent to me by Robert Hirst. 328c2ecf20Sopenharmony_ci - Tiny patch for ia64 sent to me by Pamela Delaney. 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ciTue Feb 6 13:30 2001 Gerard Roudier (groudier@club-internet.fr) 358c2ecf20Sopenharmony_ci * version sym53c8xx-1.7.3-pre1 368c2ecf20Sopenharmony_ci - Call pci_enable_device() as AC wants this to be done. 378c2ecf20Sopenharmony_ci - Get both the BAR cookies used by CPU and actual PCI BAR 388c2ecf20Sopenharmony_ci values used from SCRIPTS. Recent PCI chips are able to 398c2ecf20Sopenharmony_ci access themselves using internal cycles, but they compare 408c2ecf20Sopenharmony_ci BAR values to destination address to make decision. 418c2ecf20Sopenharmony_ci Earlier chips simply use PCI transactions to access IO 428c2ecf20Sopenharmony_ci registers from SCRIPTS. 438c2ecf20Sopenharmony_ci The bus_dvma_to_mem() interface that reverses the actual 448c2ecf20Sopenharmony_ci PCI BAR value from the BAR cookie is now useless. 458c2ecf20Sopenharmony_ci This point had been discussed at the list and the solution 468c2ecf20Sopenharmony_ci got approved by PCI code maintainer (Martin Mares). 478c2ecf20Sopenharmony_ci - Merge changes for linux-2.4 that declare the host template 488c2ecf20Sopenharmony_ci in the driver object also when the driver is statically 498c2ecf20Sopenharmony_ci linked with the kernel. 508c2ecf20Sopenharmony_ci - Increase SCSI message size up to 12 bytes, given that 8 518c2ecf20Sopenharmony_ci bytes was not enough for the PPR message (fix). 528c2ecf20Sopenharmony_ci - Add field 'maxoffs_st' (max offset for ST data transfers). 538c2ecf20Sopenharmony_ci The C1010 supports offset 62 in DT mode but only 31 in 548c2ecf20Sopenharmony_ci ST mode, to 2 different values for the max SCSI offset 558c2ecf20Sopenharmony_ci are needed. Replace the obviously wrong masking of the 568c2ecf20Sopenharmony_ci offset against 0x1f for ST mode by a lowering to 578c2ecf20Sopenharmony_ci maxoffs_st of the SCSI offset in ST mode. 588c2ecf20Sopenharmony_ci - Refine a work-around for the C1010-66. Revision 1 does 598c2ecf20Sopenharmony_ci not requires extra cycles in DT DATA OUT phase. 608c2ecf20Sopenharmony_ci - Add a missing endian-ization (abrt_tbl.addr). 618c2ecf20Sopenharmony_ci - Minor clean-up in the np structure for fields accessed 628c2ecf20Sopenharmony_ci from SCRIPTS that requires special alignments. 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ciSun Sep 24 21:30 2000 Gerard Roudier (groudier@club-internet.fr) 658c2ecf20Sopenharmony_ci * version sym53c8xx-1.7.2 668c2ecf20Sopenharmony_ci - Remove the hack for PPC added in previous driver version. 678c2ecf20Sopenharmony_ci - Add FE_DAC feature bit to distinguish between 64 bit PCI 688c2ecf20Sopenharmony_ci addressing (FE_DAC) and 64 bit PCI interface (FE_64BIT). 698c2ecf20Sopenharmony_ci - Get rid of the boot command line "ultra:" argument. 708c2ecf20Sopenharmony_ci This parameter wasn't that clever since we can use "sync:" 718c2ecf20Sopenharmony_ci for Ultra/Ultra2 settings, and for Ultra3 we may want to 728c2ecf20Sopenharmony_ci pass PPR options (for now only DT clocking). 738c2ecf20Sopenharmony_ci - Add FE_VARCLK feature bit that indicates that SCSI clock 748c2ecf20Sopenharmony_ci frequency may vary depending on board design and thus, 758c2ecf20Sopenharmony_ci the driver should try to evaluate the SCSI clock. 768c2ecf20Sopenharmony_ci - Simplify the way the driver determine the SCSI clock: 778c2ecf20Sopenharmony_ci ULTRA3 -> 160 MHz, ULTRA2 -> 80 MHz otherwise 40 MHz. 788c2ecf20Sopenharmony_ci Measure the SCSI clock frequency if FE_VARCLK is set. 798c2ecf20Sopenharmony_ci - Remove FE_CLK80 feature bit that got useless. 808c2ecf20Sopenharmony_ci - Add support for the SYM53C875A (Pamela Delaney). 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ciWed Jul 26 23:30 2000 Gerard Roudier (groudier@club-internet.fr) 838c2ecf20Sopenharmony_ci * version sym53c8xx-1.7.1 848c2ecf20Sopenharmony_ci - Provide OpenFirmware path through the proc FS on PPC. 858c2ecf20Sopenharmony_ci - Download of on-chip SRAM using memcpy_toio() doesn't work 868c2ecf20Sopenharmony_ci on PPC. Restore previous method (MEMORY MOVE from SCRIPTS). 878c2ecf20Sopenharmony_ci - Remove trailing argument #2 from a couple of #undefs. 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ciSun Jul 09 16:30 2000 Gerard Roudier (groudier@club-internet.fr) 908c2ecf20Sopenharmony_ci * version sym53c8xx-1.7.0 918c2ecf20Sopenharmony_ci - Remove the PROFILE C and SCRIPTS code. 928c2ecf20Sopenharmony_ci This facility was not this useful and thus was not longer 938c2ecf20Sopenharmony_ci desirable given the increasing complexity of the driver code. 948c2ecf20Sopenharmony_ci - Merges from FreeBSD sym-1.6.2 driver: 958c2ecf20Sopenharmony_ci * Clarify memory barriers needed by the driver for architectures 968c2ecf20Sopenharmony_ci that implement a weak memory ordering. 978c2ecf20Sopenharmony_ci * Simpler handling of illegal phases and data overrun from 988c2ecf20Sopenharmony_ci SCRIPTS. These errors are now immediately reported to 998c2ecf20Sopenharmony_ci the C code by an interrupt. 1008c2ecf20Sopenharmony_ci * Sync the residual handling code with sym-1.6.2 and now 1018c2ecf20Sopenharmony_ci report `resid' to user for linux version >= 2.3.99 1028c2ecf20Sopenharmony_ci - General cleanup: 1038c2ecf20Sopenharmony_ci Move definitions for barriers and IO/MMIO operations to the 1048c2ecf20Sopenharmony_ci sym53c8xx_defs.h header files. They are now shared by the 1058c2ecf20Sopenharmony_ci both drivers. 1068c2ecf20Sopenharmony_ci Remove unused options that claimed to optimize for the 896. 1078c2ecf20Sopenharmony_ci If fact, they were not this clever. :) 1088c2ecf20Sopenharmony_ci Use SCSI_NCR_IOMAPPED instead of NCR_IOMAPPED. 1098c2ecf20Sopenharmony_ci Remove a couple of unused fields from data structures. 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ciThu May 11 12:40 2000 Pam Delaney (pam.delaney@lsil.com) 1128c2ecf20Sopenharmony_ci * version sym53c8xx-1.6b 1138c2ecf20Sopenharmony_ci - Merged version. 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ciMon Apr 24 12:00 2000 Gerard Roudier (groudier@club-internet.fr) 1168c2ecf20Sopenharmony_ci * version sym53c8xx-1.5m 1178c2ecf20Sopenharmony_ci - Return value 1 (instead of 0) from the driver setup routine. 1188c2ecf20Sopenharmony_ci - Do not enable PCI DAC cycles. This just broke support for 1198c2ecf20Sopenharmony_ci SYM534C896 on sparc64. Problem fixed by David S. Miller. 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ciFri Apr 14 9:00 2000 Pam Delaney (pam.delaney@lsil.com) 1228c2ecf20Sopenharmony_ci * version sym53c8xx-1.6b-9 1238c2ecf20Sopenharmony_ci - Added 53C1010_66 support. 1248c2ecf20Sopenharmony_ci - Small fix to integrity checking code. 1258c2ecf20Sopenharmony_ci - Removed requirement for integrity checking if want to run 1268c2ecf20Sopenharmony_ci at ultra 3. 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ciSat Apr 1 12:00 2000 Gerard Roudier (groudier@club-internet.fr) 1298c2ecf20Sopenharmony_ci * version sym53c8xx-1.5l 1308c2ecf20Sopenharmony_ci - Tiny change for __sparc__ appeared in 2.3.99-pre4.1 that 1318c2ecf20Sopenharmony_ci applies to cache line size (? Probably from David S Miller). 1328c2ecf20Sopenharmony_ci - Make sure no data transfer will happen for Scsi_Cmnd requests 1338c2ecf20Sopenharmony_ci that supply SCSI_DATA_NONE direction (this avoids some BUG() 1348c2ecf20Sopenharmony_ci statement in the PCI code when a data buffer is also supplied). 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ciSat Mar 11 12:00 2000 Gerard Roudier (groudier@club-internet.fr) 1378c2ecf20Sopenharmony_ci * version sym53c8xx-1.6b-5 1388c2ecf20Sopenharmony_ci - Test against expected data transfer direction from SCRIPTS. 1398c2ecf20Sopenharmony_ci - Add support for the new dynamic dma mapping kernel interface. 1408c2ecf20Sopenharmony_ci Requires Linux-2.3.47 (tested with pre-2.3.47-6). 1418c2ecf20Sopenharmony_ci Many thanks to David S. Miller for his preliminary changes 1428c2ecf20Sopenharmony_ci that have been useful guidelines. 1438c2ecf20Sopenharmony_ci - Get data transfer direction from the scsi command structure 1448c2ecf20Sopenharmony_ci (Scsi_Cmnd) with kernels that provide this information. 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_ciMon Mar 6 23:30 2000 Gerard Roudier (groudier@club-internet.fr) 1478c2ecf20Sopenharmony_ci * version sym53c8xx-1.5k 1488c2ecf20Sopenharmony_ci - Test against expected data transfer direction from SCRIPTS. 1498c2ecf20Sopenharmony_ci - Revert the change in 'ncr_flush_done_cmds()' but unmap the 1508c2ecf20Sopenharmony_ci scsi dma buffer prior to queueing the command to our done 1518c2ecf20Sopenharmony_ci list. 1528c2ecf20Sopenharmony_ci - Miscellaneous (minor) fixes in the code added in driver 1538c2ecf20Sopenharmony_ci version 1.5j. 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ciMon Feb 14 4:00 2000 Pam Delaney (pam.delaney@lsil.com) 1568c2ecf20Sopenharmony_ci * version sym53c8xx-pre-1.6b-2. 1578c2ecf20Sopenharmony_ci - Updated the SCRIPTS error handling of the SWIDE 1588c2ecf20Sopenharmony_ci condition - to remove any reads of the sbdl 1598c2ecf20Sopenharmony_ci register. Changes needed because the 896 and 1010 1608c2ecf20Sopenharmony_ci chips will check parity in some special circumstances. 1618c2ecf20Sopenharmony_ci This will cause a parity error interrupt if not in 1628c2ecf20Sopenharmony_ci data phase. Changes based on those made in the 1638c2ecf20Sopenharmony_ci FreeBSD driver version 1.3.2. 1648c2ecf20Sopenharmony_ci 1658c2ecf20Sopenharmony_ciSun Feb 20 11:00 2000 Gerard Roudier (groudier@club-internet.fr) 1668c2ecf20Sopenharmony_ci * version sym53c8xx-1.5j 1678c2ecf20Sopenharmony_ci - Add support for the new dynamic dma mapping kernel interface. 1688c2ecf20Sopenharmony_ci Requires Linux-2.3.47 (tested with pre-2.3.47-6). 1698c2ecf20Sopenharmony_ci Many thanks to David S. Miller for his preliminary changes 1708c2ecf20Sopenharmony_ci that have been useful guidelines, for having reviewed the 1718c2ecf20Sopenharmony_ci code and having tested this driver version on Ultra-Sparc. 1728c2ecf20Sopenharmony_ci - 2 tiny bugs fixed in the PCI wrapper that provides support 1738c2ecf20Sopenharmony_ci for early kernels without pci device structure. 1748c2ecf20Sopenharmony_ci - Get data transfer direction from the scsi command structure 1758c2ecf20Sopenharmony_ci (Scsi_Cmnd) with kernels that provide this information. 1768c2ecf20Sopenharmony_ci - Fix an old bug that only affected 896 rev. 1 when driver 1778c2ecf20Sopenharmony_ci profile support option was set in kernel configuration. 1788c2ecf20Sopenharmony_ci 1798c2ecf20Sopenharmony_ciFri Jan 14 14:00 2000 Pam Delaney (pam.delaney@lsil.com) 1808c2ecf20Sopenharmony_ci * version sym53c8xx-pre-1.6b-1. 1818c2ecf20Sopenharmony_ci - Merge parallel driver series 1.61 and 1.5e 1828c2ecf20Sopenharmony_ci 1838c2ecf20Sopenharmony_ciTue Jan 11 14:00 2000 Pam Delaney (pam.delaney@lsil.com) 1848c2ecf20Sopenharmony_ci * version sym53c8xx-1.61 1858c2ecf20Sopenharmony_ci - Added support for mounting disks on wide-narrow-wide 1868c2ecf20Sopenharmony_ci scsi configurations. 1878c2ecf20Sopenharmony_ci - Modified offset to be a maximum of 31 in ST mode, 1888c2ecf20Sopenharmony_ci 62 in DT mode. 1898c2ecf20Sopenharmony_ci - Based off of 1.60 1908c2ecf20Sopenharmony_ci 1918c2ecf20Sopenharmony_ciMon Jan 10 10:00 2000 Pam Delaney (pam.delaney@lsil.com) 1928c2ecf20Sopenharmony_ci * version sym53c8xx-1.60 1938c2ecf20Sopenharmony_ci - Added capability to use the integrity checking code 1948c2ecf20Sopenharmony_ci in the kernel (optional). 1958c2ecf20Sopenharmony_ci - Added PPR negotiation. 1968c2ecf20Sopenharmony_ci - Added support for 53C1010 Ultra 3 part. 1978c2ecf20Sopenharmony_ci - Based off of 1.5f 1988c2ecf20Sopenharmony_ci 1998c2ecf20Sopenharmony_ciSat Jan 8 22:00 2000 Gerard Roudier (groudier@club-internet.fr) 2008c2ecf20Sopenharmony_ci * version sym53c8xx-1.5h 2018c2ecf20Sopenharmony_ci - Add year 2000 copyright. 2028c2ecf20Sopenharmony_ci - Display correctly bus signals when bus is detected wrong. 2038c2ecf20Sopenharmony_ci - Some fix for Sparc from DSM that went directly to kernel tree. 2048c2ecf20Sopenharmony_ci 2058c2ecf20Sopenharmony_ciMon Dec 6 22:00 1999 Gerard Roudier (groudier@club-internet.fr) 2068c2ecf20Sopenharmony_ci * version sym53c8xx-1.5g 2078c2ecf20Sopenharmony_ci - Change messages written by the driver at initialisation and 2088c2ecf20Sopenharmony_ci through the /proc FS (rather cosmetic changes that consist in 2098c2ecf20Sopenharmony_ci printing out the PCI bus number and PCI device/function). 2108c2ecf20Sopenharmony_ci - Ensure the SCRIPTS processor is stopped while calibrating the 2118c2ecf20Sopenharmony_ci SCSI clock (the initialisation code has been a bit reworked). 2128c2ecf20Sopenharmony_ci Change moved to the FreeBSD sym_hipd driver). 2138c2ecf20Sopenharmony_ci - Some fixes in the MODIFY_DP/IGN_RESIDUE code and residual 2148c2ecf20Sopenharmony_ci calculation (moved from FreeBSD sym_hipd driver). 2158c2ecf20Sopenharmony_ci - Add NVRAM support for Tekram boards that use 24C16 EEPROM. 2168c2ecf20Sopenharmony_ci Code moved from the FreeBSD sym_hipd driver, since it has 2178c2ecf20Sopenharmony_ci been that one that got this feature first. 2188c2ecf20Sopenharmony_ci - Definitely disable overlapped PCI arbitration for all dual 2198c2ecf20Sopenharmony_ci function chips, since I cannot make sure for what chip revisions 2208c2ecf20Sopenharmony_ci it is actually safe. 2218c2ecf20Sopenharmony_ci - Add support for the SYM53C1510D (also for ncr53c8xx). 2228c2ecf20Sopenharmony_ci - Fix up properly the PCI latency timer when needed or asked for. 2238c2ecf20Sopenharmony_ci - Get rid of the old PCI bios interface, but preserve kernel 2.0 2248c2ecf20Sopenharmony_ci compatibility from a simple wrapper. 2258c2ecf20Sopenharmony_ci - Update the poor Tekram sync factor table. 2268c2ecf20Sopenharmony_ci - Fix in a tiny 'printk' bug that may oops in case of extended 2278c2ecf20Sopenharmony_ci errors (unrecovered parity error, data overrun, etc ...) 2288c2ecf20Sopenharmony_ci (Sent by Pamela Delaney from LSILOGIC) 2298c2ecf20Sopenharmony_ci - Remove the compilation condition about having to acquire the 2308c2ecf20Sopenharmony_ci io_request_lock since it seems to be a definite feature now.:) 2318c2ecf20Sopenharmony_ci - Change get_pages by GetPages since Linux >= 2.3.27 now wants 2328c2ecf20Sopenharmony_ci get_pages to ever be used as a kernel symbol (from 2.3.27). 2338c2ecf20Sopenharmony_ci - proc_dir structure no longer needed for kernel >= 2.3.27. 2348c2ecf20Sopenharmony_ci 2358c2ecf20Sopenharmony_ciSun Oct 3 19:00 1999 Gerard Roudier (groudier@club-internet.fr) 2368c2ecf20Sopenharmony_ci * version sym53c8xx-1.5f 2378c2ecf20Sopenharmony_ci - Change the way the driver checks the PCI clock frequency, so 2388c2ecf20Sopenharmony_ci that overclocked PCI BUS up to 48 MHz will not be refused. 2398c2ecf20Sopenharmony_ci The more the BUS is overclocked, the less the driver will 2408c2ecf20Sopenharmony_ci guarantee that its measure of the SCSI clock is correct. 2418c2ecf20Sopenharmony_ci - Backport some minor improvements of SCRIPTS from the sym_hipd 2428c2ecf20Sopenharmony_ci driver. 2438c2ecf20Sopenharmony_ci - Backport the code rewrite of the START QUEUE dequeuing (on 2448c2ecf20Sopenharmony_ci bad scsi status received) from the sym_hipd driver. 2458c2ecf20Sopenharmony_ci 2468c2ecf20Sopenharmony_ciSat Sep 11 11:00 1999 Gerard Roudier (groudier@club-internet.fr) 2478c2ecf20Sopenharmony_ci * version sym53c8xx-1.5e 2488c2ecf20Sopenharmony_ci - New linux-2.3.13 __setup scheme support added. 2498c2ecf20Sopenharmony_ci - Cleanup of the extended error status handling: 2508c2ecf20Sopenharmony_ci Use 1 bit per error type. 2518c2ecf20Sopenharmony_ci - Also save the extended error status prior to auto-sense. 2528c2ecf20Sopenharmony_ci - Add the FE_DIFF chip feature bit to indicate support of 2538c2ecf20Sopenharmony_ci diff probing from GPIO3 (825/825A/876/875). 2548c2ecf20Sopenharmony_ci - Remove the quirk handling that has been useless since day one. 2558c2ecf20Sopenharmony_ci - Work-around PCI chips being reported twice on some platforms. 2568c2ecf20Sopenharmony_ci - Add some redundant PCI reads in order to deal with common 2578c2ecf20Sopenharmony_ci bridge misbehaviour regarding posted write flushing. 2588c2ecf20Sopenharmony_ci - Add some other conditionnal code for people who have to deal 2598c2ecf20Sopenharmony_ci with really broken bridges (they will have to edit a source 2608c2ecf20Sopenharmony_ci file to try these options). 2618c2ecf20Sopenharmony_ci - Handle correctly (hopefully) jiffies wrap-around. 2628c2ecf20Sopenharmony_ci - Restore the entry used to detect 875 until revision 0xff. 2638c2ecf20Sopenharmony_ci (I removed it inadvertently, it seems :) ) 2648c2ecf20Sopenharmony_ci - Replace __initfunc() which is deprecated stuff by __init which 2658c2ecf20Sopenharmony_ci is not yet so. ;-) 2668c2ecf20Sopenharmony_ci - Rewrite the MESSAGE IN scripts more generic by using a MOVE 2678c2ecf20Sopenharmony_ci table indirect. Extended messages of any size are accepted now. 2688c2ecf20Sopenharmony_ci (Size is limited to 8 for now, but a constant is just to be 2698c2ecf20Sopenharmony_ci increased if necessary) 2708c2ecf20Sopenharmony_ci - Fix some bug in the fully untested MDP handling:) and share 2718c2ecf20Sopenharmony_ci some code between MDP handling and residual calculation. 2728c2ecf20Sopenharmony_ci - Calculate the data transfer residual as the 2's complement 2738c2ecf20Sopenharmony_ci integer (A positive value in returned on data overrun, and 2748c2ecf20Sopenharmony_ci a negative one on underrun). 2758c2ecf20Sopenharmony_ci - Add support of some 'resource handling' for linux-2.3.13. 2768c2ecf20Sopenharmony_ci Basically the BARs have been changed to something more complex 2778c2ecf20Sopenharmony_ci in the pci_dev structure. 2788c2ecf20Sopenharmony_ci - Remove some deprecated code. 2798c2ecf20Sopenharmony_ci 2808c2ecf20Sopenharmony_ciSat Jun 5 11:00 1999 Gerard Roudier (groudier@club-internet.fr) 2818c2ecf20Sopenharmony_ci * version sym53c8xx-1.5c 2828c2ecf20Sopenharmony_ci - Do not negotiate on auto-sense if we are currently using 8 bit 2838c2ecf20Sopenharmony_ci async transfer for the target. 2848c2ecf20Sopenharmony_ci - Only check for SISL/RAID on i386 platforms. 2858c2ecf20Sopenharmony_ci (A problem has been reported on PPC with that code). 2868c2ecf20Sopenharmony_ci - On MSG REJECT for a negotiation, the driver attempted to restart 2878c2ecf20Sopenharmony_ci the SCRIPT processor when this one was already running. 2888c2ecf20Sopenharmony_ci 2898c2ecf20Sopenharmony_ciSat May 29 12:00 1999 Gerard Roudier (groudier@club-internet.fr) 2908c2ecf20Sopenharmony_ci * version sym53c8xx-1.5b 2918c2ecf20Sopenharmony_ci - Force negotiation prior auto-sense. 2928c2ecf20Sopenharmony_ci This ensures that the driver will be able to grab the sense data 2938c2ecf20Sopenharmony_ci from a device that has received a BUS DEVICE RESET message from 2948c2ecf20Sopenharmony_ci another initiator. 2958c2ecf20Sopenharmony_ci - Complete all disconnected CCBs for a logical UNIT if we are told 2968c2ecf20Sopenharmony_ci about a UNIT ATTENTION for a RESET condition by this target. 2978c2ecf20Sopenharmony_ci - Add the control command 'cleardev' that allows to send a ABORT 2988c2ecf20Sopenharmony_ci message to a logical UNIT (for test purpose). 2998c2ecf20Sopenharmony_ci 3008c2ecf20Sopenharmony_ciTue May 25 23:00 1999 Gerard Roudier (groudier@club-internet.fr) 3018c2ecf20Sopenharmony_ci * version sym53c8xx-1.5a 3028c2ecf20Sopenharmony_ci - Add support for task abort and bus device reset SCSI message 3038c2ecf20Sopenharmony_ci and implement proper synchonisation with SCRIPTS to handle 3048c2ecf20Sopenharmony_ci correctly task abortion without races. 3058c2ecf20Sopenharmony_ci - Send an ABORT message (if untagged) or ABORT TAG message (if tagged) 3068c2ecf20Sopenharmony_ci when the driver is told to abort a command that is disconnected and 3078c2ecf20Sopenharmony_ci complete the command with appropriate error. 3088c2ecf20Sopenharmony_ci If the aborted command is not yet started, remove it from the start 3098c2ecf20Sopenharmony_ci queue and complete it with error. 3108c2ecf20Sopenharmony_ci - Add the control command 'resetdev' that allows to send a BUS 3118c2ecf20Sopenharmony_ci DEVICE RESET message to a target (for test purpose). 3128c2ecf20Sopenharmony_ci - Clean-up some unused or useless code. 3138c2ecf20Sopenharmony_ci 3148c2ecf20Sopenharmony_ciFri May 21 23:00 1999 Gerard Roudier (groudier@club-internet.fr) 3158c2ecf20Sopenharmony_ci * version sym53c8xx-1.5 3168c2ecf20Sopenharmony_ci - Add support for CHMOV with Wide controllers. 3178c2ecf20Sopenharmony_ci - Handling of the SWIDE (low byte residue at the end of a CHMOV 3188c2ecf20Sopenharmony_ci in DATA IN phase with WIDE transfer when the byte count gets odd). 3198c2ecf20Sopenharmony_ci - Handling of the IGNORE WIDE RESIDUE message. 3208c2ecf20Sopenharmony_ci Handled from SCRIPTS as possible with some optimizations when both 3218c2ecf20Sopenharmony_ci a wide device and the controller are odd at the same time (SWIDE 3228c2ecf20Sopenharmony_ci present and IGNORE WIDE RESIDUE message on the BUS at the same time). 3238c2ecf20Sopenharmony_ci - Check against data OVERRUN/UNDERRUN condition at the end of a data 3248c2ecf20Sopenharmony_ci transfer, whatever a SWIDE is present (OVERRUN in DATA IN phase) 3258c2ecf20Sopenharmony_ci or the SODL is full (UNDERRUN in DATA out phase). 3268c2ecf20Sopenharmony_ci - Handling of the MODIFY DATA POINTER message. 3278c2ecf20Sopenharmony_ci This one cannot be handled from SCRIPTS, but hopefully it will not 3288c2ecf20Sopenharmony_ci happen very often. :) 3298c2ecf20Sopenharmony_ci - Large rewrite of the SCSI MESSAGE handling. 3308c2ecf20Sopenharmony_ci 3318c2ecf20Sopenharmony_ciSun May 9 11:00 1999 Gerard Roudier (groudier@club-internet.fr) 3328c2ecf20Sopenharmony_ci * version sym53c8xx-1.4 3338c2ecf20Sopenharmony_ci - Support for IMMEDIATE ARBITRATION. 3348c2ecf20Sopenharmony_ci See the README file for detailed information about this feature. 3358c2ecf20Sopenharmony_ci Requires both a compile option and a boot option. 3368c2ecf20Sopenharmony_ci - Minor SCRIPTS optimization in reselection pattern for LUN 0. 3378c2ecf20Sopenharmony_ci - Simpler algorithm to deal with SCSI command starvation. 3388c2ecf20Sopenharmony_ci Just use 2 tag counters in flip/flop and switch to the other 3398c2ecf20Sopenharmony_ci one every 3 seconds. 3408c2ecf20Sopenharmony_ci - Do some work in SCRIPTS after the SELECT instruction and prior 3418c2ecf20Sopenharmony_ci to testing for a PHASE. SYMBIOS say this feature is working fine. 3428c2ecf20Sopenharmony_ci (Btw, only problems with Toshiba 3401B had been reported). 3438c2ecf20Sopenharmony_ci - Measure the PCI clock speed and do not attach controllers if 3448c2ecf20Sopenharmony_ci result is greater than 37 MHz. Since the precision of the 3458c2ecf20Sopenharmony_ci algorithm (from Stefan Esser) is better than 2%, this should 3468c2ecf20Sopenharmony_ci be fine. 3478c2ecf20Sopenharmony_ci - Fix the misdetection of SYM53C875E (was detected as a 876). 3488c2ecf20Sopenharmony_ci - Fix the misdetection of SYM53C810 not A (was detected as a 810A). 3498c2ecf20Sopenharmony_ci - Support for up to 256 TAGS per LUN (CMD_PER_LUN). 3508c2ecf20Sopenharmony_ci Currently limited to 255 due to Linux limitation. :) 3518c2ecf20Sopenharmony_ci - Support for up to 508 active commands (CAN_QUEUE). 3528c2ecf20Sopenharmony_ci - Support for the 53C895A by Pamela Delaney <pam.delaney@lsil.com> 3538c2ecf20Sopenharmony_ci The 53C895A contains all of the features of the 896 but has only 3548c2ecf20Sopenharmony_ci one channel and has a 32 bit PCI bus. It does 64 bit PCI addressing 3558c2ecf20Sopenharmony_ci using dual cycle PCI data transfers. 3568c2ecf20Sopenharmony_ci - Miscellaneous minor fixes. 3578c2ecf20Sopenharmony_ci - Some additions to the README.ncr53c8xx file. 3588c2ecf20Sopenharmony_ci 3598c2ecf20Sopenharmony_ciTue Apr 15 10:00 1999 Gerard Roudier (groudier@club-internet.fr) 3608c2ecf20Sopenharmony_ci * version sym53c8xx-1.3e 3618c2ecf20Sopenharmony_ci - Support for any number of LUNs (64) (SPI2-compliant). 3628c2ecf20Sopenharmony_ci (Btw, this may only be ever useful under linux-2.2 ;-)) 3638c2ecf20Sopenharmony_ci 3648c2ecf20Sopenharmony_ciSun Apr 11 10:00 1999 Gerard Roudier (groudier@club-internet.fr) 3658c2ecf20Sopenharmony_ci * version sym53c8xx-1.3d 3668c2ecf20Sopenharmony_ci - Add 'hostid:#id' boot option. This option allows to change the 3678c2ecf20Sopenharmony_ci default SCSI id the driver uses for controllers. 3688c2ecf20Sopenharmony_ci - Make SCRIPTS not use self-mastering for PCI. 3698c2ecf20Sopenharmony_ci There were still 2 places the driver used this feature of the 3708c2ecf20Sopenharmony_ci 53C8XX family. 3718c2ecf20Sopenharmony_ci - Move some data structures (nvram layouts and driver set-up) to 3728c2ecf20Sopenharmony_ci the sym53c8xx_defs.h file. So, the both drivers will share them. 3738c2ecf20Sopenharmony_ci - Set MAX LUNS to 16 (instead of 8). 3748c2ecf20Sopenharmony_ci 3758c2ecf20Sopenharmony_ciSat Mar 20 21:00 1999 Gerard Roudier (groudier@club-internet.fr) 3768c2ecf20Sopenharmony_ci * version sym53c8xx-1.3b 3778c2ecf20Sopenharmony_ci - Add support for NCR PQS PDS. 3788c2ecf20Sopenharmony_ci James Bottomley <James.Bottomley@columbiasc.ncr.com> 3798c2ecf20Sopenharmony_ci - Allow value 0 for host ID. 3808c2ecf20Sopenharmony_ci - Support more than 8 controllers (> 40 in fact :-) ) 3818c2ecf20Sopenharmony_ci - Add 'excl=#ioaddr' boot option: exclude controller. 3828c2ecf20Sopenharmony_ci (Version 1.3a driver) 3838c2ecf20Sopenharmony_ci 3848c2ecf20Sopenharmony_ciThu Mar 11 23:00 1999 Gerard Roudier (groudier@club-internet.fr) 3858c2ecf20Sopenharmony_ci * version sym53c8xx-1.3 (8xx-896 driver bundle) 3868c2ecf20Sopenharmony_ci - Equivalent changes as ncr53c8xx-3.2 due to the driver bundle. 3878c2ecf20Sopenharmony_ci (See Changelog.ncr53c8xx) 3888c2ecf20Sopenharmony_ci - Do a normal soft reset as first chip reset, since aborting current 3898c2ecf20Sopenharmony_ci operation may raise an interrupt we are not able to handle since 3908c2ecf20Sopenharmony_ci the interrupt handler is not yet established. 3918c2ecf20Sopenharmony_ci 3928c2ecf20Sopenharmony_ciSat Mar 6 11:00 1999 Gerard Roudier (groudier@club-internet.fr) 3938c2ecf20Sopenharmony_ci * version sym53c8xx-1.2b 3948c2ecf20Sopenharmony_ci - Fix some oooold bug that hangs the bus if a device rejects a 3958c2ecf20Sopenharmony_ci negotiation. Btw, the corresponding stuff also needed some cleanup 3968c2ecf20Sopenharmony_ci and thus the change is a bit larger than it could have been. 3978c2ecf20Sopenharmony_ci - Still some typo that made compilation fail for 64 bit (trivial fix). 3988c2ecf20Sopenharmony_ci 3998c2ecf20Sopenharmony_ciSun Feb 21 20:00 1999 Gerard Roudier (groudier@club-internet.fr) 4008c2ecf20Sopenharmony_ci * version sym53c8xx-1.2a 4018c2ecf20Sopenharmony_ci - The rewrite of the interrupt handling broke the SBMC interrupt 4028c2ecf20Sopenharmony_ci handling due to a 1 bit mask tiny error. Hopefully fixed. 4038c2ecf20Sopenharmony_ci - If INQUIRY came from a scatter list, the driver looked into 4048c2ecf20Sopenharmony_ci the scatterlist instead of the data.:) Since this should never 4058c2ecf20Sopenharmony_ci happen, we just discard the data if use_sg is not zero. 4068c2ecf20Sopenharmony_ci 4078c2ecf20Sopenharmony_ciFri Feb 12 23:00 1999 Gerard Roudier (groudier@club-internet.fr) 4088c2ecf20Sopenharmony_ci * version sym53c8xx-1.2 4098c2ecf20Sopenharmony_ci - Major rewrite of the interrupt handling and recovery stuff for 4108c2ecf20Sopenharmony_ci the support of non compliant SCSI removal, insertion and all 4118c2ecf20Sopenharmony_ci kinds of screw-up that may happen on the SCSI BUS. 4128c2ecf20Sopenharmony_ci Hopefully, the driver is now unbreakable or may-be, it is just 4138c2ecf20Sopenharmony_ci quite brocken. :-) 4148c2ecf20Sopenharmony_ci Many thanks to Johnson Russel (Symbios) for having responded to 4158c2ecf20Sopenharmony_ci my questions and for his interesting advices and comments about 4168c2ecf20Sopenharmony_ci support of SCSI hot-plug. 4178c2ecf20Sopenharmony_ci - Add 'recovery' option to driver set-up. 4188c2ecf20Sopenharmony_ci - Negotiate SYNC data transfers with CCS devices. 4198c2ecf20Sopenharmony_ci - Deal correctly with 64 bit PCI address registers on Linux 2.2. 4208c2ecf20Sopenharmony_ci Pointed out by Leonard Zubkoff. 4218c2ecf20Sopenharmony_ci 4228c2ecf20Sopenharmony_ciSun Jan 31 18:00 1999 Gerard Roudier (groudier@club-internet.fr) 4238c2ecf20Sopenharmony_ci * version sym53c8xx-1.1a 4248c2ecf20Sopenharmony_ci - Some 896 chip revisions (all for now :-)), may hang-up if the 4258c2ecf20Sopenharmony_ci soft reset bit is set at the wrong time while SCRIPTS are running. 4268c2ecf20Sopenharmony_ci We need to first abort the current SCRIPTS operation prior to 4278c2ecf20Sopenharmony_ci resetting the chip. This fix has been sent to me by SYMBIOS/LSI 4288c2ecf20Sopenharmony_ci and I just translated it into ncr53c8xx syntax. 4298c2ecf20Sopenharmony_ci Must be considered 100 % trustable, unless I did some mistake 4308c2ecf20Sopenharmony_ci when translating it. :-) 4318c2ecf20Sopenharmony_ci 4328c2ecf20Sopenharmony_ciSun Jan 24 18:00 1999 Gerard Roudier (groudier@club-internet.fr) 4338c2ecf20Sopenharmony_ci * version sym53c8xx-1.1 4348c2ecf20Sopenharmony_ci - Major rewrite of the SCSI parity error handling. 4358c2ecf20Sopenharmony_ci The informations contained in the data manuals are incomplete about 4368c2ecf20Sopenharmony_ci this feature. 4378c2ecf20Sopenharmony_ci I asked SYMBIOS about and got in reply the explanations that are 4388c2ecf20Sopenharmony_ci _indeed_ missing in the data manuals. 4398c2ecf20Sopenharmony_ci - Allow to tune request_irq() flags from the boot command line using 4408c2ecf20Sopenharmony_ci ncr53c8xx=irqm:??, as follows: 4418c2ecf20Sopenharmony_ci a) If bit 0x10 is set in irqm, SA_SHIRQ flag is not used. 4428c2ecf20Sopenharmony_ci b) If bit 0x20 is set in irqm, SA_INTERRUPT flag is not used. 4438c2ecf20Sopenharmony_ci By default the driver uses both SA_SHIRQ and SA_INTERRUPT. 4448c2ecf20Sopenharmony_ci Option 'ncr53c8xx=irqm:0x20' may be used when an IRQ is shared by 4458c2ecf20Sopenharmony_ci a 53C8XX adapter and a network board. 4468c2ecf20Sopenharmony_ci - Fix for 64 bit PCI address register calculation. (Lance Robinson) 4478c2ecf20Sopenharmony_ci - Fix for big-endian in phase mismatch handling. (Michal Jaegermann) 4488c2ecf20Sopenharmony_ci 4498c2ecf20Sopenharmony_ciFri Jan 1 20:00 1999 Gerard Roudier (groudier@club-internet.fr) 4508c2ecf20Sopenharmony_ci * version sym53c8xx-1.0a 4518c2ecf20Sopenharmony_ci - Waiting list look-up didn't work for the first command of the list. 4528c2ecf20Sopenharmony_ci Hopefully fixed, but tested on paper only. ;) 4538c2ecf20Sopenharmony_ci - Remove the most part of PPC specific code for Linux-2.2. 4548c2ecf20Sopenharmony_ci Thanks to Cort. 4558c2ecf20Sopenharmony_ci - Some other minors changes. 4568c2ecf20Sopenharmony_ci 4578c2ecf20Sopenharmony_ciSat Dec 19 21:00 1998 Gerard Roudier (groudier@club-internet.fr) 4588c2ecf20Sopenharmony_ci * version sym53c8xx-1.0 4598c2ecf20Sopenharmony_ci - Define some new IO registers for the 896 (istat1, mbox0, mbox1) 4608c2ecf20Sopenharmony_ci - Revamp slightly the Symbios NVRAM lay-out based on the excerpt of 4618c2ecf20Sopenharmony_ci the header file I received from Symbios. 4628c2ecf20Sopenharmony_ci - Check the PCI bus number for the boot order (Using a fast 4638c2ecf20Sopenharmony_ci PCI controller behing a PCI-PCI bridge seems sub-optimal). 4648c2ecf20Sopenharmony_ci - Disable overlapped PCI arbitration for the 896 revision 1. 4658c2ecf20Sopenharmony_ci - Reduce a bit the number of IO register reads for phase mismatch 4668c2ecf20Sopenharmony_ci by reading DWORDS at a time instead of BYTES. 4678c2ecf20Sopenharmony_ci 4688c2ecf20Sopenharmony_ciThu Dec 3 24:00 1998 Gerard Roudier (groudier@club-internet.fr) 4698c2ecf20Sopenharmony_ci * version pre-sym53c8xx-0.18 4708c2ecf20Sopenharmony_ci - I received this afternoon a 896 from SYMBIOS and started testing 4718c2ecf20Sopenharmony_ci the driver with this beast. After having fixed 3 buglets, it worked 4728c2ecf20Sopenharmony_ci with all features enabled including the phase mismatch handling 4738c2ecf20Sopenharmony_ci from SCRIPTS. Since this feature is not yet tested enough, the 4748c2ecf20Sopenharmony_ci boot option 'ncr53c8xx=specf:1' is still required to enable the 4758c2ecf20Sopenharmony_ci driver to handle PM from SCRIPTS. 4768c2ecf20Sopenharmony_ci 4778c2ecf20Sopenharmony_ciSun Nov 29 18:00 1998 Gerard Roudier (groudier@club-internet.fr) 4788c2ecf20Sopenharmony_ci * version pre-sym53c8xx-0.17 4798c2ecf20Sopenharmony_ci - The SISL RAID change requires now remap_pci_mem() stuff to be 4808c2ecf20Sopenharmony_ci compiled for __i386__ when normal IOs are used. 4818c2ecf20Sopenharmony_ci - The PCI memory read from SCRIPTS that should ensure ordering 4828c2ecf20Sopenharmony_ci was in fact misplaced. BTW, this may explain why broken PCI 4838c2ecf20Sopenharmony_ci device drivers regarding ordering are working so well. ;-) 4848c2ecf20Sopenharmony_ci - Rewrite ncr53c8xx_setup (boot command line options) since the 4858c2ecf20Sopenharmony_ci binary code was a bit too bloated in my opinion. 4868c2ecf20Sopenharmony_ci - Make the code simpler in the wakeup_done routine. 4878c2ecf20Sopenharmony_ci 4888c2ecf20Sopenharmony_ciTue Nov 24 23:00 1998 Gerard Roudier (groudier@club-internet.fr) 4898c2ecf20Sopenharmony_ci * version pre-sym53c8xx-0.16 4908c2ecf20Sopenharmony_ci - Add SCSI_NCR_OPTIMIZE_896_1 compile option and 'optim' boot option. 4918c2ecf20Sopenharmony_ci When set, the driver unconditionnaly assumes that the interrupt 4928c2ecf20Sopenharmony_ci handler is called for command completion, then clears INTF, scans 4938c2ecf20Sopenharmony_ci the done queue and returns if some completed CCB is found. If no 4948c2ecf20Sopenharmony_ci completed CCB are found, interrupt handling will proceed normally. 4958c2ecf20Sopenharmony_ci With a 896 that handles MA from SCRIPTS, this can be a great win, 4968c2ecf20Sopenharmony_ci since the driver will never performs PCI read transactions, but 4978c2ecf20Sopenharmony_ci only PCI write transactions that may be posted. 4988c2ecf20Sopenharmony_ci If the driver haven't to also raise the SIGP this would be perfect. 4998c2ecf20Sopenharmony_ci Even with this penalty, I think that this will work great. 5008c2ecf20Sopenharmony_ci Obviously this optimization makes sense only if the IRQ is not 5018c2ecf20Sopenharmony_ci shared with another device. 5028c2ecf20Sopenharmony_ci - Still a buglet in the tags initial settings that needed to be fixed. 5038c2ecf20Sopenharmony_ci It was not possible to disable TGQ at system startup for devices 5048c2ecf20Sopenharmony_ci that claim TGQ support. The driver used at least 2 for the queue 5058c2ecf20Sopenharmony_ci depth but did'nt keep track of user settings for tags depth lower 5068c2ecf20Sopenharmony_ci than 2. 5078c2ecf20Sopenharmony_ci 5088c2ecf20Sopenharmony_ciThu Nov 19 23:00 1998 Gerard Roudier (groudier@club-internet.fr) 5098c2ecf20Sopenharmony_ci * version pre-sym53c8xx-0.15 5108c2ecf20Sopenharmony_ci - Add support for hardware LED control of the 896. 5118c2ecf20Sopenharmony_ci - Ignore chips that are driven by SISL RAID (DAC 960). 5128c2ecf20Sopenharmony_ci Change sent by Leonard Zubkoff and slightly reworked. 5138c2ecf20Sopenharmony_ci - Prevent 810A rev 11 and 860 rev 1 from using cache line based 5148c2ecf20Sopenharmony_ci transactions since those early chip revisions may use such on 5158c2ecf20Sopenharmony_ci LOAD/STORE instructions (work-around). 5168c2ecf20Sopenharmony_ci - Remove some useless and bloat code from the pci init stuff. 5178c2ecf20Sopenharmony_ci - Do not use the readX()/writeX() kernel functions for __i386__, 5188c2ecf20Sopenharmony_ci since they perform useless masking operations in order to deal 5198c2ecf20Sopenharmony_ci with broken driver in 2.1.X kernel. 5208c2ecf20Sopenharmony_ci 5218c2ecf20Sopenharmony_ciWed Nov 11 10:00 1998 Gerard Roudier (groudier@club-internet.fr) 5228c2ecf20Sopenharmony_ci * version pre-sym53c8xx-0.14 5238c2ecf20Sopenharmony_ci - The driver was unhappy when configured with default_tags > MAX_TAGS 5248c2ecf20Sopenharmony_ci Hopefully doubly-fixed. 5258c2ecf20Sopenharmony_ci - Set PCI_PARITY in PCI_COMMAND register in not set (PCI fix-up). 5268c2ecf20Sopenharmony_ci - Print out some message if phase mismatch is handled from SCRIPTS. 5278c2ecf20Sopenharmony_ci 5288c2ecf20Sopenharmony_ciSun Nov 1 14H00 1998 Gerard Roudier (groudier@club-internet.fr) 5298c2ecf20Sopenharmony_ci * version pre-sym53c8xx-0.13 5308c2ecf20Sopenharmony_ci - Some rewrite of the device detection code. This code had been 5318c2ecf20Sopenharmony_ci patched too much and needed to be face-lifted a bit. 5328c2ecf20Sopenharmony_ci Remove all platform dependent fix-ups that was not needed or 5338c2ecf20Sopenharmony_ci conflicted with some other driver code as work-arounds. 5348c2ecf20Sopenharmony_ci Reread the NVRAM before the calling of ncr_attach(). This spares 5358c2ecf20Sopenharmony_ci stack space and so allows to handle more boards. 5368c2ecf20Sopenharmony_ci Handle 64 bit base addresses under linux-2.0.X. 5378c2ecf20Sopenharmony_ci Set MASTER bit in PCI COMMAND register if not set. 5388c2ecf20Sopenharmony_ci 5398c2ecf20Sopenharmony_ciWed Oct 30 22H00 1998 Gerard Roudier (groudier@club-internet.fr) 5408c2ecf20Sopenharmony_ci * version pre-sym53c8xx-0.12 5418c2ecf20Sopenharmony_ci - Damned! I just broke the driver for Alpha by leaving a stale 5428c2ecf20Sopenharmony_ci instruction in the source code. Hopefully fixed. 5438c2ecf20Sopenharmony_ci - Do not set PFEN when it is useless. Doing so we are sure that BOF 5448c2ecf20Sopenharmony_ci will be active, since the manual appears to be very unclear on what 5458c2ecf20Sopenharmony_ci feature is actually used by the chip when both PFEN and BOF are 5468c2ecf20Sopenharmony_ci set. 5478c2ecf20Sopenharmony_ci 5488c2ecf20Sopenharmony_ciSat Oct 24 16H00 1998 Gerard Roudier (groudier@club-internet.fr) 5498c2ecf20Sopenharmony_ci * version pre-sym53c8xx-0.11 5508c2ecf20Sopenharmony_ci - LOAD/STORE instructions were miscompiled for register offsets 5518c2ecf20Sopenharmony_ci beyond 0x7f. This broke accesses to 896' new registers. 5528c2ecf20Sopenharmony_ci - Disable by default Phase Mismatch handling from SCRIPTS, since 5538c2ecf20Sopenharmony_ci current 896 rev.1 seems not to operate safely with the driver 5548c2ecf20Sopenharmony_ci when this feature is enabled (and above LOAD/STORE fix applied). 5558c2ecf20Sopenharmony_ci I will change the default to 'enabled' when this problem will be 5568c2ecf20Sopenharmony_ci solved. 5578c2ecf20Sopenharmony_ci Using boot option 'ncr53c8xx=specf:1' enables this feature. 5588c2ecf20Sopenharmony_ci - Implement a work-around (DEL 472 - ITEM 5) that should allow the 5598c2ecf20Sopenharmony_ci driver to safely enable hardware phase mismatch with 896 rev. 1. 5608c2ecf20Sopenharmony_ci 5618c2ecf20Sopenharmony_ciTue Oct 20 22H00 1998 Gerard Roudier (groudier@club-internet.fr) 5628c2ecf20Sopenharmony_ci * version pre-sym53c8xx-0.10 5638c2ecf20Sopenharmony_ci - Add the 53c876 description to the chip table. This is only useful 5648c2ecf20Sopenharmony_ci for printing the right name of the controller. 5658c2ecf20Sopenharmony_ci - Add additional checking of INQUIRY data: 5668c2ecf20Sopenharmony_ci Check INQUIRY data received length is at least 7. Byte 7 of 5678c2ecf20Sopenharmony_ci inquiry data contains device features bits and the driver might 5688c2ecf20Sopenharmony_ci be confused by garbage. Also check peripheral qualifier. 5698c2ecf20Sopenharmony_ci - Use a 1,3,5,...MAXTAGS*2+1 tag numbering. Previous driver could 5708c2ecf20Sopenharmony_ci use any tag number from 1 to 253 and some non conformant devices 5718c2ecf20Sopenharmony_ci might have problems with large tag numbers. 5728c2ecf20Sopenharmony_ci - Use NAME53C and NAME53C8XX for chip name prefix chip family name. 5738c2ecf20Sopenharmony_ci Just give a try using "sym53c" and "sym53c8xx" instead of "ncr53c" 5748c2ecf20Sopenharmony_ci and "ncr53c8xx". :-) 5758c2ecf20Sopenharmony_ci 5768c2ecf20Sopenharmony_ciSun Oct 11 17H00 1998 Gerard Roudier (groudier@club-internet.fr) 5778c2ecf20Sopenharmony_ci * version pre-sym53c8xx-0.9 5788c2ecf20Sopenharmony_ci - DEL-441 Item 2 work-around for the 53c876 rev <= 5 (0x15). 5798c2ecf20Sopenharmony_ci - Break ncr_scatter() into 2 functions in order to guarantee best 5808c2ecf20Sopenharmony_ci possible code optimization for the case we get a scatter list. 5818c2ecf20Sopenharmony_ci - Add the code intended to support up to 1 tera-byte for 64 bit systems. 5828c2ecf20Sopenharmony_ci It is probably too early, but I wanted to complete the thing. 5838c2ecf20Sopenharmony_ci 5848c2ecf20Sopenharmony_ciSat Oct 3 14H00 1998 Gerard Roudier (groudier@club-internet.fr) 5858c2ecf20Sopenharmony_ci * version pre-sym53c8xx-0.8 5868c2ecf20Sopenharmony_ci - Do some testing with io_mapped and fix what needed to be so. 5878c2ecf20Sopenharmony_ci - Wait for SCSI selection to complete or time-out immediately after 5888c2ecf20Sopenharmony_ci the chip won arbitration, since executing SCRIPTS while the SCSI 5898c2ecf20Sopenharmony_ci core is performing SCSI selection breaks the selection procedure 5908c2ecf20Sopenharmony_ci at least for some chip revisions. 5918c2ecf20Sopenharmony_ci - Interrupt the SCRIPTS if a device does not go to MSG OUT phase after 5928c2ecf20Sopenharmony_ci having been selected with ATN. Such a situation is not recoverable, 5938c2ecf20Sopenharmony_ci better to fail when we are stuck. 594