Age | Commit message (Collapse) | Author |
|
files used by ahc or ahd result from these changes, so they are not
being sync'ed at this time.
ok deraadt@
|
|
FreeBSD versions in preparation for ahd. Update Makefile to generate
aic79xx* files.
ok marco@, tested by Milos Urbanek.
|
|
ok millert@ krw@
derision from the rest of the world
stolen from a rejected freebsd pr;
|
|
|
|
encountered on the oldest hppa machines.
Currently compiled in, but disabled, in the kernel, until it is stable
enough - right now read access are fine, but writes eventually time out
and do not complete.
ok deraadt@
|
|
|
|
tweaks.
ok deraadt@.
|
|
Renauld of Network Storage Solutions, Inc. Many fixes, wider device
support. In particular, the notorious 'Target 0' problem seems to be
fixed.
Does *not* include any updates to isa or eisa code beyond what was
necessary to compile.
Known issues:
1) Tagged Queuing is probably not optimal.
2) PPR negotiation may not be fully functional.
3) No support yet for freezing devices or channels.
4) The mechanism for preventing 'A' and 'B' channel confusion during probe
can fail if scsibus > 254 found.
5) Requeuing I/O's not working. A workaround will be committed almost
immediately. At the moment timeouts, SCSI message rejects, aborting
SCB's and trying to freeze a device may cause incomplete i/o's to be
reported as complete.
6) Verbosity and probe messages need work.
7) Last disk on bus seems to go through an extra re-negotiation.
8) >16 devices on an adapter will trigger the usual problems of total
openings exceeding available SCB's under heavy load.
Tested by deraadt@, beck@, miod@, naddy@, drahn@, marc@ amoung
others.
ok deraadt@.
|
|
Renauld of Network Storage Solutions, Inc. Many fixes, wider device
support. In particular, the notorious 'Target 0' problem seems to be
fixed.
Does *not* include any updates to isa or eisa code beyond what was
necessary to compile.
Known issues:
1) Tagged Queuing is probably not optimal.
2) PPR negotiation may not be fully functional.
3) No support yet for freezing devices or channels.
4) The mechanism for preventing 'A' and 'B' channel confusion during probe
can fail if scsibus > 254 found.
5) Requeuing I/O's not working. A workaround will be committed almost
immediately. At the moment timeouts, SCSI message rejects, aborting
SCB's and trying to freeze a device may cause incomplete i/o's to be
reported as complete.
6) Verbosity and probe messages need work.
7) Last disk on bus seems to go through an extra re-negotiation.
8) >16 devices on an adapter will trigger the usual problems of total
openings exceeding available SCB's under heavy load.
Tested by deraadt@, beck@, miod@, naddy@, drahn@, marc@ amoung
others.
ok deraadt@.
|
|
Renauld of Network Storage Solutions, Inc. Many fixes, wider device
support. In particular, the notorious 'Target 0' problem seems to be
fixed.
Does *not* include any updates to isa or eisa code beyond what was
necessary to compile.
Known issues:
1) Tagged Queuing is probably not optimal.
2) PPR negotiation may not be fully functional.
3) No support yet for freezing devices or channels.
4) The mechanism for preventing 'A' and 'B' channel confusion during probe
can fail if scsibus > 254 found.
5) Requeuing I/O's not working. A workaround will be committed almost
immediately. At the moment timeouts, SCSI message rejects, aborting
SCB's and trying to freeze a device may cause incomplete i/o's to be
reported as complete.
6) Verbosity and probe messages need work.
7) Last disk on bus seems to go through an extra re-negotiation.
8) >16 devices on an adapter will trigger the usual problems of total
openings exceeding available SCB's under heavy load.
Tested by deraadt@, beck@, miod@, naddy@, drahn@, marc@ amoung
others.
ok deraadt@.
|
|
|
|
Fix use of uninitialized variable by porting NetBSD patch to correctly
initialize it.
Said variable is used as the value of the define DOWNLOAD_CONST_COUNT
in the generated file aic7xxxreg.h.
This define is currently not used anywhere.
Spotted and ok mickey@.
|
|
initialize it.
Said variable is used as the value of the define DOWNLOAD_CONST_COUNT
in the generated file aic7xxxreg.h.
This define is currently not used anywhere.
Spotted and ok mickey@.
|
|
|
|
|
|
mapped and sync'ed appropriately, and is guaranteed to be in one
memory page.
Eliminate now unused dmamap_cmd and rs_cmd fields.
Fix another error message (adding active command to reset list) so
that it includes the adapter name.
Add missing letoh32() calls to debug code.
The evils of directly mapping *xs->cmd were pointed out by Mickey
during osiop development. In particular, *xs->cmd may start on one
memory page and run into the next. Since the dma logic in most
cards/drivers (including siop) only allocates one address/size pair to
map *xs->cmd, parts of a command could be lost or corrupted.
The large number of 6 byte dma mappings noted long ago by someone
(Henric?). This change reduces the dma mapping activity per i/o by
1/3 to 1/2 and may give a performance boost of some kind.
Successfully tested on i386, sparc64 (ultra30 - thanks Jolan,
blade100), macppc and alpha.
Unfortunately these changes don't fix the Blade1000 siop problems.
**NOTE** If scsi_generic is ever upped to 16 bytes the offsets in
siop.ss must be updated!
|
|
cleanup. Can once again compile ncr53cxxx.c and use it to generate
microcode.
|
|
|
|
|
|
|
|
|
|
|
|
First cut at osiop driver (LSI Logic/Symbios/NCR 53C710). For hppa
only at the moment.
Functional for the most part, but there are known problems:
1) SCSI_CHECK/REQUEST_SENSE not handled at all - simply returns a
zero'ed scsi_sense_data buffer. As a result all osiop sc_link's are
created with the ADEV_NODOORLOCK quirk to suppress PREVENT_ALLOW
commands from being issued (and failing) during probe.
2) Sync negotiation (wide is not supported on this chip) needs to be
validated due to some ominous comments in the source about being valid
only for the 33Mhz Zeus board.
3) Probe message needs fixing/completion to issue useful info. See 2).
4) Timeout/hangs occur under heavy load, e.g. make builds.
From NetBSD.
ok mickey@
|
|
|
|
differences, undoing whitespace, spelling, etc. changes
and adopting the NetBSD code instead of equivalent home
grown code for PPR negotiation, etc.
siop.c 1.21 -> 1.64
siop_common.c 1.12 -> 1.30
siopreg.h 1.7 -> 1.13
siopvar.h 1.13 -> 1.18
siopvar_common.h 1.10 -> 1.21
ncr53cxxx.c 1.5 -> 1.10
siop.ss 1.12 -> 1.17
siop_pci.c 1.8 -> 1.11
siop_pci_common.c 1.6 -> 1.17
siop_pci_common.h 1.2 -> 1.4
Many fixes, add 1010-66 support, restructure things to prepare for
addition of esiop, osiop and oosiop drivers.
tested on various archs by art@, millert@, wilfried@, jason@,
Dan Weeks.
ok deraadt@.
|
|
(shoulda caught this before like I caught const'fying it, oh well)
|
|
for fighting with 3com to make this happen!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ok deraadt@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(Look ma, I might have broken the tree)
|
|
|
|
Add support for 2 Gigabit cards (2300/2312). This necessitated a change
in how interrupts are down- the 23XX has not only a different place to check
for an interrupt, but unlike all other QLogic cards, you have to read the
status as a 32 bit word- not 16 bit words. Rather than have device specific
functions as called from the core module (in isp_intr), it makes more sense
to have the platform/bus modules do the gruntwork of splitting out the
isr, semaphore register and the first outgoing mailbox register (if needed)
*prior* to calling isp_intr (if calling isp_intr is necessary at all).
Rearchitect how regular SCSI parameters are stored or used.
|
|
|
|
This has not been thoroughly tested yet, so it's not going into GENERIC now.
From NetBSD.
|
|
|
|
|