Commit Graph

178 Commits

Author SHA1 Message Date
bouyer 4cda08fb6e Add support for tagged queuing to esiop (256 tags per device).
For this add another indirecton: the DSA in the LUN table points to
a table of DSA indexed by the tag number when tagged command is in use.
For non tagged command, the LUN DSA still points to the tables describing the
xfer directly.
2002-04-22 15:53:39 +00:00
bouyer 2f72a4fcc7 Generated from esiop.ss, for the new esiop driver. 2002-04-21 22:53:37 +00:00
bouyer 8cfc41f9ed First cut at a esiop driver (enhanced siop). Doesn't implement tagged queuing
yet.
If is restricted to SIOP which implement the load/store instruction, and
has 10 scratch registers (basically, 825 and newer, possibly 770).
It implements a different interface between host and script, using a real
ring for command starts, and improved support for reconnect which will allow
256 tag per device. It uses interrupt on the fly to signal complete command,
which allows several commands to be serviced per interrupt and doesn't require
the script to stop to signal command completion.
2002-04-21 22:52:05 +00:00
bouyer 4b8e2f7002 - handle INTFLY (interrupt on the fly) command
- hanlde set/clear carry
- handle shl, shr (shift left and rigth) and xor operators
2002-04-21 22:40:10 +00:00
bouyer a8ac9f8638 Fix scratchd2 address. 2002-04-20 20:56:25 +00:00
bouyer 7341a66098 Regen: add hooks to drive LED via GPIO. 2002-04-18 11:59:41 +00:00
bouyer 172d73c2d5 Add hooks to drive the activity led via the GPIO pin 1, as required by some
tekram and symbios adapters.
2002-04-18 11:56:11 +00:00
bouyer 6b14001ff6 Really use a JUMP for NOP, not a block move. 2002-04-17 21:39:14 +00:00
onoe 410544177a Generated from the firmware binaries for T3 series CF adapter.
Obtained from Tim Gardner <timg@tpi.com> who developoed the Linux driver.
And approved by Brad Lefore <blefore@sj.symbol.com> to redistribute it
with BSD license.
2002-04-15 14:58:51 +00:00
martin e4998611e9 Fix copyright notice. 2002-04-14 12:24:26 +00:00
thorpej b0e1d51672 Microcode for Intel i8255x 10/100 Ethernet interfaces. This optional
microcode implements an interrupt mitigation function for several
specific revisions of the i8255x family.

From FreeBSD.
2002-04-05 05:35:46 +00:00
mjacob 2c3c2f2ca0 Cast for now non-const in ispdv structure. 2002-03-22 02:31:09 +00:00
mjacob d76634e057 Update 2300 firmware to latest release level. 2002-02-19 01:38:04 +00:00
mjacob acbfdd822a Roll f/w to latest level, correcting several, ah, interesting bugs. 2001-12-14 00:07:55 +00:00
tv 8e6f7afb5b MKfoo=no -> NOfoo 2001-12-12 01:48:43 +00:00
fredette 178a439b58 Regen. 2001-12-07 14:21:18 +00:00
fredette 1a3eaeafd8 Now generate oosiop.out, the compiled 53c700 script. 2001-12-05 18:34:19 +00:00
fredette ba3be8d408 Generated from oosiop.ss rev. 1.1:
Initial compiled script for 53c700.
2001-12-05 18:32:55 +00:00
fredette 60c77bb2f1 Added support for the Symbios/NCR 53c700 SCSI controller.
This chip is very similar to the 53c710, except that it's
missing a few registers, doesn't do relative jumps and
doesn't have the table-indirect addressing mode.

