Commit Graph

92 Commits

Author SHA1 Message Date
David Greenman
7172ec19fd From Matt Thomas: Finished EISA support. 1995-04-05 08:19:23 +00:00
David Greenman
1fca221ae2 Patch from Matt Thomas to fix mbuf leak in FDDI driver. 1995-04-01 01:43:56 +00:00
Justin T. Gibbs
bbf437ee54 Mask the call to ahc_attach with an splbio/splx pair. This allows us
to poll succesfully even if we are sharing the interrupt.

Register the interrupt handler before the attach.

This commit makes the 294x PCI shared interrupt compliant.  This has
been tested with an aic7870 motherboard controller and a 294x in the
same machine shareing an irq.
1995-03-31 14:08:33 +00:00
Stefan Eßer
244c89d543 Include <stddef.h> for standard definition of offsetof() instead of
defining it explicitly in the driver.
1995-03-31 00:05:08 +00:00
Bruce Evans
208ce078ed Remove wrong redeclarations of printf() and bzero(). Include the correct
header to declare DELAY().
1995-03-25 22:40:49 +00:00
Bruce Evans
e9f80c0133 Make untested NS code at least compile so that it doesn't break LINT. A
struct member had an old name.
1995-03-25 22:06:27 +00:00
Bruce Evans
f0d47944e2 Forward-declare kern_devconf for use in a prototype. Some drivers
include <pci/pcivar.h> without including <sys/devconf.h> and other
drivers include <pci/pcivar.h> before including <sys/devconf.h> if
certain identifiers are defined.

The devconf headers have convoluted interdependencies.  <sys/devconf.h>
includes <machine/devconf.h> which includes <pci/pcivar.h>.  Most
drivers include <sys/devconf.h> so even isa drivers depend on
<pci/pcivar.h>.  For similar reasons, most drivers depend on another
pci header, on an isa header and on two scsi headers.
1995-03-25 21:10:38 +00:00
David Greenman
a54907a1a7 Restore my changes to initialize the kdc_shutdown routine pointer. Stefan
clobbered it in his previous commit and not having it causes the machine
to panic during reboot (as well as not doing the important shutdown callout).
1995-03-23 06:14:44 +00:00
Stefan Eßer
41226e9d0a Set request sense data size from xp->req_sense_length if != 0.
Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-22 19:45:22 +00:00
Stefan Eßer
6bf3dde846 Remove use of unitialised variable xp->req_sense_length.
Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-22 11:00:23 +00:00
Stefan Eßer
8673e05a9a Completely new PCI code:
1) Supports PCI to PCI bridge devices (and tries to initialise them,
   even if the BIOS is brain dead).
2) Supports shared PCI interrupts. Interrupt handlers now MUST return
   '0' if they found nothing to do, '1' otherwise.

New features tested with i486 systems based on the Intel Saturn and
a DEC 4channel Ethernet card only, but expected to work on most systems.

The option PCI_REMAP has been removed !

Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-21 23:01:06 +00:00
Stefan Eßer
1a4077c4c2 Stylistic changes. Update Wolfgang's e-mail address.
Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-21 22:48:36 +00:00
Stefan Eßer
b4b37e9058 Silence "gcc -Wall".
Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-21 22:43:04 +00:00
Stefan Eßer
067968d4d7 Cosmetic changes.
Submitted by:	Wolfgang Stnglmeier <wolf@kintaro.cologne.de>
1995-03-21 22:41:19 +00:00
Stefan Eßer
82c5c9a9f0 Major cleanup: Stylistic changes, 386BSD specific code removed.
Adaptec to new PCI code.

Submitted by:	Wolfgang Stnglmeier <wolf@kintaro.cologne.de>
1995-03-21 22:14:27 +00:00
David Greenman
cb09d35cb0 Added a new field to the pci_device struct called pd_shutdown to specify
a device specific shutdown routine for devconf. Assign the value of this
to the kern_devconf struct. Implement a device shutdown routine for if_de
that disables the device. This will stop the device from corrupting memory
after a reboot.
1995-03-17 04:27:21 +00:00
Stefan Eßer
11098d3bad Prepare for shared interrupts (required by the new PCI code that adds
support for PCI PCI bridges, e.g. found on 4ch. Ethernet cards).

