Commit Graph

71 Commits

Author SHA1 Message Date
thorpej
44e529fecc Use BUS_DMA_READ and BUS_DMA_WRITE in some obvious places. 2001-07-19 16:36:14 +00:00
thorpej
51e70f6731 bzero -> memset 2001-07-07 16:46:34 +00:00
mjacob
60a0137d9c Ooops- we need to allocate an array of pointers to scsipi_xfer structures
isp_maxcmds in length- not an array of scsipi_xfer structures isp_maxcmds
in length.
2001-06-14 19:54:07 +00:00
mjacob
ecdaf852b2 Clean up licence a bit. ANSIfy. 2001-03-14 05:47:56 +00:00
thorpej
fd7ed72be1 Add BUS_DMA_STREAMING to data transfer maps. 2001-03-07 23:07:12 +00:00
mjacob
055ac54fd2 set default HBA role 2001-02-12 23:25:20 +00:00
mjacob
c6b9ad5aeb Use bootverbose to now set whether or not we add
ISP_LOGCONFIG and ISP_LOGINFO messages into the
default logging mask.
2000-12-30 08:49:11 +00:00
sommerfeld
851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
mjacob
3823efc25a Apply Bill Sommerfeld's -Wformat changes. 2000-12-28 22:23:41 +00:00
wiz
c8b0b91e7e Fix pathnames in comment. 2000-12-23 01:37:57 +00:00
mjacob
af2807f9f7 Finally fix this driver to be sensible about the ENDIAN dance. It's not
quite simply a question of the Qlogic being little endian and having
to have stuff swapped on big endian machines- it also has to do with the
fact that the SBus and PCI DMA layouts are wierd with respect to this.

