Commit Graph

64 Commits

Author SHA1 Message Date
thorpej 22475c164d __'ify MACHINE_ARCH names. 2003-02-14 18:29:05 +00:00
simonb 6af195bf29 Remove variable that is only assigned too but not referenced. 2003-01-20 04:25:46 +00:00
thorpej 41978f782e Merge the nathanw_sa branch. 2003-01-18 21:21:28 +00:00
thorpej 72a7af27b0 Use aprint_normal() in cfprint routines. 2003-01-01 00:10:15 +00:00
ad 42c8a17c80 Fix typo. 2002-12-11 13:02:31 +00:00
ad 59773dea2e Implement the DPT EATA ioctl() interface. 2002-12-07 19:48:30 +00:00
ad 57d787eeac - Handle DPT ioctls from native NetBSD binaries.
- SCSI targets could disapper mid-way through autoconfig if the board
  notifed us of a changed LCT at the wrong time. Fix that.
2002-12-06 11:22:25 +00:00
ad 122b0bd68f Cosmetic changes. 2002-11-15 13:51:29 +00:00
msaitoh f321ab1a02 Add support for Adaptec 200[05]S
reviewed by Andrew Doran
2002-11-08 05:47:35 +00:00
jdolecek e0cc03a09b merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
2002-10-23 09:10:23 +00:00
ad 0d6011b266 PR 18760: don't issue I2O_EXEC_IOP_CLEAR to AMI boards, since some
firmware revisions can't handle it.
2002-10-22 13:42:33 +00:00
thorpej c9b3657ce9 Add trailing ; to CFATTACH_DECL. 2002-10-02 16:33:28 +00:00
thorpej 9d4a640785 Use CFATTACH_DECL(). 2002-09-30 21:04:24 +00:00
thorpej f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
provos 0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
thorpej 6c88de3b53 Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller.  Use it
rather than invoking cfattach->ca_match directly.
2002-09-27 03:17:40 +00:00
gehenna 77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
thorpej c49ac7a5a6 Use __mips__ instead of mips. 2002-05-31 21:43:49 +00:00
ad df9895c1cb Bump IOPL_MAX_SEGS to 16 in line with other Ethernet drivers, and in one
spot replace it with the capped value learned from the board.
2002-05-04 16:43:26 +00:00
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 dbd8140c1f PR 15552: don't explode if the board fails to respond during initalization. 2002-03-08 11:37:04 +00:00
tsutsui c12b5c180d Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-12 16:41:02 +00:00
ad 215ddc9ef7 Set sc_framesize to a reasonable value early on so that DEBUG code
doesn't choke before we discern the real value.
2002-01-02 19:04:17 +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 05b019ba0f add RCSID 2001-11-13 12:24:11 +00:00
ad 404706846e Make firmware updates work with dpti. 2001-09-27 18:43:37 +00:00
ad fcf00dcc00 Add `dpti', which is an I2O vendor extension implementing the DPT/Adaptec
control interface. This makes it possible to run the Linux versions of
dptmgr, raidutil, dptelog and other tools under NetBSD.
2001-09-21 23:44:19 +00:00
wiz 9fa0b17629 Give initiali[sz]e all the "i"s it deserves. 2001-09-18 18:15:49 +00:00
ad a0fdfb54e0 Implement/fix FDDI, receive checksums, media selection and a ton of other
stuff.
2001-08-22 09:43:15 +00:00
ad 1d6329bb04 Parameter group changes:
- Do FIELD_SET correctly for scalar types.
- Add some basic table ops.
- Push error reporting back into iop.c.
- Add some field index and (yet more) LAN defs to i2o.h.
2001-08-22 09:42:05 +00:00
ad c1856b0940 Add more LAN defs. 2001-08-06 13:33:49 +00:00
ad 5b470dcd5f Add iopl. 2001-08-06 13:25:10 +00:00
ad 8cd802fef0 Thinko. 2001-08-06 12:17:09 +00:00
ad 6e8802596a Rough I2O LAN interface driver. Needs a bit of work. 2001-08-06 12:12:36 +00:00
ad 87f451b1a0 This isn't relevant any more. 2001-08-04 16:55:07 +00:00
ad 03e46dc80b Some changes from OpenBSD, and some of my own:
- More SCSI port defs.
- Nuke vtophys().
- Release resources in iop_init() upon failure.
- Don't use a message wrapper when initalising the outbound FIFO.
- A couple of field size/endian fixes.
- Just use iop_post() when we don't need special handling.
- IM_DISCARD is now pointless, since we don't queue at the driver level.
- Map data transfers from/to userspace directly.
- A few comment and stylistic changes.
2001-08-04 16:54:18 +00:00
bouyer f47d097cf5 Make it compile with SCSIPI_DEBUG 2001-06-26 12:46:56 +00:00
wiz 0a600be867 receive, not recieve 2001-06-12 15:17:10 +00:00
ad bfac43a1c8 Centralise the geometry fudge. 2001-06-10 10:48:42 +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
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
ad 99187cdd56 - Allocate any private space that's requested.
- Fix a few bogons with the last update.
- Add some more LAN defs.
2001-04-01 15:02:08 +00:00
ad fad8449663 Decrease the timeouts on QUEIESCE and CLEAR lest the adapter doesn't reply. 2001-03-21 14:27:05 +00:00
ad ef80e73a4e Split limits and ioctl defs out of iopvar.h. 2001-03-20 13:02:25 +00:00
ad ebf5110997 Major update; basically, improve performance somewhat and play nicer with
Intel and AMI IOPs. There still exists one nasty problem with Intel adapters
when under load, which I'm working on.
2001-03-20 13:01:48 +00:00
lukem 3aeb5f2f29 whitespace police 2001-02-24 01:59:46 +00:00
ad fc919d3e61 FC peripherals on DPT/Adaptec boards only respond to private class messages. 2001-02-07 17:05:46 +00:00
ad d606f3d65c Sync with ld.c. 2001-02-06 12:22:24 +00:00
ad a06fc2bf4b Fix thinko in previous. 2001-01-03 21:17:05 +00:00
ad 5fcbd5f722 - Fix a number of bugs with the configuration stuff.
- Bash the passthrough interface into working order.
- Add an ioctl to retrieve the `tidmap'.
2001-01-03 21:04:01 +00:00