Commit Graph

1653 Commits

Author SHA1 Message Date
tsutsui 3d863329cc space/TAB cosmetics 2001-05-19 12:04:07 +00:00
lukem 09ba301f07 delint: () protect some macro args 2001-05-15 15:00:04 +00:00
lukem 9bef152bd7 delint: need ; between case label and } 2001-05-15 14:57:49 +00:00
ross e3f2f91bfb Split pci and eisa/isa attachment calls, plus misc cleanup. 2001-05-03 20:34:54 +00:00
hpeyerl dcd7e604ed Make weasel watchdog timer work reliably with help from <thorpej@zembu.com>
Remaining issues to deal with:
	- recognize when watchdog timer is deactivated on the Weasel.
	- deactivate weasel watchdog timer if we pop into ddb.
2001-05-03 17:55:47 +00:00
thorpej 596cc0bc10 Cast the config block buffer to (u_int8_t *) when reading it
from ISA memory space.
2001-04-26 17:58:28 +00:00
thorpej e5422a382f Explictly include <machine/pio.h> (since this driver uses
i386 pio instructions -- XXX BROKEN).
2001-04-26 17:57:47 +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
thorpej 4747025b48 ctype-like functions are now in libkern. 2001-04-18 15:40:58 +00:00
jdolecek 745ab257dc Put back all header files defining ioctls 2001-04-11 19:07:36 +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
jdolecek 6f8f19b16e fix typo in comment 2001-03-31 00:30:22 +00:00
jdolecek 592dfdc76b Prepare for MCA attachment:
* split off sharable stuff to dev/ic/ate_subr.[ch], move ate(4) device
  definition to conf/files
* cosmetic: attach with ate_isa
2001-03-31 00:26:53 +00:00
martin 5171d409a5 First step to cleanup the hardware driver <-> upper layers interface.
This now provides slightly more functionality than the FreeBSD layer1-newbus
interface. It was meant to be a simple change to one header and a few
c files, but the change rippled all through various stuff.

To prevent a change to the kernel<->userland interface right now the kernel
is now lying about card types to userland (but who cares). This will be fixed
when the userland interface changes, after layer 3 <-> layer 4 has been
fixed.

Functional changes:

Provide a clean interface for hardware drivers to attach to the upper
layers. This will need another small change in the B-channel handling
when a similar change to the layer 3 <-> layer 4 interface happens.

Avoid passing indices into global arrays of pointers around, instead pass
the pointers itself. Don't code hardware driver types by predefined magic
numbers (think LKM). Prepare for detachable drivers (think pcmcia).

While there remove some sets of function pointers always pointing to the
same function (meant to be the configurable set of D channel protocol
handlers). It is unlikely another supported D-channel protocol will fit into
that (maximal layer interface) abstraction. When we get support for another
protocol, we will need to come up with a workable interface. Besides, the
old implementation was, uhm, strange.
2001-03-24 12:40:29 +00:00
briggs 70f969e600 if_wereg.h is no longer here. 2001-03-23 23:14:32 +00:00
jdolecek c3ba22cf5f Forgot this one:
if_we.c was split and ISA-specific part is now in if_we_isa.c,
we(4) device is defined in conf/files.
2001-03-23 19:41:34 +00:00
jdolecek 6d79f8ce1e Split we(4) driver to bus independant and ISA-specific parts, in preparation
for MCA attachment.
2001-03-23 17:34:41 +00:00
is b1e3063f0b Move tx chain result handling into iystart(). This way, ww normally only
need an interupt when the hardware hits tx chain end. We switch on one
int per packet sent when we fill up and go into OACTIVE mode.
Measured total interupt savings on large NFS writes: 20%.
2001-03-23 13:15:27 +00:00
is fe9376e508 Oops. We _do_ need to receive broadcasts. At least as long as we want ARP. 2001-03-22 14:30:47 +00:00
leo 395516e7aa Some minor, atari only, changes to make this work on the Milan:
- Adjust for the driver to be configured as fdisa
  - Add a for the atari correct fd_types array
  - Work around the fact that the atari has no machine/conf.h
