Commit Graph

1642 Commits

Author SHA1 Message Date
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
mycroft 045091aa8f Add a big comment in the previous section of code... 2000-12-19 06:23:26 +00:00
mycroft 463d0e577e Back out previous change.
I removed this once before a long time ago, because it's wrong and breaks
PCMCIA on some machines.  It also doesn't fix the Multia problems.
2000-12-19 06:04:02 +00:00
mjl aaad4d0284 Add quirk for Avance Logic ALS100+, which doesn't like it's irq/drq
being set in pnp mode.
2000-12-19 01:09:15 +00:00
thorpej 57a13edc11 Use separate interrupt handlers for play and record the chip has
support for it and we're configured for separate play and record
DRQs.  This makes full-duplex audio work on the Windows Sound System
(found in many Alpha systems).

Submitted by Juergen Weiss <weiss@uni-mainz.de> in kern/11178.
2000-12-18 21:31:32 +00:00
thorpej 7cc029e16c Use IST_LEVEL as appropriate. Fixes PCMCIA interrupt problems
on the DEC Multia.  From Juergen Weiss <weiss@Uni-Mainz.DE>.
2000-12-18 21:17:44 +00:00
bouyer 179157be03 Fix a reversed test.
Partial fix for kern/11726: now the kernel find the drives, but panics
after a device has been mounted.
2000-12-17 19:35:23 +00:00
jmc 2967c3fac3 In fdcattach() reset the controller before moving on as some probes (ala pnpbios) may not have reset during match 2000-12-17 07:37:31 +00:00
thorpej 08afcfb9bd ALTQ'ify. 2000-12-14 06:59:01 +00:00
matt 632d2ad2ee Don't use __hpcmips__, but hpcmips 2000-12-09 20:35:31 +00:00
matt 3f127261f3 Un __P'ed. 2000-12-06 18:57:37 +00:00
matt 1aa6c9fb10 Add prep support. change all __foo__ to foo. We don't __foo__ in the kernel 2000-11-27 21:51:02 +00:00