At any rate, now finally fixed- works on Mac G4, tested it on a SS10
for sparc, checked on alpha to see if I've broken anything, and as
soon as I get another spare afternoon I'll finally install a sparc64
version which should just work (as it'll be like the Mac).
2000-12-09 08:06:31 +00:00
mjacob
3741d38c44 Correct omission by the previous committer. 2000-12-06 06:33:56 +00:00
thorpej
cfe0892ed3 NBPG -> PAGE_SIZE 2000-11-14 18:42:55 +00:00
mjacob
cecccb23b2 quiet chatty boot messages 2000-10-17 17:39:10 +00:00
mjacob
3607efd3d7 Remember to establish default PORT WWN. Add in some LOGDEBUG2 messages
for the dma mapping code.
2000-10-16 05:12:26 +00:00
mjacob
18e2c3aaad Add a maintenance note. Minor change in some logic in the DMA mapping. 2000-08-14 06:58:45 +00:00
mjacob
cb4d63d57c More compilation breakage in the non-DEBUG case
(from Castor Fu <castor@geocast.com>)
2000-08-03 03:00:04 +00:00
mjacob
1ae072f471 Fix bonehead bug for compiles w/o DEBUG set
(thanks to KANETA Shin'ichi <kaneta@cr.chiba-u.ac.jp>)
2000-08-02 17:39:50 +00:00
mjacob
068c76fc80 Core version 2.0 (platform version 1.0) rewrite of ISP driver. Some
interace cleanups, some new common functions. The major impact that
will be noticeable right away is that if you boot with not Fibre connected
to the FC cards, you no longer hang indefinitely.
2000-08-01 23:55:09 +00:00
mjacob
c466b99a9a Use new isp_handle_index function. Redo how firmware is checked for
and loaded. Remember to enable interrupts after isp_reset but before
isp_attach. Return CMD_EAGAIN on request queue overflow so we can retry
the command when there's more queue space.
2000-07-05 22:12:23 +00:00
mjacob
717d5b1cc3 Support for > 12 byte commands for parallel SCSI. 2000-02-19 01:54:42 +00:00
mjacob
6eba47aa8f add (untested in NetBSD yet) Qlogic 12160 (Ultra3) suppot 2000-02-12 02:22:37 +00:00
mjacob
be6fe10ee6 get back to looking at config flags 1999-12-20 00:33:17 +00:00
mjacob
edf809c8b6 Dual LVD (1280) support. 1999-12-16 05:35:42 +00:00
mjacob
e5835e36c3 request/response queues now indexed via u_int16_t. Add back in f/w inclusion
and clean up it's compilation. get chip rev out of pci header.
1999-12-04 02:54:54 +00:00
mjacob
44c603dd7b Remove reference to loadable f/w. 1999-10-28 16:11:19 +00:00
mjacob
cdad48e3b7 Oops- missed a MAXISPREQUEST sized thing- these are all gone now. It's amazing
this didn't eat me.
1999-10-17 02:40:26 +00:00
mjacob
2b4cd26aa4 stylistic cleanups 1999-10-17 01:22:08 +00:00
mjacob
83bb47c85a F/W version no longer relevant. Only do WWN seed for FC cards.
Now we malloc xflist and dma maps in mailbox setup routines.
We also do the appropriate endian swizzling at the end of a dma
map routine.
1999-10-14 02:14:35 +00:00
thorpej
63b8530b4e Update for SCSPI changes. 1999-09-30 23:04:39 +00:00
mjacob
3bb408eb05 Change to approved NASA/Ames copyright. Add in Qlogic 2200 support. 1999-07-05 20:28:11 +00:00
mjacob
61bf929d14 Do a fairly large internal restructuring to accomodate dual-bus host adapters
(e.g., the 1240). Include the new 1080/1240 NVRAM layout reading code. Some
moderately significant mailbox changes were necessary also to accomodate a
second channel.
1999-05-12 18:59:23 +00:00
mjacob
eebeea5b23 Read the board revision and trim cache line size back from 16 to 1
for early revision 2100 boards. Make sure to turn ROM off for these
boards.
1999-04-04 01:14:58 +00:00
mjacob
e50460f5fa Oops- if you enable 1080 support, remember to load the f/w 1999-03-27 01:08:59 +00:00
mjacob
99d46bf762 add isp1080 support and some basic PDB change stuff 1999-03-26 22:39:44 +00:00
mjacob
d596b20f1e prototype 1080/1240 support 1999-03-17 06:16:42 +00:00
mjacob
c47d6855db clean up pci configuration a bit 1999-02-09 00:35:35 +00:00
mjacob
1ece20c808 roll internal release tag 1999-01-30 07:08:04 +00:00
mjacob
4401c8bdd7 oops. Forgot to turn on PCI burst. 1999-01-10 03:41:47 +00:00
mjacob
8ac99457db I mean *really* clean up headers 1998-12-28 19:12:04 +00:00
mjacob
b51e3fbf3c clean up headers; remove early revision 2100 workarounds 1998-12-28 19:11:32 +00:00
mjacob
6d8a22890e dma setup now returns CMD_QUEUED or CMD_COMPLETE. Clarify a ternary
operation that needed some parentheses.
1998-09-17 23:10:20 +00:00
mjacob
9b29429984 Remove clocks as common code now can determine what clock rates to use.
Remove other than 8 byte bursts- until we clarify whether or not buggy
PCI implementatiosn really cause problems.
1998-09-08 07:16:46 +00:00
mjacob
5ad5bb35af minor change to make the message less linux like 1998-08-12 00:03:23 +00:00
thorpej
dcfe0e1506 Back out part of previous; it is perfectly reasonable, and desirable, to
print out debugging info ifdef DEBUG.
1998-07-31 02:14:40 +00:00
mjacob
bec14b0ce3 Part A (Cosmetic nonsense):
>We're not Linux.  If we still want driver version strings to be displayed
>at boot, then I suppose DEBUG is a reasonable compromise.
Makes the whole concept useless. This is for default printouts. If you
can build a debug kernel, you know what version you have. This was under
the concept of 'RAS' so that hapless users could tell you microversion
things. But I guess this isn't the right way according to our local
Jesuits. Oh, well. I'll think up something different and hopefully
less objectionable. And yes, NetBSD isn't linux. The developers seem
to be equally bad tempered, but linux is more successful.

Part B:
Field interrupts in OS layer so that (in this OS) bus_dmamap_sync(POSTREAD)
can (formally) ensure that the result queue is stable wrt to buffering
and that for sending a command a bus_dmamap_sync(PREWRITE) is done to
ensure that the device gets a good view of what the mailbox contents
should be.
1998-07-31 02:08:16 +00:00
thorpej
d8e4026492 Oops, unused variable warning. 1998-07-20 21:17:30 +00:00
thorpej
74fc0579eb We're not Linux. If we still want driver version strings to be displayed
at boot, then I suppose DEBUG is a reasonable compromise.
1998-07-20 21:16:52 +00:00
mjacob
1aa702b8f8 fix bogus initialization 1998-07-18 21:04:22 +00:00
mjacob
99ff11f6b7 locking now out of main framework for isp_reset/isp_init 1998-07-18 21:02:06 +00:00