Import 2.3.18pre1
[davej-history.git] / drivers / scsi / ChangeLog.sym53c8xx
blob98656d35974a680f4c740f24f2ceb437b45327ba
1 Sat Mar 20  21:00 1999 Gerard Roudier (groudier@club-internet.fr)
2         * version sym53c8xx-1.3b
3         - Add support for NCR PQS PDS.
4           James Bottomley <James.Bottomley@columbiasc.ncr.com>
5         - Allow value 0 for host ID.
6         - Support more than 8 controllers (> 40 in fact :-) )
7         - Add 'excl=#ioaddr' boot option: exclude controller.
8           (Version 1.3a driver)
10 Thu Mar 11  23:00 1999 Gerard Roudier (groudier@club-internet.fr)
11         * version sym53c8xx-1.3   (8xx-896 driver bundle)
12         - Equivalent changes as ncr53c8xx-3.2 due to the driver bundle.
13           (See Changelog.ncr53c8xx)
14         - Do a normal soft reset as first chip reset, since aborting current 
15           operation may raise an interrupt we are not able to handle since 
16           the interrupt handler is not yet established.
18 Sat Mar 6  11:00 1999 Gerard Roudier (groudier@club-internet.fr)
19         * version sym53c8xx-1.2b
20         - Fix some oooold bug that hangs the bus if a device rejects a 
21           negotiation. Btw, the corresponding stuff also needed some cleanup 
22           and thus the change is a bit larger than it could have been.
23         - Still some typo that made compilation fail for 64 bit (trivial fix).
25 Sun Feb 21  20:00 1999 Gerard Roudier (groudier@club-internet.fr)
26         * version sym53c8xx-1.2a
27         - The rewrite of the interrupt handling broke the SBMC interrupt 
28           handling due to a 1 bit mask tiny error. Hopefully fixed.
29         - If INQUIRY came from a scatter list, the driver looked into 
30           the scatterlist instead of the data.:) Since this should never
31           happen, we just discard the data if use_sg is not zero.
33 Fri Feb 12  23:00 1999 Gerard Roudier (groudier@club-internet.fr)
34         * version sym53c8xx-1.2
35         - Major rewrite of the interrupt handling and recovery stuff for 
36           the support of non compliant SCSI removal, insertion and all 
37           kinds of screw-up that may happen on the SCSI BUS.
38           Hopefully, the driver is now unbreakable or may-be, it is just 
39           quite brocken. :-)
40           Many thanks to Johnson Russel (Symbios) for having responded to 
41           my questions and for his interesting advices and comments about 
42           support of SCSI hot-plug.
43         - Add 'recovery' option to driver set-up.
44         - Negotiate SYNC data transfers with CCS devices.
45         - Deal correctly with 64 bit PCI address registers on Linux 2.2.
46           Pointed out by Leonard Zubkoff.
48 Sun Jan 31  18:00 1999 Gerard Roudier (groudier@club-internet.fr)
49         * version sym53c8xx-1.1a
50         - Some 896 chip revisions (all for now :-)), may hang-up if the 
51           soft reset bit is set at the wrong time while SCRIPTS are running.
52           We need to first abort the current SCRIPTS operation prior to 
53           resetting the chip. This fix has been sent to me by SYMBIOS/LSI 
54           and I just translated it into ncr53c8xx syntax.
55           Must be considered 100 % trustable, unless I did some mistake 
56           when translating it. :-)
58 Sun Jan 24  18:00 1999 Gerard Roudier (groudier@club-internet.fr)
59         * version sym53c8xx-1.1
60         - Major rewrite of the SCSI parity error handling.
61           The informations contained in the data manuals are incomplete about 
62           this feature.
63           I asked SYMBIOS about and got in reply the explanations that are 
64           _indeed_ missing in the data manuals.
65         - Allow to tune request_irq() flags from the boot command line using 
66           ncr53c8xx=irqm:??, as follows:
67           a) If bit 0x10 is set in irqm, SA_SHIRQ flag is not used.
68           b) If bit 0x20 is set in irqm, SA_INTERRUPT flag is not used.
69           By default the driver uses both SA_SHIRQ and SA_INTERRUPT.
70           Option 'ncr53c8xx=irqm:0x20' may be used when an IRQ is shared by 
71           a 53C8XX adapter and a network board.
72         - Fix for 64 bit PCI address register calculation. (Lance Robinson)
73         - Fix for big-endian in phase mismatch handling. (Michal Jaegermann)
75 Fri Jan  1  20:00 1999 Gerard Roudier (groudier@club-internet.fr)
76         * version sym53c8xx-1.0a
77         - Waiting list look-up didn't work for the first command of the list.
78           Hopefully fixed, but tested on paper only. ;)
79         - Remove the most part of PPC specific code for Linux-2.2.
80           Thanks to Cort.
81         - Some other minors changes.
83 Sat Dec 19  21:00 1998 Gerard Roudier (groudier@club-internet.fr)
84         * version sym53c8xx-1.0
85         - Define some new IO registers for the 896 (istat1, mbox0, mbox1)
86         - Revamp slighly the Symbios NVRAM lay-out based on the excerpt of 
87           the header file I received from Symbios.
88         - Check the PCI bus number for the boot order (Using a fast 
89           PCI controller behing a PCI-PCI bridge seems sub-optimal).
90         - Disable overlapped PCI arbitration for the 896 revision 1.
91         - Reduce a bit the number of IO register reads for phase mismatch 
92           by reading DWORDS at a time instead of BYTES.
94 Thu Dec  3  24:00 1998 Gerard Roudier (groudier@club-internet.fr)
95         * version pre-sym53c8xx-0.18
96         - I received this afternoon a 896 from SYMBIOS and started testing  
97           the driver with this beast. After having fixed 3 buglets, it worked  
98           with all features enabled including the phase mismatch handling 
99           from SCRIPTS. Since this feature is not yet tested enough, the 
100           boot option 'ncr53c8xx=specf:1' is still required to enable the 
101           driver to handle PM from SCRIPTS. 
103 Sun Nov 29  18:00 1998 Gerard Roudier (groudier@club-internet.fr)
104         * version pre-sym53c8xx-0.17
105         - The SISL RAID change requires now remap_pci_mem() stuff to be 
106           compiled for __i386__ when normal IOs are used.
107         - The PCI memory read from SCRIPTS that should ensure ordering 
108           was in fact misplaced. BTW, this may explain why broken PCI 
109           device drivers regarding ordering are working so well. ;-)
110         - Rewrite ncr53c8xx_setup (boot command line options) since the  
111           binary code was a bit too bloated in my opinion.
112         - Make the code simpler in the wakeup_done routine.
114 Tue Nov 24  23:00 1998 Gerard Roudier (groudier@club-internet.fr)
115         * version pre-sym53c8xx-0.16
116         - Add SCSI_NCR_OPTIMIZE_896_1 compile option and 'optim' boot option.
117           When set, the driver unconditionnaly assumes that the interrupt 
118           handler is called for command completion, then clears INTF, scans 
119           the done queue and returns if some completed CCB is found. If no 
120           completed CCB are found, interrupt handling will proceed normally.
121           With a 896 that handles MA from SCRIPTS, this can be a great win, 
122           since the driver will never performs PCI read transactions, but 
123           only PCI write transactions that may be posted.
124           If the driver haven't to also raise the SIGP this would be perfect.
125           Even with this penalty, I think that this will work great.
126           Obviously this optimization makes sense only if the IRQ is not 
127           shared with another device.
128         - Still a buglet in the tags initial settings that needed to be fixed.
129           It was not possible to disable TGQ at system startup for devices 
130           that claim TGQ support. The driver used at least 2 for the queue 
131           depth but did'nt keep track of user settings for tags depth lower 
132           than 2.
134 Thu Nov 19  23:00 1998 Gerard Roudier (groudier@club-internet.fr)
135         * version pre-sym53c8xx-0.15
136         - Add support for hardware LED control of the 896.
137         - Ignore chips that are driven by SISL RAID (DAC 960).
138           Change sent by Leonard Zubkoff and slightly reworked.
139         - Prevent 810A rev 11 and 860 rev 1 from using cache line based 
140           transactions since those early chip revisions may use such on 
141           LOAD/STORE instructions (work-around).
142         - Remove some useless and bloat code from the pci init stuff.
143         - Donnot use the readX()/writeX() kernel functions for __i386__, 
144           since they perform useless masking operations in order to deal 
145           with broken driver in 2.1.X kernel.
147 Wed Nov 11  10:00 1998 Gerard Roudier (groudier@club-internet.fr)
148         * version pre-sym53c8xx-0.14
149         - The driver was unhappy when configured with default_tags > MAX_TAGS
150           Hopefully doubly-fixed.
151         - Set PCI_PARITY in PCI_COMMAND register in not set (PCI fix-up).
152         - Print out some message if phase mismatch is handled from SCRIPTS.
154 Sun Nov 1  14H00 1998 Gerard Roudier (groudier@club-internet.fr)
155         * version pre-sym53c8xx-0.13
156         - Some rewrite of the device detection code. This code had been 
157           patched too much and needed to be face-lifted a bit.
158           Remove all platform dependant fix-ups that was not needed or
159           conflicted with some other driver code as work-arounds.
160           Reread the NVRAM before the calling of ncr_attach(). This spares 
161           stack space and so allows to handle more boards.
162           Handle 64 bit base addresses under linux-2.0.X.
163           Set MASTER bit in PCI COMMAND register if not set.
165 Wed Oct 30 22H00 1998 Gerard Roudier (groudier@club-internet.fr)
166         * version pre-sym53c8xx-0.12
167         - Damned! I just broke the driver for Alpha by leaving a stale 
168           instruction in the source code. Hopefully fixed.
169         - Donnot set PFEN when it is useless. Doing so we are sure that BOF 
170           will be active, since the manual appears to be very unclear on what 
171           feature is actually used by the chip when both PFEN and BOF are 
172           set.
174 Sat Oct 24 16H00 1998 Gerard Roudier (groudier@club-internet.fr)
175         * version pre-sym53c8xx-0.11
176         - LOAD/STORE instructions were miscompiled for register offsets 
177           beyond 0x7f. This broke accesses to 896' new registers.
178         - Disable by default Phase Mismatch handling from SCRIPTS, since 
179           current 896 rev.1 seems not to operate safely with the driver
180           when this feature is enabled (and above LOAD/STORE fix applied).
181           I will change the default to 'enabled' when this problem will be 
182           solved.
183           Using boot option 'ncr53c8xx=specf:1' enables this feature.
184         - Implement a work-around (DEL 472 - ITEM 5) that should allow the 
185           driver to safely enable hardware phase mismatch with 896 rev. 1.
187 Tue Oct 20 22H00 1998 Gerard Roudier (groudier@club-internet.fr)
188         * version pre-sym53c8xx-0.10
189         - Add the 53c876 description to the chip table. This is only useful 
190           for printing the right name of the controller.
191         - Add additionnal checking of INQUIRY data:
192           Check INQUIRY data received length is at least 7. Byte 7 of 
193           inquiry data contains device features bits and the driver might 
194           be confused by garbage. Also check peripheral qualifier.
195         - Use a 1,3,5,...MAXTAGS*2+1 tag numbering. Previous driver could  
196           use any tag number from 1 to 253 and some non conformant devices  
197           might have problems with large tag numbers.
198         - Use NAME53C and NAME53C8XX for chip name prefix chip family name.
199           Just give a try using "sym53c" and "sym53c8xx" instead of "ncr53c" 
200           and "ncr53c8xx". :-)
202 Sun Oct 11 17H00 1998 Gerard Roudier (groudier@club-internet.fr)
203         * version pre-sym53c8xx-0.9
204         - DEL-441 Item 2 work-around for the 53c876 rev <= 5 (0x15).
205         - Break ncr_scatter() into 2 functions in order to guarantee best 
206           possible code optimization for the case we get a scatter list.
207         - Add the code intended to support up to 1 tera-byte for 64 bit systems.
208           It is probably too early, but I wanted to complete the thing.
210 Sat Oct 3 14H00 1998 Gerard Roudier (groudier@club-internet.fr)
211         * version pre-sym53c8xx-0.8
212         - Do some testing with io_mapped and fix what needed to be so.
213         - Wait for SCSI selection to complete or time-out immediately after 
214           the chip won arbitration, since executing SCRIPTS while the SCSI 
215           core is performing SCSI selection breaks the selection procedure 
216           at least for some chip revisions.
217         - Interrupt the SCRIPTS if a device does not go to MSG OUT phase after 
218           having been selected with ATN. Such a situation is not recoverable, 
219           better to fail when we are stuck.