I have checked that this still generates the same output
on the existing scripts for the other chips.
2001-12-05 18:31:53 +00:00
fredette 8dce160cd1 New script for the Symbios/NCR 53c700 SCSI controller.
This is closely related to osiop.ss, the script for the
53c710.
2001-12-05 18:27:13 +00:00
mjacob 033f1aaf8d Update to latest 12160 initiator firmware. 2001-10-20 21:52:24 +00:00
mjacob 4986b9ee8b Ulp! Open Wide! Another Firmware Enchilada!
2-Gigabit card firmware.
2001-08-31 22:28:37 +00:00
wiz 1e378c4c12 precede, not preceed. 2001-08-20 12:00:46 +00:00
cjs 0079971ec4 Back out previous change; I've lost my card and can't test it. 2001-08-14 01:09:33 +00:00
cjs a95288891b Change the '@(#)' strings in front of the copyright/version messages to '@( )'
so as not to clutter the output of the what(1) command when run on a kernel.
2001-08-13 03:07:23 +00:00
thorpej 17238bfd2b Move the Tigon/Tigon2 firmware, version 12.4.13+wpaul, to a
more appropriate location.
2001-06-30 04:33:11 +00:00
wiz ac951736bc `response', not `responce' 2001-06-19 13:45:52 +00:00
wiz c03a48d64f withough -> without 2001-06-13 10:45:57 +00:00
tsutsui 0ceded7d3b Generated from osiop.ss rev. 1.1:
Initial compiled script for 53c710.
2001-04-30 04:49:57 +00:00
tsutsui 613923b42e Add a MI driver for the Symbios/NCR 53c710 SCSI controller.
This is based on amiga's siop driver, but converted to use
bus_space(9) functions and modified to fit bus_dma(9) framework.

Currently tested on NetBSD/arc with jazzio 53c710 SCSI,
which really requires bus_dma(9) functions :-)
Sync transfers and disconnect/reconnect are also working.

TODO:
- Test under more heavy load
- Clean up osiop_checkintr() hander
- Reorganize command queue and sync negotiation handling more suitable
  for thorpej-scsipi mid-layer
- Re-think defered interrupt handling for amiga
2001-04-30 04:47:50 +00:00
lukem 9d02aae3a9 minor lint 2001-04-30 02:44:53 +00:00
tsutsui b83fe1a852 Correct register address map for 53c710. 2001-04-29 11:20:44 +00:00
jdolecek 372e5956ef Only install headers which are actually used by our userland. This
saves about 2.2MB under /usr/include/dev/. Discussed on tech-kern@
recently.

I HOPE to get the list right. The headers I left in are ones
used for MI tools and those whose usage I discovered by grep over tree sources.
Feel free to put needed includes back in if you encounter anything which
should not be removed from lists.
2001-04-11 07:42:31 +00:00
minoura 537038859e Yamaha YMF724/740/744/754 (DS-1) PCI audio driver. 2001-03-30 14:32:08 +00:00
cgd 8a986b2e96 convert to use getprogname() 2001-02-19 22:48:57 +00:00
mjacob e8b5aa491e update to latest f/w 2001-02-12 23:19:55 +00:00
jdolecek 9e7736f1dc make patches[] const 2001-01-22 14:30:43 +00:00
jdolecek 34c8ae80da constify 2001-01-18 20:28:15 +00:00
martin 4c176b9806 Disable the daic directory for now, it breaks with OBJDIR builds.
This needs more thought.
2001-01-05 23:17:48 +00:00
christos 6d92451397 don't keep adding targets, but include bsd.kinc.mk... This time make obj borke. 2001-01-05 20:18:10 +00:00
martin 34875ea7b1 Now let it survive "make install" too. 2001-01-05 19:56:55 +00:00
martin 651aeb5899 don't let "make all" fail 2001-01-05 19:01:02 +00:00
martin 242656c78a Enable the imported ISDN4BSD based ISDN subsystem.
This is the kernel part (userland to follow soon) of the latest (and
very probably last) release (version 0.96) of ISDN4BSD. ISDN4BSD has a
homepage at http://www.freebsd-support.de/i4b/.

It gives the user various ways to use the isdn connection: raw data (via
the i4brbch "raw b-channel" device), ppp (via the isp "isdn PPP" device),
voice/answering machine (the i4btel "telephone" device) and ip over isdn
(the ipr device, "IP over raw ISDN").

