Commit Graph

314 Commits

Author SHA1 Message Date
bouyer e5727031fb Implement mstohz() as discussed on tech-kern, and use it in SCSI drivers
to convert xs->timeout to callout() parameter.
2002-04-05 18:27:45 +00:00
ad 49849b4d3a - Always validate the return value read from the outbound FIFO.
- Copy access method info into the softc so we don't double dereference.
- Remove static on functions.
2002-01-25 16:10:35 +00:00
tsutsui ab04f9daae Call malloc(9) with M_ZERO flag instead of bzero() after malloc().
XXX It seems these attachments need to be rewritten for modern config(9)..
2002-01-14 13:39:14 +00:00
tsutsui b87a051ec8 Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-12 16:17:05 +00:00
ad 6b7cc2a465 Couple more tweaks, probably still not working. 2001-12-18 13:38:48 +00:00
lukem ecb81c3f6d - convert usage of "defopt" to "defflag" where the relevant option does
not support a value (e.g., it's to be used as "options FOO" instead of
  "options FOO=xxx"). options that take a value were converted to
  defparam recently.
- minor whitespace & formatting cleanups
2001-11-28 10:21:10 +00:00
lukem 2565646230 don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
lukem b84f53efc5 add RCSID 2001-11-13 12:47:33 +00:00
martin 6f67510515 Give the cards a bit more time for initialization (closes PR 13947)
and add product IDs for two 3C509 TP variants (closes PR 13948).
Both changes from Christian Groessler.
2001-09-14 13:46:42 +00:00
martin ffd70ffedb Add product IDs for 3com 3C509 TP cards.
From Christian Groessler in PR 13948.
2001-09-14 13:41:29 +00:00
wiz c03a48d64f withough -> without 2001-06-13 10:45:57 +00:00
ad 8aad07ad6a Add missing printf(). 2001-05-10 09:41:19 +00:00
ad 3db21b039c We map in by MLX_EISA_SLOT_OFFSET, so remember that when accessing the
IOCONF registers. Pointed out by thorpej.
2001-05-06 20:34:41 +00:00
ad ae9cc4fa8a Add an (untested) EISA front-end for the `mlx' driver. 2001-05-06 19:54:59 +00:00
ad d4d6497c45 Regen. 2001-05-06 19:44:14 +00:00
ad 0c528fcfc0 Add some Mylex products. 2001-05-06 19:43:54 +00:00
ross e3f2f91bfb Split pci and eisa/isa attachment calls, plus misc cleanup. 2001-05-03 20:34:54 +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
ad a7a9126e0e Regen. 2001-04-17 14:30:01 +00:00
ad 6a59be7d6b Add Bt760 Ethernet. 2001-04-17 14:29:47 +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
lukem 3aeb5f2f29 whitespace police 2001-02-24 01:59:46 +00:00
jdolecek 34c8ae80da constify 2001-01-18 20:28:15 +00:00
thorpej 275539f03c NBPG -> PAGE_SIZE 2000-11-14 18:21:00 +00:00
ad 16a062538b Nuke unused includes, sort decls. 2000-10-19 15:31:20 +00:00
ad e05c79ba66 Regen. 2000-10-19 15:29:14 +00:00
ad 5110b7e58d Add Compaq IEAS. 2000-10-19 15:28:50 +00:00
jdolecek 5fea96167f use new generic bootverbose instead of local definition 2000-09-24 12:37:03 +00:00
ad ec322f95aa Regen. 2000-09-01 17:19:36 +00:00
ad 6dd2f101ad Et763 -> Bt763 2000-09-01 17:19:25 +00:00
ad e9bc438c50 - Simplify eisa_devinfo().
- New KNF.
2000-09-01 17:18:20 +00:00
ad 688e72faf1 Add an EISA bus front-end for the `cac' driver. 2000-09-01 12:15:20 +00:00
ad 53204cdb36 Regen. 2000-08-21 14:11:45 +00:00
ad 360142a622 - Add vendor and product codes for Compaq array controllers.
- Pull in entries from OpenBSD that we don't already have.
2000-08-21 14:11:07 +00:00
thorpej 6b97132ee9 Account for changes to how the SROM is read made some time
ago to the PCI and CardBus front-ends.  Sigh, DE425, the
bastard child, no one pays enough attention...
2000-08-14 14:26:03 +00:00
thorpej 8cb7deb85b Add support for the DEC DE422 Ethernet, which is a DEPCA
attached to the EISA bus.  This board is commonly found
on Alpha Jensen systems.
2000-08-11 02:27:07 +00:00
thorpej d561771013 Add missing copyright noticed (it ended up in eisareg.h by mistake). 2000-08-11 00:46:17 +00:00
thorpej 5310aa68b8 Oops, back out previous. It wasn't intended. 2000-08-11 00:44:37 +00:00
thorpej e207174eb0 Add functions to read EISA configuration data for MEM, IRQ, DMA, and IO.
XXX Just error stubs on the i386 right now -- someone needs to write
XXX EISA BIOS code for i386.
2000-08-11 00:43:18 +00:00
thorpej 30f7d691a0 Declare the ECU data in an MI location, so that drivers can
use it.
2000-08-10 23:30:08 +00:00
thorpej 1a82fc879b Regen. 2000-07-12 22:59:54 +00:00
thorpej 16a4fd2bff Add DEC DE422 Ethernet. 2000-07-12 22:59:23 +00:00
thorpej b2a5b02fc9 Fix a couple of LP64 problems (long -> int32_t). 2000-07-12 21:15:33 +00:00
ad e211fdee79 Use my proper name in copyrights. 2000-06-30 13:36:47 +00:00
mrg 261538ecac remove include of <vm/vm.h> 2000-06-28 16:39:25 +00:00
mrg 2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
martin 4a351b20bc Minimized io ports reserved by this driver to the ports actually needed.
Fixes PR kern/5279 for this driver.
2000-05-07 13:57:16 +00:00
augustss 169ac5b3c1 Remove register declarations. 2000-03-30 12:41:09 +00:00
thorpej fc96443d15 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +00:00
thorpej c38405d33d Add power management support to the `tlp' driver. The battery on my
laptop lasts a whole lot longer now.
2000-03-15 18:39:50 +00:00
fvdl 7df6153163 Update EISA frontend for new ahc driver (done by Noriyuki Soda). 2000-03-15 02:04:43 +00:00
thorpej fc72b13d27 Const poison. 2000-02-12 19:05:55 +00:00
thorpej 4656f0ba52 Remove the FreeBSD support from this file. It hasn't worked in FreeBSD
for some time, and only made the code harder to read.
2000-01-26 06:41:11 +00:00
ad 8f3fd0d6b3 Spelling. 2000-01-05 16:28:39 +00:00
thorpej caae0e1aa1 - Don't try to run the chip in big-endian mode. Not all chips support
this consistently, and it doesn't always work even when the chip
  supports it.
- Make sure things DMA'd to the chip that the chip interprets are in
  little-endian mode.
1999-12-11 00:32:59 +00:00
thorpej 9ed17102f4 - Use the common MII bit-bang module.
- Add support other than 128-byte SROMs.
- Add support for the 21142/21143 MII.
1999-11-19 18:22:42 +00:00
ad 9cce953883 Don't panic so easily on failure; just issue notification. 1999-10-18 21:59:19 +00:00
thorpej 63b8530b4e Update for SCSPI changes. 1999-09-30 23:04:39 +00:00
ad 2bb59077e8 EISA frontend for DPT driver (as yet untested). 1999-09-29 20:38:51 +00:00
ad f866a1af51 Regen. 1999-09-29 17:45:22 +00:00
ad 2abb3cfff1 - Add vendors: DPT, NEC, AT&T
- Add products: DPT, NEC and AT&T EATA SCSI adapters
1999-09-29 17:40:18 +00:00
thorpej 5c34356d4c First crack at shared ROM/shared interrupts on 21040 multi-port boards,
plus quirk identification for non-multiple-port boards.
1999-09-14 22:25:48 +00:00
thorpej d05d28146b EISA bus front-end for the New Tulip Driver, for the DEC DE425 EISA
board.  The DE425 is basically a DECchip 21040 on an EISA board, plus
a Cool Address Decoder Hack which maps the PCI configuration
space registers into EISA I/O space, interleaved with the Tulip CSRs,
which are spaced further apart than on the PCI versoin.

This is currently *untested* until the DE425 boards that folks have
promised me arrive.  But, it should work, since the 21040 works.
1999-09-14 05:58:00 +00:00
tron f625e72668 Regen. 1999-08-19 08:06:50 +00:00
tron 93f86e5ed5 Recognize a 3Com 3c509 Combo configured in EISA mode. Fixes PR kern/8234
by Thomas Pfaff.
1999-08-19 08:06:31 +00:00
jonathan 979a80207e Fix duplicate "3com" from attach, as noted in PR#7607. 1999-04-13 22:34:05 +00:00
cgd 6ac54498c7 pull eisa_machdep.h in from machine/ 1999-03-19 03:01:50 +00:00
thorpej 7a9cc5bfbc Update for changed scsipi_xfer struct. 1998-12-09 08:37:50 +00:00
mjacob 74bc9f26d5 Update HBAs to incorporate the new max_lun property. 1998-12-05 19:43:33 +00:00
thorpej 5f0577babc Adapt to the new scsipi_adapter interface. 1998-11-19 21:43:00 +00:00
fvdl 7b10c3e7e4 Add the 'ex' driver, a DMA driver for 3Com 90x and 90xB cards. Rename
constants from EP_ to ELINK_ since they're now used in the ex driver as well.
1998-11-04 00:29:28 +00:00
thorpej 29d472f53d Garbage-collect the open_target_lu and close_target_lu entry points from
struct scsipi_adapter; they were not used.

Add a scsipi_ioctl entry point to struct scsipi_adapter.  This will be
used to issue ioctl commands to the host adapters.

Inspired by PR #6090, from Matt Jacob.
1998-10-10 00:28:28 +00:00
mycroft a1ac68819f Assign my copyrights to TNF. 1998-08-17 00:26:32 +00:00
mycroft 6dc903202f Assign my copyrights to TNF. 1998-08-15 10:10:47 +00:00
mycroft dd769acbfb Name some constants consistently between drivers. 1998-08-15 02:37:50 +00:00
mycroft cc84859459 Map the EISA registers correctly! 1998-08-15 02:30:56 +00:00
mycroft 196dfd7597 Always map the EISA configuration registers. 1998-08-15 02:26:31 +00:00
thorpej e9c5407d64 Only map the amount of space the device actually occupies.
Part of PR #5279, Martin Musemann.
1998-08-15 01:59:25 +00:00
thorpej b170caf730 Completely rewrite media selection. Add support for the MII/PHY on
the 3Com 3c905-TX and 3c905-T4.  Fix handling of the MII on the
3c595-MII and 3c597-MII (can't talk to the PHYs on these cards; just
use "manual" for the external MII port).

Fixes kern/4782 (Chris Demetriou).
1998-08-12 18:51:52 +00:00
jonathan 011f2bda08 defopt NS, NSIP. 1998-07-05 06:49:00 +00:00
jonathan 3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
jonathan 466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
kleink f83df102e6 Regen. 1998-07-01 21:59:20 +00:00
kleink 87ee222a07 Add vendor IDs for Hewlett-Packard, Interphase and Mylex; add a product ID
for the Interphase Seahawk 4811 FDDI Controller.
1998-07-01 21:57:32 +00:00
cgd e2578025b3 Point people to the correct Makefiles to build generated headers.
(Suggested by Manuel Bouyer.)
1998-06-16 18:36:03 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
thorpej ea3a1d9c44 Nuke __BROKEN_INDIRECT_CONFIG. 1998-06-08 06:55:54 +00:00
matt cfbb5f3f21 Add bus_dma(9) support for the DEFxA FDDI driver 1998-05-21 20:44:02 +00:00
thorpej f80f6601b0 Fix a typo in the bus_dma changes. 1998-03-17 21:30:38 +00:00
leo d2551d5b3f Use bus-dma functions. 1998-03-16 15:36:17 +00:00
thorpej 4399060ec9 - Perform all necessary bus_dmamap_sync() operations.
- Greatly simplify allocation and DMA mapping of the mailbox and ccbs.
- Be more robust against resource shortage errors, and report errors better.
1998-02-17 03:02:30 +00:00
thorpej 8354e68508 Remove "class" declarations, and add "devclass" declarations where
appropriate.  Fix several inconsistencies between device class and
attributes.  Mostly from Chris Demetriou.
1998-02-16 22:12:45 +00:00
thorpej 8abe76d2f0 Add offset and length parameters to bus_dmamap_sync(), used for specifiying
partial syncs of a DMA mapping.
1998-02-04 05:12:46 +00:00
thorpej a7c5c1ef3c Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
BUS_DMA_COHERENT.
1998-02-04 00:32:55 +00:00
thorpej 2538ed1062 Use offsetof() from libkern.h 1998-01-28 02:23:04 +00:00
thorpej 9c183e53cb Slight change to previous. 1998-01-12 08:57:20 +00:00
thorpej b731c12641 Adjust for config changes. 1998-01-12 08:51:09 +00:00
thorpej c574630ead Add device classes. 1998-01-12 08:48:28 +00:00
mycroft b0cf8e166d Update copyright. 1998-01-09 21:16:36 +00:00
mycroft 1434d2e50d Map the I/O region correctly, but reading its address from the EISA config
space.
1998-01-09 20:55:17 +00:00