Commit Graph

1298 Commits

Author SHA1 Message Date
bad a4e508928f Oops. RcsID police. 1999-03-22 23:01:36 +00:00
bad 2c16793ee5 Chipset driver for TROPIC based Token-Ring cards.
Frontends for IBM and 3COM ISA cards.

By Onno van der Linden <onno@simplex.nl>.
1999-03-22 22:21:26 +00:00
drochner b2c812d776 set "fontset" variables to 0 if no appropriate font was found for a
freshly allocated screen, should fix panic if "vga_mapchar()" it
attempted later
1999-03-22 18:24:23 +00:00
erh fc841e81b5 Get the index on the buffer (in addition to the descriptor) correct. 1999-03-19 22:43:11 +00:00
mjacob 008b51d0a6 Update the driver with some infrastructure for the 1080. Fix an embarrassing
clock botch bug. Additional infrastructure for PDB change stuff.
1999-03-17 06:15:47 +00:00
erh f4ccb35266 Add a "+1" in sca_start which should fix the limit of 2 transmit buffers. Also, kill some duplicate code. 1999-03-16 21:29:23 +00:00
jonathan 69d2d27c1b Use bus_space tags and handles, embedded in MD hooks AM7930_{READ_WRITE}_REG
to handle MD delay and bus padding. Tested on sparc2 by David Brownlee.