2001-03-16 21:33:33 +00:00
is a4dce1a3f4 Don't need to use the hash filter for a single individual address; make
sure concurrent receive processing is disabled.
2001-03-16 13:43:31 +00:00
is 929c6ab654 Don't abort chain processing on error. 2001-03-16 13:02:51 +00:00
is 89adf47818 Full documentation helps. Among other bugs, remove off-by-one-error when
initializing tx upper limit register.
2001-03-16 12:01:30 +00:00
is 4925cee33b It's one more if the max. coll. bit is set. 2001-03-15 13:27:31 +00:00
is 56ae0825ba Thats collisions, not errors! 2001-03-15 13:23:23 +00:00
takemura a38c751d80 Add configration flag 0x02 to set WDC_CAPABILITY_SINGLE_DRIVE. 2001-03-11 05:10:58 +00:00
jdolecek 9d66d7180b add 'why' argument to the channel attention hook function; this argument
is similar to the one passed to hwreset hook function
2001-03-10 20:04:30 +00:00
thorpej 3062ec75d6 pckbc_isa.c should only be compiled when pckbc at isa is configured. 2001-03-02 22:53:20 +00:00
lukem 3aeb5f2f29 whitespace police 2001-02-24 01:59:46 +00:00
minoura 8353ca15cc Reset the mixer when resume from suspend.
This is required on some laptops with a buggy APM BIOS.
Code from Inoue Yoshinari <pf5y-inue@asahi-net.or.jp>.
2001-02-22 15:23:31 +00:00
jdolecek 522f569810 make some more constant arrays 'const' 2001-02-21 21:39:52 +00:00
martin f0d6660cf4 Filename cleanup: remove i4b_ prefixes outside sys/netisdn, last round.
Renamed in sys/dev/ic:
i4b_hscx.c -> hscx.c
i4b_hscx.h -> hscx.h
i4b_ipac.h -> ipac.h
i4b_isac.c -> isac.c
i4b_isac.h -> isac.h
i4b_isic.c -> isic.c
i4b_isicbchan.c -> isic_bchan.c
i4b_isicl1.c -> isic_l1.c
i4b_isicl1.h -> isic_l1.h
i4b_isicl1fsm.c -> isic_l1fsm.c
2001-02-20 22:24:31 +00:00
martin 933440dc9c Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
i4b_isic_isa.c -> isic_isa.c
i4b_avm_a1.c -> isic_isa_avm_a1.c
i4b_daic_isa.c -> daic_isa.c
i4b_itk_ix1.c -> isic_isa_itk_ix1.c
i4b_tel_s08.c -> isic_isa_tel_s08.c
i4b_tel_s016.c -> isic_isa_tel_s016.c
i4b_tel_s0163.c -> isic_isa_tel_s0163.c
i4b_usr_sti.c -> isic_isa_usr_sti.c
2001-02-18 13:54:32 +00:00
martin 48501b8e83 Rename isa_isic.c to i4b_isic_isa.c and isadaic.c to i4b_daic_isa.c
to improve naming consistency.
2001-02-17 15:38:09 +00:00
thorpej 043e519d55 Adjust the way that media is initialized on DP8390-compatible
chips.  The dp8390_softc now has media_init and media_fini
function pointers that do the work.
2001-02-12 18:49:03 +00:00
briggs 180bf3d3ac Clean up a couple of printf-format warnings. 2001-02-12 15:49:19 +00:00
taca 044bcb0bd2 Insert missing '#' for cpp(1). This should close PR/12167. 2001-02-10 12:16:34 +00:00
hpeyerl f11510dd0a add missing Weasel command. 2001-01-23 17:18:23 +00:00
bjh21 fe3273fbb4 Patch from PR kern/8001, submitted by Rafal Boni.
This adds support for EtherExpress/16 cards with 16k of RAM, and in the
process adds general support for PIO mode on these cards.  This entails
changing the way the i82586 driver handles bus barriers, since it doesn't
allow for strange cases like this.

This has been tested on the i386 port with the 'ix' driver in both
16KB (which was the source of the problem) and 32KB modes, as well
as with the 'ef' driver.  I've tested it (briefly) with 'ei' on arm26
as well.  In theory, drivers other than 'ix' should follow precisely the
same code paths as before.
2001-01-22 22:28:43 +00:00
thorpej c38c39fc9b Only need to pass a cy_softc * to cy_attach(). 2001-01-20 02:26:39 +00:00
thorpej a0f7017e2e Clean up the PCI attachment a bit, and adjust the other pieces
to suit.
2001-01-20 02:15:01 +00:00
jdolecek 34c8ae80da constify 2001-01-18 20:28:15 +00:00
martin ac6176f581 Fix some oversights from fixing option names. 2001-01-09 00:46:01 +00:00
fvdl d040bd5908 Return error in the case of using ODIOCGDINFO or ODIOCGDEFLABEL when
the number of partitions is > OLDMAXPARTITIONS. This is better
than silently truncating the label (don't want to silently throw
away partitions when using an old disklabel binary on a label with
> 8 partitions). From Enami Tsugutomo.
2001-01-08 02:03:45 +00:00
fvdl e2d1c1f926 Adapt all disk devices in MI directories to handle ODIOC* calls
for ports that have bumped MAXPARTITIONS (and thus define
__HAVE_OLD_DISKLABEL).
2001-01-07 18:09:01 +00:00
nathanw 46b2a2fcd4 Do ess_config_addr() in the ofisa front end, rather than in the match
routine. Prevents problems with non-SCR ess chips, as described in
PR 11630.
2001-01-06 22:50:00 +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
mycroft a6fe4b78f2 Um, we need rnd.h so that cs_softc is defined properly. Overrunning structures
is bad.
NOTE: #IFDEF IN SOFTC DEFINITIONS IS BAD.
2000-12-26 09:42:21 +00:00
thorpej e3d7d246bb Fix a debugging clause missed when fixing full-duplex support.
Noted by Wolfgang Rupprecht.
2000-12-20 21:06:41 +00:00