Commit Graph

1688 Commits

Author SHA1 Message Date
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
onoe 3ae525eaa3 Sorry I forgot to commit this file.. 2000-03-23 06:04:24 +00:00
mycroft dcd265af9c GC unused variable. 2000-03-23 05:26:00 +00:00
mycroft e695f87102 Remove AWICTL stuff that is obsoleted by SIOC[SG]IFMEDIA and SIOC[SG]80211NWID.
Also, disable AWICTL completely until awictl.h appears.
2000-03-23 05:19:44 +00:00
ws 7da71e5f9e Make IPKDB working again.
Add support for i386 debugging and pci-based ne2000 boards.
2000-03-22 20:58:25 +00:00
ws 1b83998bd7 Add bus_space_barrier.
Add DELAY in some busy loops to allow the dma engine to actually do something
(neccessary on fast processors).
2000-03-22 18:02:59 +00:00
onoe 5644a7e248 Update awi driver, which now supports AMD 79c930 based 802.11 DS cards
as well as 802.11 FH cards.  Also, it can operate in infrastructure mode,
adhoc mode, and wi(4) (aka WaveLAN/IEEE) compatible adhoc mode.
2000-03-22 11:22:20 +00:00
mycroft b58a073f39 There's no need to frob cfg4/cfg5 in _attach(), since _reset() does it. 2000-03-22 03:27:56 +00:00
ad e32aed3c4e Pass xfer size to disk_unbusy(). 2000-03-21 19:47:59 +00:00
enami 83446dedc1 - Test the generic device active flag instead of home grown one.
- Test also it in wdcintr.
2000-03-20 22:53:36 +00:00
ad 424f6471cb - Remove dead code.
- Make synchronous writes optional, disabled by default (*way* too slow).
- Handle case where dm_nsegs > CAC_SG_SIZE.
- Fix a couple of silly bugs.
- Fix use of __attribute__((__packed__));
2000-03-20 18:48:34 +00:00
ad d02615fe27 Install cac{reg,var}.h. 2000-03-20 18:07:59 +00:00
thorpej 92d27d3c2e Get rid of the powerhook when we detach. 2000-03-20 07:52:58 +00:00
tsutsui 979d79d931 Use sc_cfg4 for the Am53c974. 2000-03-20 05:48:28 +00:00
mycroft 8b484a0264 NCR_SCSIREGS() and NCR_PIOREGS() are bogus. GC them. 2000-03-20 00:50:20 +00:00
mycroft 41cd6b4fc9 Reset CFG4 and CFG5 correctly in the reset routine. 2000-03-20 00:49:42 +00:00
thorpej 92c19e5ff7 Add suspend/resume hooks to ensure that the chip doesn't scramble memory
after an APM suspend and is unsnoozed after an APM resume.
2000-03-19 21:45:23 +00:00
mycroft b8e1812629 For the ESP406/FAS408, add sc_cfg4 and sc_cfg5.
Add a detach routine, and do the addref/delref.
2000-03-19 21:25:49 +00:00
pk 6d04005134 Check for console input and output separately.
XXX - split input/output for /dev/console is not yet supported.
2000-03-19 12:42:45 +00:00
pk 3f1373d9b7 Define separate flags for console input and output.
Allow console operations to be passed in attachment arguments.
2000-03-19 12:39:47 +00:00
scw b0ca3fa931 The soft-interrupt handler now returns void. 2000-03-19 10:38:43 +00:00
mycroft 744ccf496c Expose ncr53c9x_init(). 2000-03-18 22:18:57 +00:00
mycroft c0b35f72c2 Adjust ncr53c9x_intr() prototype. 2000-03-18 22:09:32 +00:00
mycroft b1d2b97787 Change footprint of ncr5380_intr() to match normal interrupt handler usage. 2000-03-18 17:14:34 +00:00
mycroft 1d1321109f Use bus_space on MIPS. 2000-03-18 17:07:46 +00:00
mycroft 0af581a1a1 Add a ncr5380_attach() routine which does part of the initialization, attaches
the scsibus, and does the addref/delref dance.
2000-03-18 16:13:22 +00:00
mycroft 5960b2aec6 Move some code around in preparation for nca_pcmcia. 2000-03-18 13:05:20 +00:00
ad afaa5767a3 Match shutdown msg with that of cac.c. 2000-03-16 15:13:05 +00:00
ad a81a812b50 Remove unneeded field in 'struct cac_ccb'. 2000-03-16 15:07:22 +00:00
ad 70063dc527 Driver for Compaq array controllers and disks (cac(4)/ca(4)). 2000-03-16 14:52:22 +00:00
fvdl f44ddd61a9 Do bus-specific interrupt handling (i.e. ahc_pci_intr) via a bus_intr
field in the softc, instead of relying on NPCI > 0. This would
prevent things from compiling if PCI buses were in the config file,
but ahc was attached only to something else than the PCI bus.
2000-03-16 10:33:45 +00:00
augustss f9fd27ea3c Fix an uninitialized variable. From Krister Walfridsson <cato@df.lth.se> 2000-03-15 22:41:29 +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
sommerfeld fbc4dbb7ac Catch up to rearranged aic7*.h files 2000-03-15 07:17:06 +00:00
fvdl 1e4647a15b New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds
support for the U2W chips, and U160 controllers.
2000-03-15 02:08:28 +00:00
fvdl 085f68836e Common code for EISA and VL frontends for the ahc driver, split off
by Noriyuki Soda when updating for the new ahc driver.
2000-03-15 02:06:18 +00:00
jdc 797ac20035 Add power management hooks. 2000-03-14 21:20:51 +00:00
soren 95054da1a1 Fix doubled 'the's in comments. 2000-03-13 23:52:25 +00:00
thorpej 0391e3393f Slight change to the SROM size printf. 2000-03-10 02:46:39 +00:00
matt 9f86839658 change Mb/s to MB/s (Megabit to megabyte). 2000-03-09 23:19:26 +00:00
groo 7e567738f2 support rfact. use manufac. suggested resistor values by default
clean up some comments
2000-03-09 04:20:58 +00:00
groo af00b7b880 split probe into generic and bus specific 2000-03-07 18:39:14 +00:00
enami c1b54794fc Add missing `cnt++'. 2000-03-07 03:37:39 +00:00
enami 7ce8a9f46b Also, fix indentation in previous commit. 2000-03-07 03:34:52 +00:00
soren dfaacf6eab Fix bug in previous. 2000-03-07 01:08:55 +00:00
soren 6cc1408bca Only print SROM size if TLP_DEBUG. 2000-03-07 01:06:12 +00:00
mycroft 5eee9ca94c Determine the size of the SROM by probing the chip using the standard Microwire
protocol.  Eliminates the need for srom_quirks and some other trash.
2000-03-07 00:39:17 +00:00
mycroft 064b1bd2e9 Fix obvious typo. 2000-03-07 00:33:13 +00:00
thorpej a183d34f04 - Implement cnbell() -- ring the console bell. The cn_bell entrypoint
is optional.
- Add cn_bell to statically allocated consdevs as appropriate.
2000-03-06 21:36:05 +00:00
thorpej a6f861574a No longer necessary to futz with ifp->if_baudrate here. 2000-03-06 21:02:00 +00:00
enami 9066b12bbb Remove redundant assignment. 2000-03-06 10:21:46 +00:00
elric b16807c51a Graphics card independant Bt485 code, derived from dev/pci/tga_bt485.c. 2000-03-04 10:25:57 +00:00
elric c4019af322 Definitions of standard TGA monitors as used by DEC. 2000-03-04 10:25:07 +00:00
elric 7428bb6ffd Definition of struct monitor, which contains syncs, and dot clocks. 2000-03-04 10:24:34 +00:00
elric fec44d6f55 Header for a generic RAMDAC that can be reused between different
graphics cards.
2000-03-04 10:23:39 +00:00
is d8bf2eb8ef - we didn't write enable toe config1-3 registers before trying to set the
media.
- read out original settings to find out what the defaults (EEPROM) for this
  board were, instad of hardwiring to auto.
XXX the first might need further refinement. At least on my boards, 10baseT
doesn't work for 10baseT, only AUTO.
2000-03-03 21:37:18 +00:00
enami a5921b902e Check if device is active in the interrupt handler and the one second
tick handler.
2000-03-02 01:21:56 +00:00
thorpej ac1b683642 Amend previous; pay attention to EX_CONF_MII on deactivate, too. 2000-03-01 20:53:11 +00:00
thorpej 448dfa4249 Only detach PHYs if we have MII in the first place, and remove a bunch
of #if 0'd code which was copied from the Tulip driver.
2000-03-01 20:51:50 +00:00
ad c09a9a072f Oops, pasto. 2000-02-29 11:14:46 +00:00
joda c627d45cc3 (fxp_init): don't clear the FXPF_MII flag as this results in a panic
when detaching
2000-02-28 10:16:17 +00:00
mycroft a87f80ad5f Give the VPP bits better names. 2000-02-28 07:33:08 +00:00
enami 71df610aeb Remove no longer necessary workaround for hpcmips. 2000-02-27 22:57:20 +00:00
augustss 7b4eccb432 Use DPRINTF for debug messages. 2000-02-27 21:06:55 +00:00
mycroft 61cc77895b Some minor cleanup to the probe code. 2000-02-27 20:01:05 +00:00
thorpej 6f1701b01c Put a lock on the pcic, to serialize access to the chip during event
handling.  This is important when multiple cards are present when
the system boots, as we use tsleep now instead of delay in various
places (delay used to provide serialization by virtue of not causing
a context switch).
2000-02-26 17:24:44 +00:00
mycroft 49f1a84ad6 Be even more careful about cleaning up the socket at boot time.
Also, nuke the windows when the socket is disabled.  (They might be deallocated
and reallocated, and would thus cause a conflict.)
2000-02-25 20:45:43 +00:00
drochner 7da6407d04 add (minimal, PIO only) support for the popular "Tundra Universe"
PCI-VME interface chip and a frontend for the "Bit3 Mod. 2706"
PCI-VME adapter
2000-02-25 18:22:39 +00:00
mycroft 7dbe5be481 Disable all windows at boot time, to avoid conflicts when reading the CIS.
Also, GC a small bit of code that's inaccesible after the previous change.
2000-02-25 05:26:17 +00:00
mycroft ac4c520f05 If we fail to attach the socket driver, clear PCIC_FLAG_SOCKETP so that we
don't try to use the socket any further.  (This will only happen if the user
explicitly unconfigured some of the sockets.)
2000-02-25 04:24:37 +00:00
itojun 1ccb9e8170 when change mbuf type, clear m_pkthdr so that we do not get panic with
old data in pointer fields.  NOTE: we'll extend m_pkthdr field soon.

Wondering: do mbuf pre-allocation code in elink3.c really buy us much
performance?  it comes with code duplicate/synchronization problem with
sys/mbuf.h...
2000-02-25 03:39:13 +00:00
groo f5f2ad429c Initial import of National Semiconductor LM7[89] Hardware Monitor with isa and
pnpbios attach.

examples:

	lm0 at pnpbios0 index?
	lm0 at isa? port 0x290


TODO: spinlocks, i2c interface.
2000-02-25 02:17:43 +00:00
ad 50062f0914 - Don't use bitfields.
- Cosmetic changes.
- Shut down all HBAs "simultaneously", not individually.
- Don't bother grokking HA_ST_MORE. It causes problems.
- Other bits and pieces.
2000-02-24 18:47:55 +00:00
thorpej 3f9cf7572c Don't use void * for chipset tags. Bad hacker, no biscuit. 2000-02-22 16:04:44 +00:00
enami 32f100250f Cosmetic changes. 2000-02-22 02:38:26 +00:00
dbj 8f2d14fbd1 added wmesg argument to pcic_delay debug printout 2000-02-21 20:16:22 +00:00
mjacob 7f44584598 clen up some error messages 2000-02-21 19:18:53 +00:00
mjacob d88aecac57 Remove residual and now broken !ISP_NO_FASTPOST_SCSI code (which was
turning back on fast posting!). Redo fabric (re)login loop- don't try
and log out ports that haven't been logged in. Do correct target id
shuffling so we just always find the target ID we want. Add in support
for > 12 byte commands for parallel SCSI. Handle some Dual Bus reset
stuff. Finally fix ABORT COMMAND to use the right 16 bit order of the
handle to abort.
2000-02-19 01:53:56 +00:00
mjacob ff86abe827 Cleanup some printaouts. 2000-02-19 01:51:43 +00:00
mjacob b6dd4ddacf Add in ISP_SWIZZLE_CONTINUATION macro. 2000-02-19 01:51:21 +00:00
mjacob 8c2e6c73e3 Handle dual bus cases for immediate notify and enable lun commands. 2000-02-19 01:50:57 +00:00
mjacob 98f7f7b5a0 Fix ITDEBUG macro 2000-02-19 01:50:25 +00:00
mjacob 77dec43b22 Clarify cd_resid tag. 2000-02-19 01:50:03 +00:00
mjacob 8405ee3752 Add in some mbox return codes that define when we've used up target
ids for doing fabric login. Define the 'Get All Next' SNS response
structure.
2000-02-19 01:49:47 +00:00
thorpej 132107ce3b Add a whole slew of registers found in the PCnet-PCI family. 2000-02-17 20:18:29 +00:00
sommerfeld 50c84950f2 awi: rewrite to be higher performance. 2000-02-17 17:37:23 +00:00
sommerfeld 7adb22cfa5 Add detach support.
Light cleanup.
2000-02-17 15:58:32 +00:00
pk 1d373a94e2 Bump receive buffer size up to the maximum DMA burst boundary. 2000-02-14 17:14:28 +00:00
bouyer 085f44145c - Be more strict in status check before sending a command (make sure
DRQ is not asserted). Closes kern/9346.
- Change the "fake identify before the real one" by a delay(). The real cause
  of the problem is that the drive is unresponsive just after a reset.
  The real problem (and the solution) showed up after the first change.
2000-02-14 12:37:35 +00:00
thorpej 1268cc5d6c If we got an xfer from our backlog queue, don't allow sleeping; we're in
interrupt context.

XXX This is fixed properly in the thorpej_scsipi branch, but that won't
be ready for 1.5, I don't think.
2000-02-12 19:12:52 +00:00
enami 01868857df Add activate routine and check device active flag also in one second
tick handler.
2000-02-12 04:05:49 +00:00
enami fbc47bda30 Cosmetic changes. 2000-02-12 03:55:49 +00:00
mjacob 1b188ee2ff A lot of cleanup and shrinkage. Some items moved to isp_tpublic.h. 2000-02-12 02:33:34 +00:00
mjacob 55a78c1ee4 Add in 12160 (Ultra3) support. Turn back on fast posting for the new
generateion parallel SCSI cards (1240/1080/1280/12160). Split up nvram
reading routines to be more readable. Fix topology reporting- 2200 has
connected topology in mailbox 6 when you're done getting your loop id
(supported: Private Loop (NL Port), N-Port, F-Port, FL-Port). The 2100
doens't report this, but we can synthesize it to be either NL-Port or
FL-Port. Add in some connection mode async events.
2000-02-12 02:32:21 +00:00
mjacob 56e16448ad add in 12160 (Ultra3) related definitions 2000-02-12 02:29:00 +00:00
mjacob 9f63fdeefb add in 12160 (Ultra3) NVRAM definitions 2000-02-12 02:28:32 +00:00
mjacob 87355d841f add some Qlogic 2200 point-to-point and extended ICBOPT definitions 2000-02-12 02:26:26 +00:00
mjacob 50f2620822 add 80 MHz case 2000-02-12 02:25:28 +00:00
mjacob 3f96822c3b some minor cleanups 2000-02-12 02:24:20 +00:00
mjacob 63c56a9de6 add a more public shared i/f to target mode 2000-02-12 02:23:13 +00:00
chopps 44b423d73b always map attr memory 8 bit, since its defined that way. 2000-02-10 09:00:19 +00:00
joda d40e2b51ee add detach code 2000-02-09 22:15:57 +00:00
enami e00270524e ASIX AX88190 support (Planex FNW-3700-T and Melco LPC3-TX) from FreeBSD/PAO3. 2000-02-09 15:40:23 +00:00
enami 99f529f0b3 - Since all resources are mandatory, no need to manage individually.
- KNF some code.
- Factor out some code into function.
- Disestablish an interrupt handler when failed to enable card power.
2000-02-09 14:42:33 +00:00
mycroft 2a2d421881 Forgotten part of chopps\'s i82365_isasubr.c commit. 2000-02-08 17:56:58 +00:00
enami c7573d517e - Bail out from attach stage if failed to enable card, number of iospace
or memspace is unexpected, failed to map iospace or failed to configure
the controller properly.
- Disestablish an interrupt handler if failed to enable card.
2000-02-08 12:49:12 +00:00
thorpej bfdc6759fb Don't rely on the receive descriptor's BCAST/MCAST status bits. Test the
Ethernet destination address to see if it's multicast.
2000-02-08 00:22:13 +00:00
thorpej 52a2804a5c Add a new function call to the ISA DMA API: isa_dmamaxsize(), which returns
the maximum transfer size for the specified DMA channel.  Make all clients
of ISA DMA use this call to determine their maximum transfer size.
2000-02-07 22:07:27 +00:00
jonathan e9a4467c58 Fix thinko in previous revision: it wouldn't catch deassert.
Revert the code inside the new test to the previous-but-one revision.
2000-02-07 02:17:18 +00:00
jonathan 2da22cf2c5 Check for DCD status change interrupts which signal PPS events, even
if the line discipline is ignoring carrier (e.g., via comparam()'s
setting of sc->sc_msr_mask).  Move PPS timestamp outside the normal
status-change processing, and ignore sc_msr_mask when testing
for PPS events.
2000-02-06 23:23:37 +00:00
nathanw 958e687d69 LP64 printf fixes. 2000-02-05 20:02:42 +00:00
augustss 494c9affea Support detach. 2000-02-05 18:11:55 +00:00
enami abac10f360 Yet anothor workaround for hpcmips. I guess real problem is somewhere else...
With rev.1.37, my MobileGearII for DoCoMo finds both ne0 and wd0
even if pcic_delay_sleep is 1.
With rev 1.40, it fails to find wd0.
2000-02-05 04:34:36 +00:00
dante 2a46aa5d9a Fix "unused variable" warning when FAILSAFE option is defined 2000-02-04 16:23:14 +00:00
dante b4edda97d5 Fix a compilation bug due to a missing parenthesys 2000-02-04 15:43:46 +00:00
enami 9c688fd57c s/SYSTEM/SYSMEM/; so that this file compiles again. 2000-02-04 11:04:46 +00:00
joda 8006211b18 fix previous broken commit of the 8-bit memory handling (spotted
by Christian Hopps); this will enable 16-bit memory accesses for devices
that can handle it
2000-02-04 10:18:28 +00:00
itojun 0f09f8dd2b cope with card insertion/removal during suspend-resume session.
(removal/ insertion after suspend and before resume)

How should we deal with card swaps?
2000-02-04 09:45:34 +00:00
chopps d344dd94ab keep track of the enabled state of a socket 2000-02-04 08:42:07 +00:00
enami ed0f41807d - Call if_deactivate instead of smc91cxx_disable when deactivating.
- Fix typo in comment.
2000-02-04 04:05:50 +00:00
dante cbacaf54d7 Add AdvanSys U2W (LVD) boards support 2000-02-03 20:28:26 +00:00
itojun 579e538de0 fix promisc mode for smc91cxx again. 2000-02-03 16:20:49 +00:00
enami 1102c5ed1d Remove temporary workaround for hpcmips. Now it works without it. 2000-02-03 09:00:39 +00:00
enami d6554f3e25 Cosmetic changes; remove unnecessary semi-colon. 2000-02-03 08:59:20 +00:00
thorpej 5802ccb9c9 In ahc_intr(), if initialization failed, don't try to service the
interrupt.
2000-02-03 06:25:09 +00:00
chopps 68a7084f0c attempt to make this more like the std indicates 2000-02-03 06:07:06 +00:00
enami 20522c36ed Detach MII if there is. 2000-02-03 06:03:39 +00:00
thorpej eed75dbc26 Don't dry to diving MIIF_NOISOLATE in the PHY drivers. Instead, pass
flags down from the parent to child vi mii_attach().
2000-02-02 17:09:38 +00:00
itojun b2cac6e684 if_detach for sm/pcmcia.
with addition of resource allocation flags in softc (to DTRT on detach).
2000-02-02 16:04:40 +00:00
enami f7096eef97 Fix typo; not PCIC_DEBUG but PCICDEBUG. 2000-02-02 14:23:48 +00:00
itojun 7a7a3bcfdf handle attach failure in ne/pcmcia more carefully. (otherwise we'll
have trouble on detach)
2000-02-02 13:06:15 +00:00
itojun f4e8883ccd use a bit more standard (sys/device.h) prototype for {dp8390,ne2000}_detach(). 2000-02-02 11:41:56 +00:00
augustss a5f7a2c791 Detach rnd source in ep_detach(). Check for DVF_ACTIVE in epintr(); 2000-02-02 11:00:48 +00:00
enami 60e57afedd - Check also DVF_ACTIVE bit in dp8390_intr.
- Delete ifmedia instances on detach.
2000-02-02 10:50:56 +00:00
enami a54d060a1c Unhook the entropy source on detach. 2000-02-02 10:45:12 +00:00
enami 500a12d2e5 - No need to wait in pcic_chip_socket_disable. It was intended to keep
some period between disable and enable in spec, but is done in
pcic_chip_socket_disable.  And we also disable socket in pcic_deactivate_card,
we should do it in another way if it is really necessary.
- Shorten the wait message so that ps(1) and ps in ddb be happy.
- Replace newly added long delay with sleep.
2000-02-02 10:31:45 +00:00
enami e16a469c8f Cosmetic changes. 2000-02-02 10:19:51 +00:00
itojun 17f5887294 implement if_detach code for ne/pcmcia.
XXX still incomplete, ne_pcmcia_detach() commented out for safery - please test
2000-02-02 10:00:06 +00:00
enami a909d816d2 Add detach support. 2000-02-02 09:34:51 +00:00
augustss e4c766e299 Make sure to untimeout() things on detach. 2000-02-02 08:57:51 +00:00
augustss 82559ba682 Move detach operations around a little to simplify (and perhaps get it
right?).  Prompted by Jason, itojun and myself.
2000-02-02 08:41:00 +00:00
thorpej 84dc99fdea Bring some order to the chaos which was the MII code function naming
"conventions".
2000-02-02 08:05:26 +00:00
augustss ea45df4d30 Make sure to get rid of shutdown hook and ttach media on detach. 2000-02-02 08:00:21 +00:00
chopps ea37d51548 do something more like pccbbs chip_enable. don't enable interrupts
until we have everything else setup..
2000-02-02 04:45:21 +00:00
thorpej 001748dc57 First cut at detach support; doens't fully work yet. 2000-02-01 22:54:47 +00:00
chopps d8e72e215d implement probing for available irqs on non-cirrus pcmcia controllers
including cardbus controllers running in pcic mode
2000-02-01 22:39:51 +00:00
thorpej a72f993570 When possible, use ring mode for descriptors. Not only is this slightly
more efficient on genuine DEC chips, but some clones apparently Lose Badly
if you use chain mode.  To further complicate things, some clones *only*
do chain mode, so make this whole mess conditional.
2000-01-28 23:23:49 +00:00
thorpej 59fbdbb7cb Just use a regular Tx descriptor for the setup packet; don't bother with
a separate one.
2000-01-28 22:23:58 +00:00
pk f18d4a028b Define the fixed hme PHY addresses. 2000-01-28 15:52:34 +00:00
pk 437ad6d192 Reset audio chip on device open. 2000-01-28 15:49:44 +00:00