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