xref: /OK3568_Linux_fs/kernel/Documentation/scsi/ChangeLog.sym53c8xx (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSat May 12 12:00 2001 Gerard Roudier (groudier@club-internet.fr)
2*4882a593Smuzhiyun	* version sym53c8xx-1.7.3c
3*4882a593Smuzhiyun	- Ensure LEDC bit in GPCNTL is cleared when reading the NVRAM.
4*4882a593Smuzhiyun	  Fix sent by Stig Telfer <stig@api-networks.com>.
5*4882a593Smuzhiyun	- Backport from SYM-2 the work-around that allows to support
6*4882a593Smuzhiyun	  hardwares that fail PCI parity checking.
7*4882a593Smuzhiyun	- Check that we received at least 8 bytes of INQUIRY response
8*4882a593Smuzhiyun	  for byte 7, that contains device capabilities, to be valid.
9*4882a593Smuzhiyun	- Define scsi_set_pci_device() as nil for kernel < 2.4.4.
10*4882a593Smuzhiyun	- + A couple of minor changes.
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunSat Apr 7 19:30 2001 Gerard Roudier (groudier@club-internet.fr)
13*4882a593Smuzhiyun	* version sym53c8xx-1.7.3b
14*4882a593Smuzhiyun	- Fix an unaligned LOAD from scripts (was used as dummy read).
15*4882a593Smuzhiyun	- In ncr_soft_reset(), only try to ABORT the current operation
16*4882a593Smuzhiyun	  for chips that support SRUN bit in ISTAT1 and if SCRIPTS are
17*4882a593Smuzhiyun	  currently running, as 896 and 1010 manuals suggest.
18*4882a593Smuzhiyun	- In the CCB abort path, do not assume that the CCB is currently
19*4882a593Smuzhiyun	  queued to SCRIPTS. This is not always true, notably after a
20*4882a593Smuzhiyun	  QUEUE FULL status or when using untagged commands.
21*4882a593Smuzhiyun
22*4882a593SmuzhiyunSun Mar 4 18:30 2001 Gerard Roudier (groudier@club-internet.fr)
23*4882a593Smuzhiyun	* version sym53c8xx-1.7.3a
24*4882a593Smuzhiyun	- Fix an issue in the ncr_int_udc() (unexpected disconnect)
25*4882a593Smuzhiyun	  handling. If the DSA didn't match a CCB, a bad write to
26*4882a593Smuzhiyun	  memory could happen.
27*4882a593Smuzhiyun
28*4882a593SmuzhiyunMon Feb 12 22:30 2001 Gerard Roudier (groudier@club-internet.fr)
29*4882a593Smuzhiyun	* version sym53c8xx-1.7.3
30*4882a593Smuzhiyun	- Support for hppa.
31*4882a593Smuzhiyun	  Tiny patch sent to me by Robert Hirst.
32*4882a593Smuzhiyun	- Tiny patch for ia64 sent to me by Pamela Delaney.
33*4882a593Smuzhiyun
34*4882a593SmuzhiyunTue Feb 6 13:30 2001 Gerard Roudier (groudier@club-internet.fr)
35*4882a593Smuzhiyun	* version sym53c8xx-1.7.3-pre1
36*4882a593Smuzhiyun	- Call pci_enable_device() as AC wants this to be done.
37*4882a593Smuzhiyun	- Get both the BAR cookies used by CPU and actual PCI BAR
38*4882a593Smuzhiyun	  values used from SCRIPTS. Recent PCI chips are able to
39*4882a593Smuzhiyun	  access themselves using internal cycles, but they compare
40*4882a593Smuzhiyun	  BAR values to destination address to make decision.
41*4882a593Smuzhiyun	  Earlier chips simply use PCI transactions to access IO
42*4882a593Smuzhiyun	  registers from SCRIPTS.
43*4882a593Smuzhiyun	  The bus_dvma_to_mem() interface that reverses the actual
44*4882a593Smuzhiyun	  PCI BAR value from the BAR cookie is now useless.
45*4882a593Smuzhiyun	  This point had been discussed at the list and the solution
46*4882a593Smuzhiyun	  got approved by PCI code maintainer (Martin Mares).
47*4882a593Smuzhiyun	- Merge changes for linux-2.4 that declare the host template
48*4882a593Smuzhiyun	  in the driver object also when the driver is statically
49*4882a593Smuzhiyun	  linked with the kernel.
50*4882a593Smuzhiyun	- Increase SCSI message size up to 12 bytes, given that 8
51*4882a593Smuzhiyun	  bytes was not enough for the PPR message (fix).
52*4882a593Smuzhiyun	- Add field 'maxoffs_st' (max offset for ST data transfers).
53*4882a593Smuzhiyun	  The C1010 supports offset 62 in DT mode but only 31 in
54*4882a593Smuzhiyun	  ST mode, to 2 different values for the max SCSI offset
55*4882a593Smuzhiyun	  are needed. Replace the obviously wrong masking of the
56*4882a593Smuzhiyun	  offset against 0x1f for ST mode by a lowering to
57*4882a593Smuzhiyun	  maxoffs_st of the SCSI offset in ST mode.
58*4882a593Smuzhiyun	- Refine a work-around for the C1010-66. Revision 1 does
59*4882a593Smuzhiyun	  not requires extra cycles in DT DATA OUT phase.
60*4882a593Smuzhiyun	- Add a missing endian-ization (abrt_tbl.addr).
61*4882a593Smuzhiyun	- Minor clean-up in the np structure for fields accessed
62*4882a593Smuzhiyun	  from SCRIPTS that requires special alignments.
63*4882a593Smuzhiyun
64*4882a593SmuzhiyunSun Sep 24 21:30 2000 Gerard Roudier (groudier@club-internet.fr)
65*4882a593Smuzhiyun	* version sym53c8xx-1.7.2
66*4882a593Smuzhiyun	- Remove the hack for PPC added in previous driver version.
67*4882a593Smuzhiyun	- Add FE_DAC feature bit to distinguish between 64 bit PCI
68*4882a593Smuzhiyun	  addressing (FE_DAC) and 64 bit PCI interface (FE_64BIT).
69*4882a593Smuzhiyun	- Get rid of the boot command line "ultra:" argument.
70*4882a593Smuzhiyun	  This parameter wasn't that clever since we can use "sync:"
71*4882a593Smuzhiyun	  for Ultra/Ultra2 settings, and for Ultra3 we may want to
72*4882a593Smuzhiyun	  pass PPR options (for now only DT clocking).
73*4882a593Smuzhiyun	- Add FE_VARCLK feature bit that indicates that SCSI clock
74*4882a593Smuzhiyun	  frequency may vary depending on board design and thus,
75*4882a593Smuzhiyun	  the driver should try to evaluate the SCSI clock.
76*4882a593Smuzhiyun	- Simplify the way the driver determine the SCSI clock:
77*4882a593Smuzhiyun	  ULTRA3 -> 160 MHz, ULTRA2 -> 80 MHz otherwise 40 MHz.
78*4882a593Smuzhiyun	  Measure the SCSI clock frequency if FE_VARCLK is set.
79*4882a593Smuzhiyun	- Remove FE_CLK80 feature bit that got useless.
80*4882a593Smuzhiyun	- Add support for the SYM53C875A (Pamela Delaney).
81*4882a593Smuzhiyun
82*4882a593SmuzhiyunWed Jul 26 23:30 2000 Gerard Roudier (groudier@club-internet.fr)
83*4882a593Smuzhiyun	* version sym53c8xx-1.7.1
84*4882a593Smuzhiyun	- Provide OpenFirmware path through the proc FS on PPC.
85*4882a593Smuzhiyun	- Download of on-chip SRAM using memcpy_toio() doesn't work
86*4882a593Smuzhiyun	  on PPC. Restore previous method (MEMORY MOVE from SCRIPTS).
87*4882a593Smuzhiyun	- Remove trailing argument #2 from a couple of #undefs.
88*4882a593Smuzhiyun
89*4882a593SmuzhiyunSun Jul 09 16:30 2000 Gerard Roudier (groudier@club-internet.fr)
90*4882a593Smuzhiyun	* version sym53c8xx-1.7.0
91*4882a593Smuzhiyun	- Remove the PROFILE C and SCRIPTS code.
92*4882a593Smuzhiyun	  This facility was not this useful and thus was not longer
93*4882a593Smuzhiyun	  desirable given the increasing complexity of the driver code.
94*4882a593Smuzhiyun	- Merges from FreeBSD sym-1.6.2 driver:
95*4882a593Smuzhiyun	  * Clarify memory barriers needed by the driver for architectures
96*4882a593Smuzhiyun	    that implement a weak memory ordering.
97*4882a593Smuzhiyun	  * Simpler handling of illegal phases and data overrun from
98*4882a593Smuzhiyun	    SCRIPTS. These errors are now immediately reported to
99*4882a593Smuzhiyun	    the C code by an interrupt.
100*4882a593Smuzhiyun	  * Sync the residual handling code with sym-1.6.2 and now
101*4882a593Smuzhiyun	    report `resid' to user for linux version >= 2.3.99
102*4882a593Smuzhiyun	- General cleanup:
103*4882a593Smuzhiyun	  Move definitions for barriers and IO/MMIO operations to the
104*4882a593Smuzhiyun	  sym53c8xx_defs.h header files. They are now shared by the
105*4882a593Smuzhiyun	  both drivers.
106*4882a593Smuzhiyun	  Remove unused options that claimed to optimize for the 896.
107*4882a593Smuzhiyun	  If fact, they were not this clever. :)
108*4882a593Smuzhiyun	  Use SCSI_NCR_IOMAPPED instead of NCR_IOMAPPED.
109*4882a593Smuzhiyun	  Remove a couple of unused fields from data structures.
110*4882a593Smuzhiyun
111*4882a593SmuzhiyunThu May 11 12:40 2000 Pam Delaney (pam.delaney@lsil.com)
112*4882a593Smuzhiyun	* version sym53c8xx-1.6b
113*4882a593Smuzhiyun	- Merged version.
114*4882a593Smuzhiyun
115*4882a593SmuzhiyunMon Apr 24 12:00 2000 Gerard Roudier (groudier@club-internet.fr)
116*4882a593Smuzhiyun	* version sym53c8xx-1.5m
117*4882a593Smuzhiyun	- Return value 1 (instead of 0) from the driver setup routine.
118*4882a593Smuzhiyun	- Do not enable PCI DAC cycles. This just broke support for
119*4882a593Smuzhiyun	  SYM534C896 on sparc64. Problem fixed by David S. Miller.
120*4882a593Smuzhiyun
121*4882a593SmuzhiyunFri Apr 14 9:00 2000 Pam Delaney (pam.delaney@lsil.com)
122*4882a593Smuzhiyun	* version sym53c8xx-1.6b-9
123*4882a593Smuzhiyun	- Added 53C1010_66 support.
124*4882a593Smuzhiyun	- Small fix to integrity checking code.
125*4882a593Smuzhiyun	- Removed requirement for integrity checking if want to run
126*4882a593Smuzhiyun	  at ultra 3.
127*4882a593Smuzhiyun
128*4882a593SmuzhiyunSat Apr 1  12:00 2000 Gerard Roudier (groudier@club-internet.fr)
129*4882a593Smuzhiyun	* version sym53c8xx-1.5l
130*4882a593Smuzhiyun	- Tiny change for __sparc__ appeared in 2.3.99-pre4.1 that
131*4882a593Smuzhiyun	  applies to cache line size (? Probably from David S Miller).
132*4882a593Smuzhiyun	- Make sure no data transfer will happen for Scsi_Cmnd requests
133*4882a593Smuzhiyun	  that supply SCSI_DATA_NONE direction (this avoids some BUG()
134*4882a593Smuzhiyun	  statement in the PCI code when a data buffer is also supplied).
135*4882a593Smuzhiyun
136*4882a593SmuzhiyunSat Mar 11 12:00 2000 Gerard Roudier (groudier@club-internet.fr)
137*4882a593Smuzhiyun	* version sym53c8xx-1.6b-5
138*4882a593Smuzhiyun	- Test against expected data transfer direction from SCRIPTS.
139*4882a593Smuzhiyun	- Add support for the new dynamic dma mapping kernel interface.
140*4882a593Smuzhiyun	  Requires Linux-2.3.47 (tested with pre-2.3.47-6).
141*4882a593Smuzhiyun	  Many thanks to David S. Miller for his preliminary changes
142*4882a593Smuzhiyun	  that have been useful guidelines.
143*4882a593Smuzhiyun	- Get data transfer direction from the scsi command structure
144*4882a593Smuzhiyun	  (Scsi_Cmnd) with kernels that provide this information.
145*4882a593Smuzhiyun
146*4882a593SmuzhiyunMon Mar  6 23:30 2000 Gerard Roudier (groudier@club-internet.fr)
147*4882a593Smuzhiyun	* version sym53c8xx-1.5k
148*4882a593Smuzhiyun	- Test against expected data transfer direction from SCRIPTS.
149*4882a593Smuzhiyun	- Revert the change in 'ncr_flush_done_cmds()' but unmap the
150*4882a593Smuzhiyun	  scsi dma buffer prior to queueing the command to our done
151*4882a593Smuzhiyun	  list.
152*4882a593Smuzhiyun	- Miscellaneous (minor) fixes in the code added in driver
153*4882a593Smuzhiyun	  version 1.5j.
154*4882a593Smuzhiyun
155*4882a593SmuzhiyunMon Feb 14 4:00 2000 Pam Delaney (pam.delaney@lsil.com)
156*4882a593Smuzhiyun 	* version sym53c8xx-pre-1.6b-2.
157*4882a593Smuzhiyun	- Updated the SCRIPTS error handling of the SWIDE
158*4882a593Smuzhiyun	  condition - to remove any reads of the sbdl
159*4882a593Smuzhiyun	  register. Changes needed because the 896 and 1010
160*4882a593Smuzhiyun	  chips will check parity in some special circumstances.
161*4882a593Smuzhiyun	  This will cause a parity error interrupt if not in
162*4882a593Smuzhiyun	  data phase.  Changes based on those made in the
163*4882a593Smuzhiyun	  FreeBSD driver version 1.3.2.
164*4882a593Smuzhiyun
165*4882a593SmuzhiyunSun Feb 20 11:00 2000 Gerard Roudier (groudier@club-internet.fr)
166*4882a593Smuzhiyun	* version sym53c8xx-1.5j
167*4882a593Smuzhiyun	- Add support for the new dynamic dma mapping kernel interface.
168*4882a593Smuzhiyun	  Requires Linux-2.3.47 (tested with pre-2.3.47-6).
169*4882a593Smuzhiyun	  Many thanks to David S. Miller for his preliminary changes
170*4882a593Smuzhiyun	  that have been useful guidelines, for having reviewed the
171*4882a593Smuzhiyun	  code and having tested this driver version on Ultra-Sparc.
172*4882a593Smuzhiyun	- 2 tiny bugs fixed in the PCI wrapper that provides support
173*4882a593Smuzhiyun	  for early kernels without pci device structure.
174*4882a593Smuzhiyun	- Get data transfer direction from the scsi command structure
175*4882a593Smuzhiyun	  (Scsi_Cmnd) with kernels that provide this information.
176*4882a593Smuzhiyun	- Fix an old bug that only affected 896 rev. 1 when driver
177*4882a593Smuzhiyun	  profile support option was set in kernel configuration.
178*4882a593Smuzhiyun
179*4882a593SmuzhiyunFri Jan 14 14:00 2000 Pam Delaney (pam.delaney@lsil.com)
180*4882a593Smuzhiyun 	* version sym53c8xx-pre-1.6b-1.
181*4882a593Smuzhiyun	- Merge parallel driver series 1.61 and 1.5e
182*4882a593Smuzhiyun
183*4882a593SmuzhiyunTue Jan 11 14:00 2000 Pam Delaney (pam.delaney@lsil.com)
184*4882a593Smuzhiyun	* version sym53c8xx-1.61
185*4882a593Smuzhiyun	- Added support for mounting disks on wide-narrow-wide
186*4882a593Smuzhiyun	  scsi configurations.
187*4882a593Smuzhiyun	- Modified offset to be a maximum of 31 in ST mode,
188*4882a593Smuzhiyun	  62 in DT mode.
189*4882a593Smuzhiyun	- Based off of 1.60
190*4882a593Smuzhiyun
191*4882a593SmuzhiyunMon Jan 10 10:00 2000 Pam Delaney (pam.delaney@lsil.com)
192*4882a593Smuzhiyun	* version sym53c8xx-1.60
193*4882a593Smuzhiyun	- Added capability to use the integrity checking code
194*4882a593Smuzhiyun	  in the kernel (optional).
195*4882a593Smuzhiyun	-  Added PPR negotiation.
196*4882a593Smuzhiyun	- Added support for 53C1010 Ultra 3 part.
197*4882a593Smuzhiyun	- Based off of 1.5f
198*4882a593Smuzhiyun
199*4882a593SmuzhiyunSat Jan 8  22:00 2000 Gerard Roudier (groudier@club-internet.fr)
200*4882a593Smuzhiyun	* version sym53c8xx-1.5h
201*4882a593Smuzhiyun	- Add year 2000 copyright.
202*4882a593Smuzhiyun	- Display correctly bus signals when bus is detected wrong.
203*4882a593Smuzhiyun	- Some fix for Sparc from DSM that went directly to kernel tree.
204*4882a593Smuzhiyun
205*4882a593SmuzhiyunMon Dec 6  22:00 1999 Gerard Roudier (groudier@club-internet.fr)
206*4882a593Smuzhiyun	* version sym53c8xx-1.5g
207*4882a593Smuzhiyun	- Change messages written by the driver at initialisation and
208*4882a593Smuzhiyun	  through the /proc FS (rather cosmetic changes that consist in
209*4882a593Smuzhiyun	  printing out the PCI bus number and PCI device/function).
210*4882a593Smuzhiyun	- Ensure the SCRIPTS processor is stopped while calibrating the
211*4882a593Smuzhiyun	  SCSI clock (the initialisation code has been a bit reworked).
212*4882a593Smuzhiyun	  Change moved to the FreeBSD sym_hipd driver).
213*4882a593Smuzhiyun	- Some fixes in the MODIFY_DP/IGN_RESIDUE code and residual
214*4882a593Smuzhiyun	  calculation (moved from FreeBSD sym_hipd driver).
215*4882a593Smuzhiyun	- Add NVRAM support for Tekram boards that use 24C16 EEPROM.
216*4882a593Smuzhiyun	  Code moved from the FreeBSD sym_hipd driver, since it has
217*4882a593Smuzhiyun	  been that one that got this feature first.
218*4882a593Smuzhiyun	- Definitely disable overlapped PCI arbitration for all dual
219*4882a593Smuzhiyun	  function chips, since I cannot make sure for what chip revisions
220*4882a593Smuzhiyun	  it is actually safe.
221*4882a593Smuzhiyun	- Add support for the SYM53C1510D (also for ncr53c8xx).
222*4882a593Smuzhiyun	- Fix up properly the PCI latency timer when needed or asked for.
223*4882a593Smuzhiyun	- Get rid of the old PCI bios interface, but preserve kernel 2.0
224*4882a593Smuzhiyun	  compatibility from a simple wrapper.
225*4882a593Smuzhiyun	- Update the poor Tekram sync factor table.
226*4882a593Smuzhiyun	- Fix in a tiny 'printk' bug that may oops in case of extended
227*4882a593Smuzhiyun	  errors (unrecovered parity error, data overrun, etc ...)
228*4882a593Smuzhiyun	  (Sent by Pamela Delaney from LSILOGIC)
229*4882a593Smuzhiyun	- Remove the compilation condition about having to acquire the
230*4882a593Smuzhiyun	  io_request_lock since it seems to be a definite feature now.:)
231*4882a593Smuzhiyun	- Change get_pages by GetPages since Linux >= 2.3.27 now wants
232*4882a593Smuzhiyun	  get_pages to ever be used as a kernel symbol (from 2.3.27).
233*4882a593Smuzhiyun	- proc_dir structure no longer needed for kernel >= 2.3.27.
234*4882a593Smuzhiyun
235*4882a593SmuzhiyunSun Oct  3  19:00 1999 Gerard Roudier (groudier@club-internet.fr)
236*4882a593Smuzhiyun	* version sym53c8xx-1.5f
237*4882a593Smuzhiyun	- Change the way the driver checks the PCI clock frequency, so
238*4882a593Smuzhiyun	  that overclocked PCI BUS up to 48 MHz will not be refused.
239*4882a593Smuzhiyun	  The more the BUS is overclocked, the less the driver will
240*4882a593Smuzhiyun	  guarantee that its measure of the SCSI clock is correct.
241*4882a593Smuzhiyun	- Backport some minor improvements of SCRIPTS from the sym_hipd
242*4882a593Smuzhiyun	  driver.
243*4882a593Smuzhiyun	- Backport the code rewrite of the START QUEUE dequeuing (on
244*4882a593Smuzhiyun	  bad scsi status received) from the sym_hipd driver.
245*4882a593Smuzhiyun
246*4882a593SmuzhiyunSat Sep 11  11:00 1999 Gerard Roudier (groudier@club-internet.fr)
247*4882a593Smuzhiyun	* version sym53c8xx-1.5e
248*4882a593Smuzhiyun	- New linux-2.3.13 __setup scheme support added.
249*4882a593Smuzhiyun	- Cleanup of the extended error status handling:
250*4882a593Smuzhiyun	  Use 1 bit per error type.
251*4882a593Smuzhiyun	- Also save the extended error status prior to auto-sense.
252*4882a593Smuzhiyun	- Add the FE_DIFF chip feature bit to indicate support of
253*4882a593Smuzhiyun	  diff probing from GPIO3 (825/825A/876/875).
254*4882a593Smuzhiyun	- Remove the quirk handling that has been useless since day one.
255*4882a593Smuzhiyun	- Work-around PCI chips being reported twice on some platforms.
256*4882a593Smuzhiyun	- Add some redundant PCI reads in order to deal with common
257*4882a593Smuzhiyun	  bridge misbehaviour regarding posted write flushing.
258*4882a593Smuzhiyun	- Add some other conditionnal code for people who have to deal
259*4882a593Smuzhiyun	  with really broken bridges (they will have to edit a source
260*4882a593Smuzhiyun	  file to try these options).
261*4882a593Smuzhiyun	- Handle correctly (hopefully) jiffies wrap-around.
262*4882a593Smuzhiyun	- Restore the entry used to detect 875 until revision 0xff.
263*4882a593Smuzhiyun	  (I removed it inadvertently, it seems :) )
264*4882a593Smuzhiyun	- Replace __initfunc() which is deprecated stuff by __init which
265*4882a593Smuzhiyun	  is not yet so. ;-)
266*4882a593Smuzhiyun	- Rewrite the MESSAGE IN scripts more generic by using a MOVE
267*4882a593Smuzhiyun	  table indirect. Extended messages of any size are accepted now.
268*4882a593Smuzhiyun	  (Size is limited to 8 for now, but a constant is just to be
269*4882a593Smuzhiyun	  increased if necessary)
270*4882a593Smuzhiyun	- Fix some bug in the fully untested MDP handling:) and share
271*4882a593Smuzhiyun	  some code between MDP handling and residual calculation.
272*4882a593Smuzhiyun	- Calculate the data transfer residual as the 2's complement
273*4882a593Smuzhiyun	  integer (A positive value in returned on data overrun, and
274*4882a593Smuzhiyun	  a negative one on underrun).
275*4882a593Smuzhiyun	- Add support of some 'resource handling' for linux-2.3.13.
276*4882a593Smuzhiyun	  Basically the BARs have been changed to something more complex
277*4882a593Smuzhiyun	  in the pci_dev structure.
278*4882a593Smuzhiyun	- Remove some deprecated code.
279*4882a593Smuzhiyun
280*4882a593SmuzhiyunSat Jun  5  11:00 1999 Gerard Roudier (groudier@club-internet.fr)
281*4882a593Smuzhiyun	* version sym53c8xx-1.5c
282*4882a593Smuzhiyun	- Do not negotiate on auto-sense if we are currently using 8 bit
283*4882a593Smuzhiyun	  async transfer for the target.
284*4882a593Smuzhiyun	- Only check for SISL/RAID on i386 platforms.
285*4882a593Smuzhiyun	  (A problem has been reported on PPC with that code).
286*4882a593Smuzhiyun	- On MSG REJECT for a negotiation, the driver attempted to restart
287*4882a593Smuzhiyun	  the SCRIPT processor when this one was already running.
288*4882a593Smuzhiyun
289*4882a593SmuzhiyunSat May 29  12:00 1999 Gerard Roudier (groudier@club-internet.fr)
290*4882a593Smuzhiyun	* version sym53c8xx-1.5b
291*4882a593Smuzhiyun	- Force negotiation prior auto-sense.
292*4882a593Smuzhiyun	  This ensures that the driver will be able to grab the sense data
293*4882a593Smuzhiyun	  from a device that has received a BUS DEVICE RESET message from
294*4882a593Smuzhiyun	  another initiator.
295*4882a593Smuzhiyun	- Complete all disconnected CCBs for a logical UNIT if we are told
296*4882a593Smuzhiyun	  about a UNIT ATTENTION for a RESET condition by this target.
297*4882a593Smuzhiyun	- Add the control command 'cleardev' that allows to send a ABORT
298*4882a593Smuzhiyun	  message to a logical UNIT (for test purpose).
299*4882a593Smuzhiyun
300*4882a593SmuzhiyunTue May 25  23:00 1999 Gerard Roudier (groudier@club-internet.fr)
301*4882a593Smuzhiyun	* version sym53c8xx-1.5a
302*4882a593Smuzhiyun	- Add support for task abort and bus device reset SCSI message
303*4882a593Smuzhiyun	  and implement proper synchonisation with SCRIPTS to handle
304*4882a593Smuzhiyun          correctly task abortion without races.
305*4882a593Smuzhiyun	- Send an ABORT message (if untagged) or ABORT TAG message (if tagged)
306*4882a593Smuzhiyun	  when the driver is told to abort a command that is disconnected and
307*4882a593Smuzhiyun	  complete the command with appropriate error.
308*4882a593Smuzhiyun	  If the aborted command is not yet started, remove it from the start
309*4882a593Smuzhiyun	  queue and complete it with error.
310*4882a593Smuzhiyun	- Add the control command 'resetdev' that allows to send a BUS
311*4882a593Smuzhiyun	  DEVICE RESET message to a target (for test purpose).
312*4882a593Smuzhiyun	- Clean-up some unused or useless code.
313*4882a593Smuzhiyun
314*4882a593SmuzhiyunFri May 21  23:00 1999 Gerard Roudier (groudier@club-internet.fr)
315*4882a593Smuzhiyun	* version sym53c8xx-1.5
316*4882a593Smuzhiyun	- Add support for CHMOV with Wide controllers.
317*4882a593Smuzhiyun	- Handling of the SWIDE (low byte residue at the end of a CHMOV
318*4882a593Smuzhiyun	  in DATA IN phase with WIDE transfer when the byte count gets odd).
319*4882a593Smuzhiyun	- Handling of the IGNORE WIDE RESIDUE message.
320*4882a593Smuzhiyun	  Handled from SCRIPTS as possible with some optimizations when both
321*4882a593Smuzhiyun	  a wide device and the controller are odd at the same time (SWIDE
322*4882a593Smuzhiyun	  present and IGNORE WIDE RESIDUE message on the BUS at the same time).
323*4882a593Smuzhiyun	- Check against data OVERRUN/UNDERRUN condition at the end of a data
324*4882a593Smuzhiyun	  transfer, whatever a SWIDE is present (OVERRUN in DATA IN phase)
325*4882a593Smuzhiyun	  or the SODL is full (UNDERRUN in DATA out phase).
326*4882a593Smuzhiyun	- Handling of the MODIFY DATA POINTER message.
327*4882a593Smuzhiyun	  This one cannot be handled from SCRIPTS, but hopefully it will not
328*4882a593Smuzhiyun	  happen very often. :)
329*4882a593Smuzhiyun	- Large rewrite of the SCSI MESSAGE handling.
330*4882a593Smuzhiyun
331*4882a593SmuzhiyunSun May 9  11:00 1999 Gerard Roudier (groudier@club-internet.fr)
332*4882a593Smuzhiyun	* version sym53c8xx-1.4
333*4882a593Smuzhiyun	- Support for IMMEDIATE ARBITRATION.
334*4882a593Smuzhiyun	  See the README file for detailed information about this feature.
335*4882a593Smuzhiyun	  Requires both a compile option and a boot option.
336*4882a593Smuzhiyun	- Minor SCRIPTS optimization in reselection pattern for LUN 0.
337*4882a593Smuzhiyun	- Simpler algorithm to deal with SCSI command starvation.
338*4882a593Smuzhiyun	  Just use 2 tag counters in flip/flop and switch to the other
339*4882a593Smuzhiyun	  one every 3 seconds.
340*4882a593Smuzhiyun	- Do some work in SCRIPTS after the SELECT instruction and prior
341*4882a593Smuzhiyun	  to testing for a PHASE. SYMBIOS say this feature is working fine.
342*4882a593Smuzhiyun	  (Btw, only problems with Toshiba 3401B had been reported).
343*4882a593Smuzhiyun	- Measure the PCI clock speed and do not attach controllers if
344*4882a593Smuzhiyun	  result is greater than 37 MHz. Since the precision of the
345*4882a593Smuzhiyun	  algorithm (from Stefan Esser) is better than 2%, this should
346*4882a593Smuzhiyun	  be fine.
347*4882a593Smuzhiyun	- Fix the misdetection of SYM53C875E (was detected as a 876).
348*4882a593Smuzhiyun	- Fix the misdetection of SYM53C810 not A (was detected as a 810A).
349*4882a593Smuzhiyun	- Support for up to 256 TAGS per LUN (CMD_PER_LUN).
350*4882a593Smuzhiyun	  Currently limited to 255 due to Linux limitation. :)
351*4882a593Smuzhiyun	- Support for up to 508 active commands (CAN_QUEUE).
352*4882a593Smuzhiyun	- Support for the 53C895A by Pamela Delaney <pam.delaney@lsil.com>
353*4882a593Smuzhiyun	  The 53C895A contains all of the features of the 896 but has only
354*4882a593Smuzhiyun	  one channel and has a 32 bit PCI bus. It does 64 bit PCI addressing
355*4882a593Smuzhiyun	  using dual cycle PCI data transfers.
356*4882a593Smuzhiyun	- Miscellaneous minor fixes.
357*4882a593Smuzhiyun	- Some additions to the README.ncr53c8xx file.
358*4882a593Smuzhiyun
359*4882a593SmuzhiyunTue Apr 15  10:00 1999 Gerard Roudier (groudier@club-internet.fr)
360*4882a593Smuzhiyun	* version sym53c8xx-1.3e
361*4882a593Smuzhiyun	- Support for any number of LUNs (64) (SPI2-compliant).
362*4882a593Smuzhiyun	  (Btw, this may only be ever useful under linux-2.2 ;-))
363*4882a593Smuzhiyun
364*4882a593SmuzhiyunSun Apr 11  10:00 1999 Gerard Roudier (groudier@club-internet.fr)
365*4882a593Smuzhiyun	* version sym53c8xx-1.3d
366*4882a593Smuzhiyun	- Add 'hostid:#id' boot option. This option allows to change the
367*4882a593Smuzhiyun	  default SCSI id the driver uses for controllers.
368*4882a593Smuzhiyun	- Make SCRIPTS not use self-mastering for PCI.
369*4882a593Smuzhiyun	  There were still 2 places the driver used this feature of the
370*4882a593Smuzhiyun	  53C8XX family.
371*4882a593Smuzhiyun	- Move some data structures (nvram layouts and driver set-up) to
372*4882a593Smuzhiyun	  the sym53c8xx_defs.h file. So, the both drivers will share them.
373*4882a593Smuzhiyun	- Set MAX LUNS to 16 (instead of 8).
374*4882a593Smuzhiyun
375*4882a593SmuzhiyunSat Mar 20  21:00 1999 Gerard Roudier (groudier@club-internet.fr)
376*4882a593Smuzhiyun	* version sym53c8xx-1.3b
377*4882a593Smuzhiyun	- Add support for NCR PQS PDS.
378*4882a593Smuzhiyun	  James Bottomley <James.Bottomley@columbiasc.ncr.com>
379*4882a593Smuzhiyun	- Allow value 0 for host ID.
380*4882a593Smuzhiyun	- Support more than 8 controllers (> 40 in fact :-) )
381*4882a593Smuzhiyun	- Add 'excl=#ioaddr' boot option: exclude controller.
382*4882a593Smuzhiyun	  (Version 1.3a driver)
383*4882a593Smuzhiyun
384*4882a593SmuzhiyunThu Mar 11  23:00 1999 Gerard Roudier (groudier@club-internet.fr)
385*4882a593Smuzhiyun	* version sym53c8xx-1.3   (8xx-896 driver bundle)
386*4882a593Smuzhiyun	- Equivalent changes as ncr53c8xx-3.2 due to the driver bundle.
387*4882a593Smuzhiyun	  (See Changelog.ncr53c8xx)
388*4882a593Smuzhiyun	- Do a normal soft reset as first chip reset, since aborting current
389*4882a593Smuzhiyun	  operation may raise an interrupt we are not able to handle since
390*4882a593Smuzhiyun	  the interrupt handler is not yet established.
391*4882a593Smuzhiyun
392*4882a593SmuzhiyunSat Mar 6  11:00 1999 Gerard Roudier (groudier@club-internet.fr)
393*4882a593Smuzhiyun	* version sym53c8xx-1.2b
394*4882a593Smuzhiyun	- Fix some oooold bug that hangs the bus if a device rejects a
395*4882a593Smuzhiyun	  negotiation. Btw, the corresponding stuff also needed some cleanup
396*4882a593Smuzhiyun	  and thus the change is a bit larger than it could have been.
397*4882a593Smuzhiyun	- Still some typo that made compilation fail for 64 bit (trivial fix).
398*4882a593Smuzhiyun
399*4882a593SmuzhiyunSun Feb 21  20:00 1999 Gerard Roudier (groudier@club-internet.fr)
400*4882a593Smuzhiyun	* version sym53c8xx-1.2a
401*4882a593Smuzhiyun	- The rewrite of the interrupt handling broke the SBMC interrupt
402*4882a593Smuzhiyun	  handling due to a 1 bit mask tiny error. Hopefully fixed.
403*4882a593Smuzhiyun	- If INQUIRY came from a scatter list, the driver looked into
404*4882a593Smuzhiyun	  the scatterlist instead of the data.:) Since this should never
405*4882a593Smuzhiyun	  happen, we just discard the data if use_sg is not zero.
406*4882a593Smuzhiyun
407*4882a593SmuzhiyunFri Feb 12  23:00 1999 Gerard Roudier (groudier@club-internet.fr)
408*4882a593Smuzhiyun	* version sym53c8xx-1.2
409*4882a593Smuzhiyun	- Major rewrite of the interrupt handling and recovery stuff for
410*4882a593Smuzhiyun	  the support of non compliant SCSI removal, insertion and all
411*4882a593Smuzhiyun	  kinds of screw-up that may happen on the SCSI BUS.
412*4882a593Smuzhiyun	  Hopefully, the driver is now unbreakable or may-be, it is just
413*4882a593Smuzhiyun	  quite brocken. :-)
414*4882a593Smuzhiyun	  Many thanks to Johnson Russel (Symbios) for having responded to
415*4882a593Smuzhiyun	  my questions and for his interesting advices and comments about
416*4882a593Smuzhiyun	  support of SCSI hot-plug.
417*4882a593Smuzhiyun	- Add 'recovery' option to driver set-up.
418*4882a593Smuzhiyun	- Negotiate SYNC data transfers with CCS devices.
419*4882a593Smuzhiyun	- Deal correctly with 64 bit PCI address registers on Linux 2.2.
420*4882a593Smuzhiyun	  Pointed out by Leonard Zubkoff.
421*4882a593Smuzhiyun
422*4882a593SmuzhiyunSun Jan 31  18:00 1999 Gerard Roudier (groudier@club-internet.fr)
423*4882a593Smuzhiyun	* version sym53c8xx-1.1a
424*4882a593Smuzhiyun	- Some 896 chip revisions (all for now :-)), may hang-up if the
425*4882a593Smuzhiyun	  soft reset bit is set at the wrong time while SCRIPTS are running.
426*4882a593Smuzhiyun	  We need to first abort the current SCRIPTS operation prior to
427*4882a593Smuzhiyun	  resetting the chip. This fix has been sent to me by SYMBIOS/LSI
428*4882a593Smuzhiyun	  and I just translated it into ncr53c8xx syntax.
429*4882a593Smuzhiyun	  Must be considered 100 % trustable, unless I did some mistake
430*4882a593Smuzhiyun	  when translating it. :-)
431*4882a593Smuzhiyun
432*4882a593SmuzhiyunSun Jan 24  18:00 1999 Gerard Roudier (groudier@club-internet.fr)
433*4882a593Smuzhiyun	* version sym53c8xx-1.1
434*4882a593Smuzhiyun	- Major rewrite of the SCSI parity error handling.
435*4882a593Smuzhiyun	  The informations contained in the data manuals are incomplete about
436*4882a593Smuzhiyun	  this feature.
437*4882a593Smuzhiyun	  I asked SYMBIOS about and got in reply the explanations that are
438*4882a593Smuzhiyun	  _indeed_ missing in the data manuals.
439*4882a593Smuzhiyun	- Allow to tune request_irq() flags from the boot command line using
440*4882a593Smuzhiyun	  ncr53c8xx=irqm:??, as follows:
441*4882a593Smuzhiyun	  a) If bit 0x10 is set in irqm, SA_SHIRQ flag is not used.
442*4882a593Smuzhiyun	  b) If bit 0x20 is set in irqm, SA_INTERRUPT flag is not used.
443*4882a593Smuzhiyun	  By default the driver uses both SA_SHIRQ and SA_INTERRUPT.
444*4882a593Smuzhiyun	  Option 'ncr53c8xx=irqm:0x20' may be used when an IRQ is shared by
445*4882a593Smuzhiyun	  a 53C8XX adapter and a network board.
446*4882a593Smuzhiyun	- Fix for 64 bit PCI address register calculation. (Lance Robinson)
447*4882a593Smuzhiyun	- Fix for big-endian in phase mismatch handling. (Michal Jaegermann)
448*4882a593Smuzhiyun
449*4882a593SmuzhiyunFri Jan  1  20:00 1999 Gerard Roudier (groudier@club-internet.fr)
450*4882a593Smuzhiyun	* version sym53c8xx-1.0a
451*4882a593Smuzhiyun	- Waiting list look-up didn't work for the first command of the list.
452*4882a593Smuzhiyun	  Hopefully fixed, but tested on paper only. ;)
453*4882a593Smuzhiyun	- Remove the most part of PPC specific code for Linux-2.2.
454*4882a593Smuzhiyun	  Thanks to Cort.
455*4882a593Smuzhiyun	- Some other minors changes.
456*4882a593Smuzhiyun
457*4882a593SmuzhiyunSat Dec 19  21:00 1998 Gerard Roudier (groudier@club-internet.fr)
458*4882a593Smuzhiyun	* version sym53c8xx-1.0
459*4882a593Smuzhiyun	- Define some new IO registers for the 896 (istat1, mbox0, mbox1)
460*4882a593Smuzhiyun	- Revamp slightly the Symbios NVRAM lay-out based on the excerpt of
461*4882a593Smuzhiyun	  the header file I received from Symbios.
462*4882a593Smuzhiyun	- Check the PCI bus number for the boot order (Using a fast
463*4882a593Smuzhiyun	  PCI controller behing a PCI-PCI bridge seems sub-optimal).
464*4882a593Smuzhiyun	- Disable overlapped PCI arbitration for the 896 revision 1.
465*4882a593Smuzhiyun	- Reduce a bit the number of IO register reads for phase mismatch
466*4882a593Smuzhiyun	  by reading DWORDS at a time instead of BYTES.
467*4882a593Smuzhiyun
468*4882a593SmuzhiyunThu Dec  3  24:00 1998 Gerard Roudier (groudier@club-internet.fr)
469*4882a593Smuzhiyun	* version pre-sym53c8xx-0.18
470*4882a593Smuzhiyun	- I received this afternoon a 896 from SYMBIOS and started testing
471*4882a593Smuzhiyun	  the driver with this beast. After having fixed 3 buglets, it worked
472*4882a593Smuzhiyun	  with all features enabled including the phase mismatch handling
473*4882a593Smuzhiyun	  from SCRIPTS. Since this feature is not yet tested enough, the
474*4882a593Smuzhiyun	  boot option 'ncr53c8xx=specf:1' is still required to enable the
475*4882a593Smuzhiyun	  driver to handle PM from SCRIPTS.
476*4882a593Smuzhiyun
477*4882a593SmuzhiyunSun Nov 29  18:00 1998 Gerard Roudier (groudier@club-internet.fr)
478*4882a593Smuzhiyun	* version pre-sym53c8xx-0.17
479*4882a593Smuzhiyun	- The SISL RAID change requires now remap_pci_mem() stuff to be
480*4882a593Smuzhiyun	  compiled for __i386__ when normal IOs are used.
481*4882a593Smuzhiyun	- The PCI memory read from SCRIPTS that should ensure ordering
482*4882a593Smuzhiyun	  was in fact misplaced. BTW, this may explain why broken PCI
483*4882a593Smuzhiyun	  device drivers regarding ordering are working so well. ;-)
484*4882a593Smuzhiyun	- Rewrite ncr53c8xx_setup (boot command line options) since the
485*4882a593Smuzhiyun	  binary code was a bit too bloated in my opinion.
486*4882a593Smuzhiyun	- Make the code simpler in the wakeup_done routine.
487*4882a593Smuzhiyun
488*4882a593SmuzhiyunTue Nov 24  23:00 1998 Gerard Roudier (groudier@club-internet.fr)
489*4882a593Smuzhiyun	* version pre-sym53c8xx-0.16
490*4882a593Smuzhiyun	- Add SCSI_NCR_OPTIMIZE_896_1 compile option and 'optim' boot option.
491*4882a593Smuzhiyun	  When set, the driver unconditionnaly assumes that the interrupt
492*4882a593Smuzhiyun	  handler is called for command completion, then clears INTF, scans
493*4882a593Smuzhiyun	  the done queue and returns if some completed CCB is found. If no
494*4882a593Smuzhiyun	  completed CCB are found, interrupt handling will proceed normally.
495*4882a593Smuzhiyun	  With a 896 that handles MA from SCRIPTS, this can be a great win,
496*4882a593Smuzhiyun	  since the driver will never performs PCI read transactions, but
497*4882a593Smuzhiyun	  only PCI write transactions that may be posted.
498*4882a593Smuzhiyun	  If the driver haven't to also raise the SIGP this would be perfect.
499*4882a593Smuzhiyun	  Even with this penalty, I think that this will work great.
500*4882a593Smuzhiyun	  Obviously this optimization makes sense only if the IRQ is not
501*4882a593Smuzhiyun	  shared with another device.
502*4882a593Smuzhiyun	- Still a buglet in the tags initial settings that needed to be fixed.
503*4882a593Smuzhiyun	  It was not possible to disable TGQ at system startup for devices
504*4882a593Smuzhiyun	  that claim TGQ support. The driver used at least 2 for the queue
505*4882a593Smuzhiyun	  depth but did'nt keep track of user settings for tags depth lower
506*4882a593Smuzhiyun	  than 2.
507*4882a593Smuzhiyun
508*4882a593SmuzhiyunThu Nov 19  23:00 1998 Gerard Roudier (groudier@club-internet.fr)
509*4882a593Smuzhiyun	* version pre-sym53c8xx-0.15
510*4882a593Smuzhiyun	- Add support for hardware LED control of the 896.
511*4882a593Smuzhiyun	- Ignore chips that are driven by SISL RAID (DAC 960).
512*4882a593Smuzhiyun	  Change sent by Leonard Zubkoff and slightly reworked.
513*4882a593Smuzhiyun	- Prevent 810A rev 11 and 860 rev 1 from using cache line based
514*4882a593Smuzhiyun	  transactions since those early chip revisions may use such on
515*4882a593Smuzhiyun	  LOAD/STORE instructions (work-around).
516*4882a593Smuzhiyun	- Remove some useless and bloat code from the pci init stuff.
517*4882a593Smuzhiyun	- Do not use the readX()/writeX() kernel functions for __i386__,
518*4882a593Smuzhiyun	  since they perform useless masking operations in order to deal
519*4882a593Smuzhiyun	  with broken driver in 2.1.X kernel.
520*4882a593Smuzhiyun
521*4882a593SmuzhiyunWed Nov 11  10:00 1998 Gerard Roudier (groudier@club-internet.fr)
522*4882a593Smuzhiyun	* version pre-sym53c8xx-0.14
523*4882a593Smuzhiyun	- The driver was unhappy when configured with default_tags > MAX_TAGS
524*4882a593Smuzhiyun	  Hopefully doubly-fixed.
525*4882a593Smuzhiyun	- Set PCI_PARITY in PCI_COMMAND register in not set (PCI fix-up).
526*4882a593Smuzhiyun	- Print out some message if phase mismatch is handled from SCRIPTS.
527*4882a593Smuzhiyun
528*4882a593SmuzhiyunSun Nov 1  14H00 1998 Gerard Roudier (groudier@club-internet.fr)
529*4882a593Smuzhiyun	* version pre-sym53c8xx-0.13
530*4882a593Smuzhiyun	- Some rewrite of the device detection code. This code had been
531*4882a593Smuzhiyun	  patched too much and needed to be face-lifted a bit.
532*4882a593Smuzhiyun	  Remove all platform dependent fix-ups that was not needed or
533*4882a593Smuzhiyun	  conflicted with some other driver code as work-arounds.
534*4882a593Smuzhiyun	  Reread the NVRAM before the calling of ncr_attach(). This spares
535*4882a593Smuzhiyun	  stack space and so allows to handle more boards.
536*4882a593Smuzhiyun	  Handle 64 bit base addresses under linux-2.0.X.
537*4882a593Smuzhiyun	  Set MASTER bit in PCI COMMAND register if not set.
538*4882a593Smuzhiyun
539*4882a593SmuzhiyunWed Oct 30 22H00 1998 Gerard Roudier (groudier@club-internet.fr)
540*4882a593Smuzhiyun	* version pre-sym53c8xx-0.12
541*4882a593Smuzhiyun	- Damned! I just broke the driver for Alpha by leaving a stale
542*4882a593Smuzhiyun	  instruction in the source code. Hopefully fixed.
543*4882a593Smuzhiyun	- Do not set PFEN when it is useless. Doing so we are sure that BOF
544*4882a593Smuzhiyun	  will be active, since the manual appears to be very unclear on what
545*4882a593Smuzhiyun	  feature is actually used by the chip when both PFEN and BOF are
546*4882a593Smuzhiyun	  set.
547*4882a593Smuzhiyun
548*4882a593SmuzhiyunSat Oct 24 16H00 1998 Gerard Roudier (groudier@club-internet.fr)
549*4882a593Smuzhiyun	* version pre-sym53c8xx-0.11
550*4882a593Smuzhiyun	- LOAD/STORE instructions were miscompiled for register offsets
551*4882a593Smuzhiyun	  beyond 0x7f. This broke accesses to 896' new registers.
552*4882a593Smuzhiyun	- Disable by default Phase Mismatch handling from SCRIPTS, since
553*4882a593Smuzhiyun	  current 896 rev.1 seems not to operate safely with the driver
554*4882a593Smuzhiyun	  when this feature is enabled (and above LOAD/STORE fix applied).
555*4882a593Smuzhiyun	  I will change the default to 'enabled' when this problem will be
556*4882a593Smuzhiyun	  solved.
557*4882a593Smuzhiyun	  Using boot option 'ncr53c8xx=specf:1' enables this feature.
558*4882a593Smuzhiyun	- Implement a work-around (DEL 472 - ITEM 5) that should allow the
559*4882a593Smuzhiyun	  driver to safely enable hardware phase mismatch with 896 rev. 1.
560*4882a593Smuzhiyun
561*4882a593SmuzhiyunTue Oct 20 22H00 1998 Gerard Roudier (groudier@club-internet.fr)
562*4882a593Smuzhiyun	* version pre-sym53c8xx-0.10
563*4882a593Smuzhiyun	- Add the 53c876 description to the chip table. This is only useful
564*4882a593Smuzhiyun	  for printing the right name of the controller.
565*4882a593Smuzhiyun	- Add additional checking of INQUIRY data:
566*4882a593Smuzhiyun	  Check INQUIRY data received length is at least 7. Byte 7 of
567*4882a593Smuzhiyun	  inquiry data contains device features bits and the driver might
568*4882a593Smuzhiyun	  be confused by garbage. Also check peripheral qualifier.
569*4882a593Smuzhiyun	- Use a 1,3,5,...MAXTAGS*2+1 tag numbering. Previous driver could
570*4882a593Smuzhiyun	  use any tag number from 1 to 253 and some non conformant devices
571*4882a593Smuzhiyun	  might have problems with large tag numbers.
572*4882a593Smuzhiyun	- Use NAME53C and NAME53C8XX for chip name prefix chip family name.
573*4882a593Smuzhiyun	  Just give a try using "sym53c" and "sym53c8xx" instead of "ncr53c"
574*4882a593Smuzhiyun	  and "ncr53c8xx". :-)
575*4882a593Smuzhiyun
576*4882a593SmuzhiyunSun Oct 11 17H00 1998 Gerard Roudier (groudier@club-internet.fr)
577*4882a593Smuzhiyun	* version pre-sym53c8xx-0.9
578*4882a593Smuzhiyun	- DEL-441 Item 2 work-around for the 53c876 rev <= 5 (0x15).
579*4882a593Smuzhiyun	- Break ncr_scatter() into 2 functions in order to guarantee best
580*4882a593Smuzhiyun	  possible code optimization for the case we get a scatter list.
581*4882a593Smuzhiyun	- Add the code intended to support up to 1 tera-byte for 64 bit systems.
582*4882a593Smuzhiyun	  It is probably too early, but I wanted to complete the thing.
583*4882a593Smuzhiyun
584*4882a593SmuzhiyunSat Oct 3 14H00 1998 Gerard Roudier (groudier@club-internet.fr)
585*4882a593Smuzhiyun	* version pre-sym53c8xx-0.8
586*4882a593Smuzhiyun	- Do some testing with io_mapped and fix what needed to be so.
587*4882a593Smuzhiyun	- Wait for SCSI selection to complete or time-out immediately after
588*4882a593Smuzhiyun	  the chip won arbitration, since executing SCRIPTS while the SCSI
589*4882a593Smuzhiyun	  core is performing SCSI selection breaks the selection procedure
590*4882a593Smuzhiyun	  at least for some chip revisions.
591*4882a593Smuzhiyun	- Interrupt the SCRIPTS if a device does not go to MSG OUT phase after
592*4882a593Smuzhiyun	  having been selected with ATN. Such a situation is not recoverable,
593*4882a593Smuzhiyun	  better to fail when we are stuck.
594