Commit Graph

4253 Commits

Author SHA1 Message Date
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