Commit Graph

10046 Commits

Author SHA1 Message Date
kleink 38ba8564f5 Add esm. 2001-04-25 18:32:10 +00:00
bouyer 937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
haya 94e69e110f Initialise all function's latency timer and cacheline size. 2001-04-25 09:29:36 +00:00
haya 3d8f9a4f4f Set function-in-use flag before calling power control function in
order to prevent turn on power twice.  This change does not prevent
power-off/power-on conflicts.
2001-04-25 09:20:32 +00:00
simonb 4d24d9a940 Regen. 2001-04-25 03:07:19 +00:00
simonb 3e4456d049 Spell "portege" correctly - it's a computer, not a car. 2001-04-25 03:06:11 +00:00
simonb 6f6fe2f3ad Spell occurred correctly. 2001-04-25 02:33:08 +00:00
mycroft ad44e79f90 It appears there's a race condition when disabling a channel that causes us to
need to explicitly relatch the interrupt when firing it up again.  So, in the
trigger routines, explicitly disable and reenable the interrupt to relatch it,
like we do in the interrupt routine.

Also clean up some broken loop overrun checks.

My ES1371 seems to be more reliable now, but I'm not going to pretend to fully
understand this chip.
2001-04-24 21:03:33 +00:00
jdolecek 115f4e4207 print the drq together with irq, slot info 2001-04-24 09:15:06 +00:00
jdolecek 09062a99f9 one less 2001-04-23 09:36:01 +00:00
jdolecek 1fe3261554 Add constant for SKNET Ethernet Card 2001-04-23 06:10:09 +00:00
jdolecek 15224351ef Compact autoconf info by printing the IRQ number together
with 'at mca0 slot foo' info.
2001-04-23 06:10:08 +00:00
jmc a0c30da432 Add comment set spec id to macro types 2001-04-23 00:57:32 +00:00
jmc 7c87238caa Add Model id as a valid generic type 2001-04-23 00:57:05 +00:00
jdolecek 3d1c1edbc5 g/c edc_dev_status[] 2001-04-22 20:02:38 +00:00
jdolecek d0a98e1d18 fix edc_dump_status_block() to correctly print Command Error Code and
Device Error Code/Status when appropriate
add one item to TODO - need support for kernel memory crash dumps (to be
implemented "soon")
2001-04-22 20:00:59 +00:00
thorpej 27253eea15 Use uvm_pageboot_alloc() rather than pmap_steal_memory(). 2001-04-22 16:44:41 +00:00
bjh21 9aba6e0cc4 Add arcpp. 2001-04-22 15:03:22 +00:00
jdolecek 85f0e37b44 edc_dump_status_block(): print RBA # and block count as unsigned 2001-04-22 13:00:24 +00:00
jdolecek 912e570671 Introduce machdep mca_disk_[un]busy(), which turn on/off disk LED.
Call as appropriate from the ESDI disk driver
2001-04-22 11:52:18 +00:00
jdolecek 8927d6f1be Fix serious bug in bounce buf handling - the EDF_BOUNCEBUF flag needs
to be cleared always in edmcadone(), otherwise if there is a write
via bounce buffer followed by read directly to buf, the read operation
would return trashed data (the buf data would get overwritten
by contents of bounce buffer in edmcadone()).
Reset b_resid as necessary when the i/o is done, too.

g/c some unneeded stuff, use lockmgr()-style locking in ed_[un]lock(),
better avoid some deadlocks

These changes make the driver quite a bit more stable. It's actually
reliable enough to be possible to newfs the drive and use it for
read/write filesystem now.
2001-04-22 11:32:49 +00:00
bjh21 68ec0583b4 Add latches (arm26). 2001-04-22 00:27:18 +00:00
tsutsui e53804bd4b Preliminary support for Acard ATP850/860 UDMA PCI IDE controllers.
XXX Currently disabled by default because it has some problems on macppc.
XXX Maybe some more initialization is needed, but there is few information
XXX about the chips.
2001-04-21 16:36:37 +00:00
tsutsui 8dfe3efca7 space -> tab 2001-04-21 16:10:54 +00:00
tsutsui e815501ea9 Regen from pcidevs rev. 1.318:
> Correct an entry for Acard UDMA IDE controller.
> The chip is actually marked as ATP860-A, not ATP860R.
2001-04-21 13:32:25 +00:00
tsutsui 42f78f411a Correct an entry for Acard UDMA IDE controller.
The chip is actually marked as ATP860-A, not ATP860R.
2001-04-21 13:28:52 +00:00
tsutsui f39a68828d Make sure to check SC_ACCEL_TAGS in ncr53c9x_ioctl()
even if sync transfer is disabled or not supported.
2001-04-21 07:28:22 +00:00
tsutsui 64eed5859d Clean up ncr53c9x_select():
- Define NCR_F_SELATN3 for sc_features and use it to check if the chip
  supports SELATN3 command