Supported are a bunch of common and older cards, more to be added soon
after some cleanup. Currently only the european E-DSS1 variant of the
ISDN D channel protocol is supported.
2001-01-05 13:09:15 +00:00
martin c3cb638bca Initial import of ISDN4BSD release 0.96 2001-01-05 12:49:52 +00:00
mjacob 8493d154d1 roll to 2.01.26 f/w 2000-12-28 08:30:40 +00:00
bouyer 5113af09e3 Regen 2000-10-23 14:54:50 +00:00
bouyer 7ae5c097e5 Rearrange things a bit to have less jumps
Install the core of the scheduler in main script (so it's in RAM when there is
one), and avoid jump in the common case. The command part of the scheduler now
lives in host memory, with tables.
Add template for a tag switch.
2000-10-23 14:53:53 +00:00
bouyer 3b7321e1c0 Allow conditionnal branch like "JUMP foo, IF FALSE"
The branch will never be taken as is, but the driver can patch the script.
2000-10-23 14:51:51 +00:00
bouyer 8561c00a0a Regen 2000-10-19 07:20:33 +00:00
bouyer 67618a69ae Move restore_scntl3 before the lun switch, to ease freeing of unused lun
slots.
2000-10-19 07:20:16 +00:00
bouyer b66120e445 Regen 2000-10-18 17:01:46 +00:00
bouyer 75246b83c0 Redo the target/lun sw in a better way, and handle queue tag messages. 2000-10-18 17:01:13 +00:00
bouyer 8ec46d1679 Fix off by one error when using RETURN, WHEN/IF ... 2000-10-18 16:05:23 +00:00
mjacob 8ddb5fd594 roll SBus f/w to latest released level (1.37) 2000-10-16 05:10:37 +00:00
bouyer 64c818a7e2 Emit a warning when a symbol is undefined. 2000-10-09 15:57:56 +00:00
bouyer c8ad9b6302 Regen 2000-10-06 16:39:22 +00:00
bouyer 171adcf634 Fix recurent typo: shed->sched 2000-10-06 16:39:04 +00:00
bouyer eae96f0267 Regen 2000-10-06 16:31:31 +00:00
bouyer c67eef4e7d Handle reselect entirely in script; for this provide a script area,
modified by the driver, which will load the appropriate DSA for a given
target/lun.
2000-10-06 16:31:17 +00:00
mjacob f73a4d37e2 split firmware into smaller files 2000-07-05 22:09:08 +00:00
bouyer 22a10be43e sheduler->scheduler, as pointed out by Klaus Klein 2000-06-13 13:59:15 +00:00
bouyer c9347a04a5 Regen. 2000-05-25 10:16:37 +00:00
bouyer b063b2ec36 Separate the sheduler from the main script, allocate another DMA-safe
memory page for the sheduler. Put the main script in the on-chip RAM when
available.
Avoid a null-pointer dereference when DSA is invalid.
2000-05-25 10:10:54 +00:00
thorpej 5274a6162f Add a device driver for the Cyclades-Z series of intelligent multi-port
serial boards.  Written by Jason R. Thorpe and Bill Studenmund.
2000-05-17 17:58:09 +00:00
bouyer 95d08cb691 Regen 2000-05-15 07:44:05 +00:00
bouyer 06d4aa45eb - use my standart copyrigth notice
- After reselect, don't clear ack after the IDENTIFY message, this breaks
  when the reselecting target has different sync parameters than the previous
  one.
2000-05-15 07:43:45 +00:00
bouyer babd44e7a1 Ops, regen siop.out from the last siop.ss. 2000-05-04 15:44:35 +00:00
bouyer c8ff442f72 Add a flag hold in scratcha0, set when we're doing a data transfer. Used
for save data pointers.
2000-05-04 15:42:42 +00:00
bouyer fe54b787dc Add NetBSD RCS Id and copyrigth notice. 2000-04-27 14:08:09 +00:00
bouyer 88be4752d0 - Change the script to start new commands in an asyncronous way, using
'command slots' in which the host can put command and wait for the script
 to start them
- Change siop.c to do full disconnect/reslelect, allowing as much as one
 command per target/lun to run in parallel.
- Fix bug in registers init where a board without BIOS would end at
  ID 0 (now the driver works on alpha too).
- better handling of messages, sending back a MSG_EXT_SDTR in response to an
  incoming MSG_EXT_SDTR, and MSG_MESSAGE_REJECT for unhandled messages.
- fix use of bus_dmamap_sync() and htole32().
- supports shared interrups
- change some int8 and int16 to int, for alpha and mips benefits ( suggested by
  Toru Nishimura)
2000-04-25 16:27:05 +00:00
bouyer 5ee6872b46 - Add support for NOP instruction
- fix dsp value for second operand of memory move, so that patch list will be
  correct.