Should use regmaps, but that breaks sparc pDMA assembly code.
1999-03-14 22:29:00 +00:00
minoura 1ff51fea1a Some x68k conditionals (I don't know why these are needed...). 1999-03-14 16:14:54 +00:00
bouyer a6365676fa Add a new disk flag: DRIVE_OLD for pre-ATA disks. probe routine will now set
DRIVE_OLD, DRIVE_ATA or DRIVE_ATAPI based on register signatures.
The attach routine will issue a IDENTIFY command for ATA/ATAPI disk,
to detect flase matches by the probe routine.
probe/attach should now be fully compliant with ata-4/ata-5. As a side
effect, ATAPI drives which improperly use ATA register signatures should now
be attached as ATAPI.
1999-03-10 13:11:43 +00:00
bouyer ba74f49e60 Keep track of CRC errors in Ultra-DMA mode. If we noticed a CRC error and we
need to downgrade, downgrade to PIO, as it has been shown if we got CRC errors
in Ultra-DMA mode, we will have silent data corruption in multiword DMA mode
(isn't IDE wonderfull ? :).
Set timeout to 1s for "normal" ata I/O, to minimise the effects of missed
interrupts.
1999-03-07 14:02:53 +00:00
dante 199f99d192 fix second level interrupt handler to allow 64 bits pointers 1999-03-04 20:15:53 +00:00
pk 80b321b11a sparc => __sparc__ 1999-03-03 12:58:14 +00:00
explorer 3ebb419571 Update to slightly altered rnd_attach_source() api 1999-02-28 17:08:05 +00:00
dante 198f1f5c48 Fix AdvanSys Narrow driver to work on Alpha 1999-02-25 20:21:33 +00:00
dante eab52d94b3 Fixed AdvanSys Ultra Wide driver to work on Alpha. 1999-02-23 20:18:16 +00:00
scw fc658e2d3e Don't update the CORx registers unless they really have changed.
Also make console Tx handling wait until the Tx FIFO has drained and
the shift-register is empty before sending console characters.
1999-02-21 14:01:50 +00:00
abs b86f85e1cc wdcwait is called initially without any device on my thinkpad.
This breaks the first WDCDEBUG_PRINT. Handle this case.
1999-02-21 02:07:52 +00:00
hubertf 99626f33a3 Only #define WDCDEBUG if it isn't already defined (e.g. by some options
in the kernel config file).
1999-02-20 23:47:52 +00:00
drochner bd047d30a0 complete mapping table for pcvt fonts, make dual-font selection work
as intended
1999-02-20 18:27:53 +00:00
drochner 9ad8930d16 complete mapping tables a bit so that ASCII (ie vt100) art looks better
even without extra fonts loaded
1999-02-20 18:26:13 +00:00
scw 3a5b0d88ca That #define splserial() really didn't want to be there... 1999-02-20 16:23:39 +00:00
scw 0ed9dc11d7 Delay serial port parameter changes until the Tx FIFO has emptied. 1999-02-20 00:27:29 +00:00
leo e54f78017e This one needs <machine/bswap.h> too. 1999-02-19 20:58:51 +00:00
minoura 38803874bb Translated Japanese comments. 1999-02-19 16:19:53 +00:00
mycroft 28bc4dfeca Oops; PCIC_INTR_ENABLE does something *very* different. 1999-02-19 03:14:00 +00:00
mycroft 70d4ac07b6 Yet another path where we need to set PCIC_INTR_ENABLE. 1999-02-19 00:27:45 +00:00
mycroft 18e341a954 Add separate halt_input and halt_output methods in ad1848_isa, which disable
the DMA channel.
1999-02-18 17:27:39 +00:00
bouyer 7e5acb7709 Don't print an extra newline if the controller doesn't support 32 bits access.
Pointed out by Dave Huang.
1999-02-18 14:45:31 +00:00
thorpej cfb2342145 Fix the code in epic_attach() that frees resources when the attach fails. 1999-02-18 02:24:30 +00:00
thorpej 5c457e71fe Only do the multicast filter bug work-around if in 10Mbps mode. Also,
don't reset the interface if the multicast list changes.  Just reprogram
the multicast hash table.
1999-02-18 02:12:09 +00:00
mycroft 27963c294a Use the trigger interface, and clean up a pile of cruft. 1999-02-17 23:05:28 +00:00
mycroft 71105fbda7 Update comments. 1999-02-17 21:44:55 +00:00
thorpej 6d0cb6e410 Change a straggling splimp -> splnet. 1999-02-17 09:11:29 +00:00
thorpej 69a4436f8b Avoid initializing the interface in the SIOCSIFFLAGS if ! UP and ! RUNNING. 1999-02-17 03:40:59 +00:00
mycroft 7741cae143 Fix slight ommission in previous. 1999-02-17 02:43:13 +00:00
mycroft e5f5e628d2 Pass the direction to the allocm and round_buffersize methods.
Some drivers need this to properly allocate DMAable memory.
1999-02-17 02:37:38 +00:00
is 2c7fa23c38 Fix Copyright dates 1999-02-16 23:34:10 +00:00
is dc068e0d1f Assign my files to The NetBSD Foundation, Inc. 1999-02-16 22:46:55 +00:00
bouyer d683e62685 Be less strict on ATAPI signature, at last one CD puts 0x00 in sc instead
of 0x01.
1999-02-15 18:47:59 +00:00
hubertf 56f2d188fc RCS ID police 1999-02-15 04:54:34 +00:00
thorpej e523f4968b Make sure full-duplex is reflected in TXCON, and don't reset the interface
when the media changes.
1999-02-13 21:08:08 +00:00
minoura 4d5a04afc4 MI version of the Fujitsu MB89352 SCSI Protocol Controler (SPC) driver.
Based on experimental NetBSD/pc98 ISA/PISA version, which was derived
from the MD /sys/arch/x68k/dev/spc.c.
1999-02-13 17:33:14 +00:00
scw 94719c7b9a New MI front-end for the Cirrus Logic CD240[01] Multi-protocol
Communications Controller.

This is still a work in progress, but it is functional enough to
be usable.
1999-02-13 17:05:19 +00:00
drochner 960dfa5227 oops - forgot to convert the trivial case (ASCII) to "match levels" 1999-02-12 15:49:43 +00:00
drochner 525932e022 make the probe stricter to catch cases where the chipset doesn't pull
the data lines to "high" for not-existant devices
1999-02-12 12:45:48 +00:00
drochner b515442160 Display the danish o-slash as phi/Theta as proposed by
Soren S. Jorvang <soren@t.dk>, with a lower match level.
Display the other accented characters which are not present in the IBM
character set by their non-accented equivalents, with an even lower
match level.
1999-02-12 11:32:50 +00:00
drochner dbdaf91650 change the "mapchar" interface to return a "quality" or "match level"
arguments which allows to find approximations for characters which are
not present in a font
1999-02-12 11:25:23 +00:00
thorpej e8823cc3f3 Cleanup of the EPIC/100 driver I did while hacking on the Rhine driver:
* Macroize hardware and software descriptor access (much easier to read).
* Simplify and optimize the transmit loop a bit, and use IFF_OACTIVE as
  appropriate.
* Fix a potential race condition in the transmit loop.  This change has
  made the driver significantly more stable (almost completely eliminated
  the "device timeout" errors that have plagued this driver).
* Implement transmit interrupt pacing.
* Add missing bus_dmamap_sync() calls (on transmit and receive descriptors
  and fraglists).  (Draining the write buffer when accessing these structures
  may have also contributed to the increased stability of this driver on
  the Alpha.)
1999-02-12 05:55:27 +00:00
thorpej 873e1d2a51 Fix printf format problems on Alpha. 1999-02-12 01:51:37 +00:00
thorpej 1ab6db8e5f Fix printf format problems on Alpha. 1999-02-12 00:50:09 +00:00
minoura c5847e98a9 void* -> u_int32_t 1999-02-10 16:00:54 +00:00
mjacob 3c21a2493b Roll internal release tag. Print out if we're in a 64 bit PCI slot.
Use fast memory timing NVRAM parameter. Clean up and fix establishment
of default target parameters. Don't use NVRAM if are flagged as not to
do so (I had a busted NVRAM setup which I couldn't edit that enabled SYNC
mode but disabled disconnect/reconnect and wide!!). Fix delays after
resets. BUS resets not done in isp_init anymore- relegated to OS
specific outer layers. Fix a buglet where you can get in a loop for
a NULL xs in the completion list in isp_intr. Add in some defines that
can disable fast posting. Add in code for Loop Up/Loop Down events that
call into the outer layers as to what to do.
1999-02-09 00:52:23 +00:00
mjacob 0cf98e4e12 Roll internal release tag. Roll core version minor. Fix broken DPARM_DEFAULT
define. Add a new config flag param (ISP_CFG_NONVRAM) whose intent it is
to cause NVRAM to be ignored. Add ISPASYNC_LOOP_DOWN and ISPASYNC_LOOP_UP
isp_async enums.
1999-02-09 00:46:25 +00:00
mjacob d8d9458410 fix a couple of NVRAM defines 1999-02-09 00:44:42 +00:00
mjacob c1adc949c2 roll internal release tag 1999-02-09 00:44:06 +00:00
mjacob 6a8ebccd6a Do SCSI Bus resets in this layer (now). Don't do it for Fibre Channel yet
(we get LOOP DOWN events, and we'll hang on that at this time).

Add other isp_async cases- ISPASYNC_LOOP_DOWN and ISPASYNC_LOOP_UP. DOWN
will cause internal queuing until UP, whereupon a timeout will fire up
any pending xfers. It doesn't really keep commands from getting destroyed
by loop down events, but at least minimizes the damage. This was much
easier to implement with CAM.
1999-02-09 00:42:22 +00:00
mjacob ee45547dde Roll platform revision level. Add blocked flag and waitq to osinfo structure. 1999-02-09 00:37:35 +00:00
bouyer 1e0e78854a There's no ATA draft where it is required for the drive to set DRDY | DSC when
the disk is ready to transfer data, and in ATA-5 the DSC has been obsoleted.
So only wait for DRQ to transfer data. This can be made conditional on the
ATA version if it's proven to break with some drives (worked with all the
drives I have access to).
While I'm there correct a few typos.
1999-02-08 15:22:28 +00:00
thorpej 6eedee5c9d Add entropy gathering. 1999-02-07 01:54:50 +00:00
mycroft 0c7afe477d Separate the tiocm code into functions, like the z8530 code, and fix the same
DTR bug.
1999-02-03 23:57:27 +00:00
mycroft 568f4aa704 Minor changes to tiocm code. 1999-02-03 23:51:06 +00:00
mycroft 9be96dda95 Fix an inconsistency: PPS was turned off on first open, but the mode may have
still claimed it was enabled.
1999-02-03 23:22:11 +00:00
mycroft 535f59cc81 Slight redux in PPS code. 1999-02-03 23:20:33 +00:00
mycroft b3a56d0097 Catch up with a change to the stint interface. 1999-02-03 20:22:28 +00:00
mycroft b63b0fd80b Redo the N previous changes, plus a couple of other things:
* Move the printf() delay to just after the printf(), where it actually makes
  sense.
* Use zstty_stint() and zstty_softint() from zsparam(), to force an immediate
  update of the carrier and flow control status.  Abuse this in the attach and
  open functions to defer all of that work.  This insures that we don't lose
  any status updates.
* Don't screw with register 1 when closing the console.
* Fix bugs in TIOCM??? (stay semicolon, clearing DTR while transmitting).
* Add comments in a couple of places.
1999-02-03 20:15:51 +00:00
marc 9231ba8603 - make sure that sc->handle[i].flags is initialized in all cases
- check PCIC_FLAG_SOCKETP before disabling the CSC_INTR.
1999-02-01 22:17:05 +00:00
wrstuden 36c50aaa14 Add the patch I floated on tech-kern. Andreas Eltrich <elchy@dahoam.de>
says it got pppd working for him.
1999-01-31 21:41:00 +00:00
minoura 8ed711f1bc MC68450 DMAC regs. 1999-01-30 14:58:26 +00:00
mjacob 6bcdc2b5d2 Implement and use Fast Posting for both parallel && fibre. Redo a bit of
the startup code. Implement a call to outer framework function so that
asynchronous events can be handled (e.g., speed negotiation, target mode).

Roll internal release tags.
1999-01-30 07:31:50 +00:00
drochner a7f50b8178 Debugger() -> console_debugger() to honour the ddb_fromconsole sysctl 1999-01-26 17:08:37 +00:00
wrstuden ccf442a971 Fix thinko in part of rev 1.53.
Thanks to Scott for pointing this out to me (I got his mail and figured out
this change before seeing the discussion on tech-kern) and to Charles for
the initial explanation.
1999-01-25 17:53:13 +00:00
msaitoh 88176e7d20 Fix about insertion/removal event problem. 1999-01-21 07:43:32 +00:00
bouyer a1471db64a move wd.c:print_wderror() to ata.c:ata_perror().
In wdc_probe_caps() add code to guess the ATA revision supported (if
ATA4 if Ultra-DMA, ATA2 if PIO mode > 2). We can't rely on param.atap_ata_major
here, at last one Ultra-DMA drive claims to support only ATA-3.
Use the ATA version in ata_perror(), and to try a flush cache command
in a shutdown hook for IDE drives.
1999-01-18 20:06:24 +00:00
mjacob 83270f242f If you're BIG_ENDIAN and use bswapXX, pull in the header file that prototypes
these functions.
1999-01-18 19:17:00 +00:00
pk ed55ba4db9 Need <machine/bswap.h> 1999-01-18 11:51:43 +00:00
ross 5709f532d1 Random compile nits in BHADEBUG code. 1999-01-14 04:47:18 +00:00
drochner 23cfea8327 -implement new wscons font handling with separate download and selection
calls
-support use of 2 fonts simultanously; this costs the ability to
"highlight", ie to use the upper 8 colours
-define screen types "80x25bf" and "80x50bf" which use this ability
-add conditional code to deal with the weird mapping of pcvt's
supplemental fonts
1999-01-13 16:48:58 +00:00
christos e79b8222a6 Put back modem control ioctl's 1999-01-13 11:55:20 +00:00
drochner 9b1eddc4f1 - Set up the interface watchdog timer on sends. This fixes the hangups
reported by Matthias Scheler <tron@lyssa.owl.de> in PR kern/6772.
- After receiving, check whether the receive DMA pointer became 0
  what obviously happens if the list runs out of entries. Simply reinit
  in this case. This fixes receive lockups after DDB use observed
  by myself.
  Unstall the receive engine if the ELINK_UPPKTSTATUS indicates that it
  was stalled. (Don't know when this might happen. FreeBSD does so.)
1999-01-10 14:19:46 +00:00
mjacob 9d702f60ed + Some basic deadchip detection.
+ Enable FIFO bursts, but also detect bogus 1040A with busted FIFO.
+ Use new MEMZERO crossplatform define.
+ Handle RQCS_QUEUE_FULL status case and let upper layer parse SCSI ststus
  byte if nonzero (should be 0x28- Queue Full status)
+ Fold ISP_NVRAM_FIFO_THRESHOLD_128 into isp_fifo_threshold tag.
1999-01-10 05:07:53 +00:00
mjacob f1dfa06e13 bump isp_fifo_threshold tag top 3 bits 1999-01-10 05:04:46 +00:00
mjacob b503bb5337 cross platform define MEMZERO added 1999-01-10 05:04:18 +00:00
drochner 98e630dbe0 Allow to deallocate also the currently visible virtual screen (unless
it is the console).
This requires vva_show_screen() to catch the case where it has no screen
to switch from, ie no need to save the current state.
1999-01-09 15:29:26 +00:00
augustss 0d32a9a78b Fix more `void *' arithmetic. 1999-01-08 19:22:34 +00:00
thorpej 71c86e3e92 Changes to NCR53c9x driver necessary to add support for the AMD Am53c974
PCscsi-PCI SCSI controller.  From Izumi Tsutsui, PR #6654.
1999-01-06 19:19:38 +00:00
christos dfd0f0f949 PR/6669: Michael Eriksson: pcic_chip_mem_alloc() can't handle large requests 1999-01-01 14:05:18 +00:00
augustss 44df4dcc85 Add a wscons display type `unknown' that the generic VGA driver can
return until someone fixes it for real.
1998-12-30 13:54:03 +00:00
mjacob e5e787230b clean up headers; move uninit/watch to outer layers 1998-12-28 19:10:43 +00:00
msaitoh 2718914e14 fix incorrect panic message 1998-12-25 16:50:08 +00:00
nathanw 788ff053de Fix up support for PCI attachments of pcic devices on i386 in general,
and the Cirrus Logic CL-PD6729 in particular.

From danw@mit.edu in PR port-i386/6436.
1998-12-20 17:53:28 +00:00
thorpej 92229a04c1 Quiet some diagnostic messages when we might expect them to happen.
PR #6460, Rafal Boni.
1998-12-18 21:50:16 +00:00
bouyer c37bf0ccb4 Keep track of DMA errors, and downgrade the transert mode (UDMA ->DMA,
DMA->PIO) in case of 2 consecutive errors. Don't downgrade if the
PIO/DMA/UDMA modes were forced by a config flag.
1998-12-16 13:02:03 +00:00
bouyer 94f32463dc Add a callback to re-compute the modes used on a channel. 1998-12-16 12:46:47 +00:00
mycroft 95aa0d0b7d Simplify the copy loops a bit. 1998-12-12 16:58:10 +00:00
mycroft 90b7cbc727 Simplify argument to MGET(), to generate better code. 1998-12-12 16:36:24 +00:00
mycroft a6717054a4 Slight simplification to previous. 1998-12-12 16:31:34 +00:00
bad fe3ce4e89a Simplify the code dealing with the mbuf chain in dp8390_get(). 1998-12-11 18:03:55 +00:00
bad ba8bdebedd Change a comment to reflect reality. 1998-12-11 16:01:16 +00:00
tls 2fbbdcc0cb Fix bug that caused all ifp's to have if_xname ntwo0, which was rather inconvenient. Should use config_found on each port instead, but this works for the moment and it's quick. 1998-12-09 23:25:41 +00:00
thorpej 7a9cc5bfbc Update for changed scsipi_xfer struct. 1998-12-09 08:37:50 +00:00
leo 5335909035 BVME410 ethernet driver by 'maximum entropy'. 1998-12-09 07:33:59 +00:00
augustss 1b499d8ce6 Make the OPL information string more informative. 1998-12-08 14:26:56 +00:00
bouyer 997074f17c Add a missing 'return' in an error path; noticed by Matthias Drochner. 1998-12-08 13:29:31 +00:00
mjacob d610e1ad3f Update BA for new max_lun parameter for SCSIbusses. Clearify maximum luns
for FC HB based upon a SCCLUN define (15 for normal- 255 out of a possible
65535 for SCCLUN). Propagate loopid as adapter_target.

Roll minor platform version. Roll core version number.

Update mailbox definitions with cleaner target mode structure definitions.
Clean up some ENDIAN stuff. Correct botched ISP2100_NVRAM_HARDLOOPID offset.
1998-12-05 19:48:23 +00:00
mjacob 74bc9f26d5 Update HBAs to incorporate the new max_lun property. 1998-12-05 19:43:33 +00:00
pk 19f705b094 Cast bus_space_{read,write}_multi arguments. 1998-12-03 23:33:45 +00:00
bouyer 47ab212504 Rename pio_mode, etc ... to PIO_cap, etc ... for consistency with the
ata_drive_datas struct. Suggested by Soren S. Jorvan.
1998-12-03 18:24:30 +00:00
bouyer 71f33dbfa5 UDMA->Ultra-DMA in a printf 1998-12-03 17:30:32 +00:00
bouyer 2b28c858d8 add a udma_mode field to wdc_softc, and use it the same way dma_mode is used
(higthest ultra-dma mode supported). There may be a higther ultra-dma mode
defined ...
1998-12-03 15:38:59 +00:00
bouyer 1d5d5ab40a In struct wdc_xfer, change 'channel' to a pointer to a channel_softc, to avoid
a double-pointer dereference at run-time. Suggested by Matthias Drochner.
1998-12-02 15:53:34 +00:00
bouyer 45675ab14b - change drive_flags from u_int8_t to u_int16_t
- keep the modes supported by the drive in struct ata_drive_datas (will be
  later used for downgrading the DMA/PIO mode on error)
- use config flags to force/disable PIO/DMA/UDMA modes
- For the CMD PCI0643/6 setup DMA mode to DMA Read multiple.
1998-12-02 10:52:24 +00:00
pk adbfb3777a Update previous: we don't have the required information all the time. 1998-11-30 07:54:29 +00:00
pk 0f8cfb66f0 Some more misc. cleanup in the same style as previous. 1998-11-30 07:44:24 +00:00
pk 9860d69b7e Announce negotiation of async mode consistently (Soren Jorvang; PR#6512) 1998-11-30 07:34:06 +00:00
bouyer 5f088e0243 wdcstart(): Re-add support of shared xfer queue across multiple channels
(was lost between 1.44 and 1.45).
1998-11-29 17:34:49 +00:00
thorpej 96da1decd9 Fix media probe on non-MII chips. 1998-11-29 01:40:46 +00:00
thorpej 18e7f69220 Update for new pcmciabus attribute. 1998-11-27 21:59:18 +00:00
augustss 9726cfd1fb Make the copyright header conform to the NetBSD template. 1998-11-25 22:17:06 +00:00
kenh 1f676cda09 Implement the AT_READREG flag. This is needed for the CHECK POWER MODE
ATA command (among others).
1998-11-23 23:02:11 +00:00
wrstuden f0559087e0 Changes to deal with mac serial ports having clock sources on DCD or CTS.
- When doing a first open, don't enable receive & status interupts before
	the MD layer has had a chance to set things up.
- Enable logic to only enable DCD/CTS interupts if we are looking for/
	expecting interupts on those pins. Disable otherwise.
- in zs_param, only pass up the state of ZSRR0_DCD if we have enabled
	interupts on that pin.

Henry Hotz (<hotz@jpl.nasa.gov>) and Greg walsh <gwalsh@artec.com> have
tried these changes to get certain printers from hanging at boot. They
work in a 1.3.2 kernel for Greg.
1998-11-23 22:10:09 +00:00
drochner 3e38051bc5 in wdc_softc: access the per-channel data via a pointer array instead of
an array of fixed-sized channel_softc elements. This way IDE controllers
which more than 1 channel (pciide) can extend the channel data easily
for private needs.
To avoid the double dereference at runtime, change the argument of
wdcstart() to the channel data pointer instead of the array index.
1998-11-21 15:41:41 +00:00
kml ba30effcf8 Changes to support a HIPPI Framing Protocol device, which allows raw
HIPPI packets to be written without having to go through the network
stack.
1998-11-20 04:12:57 +00:00
thorpej 4ba3417429 Implement reference counting for ATA adapters. 1998-11-20 01:22:37 +00:00
kenh 396aa17f77 Sigh, my bad. Check for chp->wdc being NULL before trying to deference it.
(I didn't realize the ISA wdc front-end doesn't fill in chp->wdc).
1998-11-19 22:50:21 +00:00
thorpej 5f0577babc Adapt to the new scsipi_adapter interface. 1998-11-19 21:43:00 +00:00
thorpej afc84158d1 Back out revision 1.40. That change couldn't have POSSIBLY worked, since
when wdcprobe() is called, the wdc_softc pointer in the channel_softc
hasn't even been intialized!
1998-11-19 19:52:42 +00:00
kenh 1461c4fb20 __wdccommand_done() needs to call wdcstart(), otherwise you can run
into deadlocks when using wdc_exec_command().
1998-11-19 04:07:54 +00:00
thorpej 3e086bd63d Add support for detaching "com" instances. 1998-11-18 23:58:52 +00:00
kenh 58932a8415 Quirk out the first test in the beginning of wdcprobe(); the Vaio
CD-ROM drive doesn't like it for some reason.
1998-11-18 19:12:08 +00:00
thorpej 1d0f24882d Now that the *_activate() functions don't do things which are attachment
specific, move them into the chipset drivers.
1998-11-18 18:34:52 +00:00
thorpej dd6750820c Expose the "enable" and "disable" functions so that the front-ends can
access them.
1998-11-17 20:25:00 +00:00
bouyer b64b7c2964 New IDE xfer flag: C_SENSE, set by the ATAPI back-end sense info needs to
be retrieved.
1998-11-17 14:14:52 +00:00
thorpej 0c3ca7b31e Finish implementing interrupt-driven card insertion and removal support.
- Deactivate the card on removal and queue a REMOVAL event for the socket's
event thread to finish the detach.
- Queue an INSERTION event for the socket's event thread on insertion.

Implement a few missing infrastructure pieces to support this.

Hot swapping of PCMCIA cards now "works".  (Not quite; things like network
devices need changes for their respestive subsystems.  These changes are
coming soon...)
1998-11-17 08:49:11 +00:00
thorpej fc44652721 Implement a kernel thread per PCMCIA socket to handle card insertion and
removal events.
1998-11-16 22:41:01 +00:00
thorpej d2afdb5b59 Fix some whitespace lossage, canonicalize some media names. 1998-11-16 19:13:31 +00:00
mycroft 8146c925da If we get a TX interrupt with no packets buffered, ignore it. This can occur
if the chip is reset while transmitting.

XXX
This occurs at boot time because the SIOCADDMULTI always resets the interface
when adding the `all hosts groups' -- usually while the ARP packet is being
transmitted.  All drivers should be fixed to not reset the interface when
changing the multicast filter, if possible.
1998-11-12 13:18:26 +00:00
bouyer 1e71e76d6c - clearify the boot messages (features supported vs features used). Thanks to
Havard Eidnes for his complains about this :)
- fix some typo in comments
- hoppefully better detection of drives reporting bogus PIO modes.
1998-11-11 19:38:27 +00:00
msaitoh 21e1b057bc Sorry, I forgot to revert "#if 0". 1998-11-09 07:01:47 +00:00
veego 2749e8b74a We don't need the pci headers here. 1998-11-08 22:02:25 +00:00
kenh e58cf6b359 Add definitions for the ATA power management commands 1998-11-05 22:49:09 +00:00
msaitoh 37bbf03777 fix pcic_chip_socket_enable() to works on more machines. 1998-11-05 07:55:48 +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 cd7f7eff85 Code common to RealTek 8019 and 8029 NE2000-compatible Ethernet chips.
Includes media selection support and support for Full-duplex.
1998-10-31 00:44:33 +00:00
thorpej fa97a53c11 Multiple inclusion protection. 1998-10-31 00:31:43 +00:00
thorpej 992f2906ba Move the RTL8029 register definitions to <dev/ic/rtl80x9reg.h>, and add
the registers/bits present in the RTL8019 (ISA version).
1998-10-31 00:27:41 +00:00
nisimura 074bc27605 - Add filenames for VDAC/cursor sprite hardware descriptions; bt431reg.h,
bt459reg.h, bt463reg.h and ims332.h as pointed by Klaus Klein.
1998-10-30 00:18:16 +00:00
dante 2cb48d6c4e Add support for macppc.
Very special thanks to Itsumi Tsutsui for his invaluable collaboration.
1998-10-28 20:39:45 +00:00
kleink 026fcd0ce2 RCS Id police, canonicalize multiple-inclusion protection symbol names. 1998-10-28 16:26:01 +00:00
nisimura 675a2afc89 - Brooktree Bt459 135 MHz Monolithic CMOS 256x64 Color Palette RAMDAC.
- Brooktree Bt431 Monolithic CMOS 64x64 Pixel Cursor Generator.
- Inmos IMS G332 Color Video Controller.
1998-10-28 04:10:36 +00:00
thorpej 56066ad5fb Add media list, media list count, and default media arguments to
ne2000_attach().
1998-10-28 00:13:47 +00:00
thorpej 3a9e6f3a29 Define a "page 3", used on some chips which emulate a dp8390, but also
provide extensions.
1998-10-27 23:34:17 +00:00
scottr 3a7a7177cc Update for changes to NCR5380_READ() and NCR5380_WRITE(). 1998-10-26 04:44:04 +00:00
scottr 8ed7c47c7a In order for the SCI_CLR_INTR() and SCI_BUSY() macros to work, we
must actually use the softc pointer provided.  Adjust NCR5380_READ()
and NCR5380_WRITE() appropriately.
1998-10-26 04:42:47 +00:00
scottr d4e6677111 Replace architecture-dependent tag/handle field names with
architecture-independent versions.
1998-10-25 23:48:29 +00:00
christos fab7faf6a4 Fix typo 1998-10-25 18:49:18 +00:00
christos 906db1e920 PR/6274: John Ruschmeyer: Add support for the ncr53c80 driver on the i386. 1998-10-25 17:26:41 +00:00
bouyer 88d1b8138c If WDC_DIAGNOSTIC is defined, check in wdcstart() that we are called at
splbio.
1998-10-21 09:12:46 +00:00
is a2386d4325 fully implement soft callback usage 1998-10-20 22:18:13 +00:00
chuck ce89209d42 when transmitting we cannot totally fill the circular buffer (i.e.
we can't use up all of the remaining sc->txslot[chan].bfree free
bytes) because that would cause the circular buffer read pointer
to become equal to the write pointer, thus signaling 'empty buffer'
to the hardware and stopping the transmitter.  spotted and fixed
by Kenjiro Cho <kjc@csl.sony.co.jp>
1998-10-20 17:53:54 +00:00
bouyer 794fadcf0a Donc reset the disk state to 0 in wd.c, set a flag which will cause it
to be reset to 0 at wdcstart(). This fixes a race condition between
normal I/O and wdioclt().
1998-10-20 17:00:26 +00:00
is 3ebe847640 Stopgap fix for stupid pasto. Fix for the BAHSOFTCOPY case will be provided
after more sleep.
1998-10-19 22:00:14 +00:00
bouyer 96a0812fd8 Kill an extra printf("\n"). 1998-10-15 11:38:04 +00:00
mycroft d2d873481a pcic_wait_ready(): If we didn't get READY, print out the current status. 1998-10-15 04:04:43 +00:00
perry 6413810bf3 Stop spurious lpt messages from being printed -- approved by fvdl. 1998-10-14 20:09:06 +00:00
dante 773dc968ad Remove some debugging printf 1998-10-14 13:28:47 +00:00
dante de1d4ba9b0 Change the way uCode is loaded into board LRAM, to let it work on macppc. 1998-10-13 22:57:26 +00:00
bouyer e8322de657 Add a new drive flag, DRIVE_MODE, set when the drive properly reported its
PIO/DMA modes. Don't try a SET_FEATURE if it didn't report its mode.
1998-10-13 15:18:46 +00:00
bouyer 7545a59b8c In debug message, always print controller:channel:drive 1998-10-13 15:02:41 +00:00
bouyer ff0134b99f Properly separate DEBUF_XFERS and DEBUG_FUNCS: DEBUF_XFERS is for data
transfers (may be called often), where DEBUG_FUNCS is for setup functions
(not used for normal contitions).
1998-10-13 09:33:59 +00:00
bouyer da5d0a6f17 pciide.c: don't define WDCDEBUG, so it compiles on alpha. Correct a bogon
in the printing of DMA mode (piix3/4 only)
others: set the debug_mask to 0, so that debug messages are turned off by
default but can be easily turned on.
Reset drive_flags to 0 for unconfigured devices, so that they are ignored
later. For configured devices, reset state to 0 after probe/attach.
1998-10-13 08:59:45 +00:00
msaitoh 39c8c94fa5 make it compile with GWETHER again. 1998-10-13 08:33:05 +00:00
bouyer 19fddaeeb5 Merge bouyer-ide 1998-10-12 16:09:10 +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
dante 423c1d8dd3 Make AdvanSys narrow driver compile on BIG_ENDIAN machines.
Thanks to Izumi Tsutsui
1998-10-06 14:44:21 +00:00
thorpej 11bc54234b In epic_init(), attempt to start output on the interface once the interface
is initialized.
1998-10-05 19:10:22 +00:00
matt d9cb3415b1 Fix typo (pointed by Matthias Drochner). 1998-10-02 20:00:28 +00:00
drochner 1693b8b4a6 minor changes to console handling in zstty_attach():
-wait 20ms between printf() and reconfiguring the hardware
-set cn_tab->cn_dev here because this is the place where the real minor
 number is known
1998-10-01 18:52:42 +00:00
matt bf8783afa4 Fix the receive length so it includes the extra bytes in the fddi_header. 1998-09-28 20:37:12 +00:00
matt 43b462df88 Insert the FDDI control bytes in pdq_ifstart before we load the dmamap
and dmasync the data.  Fix pdq_os_receive_pdu to use PDQ_OS_HDR_OFFSET
instead of PDQ_RX_FC_OFFSET.
1998-09-28 18:01:43 +00:00
matt a1528c368d Fix transmit handling (this also should speed up transmits
slightly).
1998-09-28 17:13:54 +00:00
dante b2a68e14db Change sources to be KNF 1998-09-26 19:53:34 +00:00
dante da0a3e615e Add support for AdvanSys Ultra Wide boards ABP-9xxUW 1998-09-26 16:09:32 +00:00
dante c6ccd1d83f Remove Wide boards references
Adjust copyright

At this time this driver support the following AdvanSys boards:
- ABP-9xx
- ABP-9xxU
- ABP-9xxUA
1998-09-26 16:02:56 +00:00
mark 7d6c07a559 Use the data32iot and data32ioh members of the wdc_attachment_data
structure for 32 bit transfers.
Test for 32 bit capability on data transfers currently restricted to 16 bit
only.
1998-09-22 00:27:51 +00:00
mark 962edcdc03 Add data32iot and data32ioh members to the wdc_attachment_data structure.
This bus space tag and handle is used for 32 bit data transfers i.e.
when WDC_CAPABILITY_DATA32 is enabled as the 32 bit data register may
not be part of the standard drive registers.
1998-09-22 00:21:16 +00:00
pk 0b10e1ddab Parallel port support routines. 1998-09-21 21:26:51 +00:00
matt ad921921e4 Add softserial to the alpha port. This significantly improved PPP
throughput on com ports.
1998-09-21 00:33:16 +00:00
matt 08e1d890a4 Changes so that BPF readers will get the data in fddi packet aligned along
normal boundaries.  This makes tcpdump much happier.
1998-09-20 02:36:08 +00:00
matt 935fbed4fe Make sure data in FDDI packets are aligned nicely (for alpha, etc.) 1998-09-19 21:21:25 +00:00
mjacob 1dac5b5291 Several changes, including some stub fibre target mode stuff. Establish
a slightly different fibre startup (print ALPA now too). Change
the way that return values from dma setup is done. Make debug messages
out of some queue overflow situations. Turn PORT LOGGED OUT into
Selection Timeout equivlaent. On isp_restart actions don't blow off
the commands with HBA_BOTCH (XS_DRIVER_STUFFUP) - set them with HBA_BUSRESET
(which is defined as XS_DRIVER_STUFFUP until someone decides whether
the suggested change to the midlayer NetBSD is worthy of inclusion).
1998-09-17 23:05:46 +00:00
mjacob a0a31568e8 cleanup header to be just NetBSD, roll rev, change QDEPTH to QAVAIL macro 1998-09-17 22:52:54 +00:00
mjacob 0e0010df41 cleanup header to be just NetBSD 1998-09-17 22:52:14 +00:00
mjacob cb787c768d add some target mode definitions 1998-09-17 22:51:54 +00:00
mjacob 24717f3c3a cleanup header to be just NetBSD 1998-09-17 22:50:53 +00:00
is 95807e512a Garbage collect unused 3rd parameter to comprobe1(). 1998-09-16 21:30:58 +00:00
scottr 7aa4d4483e Revert the last change: returning COMPLETE is clearly the wrong thing to do
if we weren't polling to begin with.
1998-09-16 05:36:35 +00:00
scottr 0af57c2461 Correct a serious problem that affects at least front ends that can only
use PIO (or equivalent) code to do asynchronous transfers:  In
ncr5380_scsi_cmd(), test to see if the request has been completed after
the call to ncr5380_sched(), and return COMPLETE if so.  This avoids
going into an infinite loop in scsipi_execute_xs() while waiting for an
interrupt to trigger completion of the transfer... which, of course,
never happens, since it's already done.
1998-09-14 05:56:14 +00:00
mycroft 32f42fe1e9 Make sure all voices are deallocated on close. 1998-09-13 04:41:34 +00:00
jonathan ea4898c76c Add arc as a target platform. 1998-09-11 19:39:28 +00:00
kenh 9539399333 Add support for passing device quirks from the attachment routine,
and add support for a NO_EXTRA_RESETS quirk (required by the TEAC
IDE Card/II, which the Vaio uses).
1998-09-10 19:24:45 +00:00
mjacob 4a1ccd2fe7 turn into a debug message an ABOUT F/W failure. Add ISPCTL_UPDATE_PARAMS isp_control case 1998-09-10 17:10:27 +00:00
thorpej 9ce5ae6b97 Protect Debugger() call a'la uha driver. PR #6070, Gary D. Duzan. 1998-09-09 05:28:58 +00:00
thorpej d1fba4e7e5 Don't use M_WAITOK to allocate the ring buffer; we could be in interrupt
context.  Reported by Lennart Augustsson.
1998-09-09 05:17:53 +00:00
mjacob a79310ba38 Major reworking of initialization code, addition of NVRAM reading, usage
of device speed updating, etc... A lot of FC and other case statement
handling. Whew. Too much to really detail here.
1998-09-08 07:28:50 +00:00
mjacob 6e2341ae63 Roll major revision. Change some definitions around. Add more current device
state stuff. Make DPARM flags full 16 bits (no shifting needed) and add
the 2 new ones for the 7.55 f/w.
1998-09-08 07:27:04 +00:00
mjacob 542648bf0e Move all ASYNC definitions here (after all, they're mailbox registers).
Clarify FC initialization control block. Add macros for setting WWN
into same. Add a wad more definitions in this area.
1998-09-08 07:24:23 +00:00
mjacob 170521610e Add more ASYNC event codes here. Add NVRAM definitions. 1998-09-08 07:22:06 +00:00
mjacob c0eabb441f add case for going from probetime to runtime speeds 1998-09-08 07:19:58 +00:00
mjacob 9752520872 roll revision, change default tagging to simple tags 1998-09-08 07:18:56 +00:00
pk b871ab5f2c Use the new "%b" format for the various control register bits. 1998-09-06 21:39:33 +00:00
christos 344ed1eaef Assign copyright to TNF. 1998-09-05 14:20:01 +00:00
mark ba8c6b9828 arm32 now supports soft serial interrupts. 1998-09-05 04:25:35 +00:00
is a3ee69c87a Split SMC chipset ARCnet driver into
- machine independent chip driver, in dev/ic/smc90cx6.c/...reg.h,...var.h,
  using bus_space methods
- ZBUS frontend in arch/amiga/dev/if_bah_zbus.c
- added IPL_SOFTNET to arch/amiga/include/intr.h, for this
Implementing the ISA bus frontend is left as an exercise to the reader.
1998-09-02 22:32:06 +00:00
pk 380e88d4f0 Adjust some comments. 1998-09-01 22:56:00 +00:00
jeremy 6693724a83 Changed inaccurate comment on the sc_freq member of the driver's softc
structure.  The frequency is represented in MHz rather than Hz. [PR/6805]
1998-09-01 22:22:03 +00:00
pk fec2fa9e43 Typo in device Id mask. 1998-09-01 21:04:43 +00:00
cgd d58173741d kill the last remnants of __BROKEN_INDIRECT_CONFIG. (only the pica port
used it, and it's non-working and apparently slated for replacement.)
1998-08-31 22:28:04 +00:00
pk 860867bfec macro argument protection. 1998-08-31 11:13:10 +00:00
pk 73b946e04e LSI64854 DMA engine driver.
Currently used by Lance Ethernet and NCR SCSI front-ends on sparc/sparc64.
1998-08-29 21:42:03 +00:00
dante 17759893b0 Add rcs id 1998-08-29 13:44:49 +00:00
thorpej 370a38c007 Add braces to make egcs happy. 1998-08-28 20:03:10 +00:00
thorpej f3bfb08d45 When determining the default media on the Vortex/Boomerang, don't pick
the full-duplex variant.  XXX We should check the EEPROM for "default to
full-duplex".
1998-08-28 18:16:02 +00:00
pk b1447741da Nuke Dprintf; fix formats. 1998-08-28 08:59:14 +00:00
pk dd0709d28d Add selected `%b' bits. 1998-08-27 20:05:11 +00:00
pk 142bff0170 Add missing entries and make it slightly more verbose. 1998-08-27 19:53:02 +00:00
pk b3279eb3dc Move a few prototypes.
Whitespace cleanup.
1998-08-27 18:45:12 +00:00
pk fc397afa14 debug level 0 1998-08-26 15:06:37 +00:00
dante d9e417cde9 Add AdvanSys 930U and 940U SCSI controllers 1998-08-26 14:13:58 +00:00
augustss 6633896a67 Do some renaming of registers and make sure we get sound in both
channels on OPL3.
1998-08-26 13:08:10 +00:00
augustss bb3c56652c Make the OPL driver turn on the sound on sound cards that require it.
That makes it much more likely that we get any sound.  DUH!
1998-08-26 12:10:22 +00:00
thorpej bc21c243cd For non-MII Vortex/Boomerang, set full-duplex in the MAC CONTROL register
in epsetmedia() if full-duplex is selected (new feature on these cards!)

On MII Boomerangs, set the full-duplex bit in MAC CONTROL in the statchg
callback from the MII layer.  Should fix full-duplex on these cards.
1998-08-26 01:32:41 +00:00
thorpej 19b759c2e4 Define the full-duplex bit in the W3 MAC CONTROL register. 1998-08-26 01:29:03 +00:00
pk d4ec33b5f0 The new MI part of the AD1848 driver. 1998-08-25 22:36:40 +00:00
tv 54bf4389f9 egcs brace warning 1998-08-24 02:34:44 +00:00
augustss f2ff59edc5 Change debug output. 1998-08-22 22:54:11 +00:00
pk 177621555f remove sparc hack: there's a bus.h now. 1998-08-20 11:42:55 +00:00
pk 1f007a13cc Cast bus_size_t to u_long in printf() args. 1998-08-20 11:42:13 +00:00
thorpej b43fc64da6 Registers for the Brooktree Bt463 RAMDAC. 1998-08-18 07:43:09 +00:00
thorpej 6bfd748b46 First-crack at RoadRunner (3c574-TX 10/100Mbps PCMCIA). Doens't yet use
any of the RoadRunner speed hacks.
1998-08-17 23:20:39 +00:00
augustss cd09067eb4 * Redo the way the way the MIDI driver attaches to audio devices.
* Improve the midisyn layer a little.
* Add a driver for the Yamaha OPL[23] FM synths.
  The opl driver is not finished yet; it sounds pretty awful.

For some strange reason I cannot get any FM sound from my SB64 cards,
but a regular SB16 works fine.
1998-08-17 21:16:09 +00:00
mycroft a1ac68819f Assign my copyrights to TNF. 1998-08-17 00:26:32 +00:00
matt 2a5371253c splnet() is not appropriate for everyone. Raise and lower SPL via
macros defined in pdqvar.h
1998-08-16 03:44:42 +00:00
thorpej cbcc3cfa46 Oops, back out something that I didn't intend to commit. 1998-08-16 01:16:57 +00:00
mycroft d07b3639a4 Assign my copyrights to TNF. 1998-08-15 17:47:15 +00:00
thorpej c2f2b0d431 RoadRunner has a bit in Reset Options that must be set to enable the MII.
Define that bit.
1998-08-15 16:50:07 +00:00
thorpej a0aca43d11 Reset Options is in Window 3; correct a comment. 1998-08-15 16:47:30 +00:00
thorpej 479d8b25bf The 3c515 (Corkscrew) and 3c574 (RoadRunner) have their Window 1 registers
offset!  Define an inline function to compute the Window 1 register offset
and use it.
1998-08-15 16:20:51 +00:00
thorpej 31a3d86b80 Define the Corkscrew chipset - used by the 3c515 ISA 10/100mbps cards. 1998-08-15 16:15:40 +00:00
mycroft 62b1bf3e2e Assign my copyrights to TNF. 1998-08-15 10:51:16 +00:00
mycroft 6dc903202f Assign my copyrights to TNF. 1998-08-15 10:10:47 +00:00