Commit Graph

4429 Commits

Author SHA1 Message Date
augustss 65145fce2c Fix typo. 1998-12-02 17:11:51 +00:00
augustss 41095ae62a Add some new devices. 1998-12-02 17:02: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
christos a5d7ea15aa Regen. 1998-12-02 09:43:15 +00:00
christos 8692433023 add the compat id for the aha-1542cp 1998-12-02 09:42:57 +00:00
sommerfe 57ba10cfab Change ofisa attachment comparable to change drochner made to isa
attachment.  Works at least well enough to allow kernel to build &
boot on diskless shark with wdc controller in it.
1998-12-02 00:18:41 +00:00
tsubai 75ed099b01 struct ataparam has endian dependence, so add big-endian case. 1998-12-01 13:06:37 +00:00
augustss 8ae89c20dc Do untimeout() for the timeouts we set up.
(How can this ever have worked?)
1998-11-30 21:39:20 +00:00
jtk aeec8f4cb2 regen 1998-11-30 19:47:53 +00:00
jtk cef29c6e94 Per PR/6172 (Johnny Lam, lamj@stat.cmu.edu), fix pcidevs identification
of CL-PD6729.  See <http://www.cirrus.com/products/overviews/pd6729.html>.
1998-11-30 19:47:16 +00:00
leo 7c72f9361b Change comment about isa_intr_establish() as discussed on tech-kern. 1998-11-30 12:57:10 +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
ragge f07a586dc6 the btoc/ctob/btop macros must use CLBYTES, not NBPG. How this should
work in the long run is an open issue; some parts must be reworked
in a MI way.
1998-11-29 14:48:51 +00:00
thorpej 2407a4bd22 Regen. 1998-11-29 02:00:33 +00:00
thorpej feb6a5652f Fix the original Rhine's part number (thanks to Greg Oster). 1998-11-29 02:00:13 +00:00
thorpej 17ac4ec4c5 Regen. 1998-11-29 01:54:16 +00:00
thorpej f051479ec7 Garbage-collect some bogus RealTek entries. 1998-11-29 01:54:02 +00:00
thorpej ecaece3f26 Add product IDs for the VIA Rhine and Rhine-II 10/100 Ethernet chips.
(XXX What is the original Rhine's part number?!)
1998-11-29 01:53:33 +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
drochner b0bb754f03 regen 1998-11-27 10:43:52 +00:00
drochner d5a92a68de add Powerstorm 4D50T graphics found in some Alphas 1998-11-27 10:39:16 +00:00
hannken 246a68a003 Add support for `AdLib NSC 16 PNP' as wss, joy.
Record source selection needs work.
1998-11-26 21:45:13 +00:00
mcr dcfd79f257 regenerated pcidevs.h and pcidevs_data.h due to kern/6280
(not kern/5847 as originally noted)
1998-11-26 20:05:38 +00:00
pk bb12def997 Use `pcmciabus' to attach the Sbus to PCMCIA bridge. 1998-11-26 15:33:29 +00:00
pk cfe66472ab Use `pcmciabus' as the PCMCIA attachment 1998-11-26 15:32:44 +00:00
leo bea7038c02 The IOMEGA ZIP 100, J.03 does not grok LUN's. 1998-11-26 13:39:14 +00:00
augustss ca707fcdf2 Make the copyright header conform to the NetBSD template. 1998-11-25 22:32:04 +00:00
augustss 9726cfd1fb Make the copyright header conform to the NetBSD template. 1998-11-25 22:17:06 +00:00
bouyer cc6a0ef02b Use bus_dma(9) for the DMA ops in fxp_init() too. Without this the driver
was stuck in the while (!(cbp->cb_status & FXP_CB_STATUS_C)); loop,
I think because the relevent CPU cache entry was never updated.
This was on a compaq deskpro system.
1998-11-25 17:19:09 +00:00
mycroft 53698488ff Do not permit a class to be recorded as a master or monitor port. 1998-11-25 13:44:13 +00:00
mycroft 3357fbeefb Minor format change. 1998-11-25 13:39:37 +00:00
drochner 5888c5ef44 a small optimization for the compat interrupt handling, possible after
channel_softc is within pciide_channel
1998-11-24 19:54:20 +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
kenh 48f2e0ae6c Add a new flag to wdc_command: ATA_READREG. This will indicate that all
device registers should be read back into the wdc_command structure after
successfull command completion.  Use this this in wdioctl() for
ATAIOCCOMMAND.
1998-11-23 23:00:26 +00:00
mcr 4cb534cca1 added 82443BX_AGP_NOT as per kern/5847 1998-11-23 22:54:02 +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
christos 3ebca7fd4e regen 1998-11-23 20:49:20 +00:00
christos bb7d20f01a add adaptec aha attachment 1998-11-23 20:48:34 +00:00
christos f2bd402051 add adaptec aha attachment. 1998-11-23 20:47:51 +00:00
pk 2814b02ec8 Define STP4020 chipset driver by its nickname `nell'.
XXX - also define a `pcic' attribute here, so we can attach a pcmcia bus
1998-11-22 22:17:27 +00:00
pk 5e4ad115c3 The beginnings of a driver for the Sbus <=> PCMCIA bridge chipset STP4020. 1998-11-22 22:14:35 +00:00
pk 0f7176ff24 Remove unwanted inclusion of an isa header file. 1998-11-22 21:58:50 +00:00
pk 0800aaa223 Move the `wdc' device into `conf/files'. 1998-11-22 21:57:47 +00:00
augustss 32dd1a1d5a Make sure the Endpoint Descriptor gets the correct maximum packet size. 1998-11-22 20:21:22 +00:00
fvdl c312dc3f08 Avoid looping forever with cards that can only use one I/O address,
and specify a 0 alignment.
1998-11-21 23:38:11 +00:00
augustss c73add02ca Fix some typos. 1998-11-21 18:57:09 +00:00
drochner 152d52c171 headers for new hardware support in pciide.c. from Manuel. 1998-11-21 16:06:45 +00:00
drochner 9effbbe436 some restructuring, more or less to get support for weird IDE controllers,
eg the Cypress ISA bridge:
-put channel mapping into the chip specific part, unify with
 channel_probe() into channel_map()
-use pointer to channel data as function call argument wherever possible
 instead of the channel number
-allow the "compat" channel number to differ from the per-controller
 channel number - for mapping and interrupt functions
-add support for SiS5598 and Cypress 82C693 chips
Mostly done by Manuel, I only contributed to the first 2 items.
1998-11-21 15:55:31 +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
thorpej 7693f53714 Detach children in reverse order. We are more likely to be able to recycle
cloned unit numbers that way.
1998-11-20 05:20:20 +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 8c2f638d29 Add support for power management and lazy interrupt establishment to the
PCMCIA aic6360 attachment.
1998-11-20 02:12:15 +00:00
thorpej 792462c236 Add support for power management and lazy interrupt establishment
to PCMCIA IDE controllers (include PCMCIA flash cards).
1998-11-20 01:52:22 +00:00
thorpej d0a4fb616f Implement controller reference counting on ATA devices. 1998-11-20 01:23:52 +00:00
thorpej 4ba3417429 Implement reference counting for ATA adapters. 1998-11-20 01:22:37 +00:00
thorpej 6a60e078ee Add adapter reference counting for SCSI and ATAPI devices. 1998-11-20 00:35:39 +00:00
kenh 510830d2c3 Rename WDCIOCCOMMAND (and related structures) to ATAIOCCOMMAND 1998-11-19 23:44:20 +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 baec89716d Add a reference to the adapter when the scsibus is opened, and delete it
when it is closed.
1998-11-19 22:28:20 +00:00
thorpej 54b52fb5f6 Add a reference to the adapter before probing the bus, and delete it
once we are done probing.
1998-11-19 22:25:56 +00:00
thorpej 3b068a6c78 Adapt to the new scsipi_adapter interface. 1998-11-19 21:53:32 +00:00
thorpej 5f0577babc Adapt to the new scsipi_adapter interface. 1998-11-19 21:43:00 +00:00
thorpej e87fa217f4 Add support for reference counting and enabling/disabling SCSI and
ATAPI controllers.  This will eventually be used for power management
of e.g. PCMCIA SCSI and IDE controller cards.
1998-11-19 20:08:52 +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 9bc9937238 Add support for the WDCIOCCOMMAND ioctl. This allows the sending of
arbitrary ATA commands from user-space.  Concepts mostly taken from
the implementation of the SCIOCCOMMAND ioctl.
1998-11-19 19:46:12 +00:00
mrg db3051d720 fix problems in many d_mmap routines:
- returned EOPNOTSUPP rather than -1.
	- no check for negative offset.
many of these fix potential security problems in these drivers.


XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
	paddr_t (*d_mmap) __P((dev_t, off_t, int));

by someone!
1998-11-19 15:38:20 +00:00
nisimura fec5fef8a5 - Fix an error in cursor color manipulation. 24bit RGB value was mistakenly
assigned to unsigned short variable.
- XXX PMAG-DV is supposed to emit virtical retrace interrupt, which can be
used for colormap/cursor update just like other TURBOchannel framebuffers.
1998-11-19 06:52:49 +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 fd684d874c Protect against multiple inclusion. 1998-11-19 03:45:39 +00:00
thorpej 4e8bf2fa99 Make the attachment messages a little prettier:
com3 at pcmcia1 function 0 port 0x2e8-0x2ef: serial device
com3: ns16550a, working fifo

I.e. don't wrap the line.
1998-11-19 00:04:02 +00:00
thorpej ac7560ad4a Add support for hot-swapping PCMCIA serial devices. 1998-11-19 00:01:30 +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 257d3e31ae Move the i/o window unmap and i/o space free into *_detach(). 1998-11-18 18:15:56 +00:00
kenh 7faa4da4bc Don't protect this with #ifdef _KERNEL 1998-11-18 16:32:29 +00:00
oster b66ca92f4a Initialize (to NULL) a variable in rf_CvscanPromote(). 1998-11-18 15:13:51 +00:00
nisimura 4184d87669 - Fix cursor image handling bugs escaped in last commit. 1998-11-18 12:26:31 +00:00
thorpej d088902264 Add detach and activate entry points. Mostly functional except for
#ifdef notyet'd if_delref() and if_detach(), which will be fixed up
when that code is committed.
1998-11-17 20:44:02 +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
mycroft cb703f0332 If a channel has no drives, do *not* unmap its I/O regions.
It's not really safe to use them for anything else, and in legacy mode it
will just cause us to probe the channel again as an ISA device.
1998-11-17 17:59:14 +00:00
bouyer 0af9847a2d The ATAPI-specific hack is not needed any more. 1998-11-17 14:46:26 +00:00
bouyer 0d0ff884e5 In atapi_wdc.c, issue a 'REQUEST SENSE' command when appropriate.
Return XS_SENSE when the full sense info has been retrieved, or
XS_SHORTSENSE if only the sense key was available (from the error register)
Make atapi_interpret_sense() deal with this, and call scsipi_interpret_sense()
for XS_SENSE. (XXX sd_interpret_sense() and the ioctl code needs to be made
aware of XS_SHORTSENSE too ! sense hanlding for these is now less broken for
devices that support 'REQUEST SENSE')
All the ATAPI devices I have access to seems to honnor the SENSE_REQUEST
command, but I suspect some ATAPI devices will not (althouh it's mandatory).
The code should be able to deal with this, but is untested ...
1998-11-17 14:45:39 +00:00
bouyer 00d93f776b Rename scsi_interpret_sense() to scsipi_interpret_sense() and move it from
scsi_base.c to scsipi_base.c. Rename the functions from scsi_verbose.c
too, and rename the file itself. Cleaup includes too (scsi_*.h should not
be #included in scsipi_*.h files, which are supposed to be
common to atapi and scsi).
1998-11-17 14:38:42 +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 fade033791 Print out which IRQ is being used for which slot, when the interrupts
are established.
1998-11-16 22:35:18 +00:00
thorpej d2afdb5b59 Fix some whitespace lossage, canonicalize some media names. 1998-11-16 19:13:31 +00:00
bouyer d74652866f For ATAPI IDENTiFY, poll only for DRQ, some devices don't assert DRDY at this
point.
1998-11-16 11:25:41 +00:00
itohy 59bed57519 Oops, I should have been more careful about the last modification....
Since D-Link DE-650 is not the only exception, restore Linksys EC1 entry to the
previous position and move D-Link entry below that to make the source cleaner.
1998-11-16 08:17:01 +00:00
mycroft 7eac22153a Use types.h, endian.h and limits.h to configure the RAIDframe
types correctly for all hardware platforms.
1998-11-16 04:14:10 +00:00
hubertf 3f1c86b59e compile with DEBUG=1 1998-11-15 00:01:24 +00:00
drochner 047a7756d8 use mi register definitions 1998-11-14 16:31:34 +00:00
thorpej 3e6164e173 Make a comment about what pcmcia_detach_card() should do. 1998-11-14 01:54:25 +00:00
drochner a0c0e7eff1 fix egcs warning 1998-11-13 13:47:56 +00:00
drochner acdd660ace fix callback type 1998-11-13 13:45:15 +00:00
simonb a9c167b273 prototype un-prototyped functions 1998-11-13 11:51:55 +00:00
simonb 8e893eff9e Add braces around 'if' to pacify egcs 1998-11-13 11:48:26 +00:00
mycroft 5ab6a8555e Fix one last bug in the multicast filter calculation.
sdr and vic work now, at least.
1998-11-13 09:37:46 +00:00
oster 38a3987b69 RAIDframe, version 1.1, from the Parallel Data Laboratory at
Carnegie Mellon University.  Full RAID implementation, including
levels 0, 1, 4, 5, 6, parity logging, and a few other goodies.
Ported to NetBSD by Greg Oster.
1998-11-13 04:20:26 +00:00
thorpej d272bb0024 Handle the case where ccdbuffer() fails due to memory shortage. Build
a fifo of component buffers, and free them if ccdbuffer() fails.  Once
all component buffers are build, run through the fifo and fire off the
requests to the components.
1998-11-13 01:00:15 +00:00
thorpej 092c201932 Simplify calling of ccdbuffer() now that the mirroring code is nuked. 1998-11-13 00:35:57 +00:00
thorpej ab27c3f89c Return EINVAL if invalid flags are passed. 1998-11-13 00:31:02 +00:00
thorpej 00172c10d5 Nuke the mirroring code. RAIDframe is about to go in, and is a much
better mirroring solution.

The ccd driver will stay, even in the presence of RAIDframe, for applications
where just RAID-0 is needed (much smaller code footprint).
1998-11-13 00:26:19 +00:00
thorpej b6ac7c9b6b Must use PR_NOWAIT when allocating component buffers. 1998-11-12 22:39:57 +00:00
bouyer 56107b8e10 Force PCI_COMMAND_MASTER_ENABLE if DMA has been setup properly. The BIOS is
supposed to do it but who knows ...
1998-11-12 15:05:29 +00:00
drochner a16b0cc7db regen 1998-11-12 14:09:20 +00:00
drochner 0c0b302fba -add an NE2000 clone, info from PR kern/6430
-add comment for PCNET/isapnp (ID is vendor specific)
1998-11-12 14:06:34 +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
mycroft b8974fbf40 Fix yet another bogon in the multicast filter calculation. 1998-11-12 13:03:51 +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
thorpej 1a5d2ce537 File is obsolete. 1998-11-10 05:56:31 +00:00
matt 1b8620b9fb Cleanup media set on Alpha. ring txpoll after setting proper tx
interrupt mask.
1998-11-09 23:41:14 +00:00
thorpej a1b2be7e1d Const poisoning. 1998-11-09 23:12:48 +00:00
thorpej 9f20ff377a Make the device lookup table-driven, like if_ep_pci.c. 1998-11-09 23:12:18 +00:00
bouyer 432a301fc6 Support for the CMD PCI064{3,6}. Tested on a 0646 with a
"wd0: PIO mode 4, DMA mode 2, UDMA mode 2" device.
1998-11-09 09:21:09 +00:00
msaitoh 21e1b057bc Sorry, I forgot to revert "#if 0". 1998-11-09 07:01:47 +00:00
nisimura 9d716ec821 - Fix many errors in cursor image manipulation. Hardware expect 2
bit/pixel format, not planer format.  Assign MSB for cursor mask and
LSB for cursor image, where 10 means mask color and 11 for image color.
Image bit order of Bt431 and Bt459 are opposite to MIPS/Alpha processors
while IMS G332 and DC503 (PCC) are indentical.
- Assume that cursor images are 32 pixel padded as ULTRIX/DU ws interface
do.  It's natural to X server.
- XXX Vast majority of codes are duplicated between mfb<->tfb and cfb<->sfb.
Code sharing might be achieved in the context of TGA/SFB+ merge.
1998-11-09 03:58:05 +00:00
veego 2749e8b74a We don't need the pci headers here. 1998-11-08 22:02:25 +00:00
fvdl d878e9efc8 Rely on priority match to resolve conflict with the ex driver, not on
a define.
1998-11-07 23:06:26 +00:00
drochner f213d2f96a use common code for extended capability (power management)
let "match" return 2 (> ep_pci)
1998-11-07 16:53:19 +00:00
drochner bbe9d71415 add support for "extended capabilities" (new in PCI spec 2.2) 1998-11-07 16:47:22 +00:00
kenh e58cf6b359 Add definitions for the ATA power management commands 1998-11-05 22:49:09 +00:00
ragge fbed93d50d EGCS fixes. 1998-11-05 19:48:04 +00:00
msaitoh 37bbf03777 fix pcic_chip_socket_enable() to works on more machines. 1998-11-05 07:55:48 +00:00
thorpej 2b695df1dc Common code for media-from-bmcr. 1998-11-05 04:08:01 +00:00
thorpej aabf2a0809 In the status routine, always use the media selected in the BMCR if
autonegotiation is not enabled.  This is more reliable on many PHYs,
and requires fewer register reads.
1998-11-05 04:01:32 +00:00
thorpej c755434d9d Regen. 1998-11-05 03:43:57 +00:00
thorpej 84def70194 Add AMD's OUI, and the model number for the AMD 79C873 10/100 Ethernet PHY. 1998-11-05 03:43:43 +00:00
thorpej 567710942c Add a driver for "generic unknown PHYs", meant as a catch-all for
PHYs we don't have specific drivers for.  While this will not give
optimum operation, it will allow network interface drivers to at least
function while drivers for their specific PHYs are written.
1998-11-05 00:36:48 +00:00
thorpej 7d76571fd1 Tidy up the message from mii_print() somewhat. 1998-11-05 00:30:44 +00:00
thorpej 2a17544c19 Place the essentially common "ticks" and "active" members into the
mii_softc (generic phy goo), and just switch all of the PHY drivers
(except tlphy, which really does have special stuff) to use an mii_softc
instead of a private one.
1998-11-05 00:19:32 +00:00
thorpej f66039cbce Routines common between the Uknown PHY driver (forthcoming) and other
PHY drivers.  This file has ukphy_status(), which is what PHY drivers
should use if media detection is done by decoding NWay.
1998-11-04 23:59:51 +00:00
thorpej ad8b66c7c8 Return a higher-priority match than 1. These are specific drivers. This
allows for a "generic unknown PHY" driver to be implemented.
1998-11-04 23:44:09 +00:00
thorpej 51da8fc39f Factor out the common reset code. Use the NOISOLATE flags as appropriate
to prevent a PHY from being isolated in the event the MAC can't deal with
this.  (3Com 3c905B-TX, and Intel i82557).
1998-11-04 23:28:15 +00:00
thorpej b097394468 Factor out some common code from all the PHY drivers (autonegotiation, for
now.)
1998-11-04 23:07:15 +00:00
thorpej 844622de9c Define and use generic PHY read/write reg macros. 1998-11-04 22:15:40 +00:00
itohy 2d3363a6d0 regen. 1998-11-04 06:41:57 +00:00
itohy b0e0dc2101 (manufacturer, product) = (0x149, 0x265) is used both
"Linksys EthernetCard" and some new versions of "D-Link DE-650".
Changed the product string as such.
1998-11-04 06:40:54 +00:00
itohy 5bf12ef4b9 Allow newer versions of D-Link DE650 cards (the manufacturer and
the product are valid and the same as Linksys EthernetCard's) work
with the current ne driver.
Somewhat kludgy.
1998-11-04 06:37:09 +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 b5ebc7dd87 Driver for Seeq 80220/80221/80223 10/100 Ethernet PHYs. 1998-11-03 23:51:29 +00:00
thorpej 7fe67ebc21 Add support for the Seeq 80c24 AutoDUPLEX media interface which was nuked
when this driver was changed to use the MAC-independent MII code.  This
"PHY" does not have a programming interface, but simply senses the duplex
mode from the link partner.  Since it is not possible to read the 80c24
to determine the link type or status, we consider this to be "manual".
1998-11-03 05:47:38 +00:00
thorpej cbcaaa3bc3 Make sure that a delay loop actually has some delay in it, and use IFF_OACTIVE
as appropriate.
1998-11-03 05:04:49 +00:00
thorpej 49d750db09 Regen. 1998-11-03 05:02:25 +00:00
thorpej 8adfcb5246 Define the model ID of the Seeq 84220 10/100 PHY. 1998-11-03 05:01:49 +00:00
thorpej 19fd5d178f 3Com PHY can't be isolated, so don't allow IFM_NONE. 1998-11-03 00:18:18 +00:00
thorpej 3f98e69b07 Driver for the Integrated Circuit Systems ICS1980 10/100 PHY. 1998-11-02 23:46:20 +00:00
thorpej 1f074c785d When doing a media change service request, use the media word from the
current ifmedia_entry, not from the user-supplied media word.  The
user supplied media word may not necessarily match e.g. instance (if
the parent MAC driver is intentionally ignoring instance if its expecting
multiple PHYs with non-overlapping media, e.g. TI ThunderLAN) the media
word we are actually switching to.

Since PHY drivers use `instance' to determine if they should isolate
themselves, the ThunderLAN PHY was sometimes being incorrectly isolated
when in fact the user attempted to select that PHY (for e.g. BNC operation).
1998-11-02 22:31:36 +00:00
christos 1cfb41e0d6 make this compile again (missing semi-colon) 1998-11-01 01:04:48 +00:00
thorpej d08eb2a32b Add code to detect a RealTek 8019 chip, and use the media selection
support if present.
1998-10-31 01:44:16 +00:00
thorpej 7d4ee06d3e Use the rtl80x9 common code for media selection. 1998-10-31 00:45:48 +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
thorpej de14bf4f80 Manuel confirms that defaulting to AUTO is ok, to Do It. 1998-10-30 23:30:16 +00:00
thorpej ed473183ef Define the FORMAT UNIT command, and several related structures. 1998-10-30 02:07:15 +00:00
nisimura 6020153959 - Assign copyright terms. 1998-10-30 00:53:12 +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
nisimura e29350c92c - Introduce MI NWSCONS drivers for TURBOchannel framebuffer option cards.
N.B., Digital UNIX never supports neither PMAG-AA (mfb) nor PMAG-BA (cfb)
for TC Alphas.  PMAG-DV (xcfb) is Personal DECstation built in.  All should
be good for console, but need much works for cursor/colormap completeness.
1998-10-29 12:24:24 +00:00
enami 9ddbeaedbb - match if the function just probing is disk and its interface is ATA.
- use product table only for the card which requires quirks or doesn't
  have disk device interface tuple.
1998-10-29 09:49:51 +00:00
enami 3f3c763b1b Define some constants for function extension tuple of disk function. 1998-10-29 09:45:52 +00:00
enami 634f1b5bf7 fix typo and some indentation. 1998-10-29 09:42:45 +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 04c995f517 Add support for media selection to the PCI front-end of the NE2000
driver.  Currently supports:

RealTek 8029: 10base2, 10baseT, 10baseT-FDX, auto detect (but not FDX).
1998-10-28 00:15:54 +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
thorpej 925077cfb9 Holy smokes, batman! Actually fill in the "init_card" entry point! 1998-10-27 22:45:13 +00:00
thorpej a45667c4c3 Add register definitions for PCI NE2000-compatible extenstions, allowing
control over e.g. full-duplex mode, media, etc.

Currently, only extensions for the RealTek 8029 are defined.
1998-10-27 22:30:56 +00:00
thorpej e5c050d79c Cosmetic changes in product lookup, to match other drivers. 1998-10-27 19:49:37 +00:00
thorpej 2fd1cb5817 Regen. 1998-10-27 00:55:46 +00:00
thorpej 64acdc1e7a Product ID for Xircom CreditCard CE2 10base-T Ethernet. 1998-10-27 00:55:30 +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 ffe41a4f8f Remove unused sc_iot/sc_ioh fields. 1998-10-25 23:48:56 +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 6e73d89afc PR/6274: John Ruschmeyer: Add isa/i386 ncr53c80 driver.
XXX: Needs work. We need to fix the probe/find goo, and add support for the
     pas16 cards.
1998-10-25 18:41:56 +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
thorpej 86fca03a0d Driver for the Level One LXT-970 10/100 Ethernet PHY. 1998-10-24 00:33:17 +00:00
bouyer 354f32509f Pass the rigth argument to wdcintr(). Closes PR 6342. 1998-10-23 13:58:17 +00:00
thorpej afbf922a93 Don't print the revision of the 3c905B-TX's internal PHY; it's meaningless. 1998-10-23 01:52:50 +00:00
thorpej 322ba3cc84 Make sure the parent is an `ex'. The 3c905B-TX's internal PHY isn't
the only one w/ non-existent ID registers.  SIGH.
1998-10-23 01:43:09 +00:00
drochner b301435840 back out last change - this file in unrelated to wscons stuff 1998-10-22 18:50:17 +00:00
drochner 01d6f66b07 adapt to keyboard driver changes 1998-10-22 18:37:57 +00:00
drochner 00d699282f separate keyboard handling from serial interface handling some more,
improve bell handling, initialize kbd on powerup
1998-10-22 17:55:20 +00:00
bouyer 31dec5ddc5 Add config flags for pciide: 0x001 forces the use of DMA when the driver
don't know how to set the controller's modes.
1998-10-22 15:11:39 +00:00
nisimura f6490fe309 - General cleanups for NWSCONS zskbd.c and zsms.c Comments for
future improvement work.
1998-10-22 08:37:16 +00:00
briggs b70011edac wscons mouse interface for DEC mice off the Zilog SCC.
Ported from dev/sun/ms.c by Takuya Koumoto <takuya-k@is.aist-nara.ac.jp>.
1998-10-22 01:56:55 +00:00
briggs 605b15b723 Code from Toru Nishimura and Matthias Drochner work on pmax wscons in a
very slightly modified form for wscons support on the TC alpha.
XXX This could use some more work, but this code should be sharable
    among the alpha and pmax systems as-is.
1998-10-22 00:53:24 +00:00
briggs a8950dafc6 Updates from Takuya Kuomoto for wscons support for TC alphas. 1998-10-22 00:50:00 +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
thorpej c0ba12768e Fix a sight open flags buglet pointed out by Matthias Scheler. 1998-10-20 22:26:04 +00:00
is a2386d4325 fully implement soft callback usage 1998-10-20 22:18:13 +00:00
augustss 8aaec6d337 Fix typo. 1998-10-20 21:28:32 +00:00
augustss 1074ab2039 Make seq_input_event() static to avoid a name clash with the (commercial)
OSS audio LKM.
1998-10-20 21:19:22 +00:00
bouyer 1456b01d77 Fix for Apollo DMA mode (not UDMA): DMA mode = PIO mode - 2, not PIO mode + 2 ! 1998-10-20 18:47:45 +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
bouyer 7bdbb5c993 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(). Also use interrupts for wd_get_params in wdopen().
1998-10-20 17:00:25 +00:00
bouyer a7c841cfbc 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:24 +00:00
thorpej 167e694c99 Regen. 1998-10-20 01:39:41 +00:00
thorpej 1715793000 Add RealTek 8129 and 8139 10/100Mb Ethernet IDs. 1998-10-20 01:38:57 +00:00
thorpej f69c40b8be Fix a memory leak in fxp_stop(), from the FreeBSD driver. 1998-10-19 23:51:15 +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 f6f8ba3446 Allow uk to attach at atapibus. 1998-10-19 12:28:52 +00:00
bouyer 5f723da8af Move the "warning: bcount value is %d after io" message in a WDCDEBUG_PRINT.
Ifdef DIAGNOSTIC, print the above message only if bcount is < 0.
1998-10-19 12:28:03 +00:00
bouyer 22acea3cb7 Fix a comment. 1998-10-19 12:26:22 +00:00
bouyer c90c4b829b Add support for the second flavour of the VIA IDE chip (which has UDMA).
Don't claim DMA support if we don't have explicit support for this chip.
They're to may way to loose when trying to use DMA without configuring the
controller and disks.
1998-10-19 12:24:33 +00:00
bouyer 04bdcc421c Regen. 1998-10-19 12:13:57 +00:00
bouyer 682ee5fdf3 Yet another attemp at getting the VIA tech. product name/ID's rigth.
It seems that different products have the same name (sigh).
1998-10-19 12:11:50 +00:00
ragge 18b6b32a67 Support for DWBUA (BI to Unibus adapter) and KLESI-B (TMSCP tape ctlr) added. 1998-10-18 18:47:18 +00:00
bouyer 96a0812fd8 Kill an extra printf("\n"). 1998-10-15 11:38:04 +00:00
thorpej d153ad6324 Some const poisioning. 1998-10-15 07:06:47 +00:00
thorpej 859b5d88a6 Protect kernel prototypes w/ #ifdef _KERNEL. 1998-10-15 05:11:52 +00:00
thorpej 2ebdceb3f7 Forward decl of struct proc. 1998-10-15 05:10:20 +00:00
mycroft ee042cb008 Disable the I/O address, DRQ and IRQ validation; assume that the config file
is sane.
1998-10-15 04:05:53 +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
thorpej 8f460d30f6 Nuke spurious ; 1998-10-14 18:05:45 +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
thorpej dc7cfafe4c Default to "no debugging messages" (still patchable). 1998-10-13 05:39:01 +00:00
kim cd7e3136ad Use ETHERTYPE_ATALK instead of ETHERTYPE_AT. The former seems more common.
Our other constants also use "ATALK".

Added many new ETHERTYPE constants to sys/net/ethertypes.h, including the
ones from libpcap and tcpdump "ethertype.h" files.
1998-10-13 02:34:31 +00:00
enami 13b8051475 Make this file compile again with -DATAPI_DEBUG_PROBE. 1998-10-13 02:09:47 +00:00
bouyer 46aa11acac Adjust include list. 1998-10-12 19:50:09 +00:00
bouyer 19fddaeeb5 Merge bouyer-ide 1998-10-12 16:09:10 +00:00
thorpej 2101c736a3 Make the product lookup table-driven. 1998-10-11 18:42:01 +00:00
augustss 44d4d6a60a Call correct ad1848 attach routine. Fixes PR 6269. 1998-10-11 17:02:36 +00:00
thorpej e0fa7545bf Use pcmcia_io_free() where appropriate. 1998-10-10 22:01:24 +00:00
thorpej 09b6735d35 Define missing pcmcia_io_free(). 1998-10-10 21:59:40 +00:00
thorpej f1c971ea72 Device driver for PCMCIA multi-port serial cards. Currently supports
the Socket Communications, Inc. dual-rs232 device.
1998-10-10 21:27:21 +00:00
hannken f568c6347c Fix last commit -- NISADMA is either 0 or 1. 1998-10-10 13:43:10 +00:00
thorpej fe56f257b2 If the adapter returned XS_RESET and the xfer specifies a retry count,
attempt to reissue the command (which was destroyed by the bus reset).

Slightly modified from PR #6090, from Matt Jacob.
1998-10-10 03:42:53 +00:00
thorpej 16cf223098 Enforce open-for-writing on ioctls that change the bus's state.
Implement ioctl pass-through to the host bus adapter, allowing both
SCBUS* ioctls handled at that level and host adapter-specific ioctls
to be implemented.  Implement SCBUSIORESET as a pass-through.

Inspired by PR #6090, from Matt Jacob.
1998-10-10 03:33:01 +00:00
thorpej 45bf57f8a6 Garbage-collect the SCIOCREPROBE and OSCIOCREPROBE ioctls. This is a
bus-oriented command.  (How much sense does it make to open a device
to rescan the bus?!)
1998-10-10 02:35:30 +00:00
thorpej 1e2b6a99ed Implement the SCBUSIOSCAN ioctl. Rescans the bus for new devices. 1998-10-10 02:34:15 +00:00