- Make conditions of sending messages a bit simpler.
2001-04-21 05:35:20 +00:00
tsutsui f2e3f6d5d4 Cosmetics. (tab/space etc.) 2001-04-20 17:32:33 +00:00
fredette 31d512c2e3 Added support for the chipset used on the Sun2 "sc" SCSI adapters.
A little rough around the edges, but definitely a starting point.
2001-04-20 16:35:22 +00:00
reinoud 1351706593 Fix a few race conditions ... the VSYNC update flag could be cleared
resulting in a blank screen when f.e. a setcursor ioctl was called
after the screenblanker had enabled the screen again ... the actual
switching on was then never performed at VSYNC.

A simple |= instead of = does the trick ... just leave the other bits
on please :)
2001-04-20 11:53:06 +00:00
jdolecek 4d5eec3337 regen 2001-04-20 11:19:51 +00:00
jdolecek a20a13451f Add support for IBM Multi-Protocol Communications Adapter. Card provided
by Hans Hubner <hans@huebner.org>.
We only support the card in "serial" mode. BISYNC nor SDLC modes are
not supported.
2001-04-20 11:19:27 +00:00
jdolecek 1df81c3607 regen 2001-04-20 10:05:16 +00:00
jdolecek b973e27bba Add support for NeoTecH Single RS-232 Async. Adapter, SM110. Tested
with card provided by Hans Hubner <hans@huebner.org>.

Also pretty the autoconf attach messages a little.
2001-04-20 10:03:35 +00:00
jdolecek 640bbf7e9f regen 2001-04-20 07:38:11 +00:00
jdolecek a98cbd0740 Add MCA ne(4) attachment for Novell NE/2 Ethernet adapter and clones.
Tested with NE/2 card provided to me by Hans Hubner <hans@Huebner.ORG>.

The Compex and Arco cards were not tested. According to Linux ne2 driver,
they should work same way as NE/2.
2001-04-20 07:37:42 +00:00
jdolecek 3ec26e703f regen 2001-04-20 07:10:40 +00:00
jdolecek 6daeb5ba7b add two Novell NE/2 compatible products 2001-04-20 07:10:12 +00:00
jdolecek 6939f3af70 regen 2001-04-19 18:38:50 +00:00
jdolecek 1420958f33 Add couple cards I got from Hans Hubner <hans@Huebner.ORG> 2001-04-19 18:38:23 +00:00
jdolecek 5452e8a704 dasd --> edc 2001-04-19 17:42:49 +00:00
jdolecek dbf91c827d Use "edc" instead of "dasd". As pointed out by Soren, dasd doesn't
mean anything special in IBM-talk. And edc better matches prior art, too.
2001-04-19 17:17:28 +00:00
augustss e4cc721094 Correct the opcode for SCSI_MODE_SENSE_BIG. 2001-04-19 10:16:25 +00:00
jdolecek 2355b2e1e7 add dasd and ed at dasd? 2001-04-19 07:47:50 +00:00
jdolecek 361e520ce0 one less - ESDI support is written (albeit the driver needs to be tested more)
add some additional comments
2001-04-19 07:33:00 +00:00
jdolecek 24729c94cf regen 2001-04-19 07:31:17 +00:00
jdolecek fd1d702ab7 Add a driver for IBM ESDI disk controllers. Tested with IBM Integ. ESDI Fixed
Disk & Controller only at the moment.

This driver still needs some touchup (error recovery is not quite
good, MCA DMA controller goo should be moved to driver independant
location), but is working enough to be usable for others. And I
want this under CVS control :)

Thanks to Scott Telford <st@epcc.ed.ac.uk> for providing me docs for
these devices (IBM DASD Storage Interface Specification for MCA rev. 2.2).
2001-04-19 07:30:24 +00:00
augustss af2e19db8f Remove stuff I didn't mean to commit yet. 2001-04-19 00:50:22 +00:00
augustss 72a04bd497 Add HP 3400. 2001-04-19 00:47:49 +00:00