2000-04-25 16:01:16 +00:00
bouyer 19ada4a82a Snapshot of work in progress: new driver for the NCR 53c8xx SCSI controller
(the name 'siop' is still being discussed, may change).
Only basic disconnect/reselect for now, no sync/wide negotiation.
Tested with 810A, 875 and 895 on i386 only.
The bus-independant part should also be able to handle the 53c720 and 53c770.
A new driver with enhanced script should appear for the 825/875/895 'soon'.
2000-04-21 17:56:58 +00:00
bouyer cd5411b382 Script assembler for the NCR 53c7xx/8xx scsi controller. Initial work
done by Michael L. Hitch, support for the 8xx and some improvements
by me.
2000-04-21 17:50:07 +00:00
fvdl 1e4647a15b New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds
support for the U2W chips, and U160 controllers.
2000-03-15 02:08:28 +00:00
mjacob 29f08cd82d add 12160 (Ultra3) microcode 2000-02-12 02:07:49 +00:00
mjacob 67944140cf oops, got the initiator and initiator/target f/w reversed for the 1080 1999-12-20 04:25:56 +00:00
mjacob 775b699ee1 add in initiator mode only f/w versions 1999-12-20 00:22:56 +00:00
mjacob 04debef27a add back firmware with BSD style copyright as approved by Qlogic 1999-12-03 21:48:49 +00:00
mjacob a7c74fb98f Re-add stub Qlogic F/W files so that life is easier when/if the new
Qlogic F/W copyright is approved.
1999-11-16 18:48:40 +00:00
mjacob 7c3f92fd69 Remove f/w from tree. The licences are not acceptable to TNF. 1999-10-28 16:13:43 +00:00
mjacob 05a454312d roll firmware 1999-10-14 02:12:34 +00:00
mrg 387650fb8b do not install these headers. they are large (~1.8M) and useless to userland. 1999-08-26 07:58:58 +00:00
mjacob c9d36d5b4c add in (controlled by option) 2200 Expanded Lun F/W 1999-07-06 05:43:51 +00:00
mjacob 8fc3744ddd Upgrade 2100 F/W and add 2200 f/w. 1999-07-05 20:33:58 +00:00
mjacob a10888f463 roll ISP 1080/1240 f/w to latest level 1999-05-12 16:45:04 +00:00
mjacob e6a460c3f3 roll ISP1040 and ISP2100 f/w to latest release 1999-04-04 01:21:02 +00:00
mjacob d3fb0e2ad5 roll internal tag level 1999-03-25 19:41:47 +00:00
garbled f124765044 More and more .Os cleanups. .Os is defined in the tmac.doc-common file,
so we shouldn't override it with versions in the manpages.  Many more to
come.
1999-03-22 18:25:43 +00:00
mjacob 690045798e roll internal tag 1999-03-17 05:11:57 +00:00
mjacob 72c7f98bd8 add in 1080/1240 f/w, plus options to not compile stuff in 1999-03-17 05:11:13 +00:00
mjacob ee72ee212e darn- 7.55 seems to be a little unstable- go back to 1.31 1999-01-31 04:56:20 +00:00
mjacob 513722ba25 Grrr.. Do the *correct* and *usable* 1.31 firmware. You have to power
cycle to get rid of the old 1.31 firmware. *@!$&^@&$!&^&^!!!!!

But anyway comment it out and use new SBus 7.55 firmware. We get fast posting
with this as well as 32 luns and target mode support.
1999-01-30 07:18:59 +00:00
mjacob 09ce6222fc roll internal release tag 1999-01-30 07:14:26 +00:00
mjacob 9ccf227085 clean up header 1998-12-28 19:07:38 +00:00
mjacob 9d51ff8e34 Roll to 1.15 f/w level for Qlogic 2100. Leave all flavors in, but control which
one gets compiled in by default. The default is private loop, non-expanded lun.
1998-12-05 00:28:05 +00:00
mjacob 45fb6a3e74 Add in and enable latest SBus ISP Firmware (1.31) 1998-12-05 00:25:26 +00:00
mjacob 4275b01a08 Adjust copyright notice to reflect that Qlogic still owns this.
Move SCSI f/w to 7.55 level. Move FibreChannel f/w to 1.13 level.
1998-09-08 07:13:11 +00:00
mjacob 0456723423 Adjust copyright to reflect that this is really still owned by Qlogic 1998-09-08 07:06:57 +00:00
mjacob 15f982f580 port-i386/5706: I had no problem with the previous patch, but someone
else has. Rolling it back while we try and figure it out.
1998-07-04 22:29:46 +00:00
mjacob 205c293676 Patches from Justin that handle some REV B AIC7880 problems 1998-07-03 23:45:10 +00:00