Submitted by:   Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-16 17:41:20 +00:00
Stefan Eßer
f37ec55185 Make ncr.c compile again (PRINT_ADDR() had been patched
into the middle of a printf() by a buggy diff ...).

Submitted by:	rgrimes
1995-03-16 13:02:40 +00:00
Stefan Eßer
8e95bee6d4 Conditionalise debug message.
Submitted by:	Peter Dufault <dufault@hda.com>
1995-03-15 18:15:32 +00:00
David Greenman
d41f24e742 Added support for generic FDDI and the DEC DEFEA and DEFPA FDDI adapters.
Submitted by:	Matt Thomas
1995-03-14 09:16:07 +00:00
Stefan Eßer
252e349211 Reduce burst length to 4 DWORDs for now, since there seem to
be 486 chip sets that can't tolerate bursts > cache line size.
This should really made dependent on the particular buggy
chip sets, but for now we'll play safe ...
1995-03-03 16:44:33 +00:00
Stefan Eßer
a2564a2e9c Disable vga_attach() code, as it always should have been. 1995-03-02 23:29:44 +00:00
Stefan Eßer
79a6470e10 Speed up PCI attach code by ommiting test if its result is ignored anyway. 1995-03-02 21:51:53 +00:00
Stefan Eßer
c79b89e28f Add code to deal with PCI-PCI bridge chips, especially the DEC 21050.
Try to deduce maximum number of PCI buses in system (working around
chip set bugs).
Better check for devices at multiple addresses (aliases).

Reviewed by:	se
Submitted by:	<wolf@kintaro.cologne.de> Wolfgang Stanglmeier
1995-02-27 17:22:09 +00:00
Stefan Eßer
04dbb40865 First try to add support for PCI-PCI bridge chips (written for the
DEC 21050 chip in particular, don't have specs of other such chips).

This should add support for Multiple-Ethernet PCI cards (e.g. Znyx 314).

Reviewed by:	se
Submitted by:	<wolf@kintaro.cologne.de> Wolfgang Stanglmeier
1995-02-27 17:17:14 +00:00
Stefan Eßer
dff6de1a8c Delete bogus semicolon in macro definition. 1995-02-27 17:10:20 +00:00
Stefan Eßer
9b7d1decfc Make people happy, who claim to better know how "interupt"
is to be spelled :).

Submitted by:	<wolf@kintaro.cologne.de> Wolfgang Stanglmeier
1995-02-25 17:34:03 +00:00
Stefan Eßer
ef2dee21dc Deal with systems, that lack a fully decoded PCI configuration space.
Submitted by:	<wolf@kintaro.cologne.de> Wolfgang Stanglmeier
1995-02-25 17:26:22 +00:00
Stefan Eßer
fe5278a5cc Cleanup for compatibility with another OS.
Submitted by:	wolf
1995-02-22 18:04:56 +00:00
Stefan Eßer
d9dc2f74ef New PCI attach code:
PCI BIOS mappings are retained, except if option PCI_REMAP
is specified in the kernel config file.
There is now a list of attach addresses, and the first
address that seems to make some device registers appear
is chosen.

Reviewed by:	se
Submitted by:	wolf
1995-02-22 14:17:15 +00:00
Stefan Eßer
3453c5d5db Improve diagnostics:
Test for correct execution of cache test script by NCR,
and give meaningful error description if it fails.
(A cache problem was reported before.)
Don't wait forever for cache test to complete (to protect
against faulty hardware).

Submitted by:	wolf
1995-02-17 16:45:08 +00:00
Stefan Eßer
6977dc165f For the sake of people, who like to move pci_configure()
before isa_configure() in autoconf.c:

ncr_intr() protected by splbio()/splx()

Submitted by:	wolf
1995-02-15 20:06:38 +00:00
Stefan Eßer
9ddf96998e ncr.c:
New config option "NCR_IOMAPPED" makes the driver use port I/O.
Put back in 53c815 defines, submitted by Mikael Hybsch <micke@dynas.se>.
These had got lost between cvs rev. 1.14 and now ...

pci.c:

Really write config space register.
Assign ports starting at 0xbc00.

Submitted by:	wolf
Reviewed by:	se
1995-02-14 23:33:38 +00:00
Stefan Eßer
1bc2211b44 Verify that NCR was mapped to uncached address.
Submitted by:	wolf@kintaro.cologne.de <Wolfgang Stanglmeier>
1995-02-14 22:48:01 +00:00
Poul-Henning Kamp
c70f45100d YFfix. 1995-02-14 06:28:25 +00:00
Poul-Henning Kamp
a14b2c282e YFfix 1995-02-14 06:19:23 +00:00
Garrett Wollman
522bab9535 Make capitalization consistent with other devices registered in
the database.  Also, distinguish between VGA-like display devices
and everything else.
1995-02-14 03:19:27 +00:00
Stefan Eßer
045de8d38f Block interrupts in more places and warn about the NCR exception handler
being called at inappropriate times (should never happen !).

Reviewed by:	se
Submitted by:	wolf@kintaro.cologne.de (Wolfgang Stanglmeier)
1995-02-10 13:24:52 +00:00
David Greenman
95b44faffd Turn on "Capture Effect" avoidence. This modifies the collision algorithm
so that the interface won't have the effect of blocking other senders
during bulk transfers (i.e. hogging the ethernet). It improves performance
in all of my tests by reducing collisions and I believe it to be a Good
Thing.
1995-02-10 06:06:42 +00:00
Stefan Eßer
fd65acba73 Try to detect overlapping PCI memory assignment.
(This can only happen with devices that are mapped
by the BIOS.)

Reviewed by:	se
Submitted by:	wolf (Wolfgang Stanglmeier)
1995-02-09 20:20:33 +00:00
Stefan Eßer
91857942bb Add short delay after NCR reset.
Submitted by:	wolf@kintaro.cologne.de (Wolfgang Stanglmeier)
1995-02-06 22:01:58 +00:00
Stefan Eßer
ee1b86ffbd Disable I/O port accesses in case the BIOS enabled them.
Clear all output lines except ATN and ACK when waiting
for target phase change.

Submitted by:	wolf (Wolfgang Stanglmeier)
1995-02-04 14:02:44 +00:00
Justin T. Gibbs
4e259174eb #include<kernel.h> to quiet a compiler warning having to do with the
DATA_SET (pcidevice_set, ahc_device) macro.  Maybe this will allow
the aic7870 to be probed again.  I don't have a PCI machine here
to test it.
1995-02-03 17:08:17 +00:00
Stefan Eßer
3f624a0187 Removed misleading copyright note. This file contains just
definitions taken from the PCI specs. Part of them were typed
in by Wolfgang Stanglmeier, the (at that time unneeded) rest
by Charles Hannum (thanks !).
1995-02-02 22:01:40 +00:00
Stefan Eßer
ea6ecb4e52 Disable disconnect after drive timeouts, since these
may be the result of reselect following too fast for
the driver to notice. Not the final solution, but the
problem has been seen only with very few devices.

Reviewed by:	se
Submitted by:	wolf (Wolfgang Stanglmeier)
1995-02-02 15:50:57 +00:00
David Greenman
6398cf3113 Reapplied all of Stefan's changes. What a mess - the files were modified
and moved at the same time. This made it *very* difficult to fix the
revision log lossage that happend when the files were moved. SIGH.
1995-02-02 13:12:18 +00:00
David Greenman
77e50733d8 Fixed up include paths after copying these in the repository. 1995-02-02 12:36:19 +00:00
Stefan Eßer
5e70573817 Reviewed by: se
Submitted by:	wolf (Wolfgang Stanglmeier)
Files moved here from sys/i386/pci, since they are meant to be
architecture independent.
1995-02-01 22:56:55 +00:00
Justin T. Gibbs
d7be8cb6e9 Change the string returned in the aic7870 motherboard probe case. Change
#define to a more appropriate name.
1995-01-22 00:47:50 +00:00
Justin T. Gibbs
344e176820 Add $Id. Recognize motherboard aic7870 based controllers. 1995-01-16 16:31:57 +00:00