Commit Graph

1102 Commits

Author SHA1 Message Date
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
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
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
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
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
mcr
4cb534cca1 added 82443BX_AGP_NOT as per kern/5847 1998-11-23 22:54:02 +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
thorpej
3b068a6c78 Adapt to the new scsipi_adapter interface. 1998-11-19 21:53:32 +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
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
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
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
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
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
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
7d4ee06d3e Use the rtl80x9 common code for media selection. 1998-10-31 00:45:48 +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
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
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
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
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
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
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
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
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
tron
29c8a3aa85 Regen. 1998-10-05 20:38:17 +00:00
tron
1469dc411b Correct vendor 0x1191 to "ACARD", add missing Matrox boards.
Fixes PR kern/6251 by Soren S. Jorvang.
1998-10-05 20:34:39 +00:00
tron
2aac65de87 Regen. 1998-10-04 23:52:43 +00:00
tron
a6a06368ce Add S3 Virge/DX, fixes PR kern/6245 by Steve Allen. 1998-10-04 23:50:05 +00:00
fvdl
b28935cee3 Add missing field to le_softc structure, missed in previous commit. Name
it consistently with the other fields.
1998-10-02 00:20:52 +00:00
fvdl
5dbf12a22a Regen. 1998-10-01 23:33:25 +00:00
fvdl
b7957e0200 Fix typo in 905BT4 product name. 1998-10-01 23:32:41 +00:00
drochner
a81796636f support media selection / full duplex 1998-10-01 20:39:01 +00:00
matt
6e32aa4af4 Invert the RXCOPY test. Note that most new platforms will not
have relaxed alignment so the de driver should just work on them.
1998-09-29 22:40:52 +00:00
dante
b2a68e14db Change sources to be KNF 1998-09-26 19:53:34 +00:00
dante
2cf169c563 Add AdvanSys ULTRA WIDE SCSI controllers 1998-09-26 16:20:31 +00:00
dante
b207a7d09d Change product ADVSYS 2300 to ADVSYS WIDE 1998-09-26 16:16:23 +00:00
dante
da0a3e615e Add support for AdvanSys Ultra Wide boards ABP-9xxUW 1998-09-26 16:09:32 +00:00
dante
4372d4402e Remove Wide boards references
Update supported boards list
1998-09-26 15:52:55 +00:00
matt
1131320f18 Fix transmit underflow messages. (\0128 != \0 128) 1998-09-25 18:06:53 +00:00
mark
0c812cb0bc Regenerate from pcidevs. 1998-09-22 23:00:44 +00:00
mark
de8340f7fd Add ALI M1531 Host-PCI bridge.
Add Cirrus Logic CS4610 and CS4280 Audio chips.
Add Cirrus Logic CS4400 communications controller.
1998-09-22 22:59:02 +00:00
matt
d3e02fc461 Fix the accton support. Only set the board type it isn't an ISV. 1998-09-22 04:23:18 +00:00
mjacob
07bb8331e8 Roll back to 1.71 version- too many unexplainable problems with 1.72. 1998-09-21 14:53:58 +00:00
drochner
72fa4aec9b regen 1998-09-18 10:51:15 +00:00
drochner
e630f429ab Add PCI-VME interfaces: Tundra Universe and Bit3 2706
Note that Newbridge is now Tundra
Add Adaptec 7890 & Co.
1998-09-18 10:49:11 +00:00
mark
e9a20eaff4 Regen. 1998-09-18 04:30:52 +00:00
mark
0cf7fe7c62 Add yet another vendor ID for Fujitsu.
Add vendor ID for ESS Technology Inc.
Add product ID for ESS Technology ES1938 SOLO-1 AudioDrive
Add product ID for Fujitsu K56flex LTMODEM
Add product ID for TI PCI1250 PC Card bridge
Add product ID for Trident Cyber 9397 Video controller.
1998-09-18 04:30:10 +00:00
mjacob
6d8a22890e dma setup now returns CMD_QUEUED or CMD_COMPLETE. Clarify a ternary
operation that needed some parentheses.
1998-09-17 23:10:20 +00:00
matt
e7be3f3601 Fix a problem where txput could "lose" dmamaps if it couldn't actually
place the packet into the ring for some reason.
1998-09-15 17:26:46 +00:00
matt
2633c65da5 This commit fixes two bugs in the de driver. The first is that the
descriptor count gets miscounted on txprobes.  The second (and more
important) is that transmit stalls should now be fixed.  The problem
was not due to lack of ring resources but dmamaps.  When Jason changed
the driver to use pre-allocated maps (instead of the dynamic ones I
used), and when there were no more maps, the driver just gave up instead
of calling tx_intr to free any transmitted but unreclaimed dma maps.
Since there was nothing being transmitted, no transmit interrupts
would fire to restore things (and OACTIVE prevented other transmits
from happenning).  So it stayed starved until another interrupt cause
(like a received packet) "woke" it up.
1998-09-15 02:39:03 +00:00
mjacob
52588e4fde add more general probe to regular more operation stuff 1998-09-08 07:30:32 +00:00
mjacob
9b29429984 Remove clocks as common code now can determine what clock rates to use.
Remove other than 8 byte bursts- until we clarify whether or not buggy
PCI implementatiosn really cause problems.
1998-09-08 07:16:46 +00:00
veego
adebee9ad7 Regen. 1998-09-06 17:27:40 +00:00
veego
25eaf86126 Add the Brooktree 878 and 879 id's and fix the comment of the 849 entry. 1998-09-06 17:26:03 +00:00
drochner
b43e33a471 Since the RAMDAC drivers use the !=0-ness of fields for diagnostic
purposes, we have to zero-initialize the tga_devconfig structure.
1998-09-02 19:51:06 +00:00
dante
d35b531a68 Remove __BROKEN_INDIRECT_CONFIG
Correct currently known boards
1998-08-31 17:15:25 +00:00
dante
cb8b14827c Adjust copyright justification 1998-08-29 13:54:50 +00:00
dante
17759893b0 Add rcs id 1998-08-29 13:44:49 +00:00
drochner
2f94f2c21c some fixes:
-use of uninitialized variable in attach (mostly harmless)
-removal of dead code in attach()
-fix of interpretation of SIA blocks on >=21142 (serious, caused strange
  things with 10Mbit)
1998-08-28 20:58:37 +00:00
drochner
a80cad6e0a regen 1998-08-26 20:00:37 +00:00
drochner
fe1c5e2163 add the SIS 5597/5598 all-in-one PCI chipset 1998-08-26 19:59:16 +00:00
dante
d93a0d81b0 Add AdvanSys support 1998-08-26 14:20:37 +00:00
dante
97b8010151 Changed ADVSYSPROD to ADVSYS vendor ID
Added 1200A, 1200B, ULTRA, 2300 AdvanSys products ID
1998-08-26 14:18:26 +00:00
dante
d9e417cde9 Add AdvanSys 930U and 940U SCSI controllers 1998-08-26 14:13:58 +00:00
thorpej
daa8ad1747 Add some braces to make egcs happy. 1998-08-25 04:56:01 +00:00
thorpej
85c6c03e2a Change the 32-bit fields of the RFA to an arrays of bytes, so that
egcs won't attempt to optimize inline copies of them into a single
load/store (the RFA is not 4-byte aligned in the DMA area).

Just use memcpy() to copy those fields, now, not our own home-grown.
1998-08-25 01:08:15 +00:00
matt
ea3bfd6d80 Fix bug in transmit logic that would transmits to stop. Boolean dyslexia
stricks again.
1998-08-24 14:09:15 +00:00
veego
ff2c3adddc Add some braces to stop the new egcs warnings. 1998-08-20 19:55:06 +00:00
thorpej
8021b2ae29 Initial support for the Brooktree Bt463 RAMDAC. 1998-08-18 23:29:28 +00:00
thorpej
ff266f0937 Add some braces to make egcs happy. 1998-08-18 18:23:07 +00:00
thorpej
813dfd31c5 Fix a couple of obvious bugs in the hardware cursor handling code, and
use the RAMDAC callbacks to get/set the cursor colormap.
1998-08-18 08:40:39 +00:00
thorpej
6ba7f2f6fd Need an entry point to check cursor colormap entries for validity
before actually setting them.
1998-08-18 08:23:46 +00:00
thorpej
3db6850bb7 When updating the cursor colormap, actually store the data in our
copy of the cursor colormap, not the regular colormap!
1998-08-18 08:22:49 +00:00
thorpej
feaf75c755 Add set_curcmap and get_curcmap RAMDAC methods, for use by the TGA hardware
cursor code.  These are unneeded on the Bt485, since the RAMDAC handles
the hardware cursor.  They are needed for the Bt463, however, since the
RAMDAC only provides cursor color.
1998-08-18 08:07:45 +00:00
thorpej
082116a927 vm_offset_t -> vaddr_t 1998-08-18 08:00:17 +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
thorpej
7ce9726a7d Oops, don't forget to tick the MII once a second. 1998-08-15 17:04:52 +00:00
bouyer
1bbc572701 Fix typos in last commit. 1998-08-15 16:58:53 +00:00
bouyer
53d231dae3 correct indent. 1998-08-15 16:49:33 +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
mycroft
6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
drochner
a8d0a43ffa 2 changes to pciide_probe_wdc() (used in compatibility mode to check
if i drive is responding):
-if the reset succeeds, check some registers to make sure there is really
 a drive (and not a chipset which echoes back the last written value)
-explicitely select the master before trying to read the master's status
1998-08-14 20:35:40 +00:00
eeh
a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
mycroft
a5ace63ee2 Associate the preamp with the mic volume in the input class. 1998-08-12 19:09:55 +00:00
mycroft
916c60de3e Oops; fix typos. 1998-08-12 18:55:03 +00:00
thorpej
b170caf730 Completely rewrite media selection. Add support for the MII/PHY on
the 3Com 3c905-TX and 3c905-T4.  Fix handling of the MII on the
3c595-MII and 3c597-MII (can't talk to the PHYs on these cards; just
use "manual" for the external MII port).

Fixes kern/4782 (Chris Demetriou).
1998-08-12 18:51:52 +00:00
mycroft
a2f1d5b822 Add a knob to enable/disable the mic preamp. 1998-08-12 18:47:43 +00:00
mjacob
5ad5bb35af minor change to make the message less linux like 1998-08-12 00:03:23 +00:00
thorpej
7b8168e675 Adapt to new MII code. 1998-08-11 00:12:52 +00:00
thorpej
d812ed6db7 G/c the 83840 register definitions. 1998-08-11 00:12:20 +00:00
thorpej
1301693108 Adapt to new MII code. 1998-08-11 00:11:39 +00:00
thorpej
b1fb3ecb0f Adapt to the new MII code. This required splitting some structures into
if_tlvar.h, since the ThunderLAN PHY driver needs to know some things
about it's parent (and since it can only attach to a ThunderLAN chip,
this is the easiest way).
1998-08-11 00:09:26 +00:00
thorpej
36db6106a8 Adapt "tl" driver to the new MII code, and add the "mii" attribute to
the "fxp" driver.
1998-08-11 00:08:23 +00:00
ross
920e7c7d5d Fix a race involving determination of pollmode. This is not known to be
associated with any observed lossage...it was just noticed while reading
ncr_start().

g/c some now-unreachable code produced by the earlier race condition fix.
1998-08-10 13:10:33 +00:00
mycroft
1c6dea16fa For consistency, only do the rate coupling in full-duplex mode. 1998-08-10 01:27:34 +00:00
mycroft
cf7abcbe64 Minor cleanup to debugging cruft. 1998-08-09 22:11:48 +00:00
mycroft
4ffebebb25 Several things:
* Use the new trigger_{in,out}put interface.
* Allow the play and record channels to have different encodings (but the
  same sample rate).
* Play u-law and a-law as 16-bit data.  (This may not work yet...)
1998-08-09 20:32:34 +00:00
mycroft
e2686d0a1b Use splnet, not splimp. 1998-08-08 23:51:39 +00:00
ross
815f9f2445 1. Untangle preprocessor conditionals for sanity and {} balance
2. Fix a race between the first callout and the first non-polled ncr_start()
1998-08-08 00:14:08 +00:00
thorpej
9bb616c621 Regen. 1998-08-07 06:59:31 +00:00
thorpej
88c6239026 Add product IDs for the 3Com Cyclone-based PCI Ethernet devices,
the 3c90xB DMA-only cards.
1998-08-07 06:58:57 +00:00
thorpej
dcfe0e1506 Back out part of previous; it is perfectly reasonable, and desirable, to
print out debugging info ifdef DEBUG.
1998-07-31 02:14:40 +00:00
mjacob
bec14b0ce3 Part A (Cosmetic nonsense):
>We're not Linux.  If we still want driver version strings to be displayed
>at boot, then I suppose DEBUG is a reasonable compromise.
Makes the whole concept useless. This is for default printouts. If you
can build a debug kernel, you know what version you have. This was under
the concept of 'RAS' so that hapless users could tell you microversion
things. But I guess this isn't the right way according to our local
Jesuits. Oh, well. I'll think up something different and hopefully
less objectionable. And yes, NetBSD isn't linux. The developers seem
to be equally bad tempered, but linux is more successful.

Part B:
Field interrupts in OS layer so that (in this OS) bus_dmamap_sync(POSTREAD)
can (formally) ensure that the result queue is stable wrt to buffering
and that for sending a command a bus_dmamap_sync(PREWRITE) is done to
ensure that the device gets a good view of what the mailbox contents
should be.
1998-07-31 02:08:16 +00:00
thorpej
99b10d9e98 Regen. 1998-07-28 21:51:34 +00:00
thorpej
463fc03c76 Add the IMS TwinTurbo 128M graphics board. 1998-07-28 21:50:30 +00:00
tron
a79f26fe76 Regen from pcidevs. 1998-07-27 22:58:43 +00:00
tron
04affecc7a "Brooktree Brooktree Bt848" -> "Brooktree Bt848" 1998-07-27 22:58:07 +00:00
tron
0d386417e9 Regen from pcidevs. 1998-07-27 21:37:17 +00:00
tron
d54ccbde1a Add Brooktree Bt848 and BT849 video capture chips. 1998-07-27 21:34:11 +00:00
augustss
e8e8a975af Regen. 1998-07-27 20:04:10 +00:00
augustss
6585f9ebc1 Add S3 SonicVibes. 1998-07-27 20:02:27 +00:00
explorer
ab207dc49d add ntwo* at pci? function ?, a T1 network driver. 1998-07-26 03:28:28 +00:00
augustss
72de215752 Use PCI class/subclass/interface to match USB host controllers instead
of vendor/product id.  This makes the probe find more controllers
without recompilation.
1998-07-25 23:23:01 +00:00
explorer
12f40f6481 commit this so it gets the right generated from tag 1998-07-25 23:12:16 +00:00
augustss
8bafec3cec I forgot to commit these when usb_mem was added. 1998-07-25 15:15:39 +00:00
explorer
9043581b85 define RISCom and RISCom N2 product 1998-07-25 11:57:50 +00:00
drochner
4c50fd2165 regen 1998-07-22 17:43:11 +00:00
drochner
28f1e61164 add IDs for ACC Micro 2051 "PCI Single Chip Solution" 1998-07-22 17:41:04 +00:00
augustss
f190634e3d Add an Acer labs USB controller. 1998-07-22 10:43:37 +00:00
drochner
68f2474820 adapt to LANCE driver split; let PCNET/PCI use the 32-bit mode 1998-07-21 17:30:26 +00:00
thorpej
d8e4026492 Oops, unused variable warning. 1998-07-20 21:17:30 +00:00
thorpej
74fc0579eb We're not Linux. If we still want driver version strings to be displayed
at boot, then I suppose DEBUG is a reasonable compromise.
1998-07-20 21:16:52 +00:00
tron
334afaa14e Regen from pcidevs. 1998-07-19 12:25:46 +00:00
tron
463e7e6dce Fix product ID for Matrox Mystique, add NEC PowerVR PCX2. 1998-07-19 12:23:56 +00:00
mjacob
1aa702b8f8 fix bogus initialization 1998-07-18 21:04:22 +00:00
mjacob
99ff11f6b7 locking now out of main framework for isp_reset/isp_init 1998-07-18 21:02:06 +00:00
mjacob
afb0e1b693 no framework 1998-07-15 19:53:57 +00:00
mark
b34e933db8 Regen. 1998-07-13 03:29:48 +00:00
mark
22d5b20046 Add ID for ALI M1541 Host-PCI bridge. 1998-07-13 03:29:00 +00:00
augustss
deb00272b9 Add USB support. Supported so far:
* UHCI and OHCI host controllers on PCI
* Hubs
* HID devices withe special drivers for mouse and keyboard
* Printers
1998-07-12 19:51:55 +00:00
cgd
8f94f1a709 I went to Fry's and noticed a few more cards that probably will be
supportable with this driver, but currently aren't supported.  Add them.
1998-07-12 02:21:56 +00:00
tron
67eb4c3488 Regen from pcidevs. 1998-07-10 20:41:36 +00:00
tron
763b848669 Add Intel's BX chipset, 3Dfx Interactive and their Voodoo board. 1998-07-10 20:40:06 +00:00
augustss
8af687b575 Add mixer output selection.
From gson@araneus.fi (Andreas Gustafsson)
1998-07-06 11:12:21 +00:00
jonathan
011f2bda08 defopt NS, NSIP. 1998-07-05 06:49:00 +00:00
jonathan
3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
augustss
2a91c2b84f Regen. 1998-06-30 14:42:00 +00:00
augustss
bb9ccdf373 Add a 2 Micro CardBus controller. 1998-06-30 14:41:29 +00:00
drochner
91d0d98450 adapt to wsdisplay interface change 1998-06-26 21:07:03 +00:00
cgd
d77d6869b1 add a driver for "PCI 'universal' communications" cards, that is, PCI cards
which contain 'standard' com- and lpt-type ports.  Some of these present
as PCI simple-communications/serial or simple-communications/parallel
devices, but many do not.  (Additionally, there is no document that I can
find that describes the "specific well-konwn register-level" description
of how the 'standard' devices' config space headers shold work.)  Eventually,
some of the devices driven by this code should become simple pci attachments
for the 'lpt' and 'com' drivers, but that requires solid documentation.
1998-06-26 18:52:41 +00:00
cgd
f2df55371d factor out some common code, and enhance functionality slightly: allow
the BAR-printing function to print a name for the register, factor out
a common register-bits function which can handle the fact that type 2
headers have a different size than is usual, and actually do something
useful with the rest of the bits in the type 2 header.
1998-06-26 17:53:09 +00:00
matt
4e49c5ff17 Workaround problem with stalling output. Fix later after I've moved. 1998-06-21 10:32:46 +00:00
drochner
4c45f96d05 adapt to wscons changes (character output call) 1998-06-20 21:56:40 +00:00
cgd
e2578025b3 Point people to the correct Makefiles to build generated headers.
(Suggested by Manuel Bouyer.)
1998-06-16 18:36:03 +00:00
bouyer
2986a61389 Regen. 1998-06-15 19:55:08 +00:00
bouyer
5c6595b157 Argh, comments have to be in /* */, not # !
Sorry for the one-in-tree commit.
1998-06-15 19:54:48 +00:00
bouyer
e748660d5a Regen. 1998-06-15 19:51:09 +00:00
bouyer
24a60f635a Hum the "VT82C595 (Apollo VP2) Host-PCI Bridge" has 2 devices entries
(in FreeBSD too). Make it VT82C595 and VT82C595_2.
1998-06-15 19:50:37 +00:00
bouyer
8421873e93 Regen. 1998-06-15 19:35:31 +00:00
bouyer
b1aab68805 Add some VIA tech. products. 1998-06-15 19:31:46 +00:00
cgd
651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
thorpej
ab548fbb40 Remove the PCI-ISA bridge callback mechanism; it's no longer needed. 1998-06-09 18:48:41 +00:00
thorpej
ea3a1d9c44 Nuke __BROKEN_INDIRECT_CONFIG. 1998-06-08 06:55:54 +00:00
thorpej
5852faaf84 Device driver for the SMC 83c170 Ethernet PCI Integrated Controller (EPIC/100)
used in the SMC EtherPower II.

Media control isn't yet supported, due to some MII infrastructure
problems which I hope to address soon.  This isn't a huge deal, since
the PHY defaults to auto-negotiate mode.

Also, the device just programs the multicast hash table to accept all
multicast, to avoid a hardware bug that causes the multicast address
filter to lose in 10Mb/s mode.  This bug will be fixed in a more sane
way once the media control issues are dealt with.
1998-06-02 01:29:41 +00:00
cgd
350942b30d according to the PCI 2.1 spec, the low _two_ bits of I/O BARs have
defined meaning/value other than specifying the address of the region.
(lowest bit is 1, meaning I/O space.  second-lowest bit is reserved.)
1998-06-01 17:48:13 +00:00
cgd
6e73ca754f add a PCI 'quirks' mechanism, meant to be used as the mechanism
of last resort when trying to communicate information about
bogus behaviour of PCI devices to the MI autoconfiguration code.
In general, bogus behaviour should be handled by drivers, but there
are some types of bogons which can't be addressed that way.  The
only quirk currently defined is one which indicates that the device
is multi-function even though the device's header says otherwise.
(Mmm, Intel 82371FB PCI-to-ISA Bridge (PIIX); you'd think that at least
Intel would have gotten it right...)
1998-05-31 06:07:59 +00:00
cgd
86585ca518 use the new PCI 'quirks' mechanism to help determine the number
of functions on a given device.  Also, clean up the #if 0'd
major-debugging-spew code so that it's all one piece, so that
it's a bit prettier, and so that it prints out quirk information.
1998-05-31 06:05:28 +00:00
cgd
3e3f8b7bac dd a PCI 'quirks' mechanism, meant to be used as the mechanism
of last resort when trying to communicate information about
bogus behaviour of PCI devices to the MI autoconfiguration code.
In general, bogus behaviour should be handled by drivers, but there
are some types of bogons which can't be addressed that way.  The
only quirk currently defined is one which indicates that the device
is multi-function even though the device's header says otherwise.
(Mmm, Intel 82371FB PCI-to-ISA Bridge (PIIX); you'd think that at least
Intel would have gotten it right...)
1998-05-31 06:03:44 +00:00
drochner
b84dbbb37c Put definitions and subroutines needed for all PC display adapters
(MGA/GCA and compatibles) into global headers / source files.
Let the VGA driver use them.
1998-05-28 16:48:40 +00:00
matt
d575ad31d0 Use PCI_REVISION and eliminate some pci_conf_reads 1998-05-28 13:51:09 +00:00
cgd
e3c75e1ca8 Clean up slightly, abstract pci_conf_print family's base address register
printing into a function, add a bit more pretty-printing of existing stuff.
Implement pretty-printers for type 1 and type 2 headers.  (Right now,
these are just quick stabs based on some on-line bridge docs that I have
handy on my laptop.  Mmmm, meetings.  I'll check the bits when I get
back within reach of my official docs.)
1998-05-28 02:26:00 +00:00
augustss
a10981bdbf Fix a recording problem that occurs when the EAP chip sends its
interrupt just BEFORE the dma has finished rather than after.
1998-05-26 13:28:03 +00:00
mark
6548f40f95 Regen from pcidevs. 1998-05-25 22:32:24 +00:00
mark
910456eccf Added TriTech Microelectronics vendor ID.
Added TriTech Pyramid3D 25202 product ID.
Added Promise Ultra33 UltraDMA IDE controller product ID.
Added ALI product ID's for M1543 'Southbridge' PCI devices.
1998-05-25 22:31:11 +00:00
mark
56c82ddeda Don't make the inclusion of machine/intr.h alpha specific as other ports
require this as well.
1998-05-25 22:20:24 +00:00
mark
45dd8e3edd Define TULIP_COPY_RXDATA for arm32 as well as alpha. 1998-05-25 22:13:28 +00:00
mark
69a9a5c445 Include arm32/pci/pci_machdep.h if arm32 is defined. 1998-05-25 22:11:37 +00:00
matt
18319c0048 Changes so that these compile on NetBSD/alpha as well as NetBSD/i386. 1998-05-23 18:32:29 +00:00
matt
9eb77bf49a Change 21040 modes slightly. Prevent infinite autosense loop of 21143 that
is not connected.  Make TULIP_STS_LINFAIL only valid for chips with that
status bit defined.
1998-05-22 18:50:59 +00:00
matt
cfbb5f3f21 Add bus_dma(9) support for the DEFxA FDDI driver 1998-05-21 20:44:02 +00:00
cgd
9991233636 add an #if 0'd chunk which will pci_conf_print() every device (spews
lots of data, e.g. ~18k on a PCI system with few add-in devices; use
with MSGBUFSIZE=...).  Useful to have here so that people who want as
much data about the PCI configuration in a machine can get it without
having to craft their own code.  Also, clean up a few of the other
#if 0'd printfs.
1998-05-18 17:28:07 +00:00
cgd
4b0876c74b largely reimplement pci_conf_print():
* print all configuration space registers.  Then, where possible,
  interpret them.  (That is, PRESENT ALL THE DATA, then interpret it --
  don't hide data behind interpretation.  Also, when interpreting
  fields, try to print out the specific value that's being interpreted.)
* handle different header types.
* allow caller to specify a function which can interpret the
  device-dependent header and is responsible for pretty-printing it.

It spews (use 'options MSGBUFSIZE=...' 8-), but when you want the data,
you really want _all_ of it.

Still needs some cleanup and additional code (e.g. interepretation
of PCI-PCI (type 1) and PCI-Cardbus (type 2(?)) bridge headers).
1998-05-18 17:25:17 +00:00
cgd
27b21a3a47 add a PCI_HDRTYPE_TYPE() macro, to get the 'type' portion of the
headertype register (i.e., not including the 'multifunction' bit).
1998-05-18 17:17:04 +00:00
cgd
2102dd3e20 check that memory access is enabled before bothering to do the
pci_mapreg_info() call.  pci_mapreg_map() implies this check,
but code which calls pci_mapreg_info() has to check it explicitly.
Otherwise, if memory space is disabled, the driver does the wrong
thing, and tries to use memory space anyway, potentially resulting
incorrect driver operation and no useful error message.
1998-05-18 17:14:32 +00:00
kml
051be14326 Correct copyright date. 1998-05-17 16:46:06 +00:00
tsubai
02aa1f7050 Add macppc support. 1998-05-15 12:35:06 +00:00
augustss
07e69a32d2 Regen. 1998-05-14 21:46:53 +00:00
augustss
c3def5e349 Add another USB controller. 1998-05-14 21:45:18 +00:00
drochner
95bdb660ed Simple screen attribute handling for wscons.
The graphics device driver passes a "default attribute" for normal text
output to the wscons framework. If the emulation module needs more
attributes (for different "renditions") it can allocate them via a
callback.
For now, only the "sun" emulation makes use of it.
1998-05-14 20:49:55 +00:00
kml
e72782a137 Driver for Essential Communications' RoadRunner HIPPI (800 Mb/sec network)
card.  With some modification, this could probably also work for their
Gigabit Ethernet card based on the same chipset...
1998-05-14 00:04:57 +00:00
augustss
6c0386cefa Regen. 1998-05-13 15:51:36 +00:00
augustss
364c6cf250 Add OPTi OHCI USB host controller. 1998-05-13 15:50:58 +00:00
augustss
d824266389 Remove some lint. 1998-05-06 19:21:45 +00:00
mjacob
ed8ddb6948 more info (in heavy debugging cases) to print 1998-05-05 22:14:23 +00:00
thorpej
af65e69596 Add 5 more NE-2000 compatible PCI Ethernet interfaces. XXX Note that some
of these may need revision in pcidevs.
1998-05-05 17:23:08 +00:00
thorpej
e28a3f28ac Regen. 1998-05-05 17:22:20 +00:00
thorpej
7b2b6d3835 Add a few more NE-2000 compatible PCI Ethernet interfaces. XXX Some of
these may need further revision to get vendor and product names exactly
right.
1998-05-05 17:22:04 +00:00
thorpej
4626eef504 Slighly less brutal hack to deal with broken memory-mapped access of
the ThunderLAN on the TI TravelMate 5000 docking station: single it out,
and allow memory-mapped access on the Compaq products.
1998-05-05 07:17:12 +00:00
thorpej
19b7ffb19f Regen. 1998-05-04 05:51:35 +00:00
thorpej
0813824005 Add STB Systems' second PCI vendor ID, and their Velocity128 AGP product.
kern/5362, Paul Goyette <paul@whooppee.com>
1998-05-04 05:51:19 +00:00
thorpej
5153af345d In pci_conf_print(), don't print a mapping register if the size is 0. 1998-05-03 19:46:15 +00:00
thorpej
93db65c28c Properly compute the region sizes in pci_conf_print(). Bug pointed out
by Chris Demetriou.
1998-05-03 19:41:33 +00:00
mycroft
a835c012d3 Adjust PCLKDIV by 2 to correct the output sample rate. (Unfortunately, this
isn't documented.)
Fix typo in mappage routine.
1998-05-02 08:21:10 +00:00
mycroft
fef6b0b8a3 Oops; fix typo. 1998-05-02 02:36:30 +00:00
mycroft
cfe3e5fb08 Fix reading of the master volume, and a hack that seems to make stereo output
work correctly.  (Will check the documentation as soon as I can read it.)
1998-05-02 02:34:53 +00:00
augustss
6cb1f6c5b1 Add a driver for the Ensoniq AudioPCI sound card. The driver still
needs some testing, but it seems to produce sound.  The driver was written
by me, but since I don't have the hardware the debugging and testing was
done by Andreas Gustafsson <gson@araneus.fi>, Chuck Cranor
<chuck@maria.wustl.edu>, and Phil Nelson <phil@cs.wwu.edu>.  Thanks.
1998-05-01 21:54:33 +00:00
mycroft
aa7159be03 Regen. 1998-04-30 06:18:45 +00:00
mycroft
6e626dfafc Add the Apple Bandit chip. 1998-04-30 06:18:11 +00:00
thorpej
9a25b32914 Use the symbolic name VVR_BLANK rather than a magic constant. 1998-04-29 02:23:20 +00:00
thorpej
6493eddd91 Define the contents of the Video Valid register on the TGA and TGA2. 1998-04-29 02:11:19 +00:00
drochner
5f6ca9ef93 Avoid "unused variable" warning without PCIVERBOSE.
From mynhier@cs.utk.edu (PR kern/5328).
1998-04-20 14:16:26 +00:00
drochner
928943b2ff Keep all relevant state information in a "pci_softc" so that it is
accessible at runtime (for LKMs in particular).
Remove BROKEN_INDIRECT_CONFIG.
1998-04-17 18:40:31 +00:00
drochner
d860c80512 regen 1998-04-16 19:48:14 +00:00
drochner
bfd53bac43 add 2 ATM chips, correct entry for Toshiba MIPS bridge 1998-04-16 19:46:03 +00:00
drochner
3cc1fe831c count allocated screens correctly 1998-04-16 12:52:42 +00:00
drochner
aadda67e18 add mi PCI VGA and TGA 1998-04-15 20:17:17 +00:00
drochner
eda73f204f The "mi" TGA driver. It's still not of much use on anything but alpha
because it depends on initialization by the firmware.
Further, an mi mmap() is needed...
1998-04-15 20:16:30 +00:00
thorpej
a95c0ac15a Add pci_conf_print(), a function to dump the PCI configuration space, useful
in driver debugging.  From Zubin D. Dittia <zubin@clouseau.arl.wustl.edu>,
PR #4249.
1998-04-14 21:24:50 +00:00
thorpej
ce28bee247 Add UDF and 66MHz capable bit definitions for the PCI status register.
From Zubin D. Dittia <zubin@clouseau.arl.wustl.edu>, PR #4249.
1998-04-14 21:22:44 +00:00
thorpej
db453b872d Add support for the VIA Technologies VT86C926, from Kazuki Sakamoto,
PR #5256.
1998-04-10 01:28:59 +00:00
mycroft
eb466ba47f Make sure to unload and recycle the DMA map for a bad received packet.
This was (indirectly) the reason for machines `hanging' (actually, looping in
tulip_rx_intr()) with de cards.
1998-04-02 13:49:32 +00:00
mycroft
8f597a8744 Oops; make the table const. 1998-03-29 22:36:42 +00:00
mycroft
a6b8b01d96 Use a 4-bit table to speed up the CRC even further, without increasing the
code size too much.
1998-03-29 22:34:27 +00:00
mycroft
a3b1c4c87a Optimize the address CRC routines a bit. 1998-03-29 22:21:12 +00:00
thorpej
686a1a1177 Regen. 1998-03-28 06:39:13 +00:00
thorpej
515d7f04bf Add the Contaq/Cypress 82C693 PCI-ISA bridge. 1998-03-28 06:38:46 +00:00
cgd
2f8f14b311 check vendor against PCI_VENDOR_INVALID instead of 0xffff.
Suggested by Soren S. Jorvang.
1998-03-28 02:24:04 +00:00
cgd
6108f60999 regen 1998-03-28 02:10:40 +00:00
cgd
3371d8f00f fix bogus produce name tags for 82371FB_ISA and 82371FB_IDE (were 82471FB_*).
Pointed out by Soren S. Jorvang.  Rename "BAD" vendor id to "INVALID".
1998-03-28 02:09:29 +00:00
drochner
013507e321 PCI frontend for sys/dev/ic/vga.c 1998-03-22 15:16:18 +00:00
cgd
bd31517508 check only the Vendor ID (rather than both the Vendor ID and the Product
ID) when determining if the Vendor ID is invalid.  The spec says that
Vendor ID of 0xffff is invalid, so, it doesn't _matter_ what the product
ID is in that case.  Treat Vendor ID 0 as invalid because we always have.
1998-03-20 19:56:19 +00:00
leo
d2551d5b3f Use bus-dma functions. 1998-03-16 15:36:17 +00:00
cgd
b9eaff9db8 when considering attaching compatibility-mode channels, try a quick reset
and see if anything responds.  if nothing (that's attributable to the
PCI IDE controller) responds, then that channel either has no devices on
it or has been disabled (via a non-standard mechanism) by the BIOS.  If nothing
responds, don't map the compat.-mode interrupt or attach the wdc to that
channel, because the BIOS is likely to assign that IRQ to a different PCI
device.  If that happens, the kernel will panic because that device will
try to map the IRQ level-triggered, but the compat interrupt will have been
mapped edge-triggered.  (One possible way around this is to map the compat
interrupt edge-triggered, but it's not clear reading the spec that this
is correct or desirable.)
1998-03-12 23:34:29 +00:00
augustss
a294c3fef3 Regen. 1998-03-07 16:48:47 +00:00
augustss
8dd96862cd Add Matrox Millenium II AGP. 1998-03-07 16:43:46 +00:00
cgd
ff06be8ce0 reorganize mapping/attachment of wdc channels so that it'll be easier to
insert a check to see whether a channel appears to be enabled.  Shouldn't
be necessary, according to the spec, but some PC chipsets allow individual
compatibility channels to be disabled.  "I hate PCs."
1998-03-06 19:13:19 +00:00
cgd
f528463b81 despite the spec, some people map the bus master IDE registers into
memory space.  Note that in a comment, but don't try to fix it (for now).
1998-03-06 17:41:59 +00:00
cgd
2682c61855 clean up a printf 1998-03-04 19:19:21 +00:00
cgd
c3cdd2752a slight cleanup (consistency, make a few comments better). add support
for recognizing bus-master DMA interface and mapping the regs (but
still no support for DMA).
1998-03-04 19:18:22 +00:00
cgd
0078e4bcd0 add def'ns for PCI IDE bus-master DMA interface recognition and register
mapping.
1998-03-04 19:17:10 +00:00
cgd
d4e79b6ace add (commented out) device/file declarations for the MI PCI IDE
controller driver.  These are commented out here until the wdc
declaration mess is resolved, and until then need to go into MD
files files in places where they play nice with the wdc declaration.
1998-03-04 06:38:44 +00:00
cgd
b37b33d302 PCI IDE glue. Right now, just glues 'wdc's to PCI IDE controller
channels.  Eventually should do things like support PCI IDE DMA (it _DOES
NOT_ do that now).
1998-03-04 06:35:11 +00:00
cgd
b11fc105b1 clean up slightly, correct a few comments 1998-03-04 06:31:46 +00:00
cgd
5f45920f06 regen 1998-03-04 00:15:21 +00:00
cgd
b3f8c3c1f1 fix comment bogon in last commit 1998-03-04 00:14:45 +00:00
cgd
34f466e064 regen 1998-03-04 00:10:38 +00:00
cgd
0873649bda add CMD PCI0643, PCI0647, USB0670, USB0673. Remove the 'A' from the 640A
entry (because the same product id is used for the 640B, as well).  Note
that a few of the entries (PCI0642, PCI0650A) no longer have data to
be found on the CMD web site, and note that PCI0650A should probably have
its "A" trimmed as well.
1998-03-04 00:09:11 +00:00
mycroft
8e5dbddc19 Regen. 1998-02-27 11:46:25 +00:00
mycroft
402ddee537 Add Macronix MX98713. 1998-02-27 11:45:51 +00:00
thorpej
8354e68508 Remove "class" declarations, and add "devclass" declarations where
appropriate.  Fix several inconsistencies between device class and
attributes.  Mostly from Chris Demetriou.
1998-02-16 22:12:45 +00:00
bouyer
0435e7ea98 Correct a bogosity in the adapter->mii attach code pointed out by cgd:
in pci/if_tl.c, call config_found() with a print function, instead of
printing ourself a message in if_tl.c if no miibus was found. The print
function is in mii/mii.c (mii_adapter_print()) so that it can be used by any
adapter (idea from the scsi system).
1998-02-11 19:02:11 +00:00
thorpej
841fb8fd54 Don't try to dynamically create and destroy DMA maps. Instead, keep
it simple, and allocate one for each transmit and receive descriptor.

In addition to being simpler and faster, this fixes a serious memory leak
in the transmit path.
1998-02-11 01:28:22 +00:00
thorpej
8e8eed4ba7 Create RX DMA maps with ALLOCNOW. These maps are essentially always
loaded, and recovering from a resource shortage error is much harder
in the receive case.
1998-02-07 21:13:34 +00:00
thorpej
f955aa86e5 Properly handle error conditions from bus_dmamap_load_mbuf(). 1998-02-07 20:40:35 +00:00
augustss
ae3e754e0b Newly generated version. 1998-02-07 20:07:37 +00:00
augustss
6d9b48ac1d Fix typo, and commit in the right order. 1998-02-07 20:05:25 +00:00
augustss
c78e3507ba Add the AGP device in the 82443LX. 1998-02-07 19:32:37 +00:00
thorpej
208d979613 Use BUS_DMA_NOWAIT where appropriate. Don't create DMA maps with
BUS_DMA_ALLOCNOW.
1998-02-07 10:27:12 +00:00
matt
8098a443f0 A version of the de driver which does bus_dma. Note that it has not been
tested on any other platform other than i386.  Use of bus_dma(9) can be
turned by defining TULIP_BUS_DMA_NOTX and TULIP_BUS_DMA_NORX.  These allow
one to determine if the problem is in the transmit or receive path.
A problem reported by mycroft is also fixed.
1998-02-06 20:57:12 +00:00
thorpej
0392bc60a1 Fix the FXP_TXDESCOFF() macro. 1998-02-05 07:31:52 +00:00
thorpej
ec6c5c10d7 Add necessary bus_dmamap_sync() calls for memory mapped with the COHERENT
hint, per bus_dma(9).
1998-02-04 08:26:42 +00:00
thorpej
8abe76d2f0 Add offset and length parameters to bus_dmamap_sync(), used for specifiying
partial syncs of a DMA mapping.
1998-02-04 05:12:46 +00:00
thorpej
296d96f42c Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
BUS_DMA_COHERENT.
1998-02-04 00:38:50 +00:00
thorpej
480445c035 When a PCI bus is attached, print out which bus spaces were enabled
by the parent.
1998-01-31 00:37:39 +00:00
thorpej
9359316f6f Add support for the 82553[AC] PHY by treating it like an 82555. From
Soren S. Jorvang <soren@t.dk>, PR #4840.
1998-01-28 18:31:37 +00:00
thorpej
b89119c134 Convert this driver to use the bus_dma interfaces. 1998-01-28 07:26:42 +00:00
thorpej
2538ed1062 Use offsetof() from libkern.h 1998-01-28 02:23:04 +00:00
thorpej
c7c415e733 Regen: add Packet Engines G-NIC gigabit Ethernet. 1998-01-27 01:03:29 +00:00
thorpej
cdb46f9d8b Add product ID for the Packet Engines G-NIC gigabit Ethernet interface. 1998-01-27 01:02:46 +00:00
mycroft
76299bd2c0 Regen. 1998-01-22 22:37:04 +00:00
mycroft
9fdb0f8782 Add the Millenium II. 1998-01-22 22:36:16 +00:00
thorpej
201cba44d4 Sync w/ FreeBSD-current-980122:
- Rearrange softc for better cache line behavior.
1998-01-22 08:32:35 +00:00
thorpej
0916ab379b Sync w/ FreeBSD-current-980122:
- Rewrite fxp_start() for better clarity and efficiency.
- Remove unused #includes.
1998-01-22 08:31:33 +00:00
thorpej
ed13bba51f Fix two register mapping problems:
- Fall back on i/o space if mem space isn't available.
- Card reports mem space as prefetchable, but mapping the card into dense
  space fails in nasty ways on the Alpha.  Force mapping into sparse
  space by clearing the BUS_SPACE_MAP_CACHEABLE bit (XXX!).
1998-01-22 08:04:56 +00:00
thorpej
06ce220790 Update for config changes. 1998-01-12 09:39:57 +00:00
thorpej
e21b3a4cdb Regen. 1998-01-09 06:54:56 +00:00
thorpej
d41a505027 Regen. 1998-01-09 06:54:54 +00:00
thorpej
d1ad0bc624 Put RCS IDs into generated files, in the correct place. 1998-01-09 06:54:25 +00:00
thorpej
1b2dbc7a0e Regen: back out RCS ID related changes. 1998-01-08 00:32:06 +00:00
thorpej
b0ecfb4210 Back out RCD ID related changes. 1998-01-08 00:31:23 +00:00
perry
5e35a0595e regened with RCSIDs in place 1998-01-05 19:30:30 +00:00
perry
5e96ab4c0a make script insert RCS ids into generated files 1998-01-05 19:28:16 +00:00
drochner
c7e3c24d53 make it compile without "__BROKEN_INDIRECT_CONFIG" 1997-11-30 15:18:58 +00:00
bouyer
e0746c57db Fix for systems with multiple tl interfaces:
nullbuf (used to pad packets < ETHER_MIN_SIZE) is used for all tl
interfaces. Allocates only once, and never deallocate it (as we can't say
if another instance of the driver is interface is using it).
1997-11-18 12:26:09 +00:00
thorpej
7e8aa22eaa Sigh, now that we've fixed a bug in PCI space management (the bug caused
i/o-mapped space to always be used), we discover that at least one
ThunderLAN interface can't read the EEPROM properly if memory-mapped
access is used.  Kludge around this for now by "prefering" i/o space.
1997-11-17 08:14:53 +00:00
thorpej
bbee567187 Fix a couple of bugs/annoyances in match/attach:
- Do PCI space configuration like the other drivers.  In particular,
  don't _disable_ the space we're not using because some lame firmware
  implementations might not reenable it on warm boot.  Also, prefer
  memory space always.
- Make match and info-gathering in attach table-driven.
- Rearrange things a bit to be a bit more visually pleasing during boot.

Also, fixup some #include problems.
1997-11-17 01:58:29 +00:00
thorpej
dffffc2120 Cosmetic change. 1997-11-17 01:44:58 +00:00
christos
739eae3e8b Regen. 1997-11-16 22:33:59 +00:00
christos
9279ce1dc1 PR/4510: William Coldwell: Add TI thunderlan support. 1997-11-16 22:33:19 +00:00
thorpej
b6ac221d7c Type/alignment cleanup in EEPROM code. 1997-11-11 06:35:46 +00:00
thorpej
a222447f6f Oops, missed one in previous. 1997-10-27 23:34:19 +00:00
thorpej
ce3918177b Update for new pcidevs entry for Winbond NE2000-compatible Ethernet ASIC. 1997-10-27 23:31:41 +00:00
thorpej
bb340dc5c7 Regen. 1997-10-27 23:29:23 +00:00
thorpej
10e3181b2b Fix the description of the Winbond NE2000-compatible Ethernet ASIC.
It's a W89C940F.
1997-10-27 23:27:35 +00:00
thorpej
bbc9422b97 Print interrupt information like all of the other PCI drivers. 1997-10-27 02:10:07 +00:00
bouyer
b1b04efc58 Correct 'ThunderLAN' spelling 1997-10-21 05:54:21 +00:00
matt
500281c8a4 21142 / 21143 chips always use ISVSROM format. (print out message is
SROM checksum is invalid).
1997-10-20 14:32:46 +00:00
thorpej
cdc616ca77 Port the latest FreeBSD "fxp" driver to NetBSD-current. Changes include:
- Work around a bug in the 82557 that causes the receiver to lock up
  in certain conditions by kicking the multicast address filter if we
  haven't heard anything come down the wire for some period of time.
- Fix a bug that could cause TxCB descriptor chains to cross page boundaries
  on the Alpha.
- Remove some unneeded register masking.
- Fix a bug where too much data was copied from the config template, causing
  memory corruption.
- Fix handing of if_timer (it was be cleared too early in some cases).
- Attempt to reduce the chances of receiver overrun by doubling the
  number of receive DMA segments, and processing receive interrupts
  before transmit interrupts.
- Remove a gratuitous assignment.
- Fix a bug where incoming packets were counted twice.
1997-10-20 01:15:53 +00:00
bouyer
fe74be001b Driver for Texas Instruments' thunderland network controller (present in some
Compaq products).
1997-10-17 18:38:23 +00:00
thorpej
376d502a22 Pull marc-pcmcia branch down from trunk. 1997-10-16 23:23:14 +00:00
matt
4d3bfb2510 Fix pr's port-i386/4127 kern/4190 kern/3700. 1997-10-16 22:02:27 +00:00
matt
940e1b9935 Fix a thinko in last night fix. We must set the media if we have reset
the chip but if we haven't the the media isn't changing, don't do anything.
1997-10-16 13:12:56 +00:00
matt
0dc780c27d Fix media/console interaction problem on Alpha. Fix 21142/21143 problems
with 10Mb/s links.
1997-10-15 19:06:59 +00:00
explorer
b9f6e61f9d Add and/or update rnd_*() hooks 1997-10-15 06:12:44 +00:00
thorpej
061f16048b Pulldown from marc-pcmcia branch: PCI front-end for the "ne" driver. 1997-10-14 23:12:17 +00:00
thorpej
10708da893 Pull down from marc-pcmcia branch:
Minor tweaks to deal with PCMCIA differences, and support for power
management.
1997-10-14 21:28:37 +00:00
thorpej
deaddb0981 Regen. 1997-10-14 20:53:34 +00:00
thorpej
bff93e5477 Pull down from marc-pcmcia branch. 1997-10-14 20:52:38 +00:00
sakamoto
837124b35c add bebox 1997-10-14 07:15:45 +00:00
explorer
80513cb5ae o Make usage of /dev/random dependant on
pseudo-device   rnd                     # /dev/random and in-kernel generator
  in config files.

o Add declaration to all architectures.

o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
  that this code is derived in part from Ted Tyso's linux code.
1997-10-13 00:46:08 +00:00
explorer
1c276eafe2 Add hooks to insert timing info into the random system 1997-10-10 01:19:37 +00:00
mycroft
3dffd3e74a Regen. 1997-10-08 17:01:33 +00:00
mycroft
f1aefc827c Correct spelling of Millennium. 1997-10-08 17:00:43 +00:00
thorpej
8eb7170ff8 Back out last change. (Partially my fault, for not reviewing it close
enough.)
1997-10-06 21:01:23 +00:00
lonhyn
a5b1bb00fd pcidevs change regen. 1997-10-06 06:19:24 +00:00
lonhyn
7dbc234635 Added entries for GLINT 3D chips. 1997-10-06 06:18:07 +00:00
lonhyn
a9ad6cae19 pci_mapreg_info() has been changed to take arguments like pci_mapreg_map() 1997-10-03 18:45:39 +00:00
drochner
e30fed33a8 regen 1997-10-01 18:09:20 +00:00
drochner
d54cc43bfc Correct a number of Intel PCI devices, sync with names used in data sheet.
Add newer Intel / VIA i386 chipsets.
Correct one S3 chip, add one.
Mostly from Carl Shapiro <css@samsara.dialup.access.net> per PR kern/4169
and kern/4170 (identical).
1997-10-01 18:08:23 +00:00
thorpej
76786b38b6 Mimmick the logic used by other drivers to determine if we should use
memory-mapped or i/o-mapped access to the device registers, and always
choose memory-mapped if it is enabled.  In particular, do _not_ explictly
disable the space we decide to not use, as this confuses some versions
of Alpha console software (which are arguably buggy because of this
problem).

Also, fix a logic error pointed out by Ross Harvey <ross@teraflop.com>
that would cause memory-mapped access to never be enabled.
1997-09-24 22:46:29 +00:00
mycroft
3e5cee3ce5 If the region size turns out to be 0, return an error. This is what will
happen if we try to use a mapping register that's not actually defined.
1997-09-23 23:08:47 +00:00
mycroft
966e96d880 Regen. 1997-09-23 22:36:33 +00:00
mycroft
d23f3059e5 Add the Ensoniq AudioPCI. 1997-09-23 22:35:48 +00:00
perry
3979615b0d ncr_reg.h -> ncrreg.h per Dave Huang 1997-09-23 02:39:15 +00:00
perry
69fbaa747d updates from FreeBSD via Dave Huang <khym@bga.com> 1997-09-23 02:27:43 +00:00
bouyer
b342ad4ea3 Regen. 1997-09-15 15:08:34 +00:00
bouyer
cc58dfb1b7 Add some of Compaq's network products. 1997-09-15 15:02:36 +00:00
enami
377e2c7b82 Declare PCIVERBOSE by defopt in files.pci. Include opt_pciverbose.h
in pci_subr.c.
1997-09-13 08:49:50 +00:00
thorpej
4f7a116064 Add missing "break;" statements in the code that determines the
media setup by the Alpha SRM console software.

From Ross Harvey <ross@teraflop.com>.
1997-09-12 22:40:02 +00:00
drochner
daf8124106 regen 1997-09-12 11:05:20 +00:00
drochner
e4c20d6210 another graphics chip... 1997-09-12 11:04:36 +00:00
mycroft
761c2e275a Fix bogus comment. 1997-09-12 05:20:52 +00:00
mjacob
18430b4e5e For the 2100- the flags weren't quite right- but things worked anyway. Wierd. 1997-09-10 02:16:13 +00:00
mycroft
8c578dc960 Pass down bus_dma_tag_t's as appropriate (per Jason's bus_dma code). 1997-08-30 06:53:57 +00:00
mycroft
73e975d161 Pass the I/O and memory enable flags through the bridge. 1997-08-30 06:51:07 +00:00
mycroft
f77eaf96e2 Pull in new file. 1997-08-30 06:48:57 +00:00
mycroft
aae78d29c3 Don't export pci_*_find() any more. 1997-08-30 06:48:24 +00:00
mycroft
e2bb22033b Remove pci_*_find() from here. 1997-08-30 06:47:44 +00:00
mycroft
5da739c6b8 * Rewrite pci_io_find() and pci_mem_find() using my original pci_map_io() and
pci_map_mem(), with appropriate changes for bus_space.
* Add extra arguments for use by pci_mapreg_*(), and make the functions
static.
* Rewrite pci_mapreg_info() and pci_mapreg_map() as wrappers around
pci_*_find(), using the documented interface.
1997-08-30 06:46:58 +00:00
thorpej
22880d02f4 Regen: added SMC83C170 entry. 1997-08-28 00:24:23 +00:00
thorpej
b7a3500cd3 Add an entry for the SMC 83C170 "EPIC/100" Fast Ethernet chip. 1997-08-28 00:12:44 +00:00
bouyer
6f3bab1f59 Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
1997-08-27 11:22:52 +00:00
thorpej
782324102f Use if_media to change media type, not IFF_LINK*. 1997-08-25 22:39:55 +00:00
thorpej
b2c3b768d3 - Add RCS tags that got lost.
- Fix a couple of typos in PCI space configuration.
1997-08-25 19:03:44 +00:00
thorpej
9c690ec9a6 Add RCS tags that got lost. 1997-08-25 19:02:19 +00:00
thorpej
a2a13689fd Merge with 970703 snapshot of Matt Thomas's de driver. 1997-08-25 18:56:46 +00:00
drochner
d8453956fc regen 1997-08-23 13:45:11 +00:00
drochner
91c75e9870 Add one more graphics chip. 1997-08-23 13:44:06 +00:00
thorpej
12ef0b5d17 Merge the FreeBSD-current-970823 version of the "fxp" driver, adds support
for more PHYs.  Closes PR #3953.
1997-08-23 09:28:13 +00:00
mjacob
24add65376 Major rework to support Qlogic ISP2100 (Fibre Channel PCI card). Also now
able to read SXP registers (instead of panicing). Probably have done a bit
of setup overkill- we now alloc some scratch memory for the 2100 that I thought
I would need for the Port database, but so far I haven't needed to retrieve
the port database. Well, early days yet.
1997-08-16 00:28:10 +00:00
mjacob
9de423f255 Add in PCI_PRODUCT_QLOGIC_ISP2100. 1997-08-16 00:25:43 +00:00
drochner
8aa62d76fc Regen with new RCS ID. (thanks, Bernd) 1997-08-14 16:31:13 +00:00
drochner
e588696c8e Include some more stuff. 1997-08-14 15:41:49 +00:00
fvdl
70c89b79f4 Regen. 1997-08-03 23:41:05 +00:00
fvdl
c98a1885a9 Add a few VIA Apollo chipset IDs 1997-08-03 23:40:27 +00:00
bouyer
f50739b7b5 Back out previous change. This was for bouyer-scsipi, and not for the trunk. 1997-07-23 10:50:29 +00:00
bouyer
4022e46acf Forgot a scsi->dev/scsipi. 1997-07-23 07:41:56 +00:00
pk
013ac04cfb config.new => config 1997-07-20 20:30:46 +00:00
cgd
8f43428a7f regen for new pcidevs 1997-07-19 10:41:57 +00:00
cgd
d2bdd55b3a clean up a few entries, fix the entry for the TI PCI1130 so the device
is properly named, add entries for the TI PCI1131 and PCI2030.  also note
that you shouldn't always believe everything you read.
1997-07-19 09:54:09 +00:00
cgd
429a941288 don't expect/provide pci_decompose_tag to be a MI, public function. It
wasn't intended to be to begin with, and uses of it (e.g. the one in the
'de' driver) are quite likely to be incorrect.
1997-07-19 09:49:39 +00:00
jtk
c0f08c42a8 use "locators.h" defines for indices for cf_loc[] and default values 1997-07-17 01:01:06 +00:00
cjs
312218482a Add QUIRK_NOTAGS quirk to disable tagged command queuing for particular
drives. Add a quirk entry for HP C372x drives with QUIRK_NOTAGS. Also,
print quirks being used if quirks other than QUIRK_NOSYNC are being used.
1997-07-01 00:41:43 +00:00
thorpej
ca84057878 Correct Intel Triton MX PCI IDs, from Tom Yu <tlyu@mit.edu>, PR #3478. 1997-06-24 06:20:24 +00:00
kml
0953486d37 Added definitions for Essential Communications RoadRunner HIPPI and
Gigabit Ethernet interfaces.
1997-06-24 05:04:10 +00:00
cgd
22da43e670 Change expected mapping register type argument for the pci_mapreg_map()
call for the board's memory space to be PCI_MAPREG_MEM_TYPE_32BIT_1M or
PCI_MAPREG_MEM_TYPE_32BIT depending on the board ID.  Also, remove a
bogus extra argument to an interrupt-establishment-error printf.  Problems
pointed out by Jarkko Torppa <torppa@cute.fi> in PR 3753, but fixed slightly
differently than he suggested.
1997-06-17 05:44:22 +00:00
thorpej
e78f8ce7da Duplicate register mapping logic from Tulip driver. 1997-06-09 01:23:20 +00:00
thorpej
3e023b7681 Fix a slight bogon in merge of this driver; make the device map all of
its space, and pick the space used by default based on what is appropriate
for the CPU we're running on.
1997-06-09 00:34:18 +00:00
thorpej
e962c12a08 Fix pasto: sbus -> pci 1997-06-08 22:15:34 +00:00
thorpej
6bf33a7fe3 Merge pdq-970604 update. 1997-06-08 19:47:13 +00:00
thorpej
2f8150954f Correct a couple of typos so that this compiles with TULIP_DEBUG,
per PR 3723, submitted by enami tsugutomo <enami@ba2.so-net.or.jp>.
1997-06-08 18:49:43 +00:00
thorpej
cd4fc920b0 Put back Matt Thomas's revision ID, per PR 3723, submitted by
enami tsugutomo <enami@ba2.so-net.or.jp>.
1997-06-08 18:44:02 +00:00
thorpej
159c685a42 - Update for changes to core ISP driver.
- Convert to use bus dma, greatly simplifying DMA setup.
1997-06-08 06:34:52 +00:00
thorpej
6d9b3bc058 Pull the thorpej-bus-dma branch into the mainline. 1997-06-07 01:35:07 +00:00
thorpej
11e78a6b0d Pull thorpej-bus-dma branch into mainline. 1997-06-06 23:43:45 +00:00
mellon
2a1b799fda Clean up conflicts during merge (thomas de-970603) 1997-06-06 23:14:58 +00:00
thorpej
b2ef3f1591 Add device declaration for Intel EtherExpress PRO 10/100B driver. 1997-06-05 02:15:36 +00:00
thorpej
f2317e1c5b Changes to support NetBSD, written by me, tested by Matthias Drochner:
- Add NetBSD autoconfiguration support.
- Rearrange code slightly to minimize the number of #ifdefs.
- Don't use a structure to access CSRs.  Use macros that DTRT for
  the NetBSD and FreeBSD cases.
- Deal with alignment contraint on Alpha - add 2-byte padding at the
  beginning of the RFA, so that the data will be 4-byte aligned, after
  the 14-byte Ethernet header.
Thanks to Matthias Drochner for the testing, and David Greenman for
the feedback on the changes.
1997-06-05 02:01:55 +00:00
thorpej
7fa6876537 Import FreeBSD's Intel EtherExpress PRO 10/100B driver, written
by David Greenman.
1997-06-05 01:50:48 +00:00
jtk
d01ff6bdaa regen 1997-05-13 14:45:39 +00:00
jtk
68187ebd40 correct the identification of Intel Orion PCIset chips 1997-05-13 14:44:54 +00:00
thorpej
158a6e52a4 Garbage-collect and uneeded #ifdef. 1997-05-08 04:39:03 +00:00
thorpej
b5c783c6e4 Merge 970327 "de" update. 1997-05-07 18:45:01 +00:00
mikel
7aa8facf27 end line after printing WIDE SCSI status; fixes PR kern 3505. 1997-04-17 07:21:14 +00:00
cgd
78b378b2bc create pci_mapreg_info() which simply gets mapping register information.
It's used by pci_mapreg_map() and can be used directly by drivers
with special needs (e.g. those being attached as console devices).
1997-04-13 22:05:10 +00:00
cgd
36949596f0 rename pci_map_register to pci_mapreg_map. The latter name is more
descriptive, and allows for a sane name for a function which just digs
the info out of the mapping register but doesn't do the mapping.
1997-04-13 20:14:20 +00:00
cgd
4c2cff7209 use pci_map_register(). map both mem and I/O spaces, preferring mem space
by default if it's usable, but falling back to I/O space if mem isn't usable.
If NCR_IOMAPPED is defined (default on the x86), prefer I/O space
then fall back to mem.  Also, clean up the various memory consistency checks
so that they can deal with run-time determination of whether or not the
device is to be memory- or I/O-mapped.
1997-04-13 19:58:17 +00:00
cgd
32836b0710 use pci_map_register(). map both mem and I/O spaces, preferring mem space
by default if it's usable, but falling back to I/O space if mem isn't usable.
If TULIP_IOMAPPED is defined (default on the x86), prefer I/O space
then fall back to mem.
1997-04-13 19:56:14 +00:00
cgd
8593458137 use pci_map_register(). Also, almost a complete rewrite/cleanup of this
code.  (It still needs more!)
1997-04-13 19:55:09 +00:00
cgd
41a0ca7403 clean up space/tag comments 1997-04-13 19:48:50 +00:00
cgd
cf2d73f749 use pci_map_register(). map both mem and I/O spaces, preferring mem
space if it's usable, but falling back to I/O space if mem isn't usable.
1997-04-13 19:48:16 +00:00
cgd
02ca6f929d use pci_map_register(). 1997-04-13 19:47:06 +00:00
cgd
2eae910210 implement pci_map_register(), which gets information about a device's
mapping register, maps it, and returns all of the relevant information.
deprecate use of pci_{io,mem}_find(), but leave them around (for a while)
for backward compatibility with third-party drivers.
1997-04-13 19:46:01 +00:00
cgd
ade89d0da0 add a missing newline 1997-04-11 20:28:08 +00:00
cgd
db11467340 clean up some constants ([A-F]->[a-f] in hex constants 1997-04-11 05:24:40 +00:00
cgd
cc93b2c4eb pass memory- and i/o-enabled flags down via the PCI bus and device attach
arguments, so that a device can tell if its memory and I/O spaces are
enabled.  The flags are cleared, depending on the contents of devices CSR
registers, in the machine-independent PCI bus code.
1997-04-10 23:12:16 +00:00
cgd
db0f072019 clean these up (mostly rename bus_space_{tag,handle}_t variables) so that
this code makes equal sense for memory and I/O space, prefer to map
the PCI front end via memory space (conditionalized on a patchable kernel
variable), and do a bit of other random NetBSD-specific cleanup.  (These
changes were sent to Justin Gibbs on March 28.)
1997-04-10 02:48:38 +00:00
mjacob
0d321a7e29 Add 60 (MHz) value for PCI clock frequency value. Also enable DMA bursting. 1997-04-05 02:55:28 +00:00
augustss
e52219bae7 Regen. 1997-04-04 00:24:36 +00:00
augustss
a987ede509 Two more PCI devices. 1997-04-04 00:22:00 +00:00
jonathan
c1f72bba37 Add ifmedia hooks: include <ifmedia.h> and add sc_media to softc. 1997-03-30 22:47:05 +00:00
jonathan
70e7856e42 Match missing variants:
3c900 twisted-pair only, 3c595 mii, 3c595 100bT4, 3c905 100bT4.
Is there an MII version of the 3c905?
1997-03-30 21:31:01 +00:00
mycroft
080350dc0d Use a temporary data structure for holding probe information, rather than a
full softc.
1997-03-28 23:47:08 +00:00
cgd
d26286ab6b clean up (unify) the register mapping code a bit 1997-03-28 22:25:01 +00:00
cgd
874e7169a4 punt pci_mem_find's &cacheable arg, and pass NULL instead. We never
want to map the memory register cacheable.
1997-03-28 22:16:06 +00:00
cgd
359850c818 clean up isp_pci_prefer_io comment 1997-03-28 21:51:51 +00:00
thorpej
8443f8fad0 Resolve conflicts from merge. 1997-03-26 01:33:32 +00:00
thorpej
4c03c2945d Resolve conflicts from merge. 1997-03-24 00:35:02 +00:00
veego
196e8ba3c2 Resolve conflicts from merge. 1997-03-23 09:37:28 +00:00
chuck
aeee0bf5a5 add support for adaptec PCI atm cards (see midway.c log for details) 1997-03-20 21:30:46 +00:00
chuck
e64066a694 regen 1997-03-20 20:22:17 +00:00
chuck
088d71a793 - add Adaptec ATM ID's (0x5900, 0x5905). still trying to find out how they
correspond to the ANA numbers...  certainly includes ANA-5940.
 - add Efficient Nets product 0x0000.  according to linux pci.h
	the 0x0000 is an FPGA version of the midway card and the 0x0002
	is the ASIC version.
1997-03-20 20:18:43 +00:00
cgd
2cde9c6e69 fix multi-function device support, add new known classes/subclasses,
and clean up class/subclass printing.  From brb@brig.com via PR 3359.
1997-03-19 19:38:46 +00:00
thorpej
914022ca23 Resolve conflicts from merge. 1997-03-19 02:37:36 +00:00
thorpej
0398318515 Resolve conflicts from merge. 1997-03-17 03:44:49 +00:00
thorpej
1d987a161b #include <net/if_media.h> 1997-03-17 03:17:34 +00:00
cgd
cd0461fbb8 map either via memory or I/O space, depending on the setting of a
patchable kernel variable.  eventually, it might make sense to turn
this into a driver flag or something.
1997-03-16 00:37:00 +00:00
is
07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
cgd
e36a5ca4de change microcode array definitions from "unsigned short" to the more
correct u_int16_t, and remove bogus casts that the old definition
required.
1997-03-13 04:07:44 +00:00
mycroft
919efaeb60 Make the microcode table const. 1997-03-13 03:33:03 +00:00
cgd
5f0d034532 include <vm/vm.h> for vtophys() on x86. kill extra <sys/kernel.h> incl. 1997-03-13 01:56:06 +00:00
cgd
8aa5282c68 clean up the __BROKEN_INDIRECT_CONFIG chunks of the last change 1997-03-13 01:04:02 +00:00
cgd
4c654c0acf fixes from Matt Jacob so that these can compile and run on the Alpha.
(aic7xxx has been tested and works on the Alpha, bha has not yet been
tested on thne Alpha.)
1997-03-13 00:38:48 +00:00
cgd
cf26d31ad2 NetBSD RCS ID tweaks, a few comment block tweaks. Also, make copyright
notices consistent (per Matt Jacob).
1997-03-12 21:06:41 +00:00
cgd
099e30a322 ISP 10x0 driver from Matthew Jacob of NASA Ames Research Center.
(March 12, 1997 version).
1997-03-12 20:44:50 +00:00
cgd
dbaf4fbdbe specs for ISP 10x0 (isp) driver PCI attachment. From Matt Jacob 1997-03-12 06:39:47 +00:00
thorpej
709ccfa853 Patch from Matt Thomas to deal with the fact that Pass 2.[012] of
the 21140A-A[CDE] have a buggy receiver which may hand and/or corrupt
data on receive overflows.
1997-03-06 22:32:20 +00:00
mycroft
e481e52aa9 Fix a couple of splhigh()s that should be splbio(). 1997-03-04 21:42:32 +00:00
jonathan
c7cec27edf Move if_ep media-sense code from front ends to inside back end,
to prepare for if_media, and to support EISA 3c59x cards:

  * change epconfig() to take a short that encodes the chipset
    type (3c509, or Demon/Vortex/Boomerang).
  * add  distinct 3c509 and Demon/Vortex/Boomerang media-sense
    functions to back end.
  * Add EISA match/attach support for the 3c592 and 3c597
    (Demon) cards as well as the 3c509-comatibl EISA 3c509/3c579.

  * Assume that ISA and ISA PnP cards are 3c509-style, until
    proof to the contrary (e.g. large packet support).

Tested on 3c595, 3c590, and 3c509b. Not tested on 3c515 or Demon.
1997-02-18 10:51:06 +00:00
jonathan
788394a2e4 Change bha_pci product names to match latest pcidevs:
PCI_PRODUCT_BUSLOGIC_OLD946C -> PCI_PRODUCT_BUSLOGIC_MULTIMASTER_NC
    PCI_PRODUCT_BUSLOGIC_946C -> PCI_PRODUCT_BUSLOGIC_MULTIMASTER
1997-02-17 22:42:21 +00:00
veego
932fca6287 regen. 1997-02-16 17:21:26 +00:00
veego
d0e4650c7d Fix errors in the last commit. 1997-02-16 17:17:30 +00:00
tls
d21c733fd8 greatly expanded pcidevs file courtesy of Carl Shapiro <cshapiro@sparky.ic.sunysb.edu>. 1997-02-15 11:07:08 +00:00
thorpej
db33863c33 Fix a couple of minor nits so that this compiles on the alpha.
Noticed by Matt Jacob (mjacob@feral.com).
1997-01-13 00:15:29 +00:00
thorpej
aceef5987f Merge into mainline, tidy up some debug code. 1997-01-11 04:47:31 +00:00
thorpej
d34ed2a09f Update from Matt Thomas <matt@3am-software.com>. Supports more
Tulip-based cards, including new SMC and Kingston cards.
1997-01-11 04:30:07 +00:00
perry
40533e83ff Commit latest fixes/upgrades to NCR SCSI driver. From FreeBSD via
Dave Huang <khym@bga.com>

Tested on alpha by cgd, tested on several i386 boxes. Certainly causes
no harm to the goddamned mess, but the NCR driver only works when you
perform voodoo rituals on it anyway.

This is what Dave said (in email) has been added to the driver:

  ----------------------------------------------------------------------
  This seems to be the most significant change:
  General cleanup and new features for 53c875 based cards, especially the
  Tekram DC390W/U/F, whose config EEPROM can now be dumped, if the kernel
  is built with option NCR_TEKRAM_EEPROM.

  Other changes:

  - add brackets to expansion of OUTB/W/L macro arguments.
  - remove unused NCB structure element ns_async
  - support sync. SCSI offset of 16 (instead of only 8) on 825A and 875
  - correctly identify 53c810A and 53c825A chips
  - preserve SCSI BIOS settings of PCI performance options
  - remove (already disabled) support for NCR reset because of command timeout
  - reverse order of reading of SCSI and DMA specific interrupt cause registers
  - add definition of Tekram config EEPROM contents (not currently used)
  ----------------------------------------------------------------------
1997-01-10 05:57:10 +00:00
veego
034ed50ead Add the Matrox Millenium and regen the header files. 1997-01-01 14:56:19 +00:00
jonathan
0ede4558bc Use the same symbolic cnames for 100Mbit media as epconfig(). 1996-12-31 21:26:10 +00:00
jonathan
259ce9f178 * make sure 100mbit media-present bits don't collied with 3c509
CONFIG_CNTRL bits by making the "conn" argument to epconfig()
   a u_int, not a u_int16_t, and by defining 100mbit media
   bits in the upper 16 bits.

A redesigned interface that fixes this properly is in the pipeline.
1996-12-30 19:18:28 +00:00
jonathan
1d7f16f4d9 * Accept 100baseT4, MII variants of 3c595 as 3c595-model devices,
rather than unknown.

* Look for 100mbit interfaces, and for any present, set corresponding
  bits in `conn' argument to epconfig(). epconfig() will now print
  100Mbit media by name.
1996-12-29 13:42:58 +00:00
thorpej
d502e68402 Fill in sc_link.max_target 1996-12-10 21:27:16 +00:00
cgd
197d80c63a update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
is defined.
1996-12-05 01:25:23 +00:00
leo
91c17fedfa The atari has a pci_machdep.h file. 1996-12-01 21:02:18 +00:00
jtk
15aad8e10b forgot to regenerate these after committing pcidevs for its NetBSD header tag 1996-11-30 15:16:22 +00:00
jtk
ebc2675469 add Cirrus CL-7541, 7543 and ACC 2188; regen .h files 1996-11-28 16:29:59 +00:00
thorpej
c645414c6e Regen. 1996-11-28 00:49:48 +00:00
thorpej
5d9878b0be Fill out the Intel section of this a bit, and note the URL of a
periodically updated list of PCI vendor/product codes.
1996-11-28 00:46:35 +00:00
cgd
828f1f3aa1 Provide a routine so that ISA/EISA bridges can set up a callback so
that their child busses can be attached after the PCI bus
autoconfiguration for their parent bus is done.

This works because:
	(1) there can be at most one ISA/EISA bridge per PCI bus, and
	(2) any ISA/EISA bridges must be attached to primary PCI
	    busses (i.e. bus zero).

That boils down to: there can only be one of these outstanding
at a time, it is cleared when configuring PCI bus 0 before any
subdevices have been found, and it is run after all subdevices
of PCI bus 0 have been found.

This (or something like it) is needed because there are some (legacy)
PCI devices which can show up as ISA/EISA devices as well (the prime
example of which are VGA controllers).  If you attach ISA from a
PCI-ISA/EISA bridge, and the bridge is seen before the video board is,
the board can show up as an ISA device, and that can (bogusly)
complicate the PCI device's attach code, or make the PCI device not be
properly attached at all.

This could be done with machine-dependent code, but as more ports
add support for PCI (and PCI-ISA/EISA bridges) more will need it.
The i386 port could (perhaps should) be converted to use it as well.
1996-11-23 21:58:16 +00:00
cgd
f1482e61d8 cast pointers to long, not int, and fix the resulting printf format goof. 1996-11-23 21:42:28 +00:00
perry
a797b925b2 Incorporate updated version of fixes from FreeBSD submitted in PR
2841, plus some fixes to make the patches work on the Alpha. Seems to
improve the NCR driver a lot. We probably should try to incorporate
any updates that have happened since, too.
1996-11-20 21:26:48 +00:00
cgd
71f1ac1e29 print ptrdiff_t's by casting to long and printing with %l<whatever>.
(This fixes problems with the printf format fixes i checked in yesterday.
ptrdiff_t is an 'int' on the i386 but a 'long' on the alpha, so the cast
really is necessary...  *sigh*)
1996-11-14 20:33:04 +00:00
cgd
2bf9f4b20a fix a bunch of printf format botches 1996-11-13 19:34:31 +00:00
thorpej
4ad70417a0 Centralize the declaration of the "en" driver (Efficient Networks, Inc.
155Mb/sec ATM interface).
1996-11-12 23:58:01 +00:00
jonathan
79b026a8f3 * Add command struct and modifier definitions for controlling the
ISA-compatible port space of PCI buslogic cards.

* Add call to bha_pci.c to disable the ISA-compatible ports of a PCI
  device.  The ISA-compatible ports are enabled by default, which
  causes the card to be autoconfigured a second time as an ISA device,
  which appears to deadlock the card.

* Change bha_cmd() to return the number of bytes it actually received
  in response to a command, or -1 on error.

*  Use heuristics (checking for bha-only registers, and checking the size
   of the response to BHA_INQURE_EXTENDED) to bha_find, to make sure the
   bha driver never matches an aha (Adaptec    1542 or compatible) device.

A single kernel should now boot on either Adaptec or BusLogic controllers,
provided we always probe for BusLogic devices before Adaptec devices,
but this has not yet been verified.
1996-11-05 03:04:28 +00:00
cgd
2ab4192195 update alpha_XXX_dmamap() invocations to match prototype. 1996-10-25 21:33:30 +00:00
cgd
702e7ec138 make script_kvars an array of unsigned longs, and cast when assigning the
elements, to avoid warnings (with -Wcast-qual) about 'volatile'
qualifiers being discarded.
1996-10-25 00:33:00 +00:00
cgd
2e7c250f84 update drivers to use the new NetBSD/alpha DMA mapping hack, since
the old one is not workable with the new bus.h.
1996-10-23 04:37:31 +00:00
thorpej
546c8abcee New bus.h implementation/interface:
- No more distinction between i/o-mapped and memory-mapped
	  devices.  It's all "bus space" now, and space tags
	  differentiate the space with finer grain than the
	  bus chipset tag.
	- Add memory barrier methods.
	- Implement space alloc/free methods.
	- Implement region read/write methods (like memcpy to/from
	  bus space).
This interface provides a better abstraction for dealing with
machine-independent chipset drivers.
1996-10-21 22:56:24 +00:00
jonathan
3bd4c6caee regen from pcidevs 1.20 1996-10-19 13:04:51 +00:00
jonathan
7717235f4c Add productId for RealTek 8029 PCI ethernet board. 1996-10-19 13:01:49 +00:00
christos
7ad3f1a832 regen 1996-10-15 23:42:42 +00:00
christos
c354418add Use the official 3com part names; from Curt Sampson 1996-10-15 23:41:56 +00:00
christos
898d3e0b34 regen 1996-10-13 22:21:15 +00:00
christos
b3de746da6 Apply PR/2840: Recognize more 3com models... 1996-10-13 22:19:19 +00:00
christos
86373f8cf9 backout kprintf changes 1996-10-13 01:37:04 +00:00
christos
95e30eafe7 printf -> kprintf, sprintf -> ksprintf 1996-10-10 19:58:18 +00:00
christos
bf78c76b40 - move a variable declaration that is unused under NetBSD into the ifdef
for FreeBSD
- printf -> kprintf, sprintf -> ksprintf
1996-10-10 19:55:48 +00:00
christos
9cbe3b9d5f - printf -> kprintf, sprintf -> ksprintf
- include systm.h
1996-10-10 19:53:03 +00:00
christos
9cc736c839 - printf -> kprintf, sprintf -> ksprintf
- remove unused variables.
- fix cleanup code in case of probe failure.
1996-10-10 19:52:10 +00:00
gibbs
b9c06e6fa3 dev/microcode/aic7xxx/aic7xxx.seq,
dev/microcode/aic7xxx_seq.h,
dev/ic/aic7xxxreg.h:
  Remove intrinsic knowledge about SDTR and WDTR messages and replace it
  with a generic message system that allows the kernel driver to handle
  SDTR, WDTR and any other type of extended message it chooses too.  This
  makes the sequencer code much simpler, makes extended message handling
  debuggable since the bulk of the work is in the kernel driver, and saves
  lots of instruction space.

  Regen microcode header file.

dev/ic/aic7xxx.c, dev/ic/aic7xxxvar.h:
  Add code to handle WDTR and SDTR negotiation in light of the changes in
  the message interface to the sequencer.  Don't reject targets that
  negotiate async by sending an SDTR with a 0 offset.  Use an sdtr message
  with 0,0 to negotiate async when a target suggests a period that is too
  long for us to handle.  Some tape and cdrom drives don't like us doing
  the message reject that we did in the past.

  Fix a problem with handing the QUEUE FULL condition.

  Fix a race condition (most likely the cause of the SCB paging problems) that
  might allow the sequencer to get unpaused before the condition that caused
  it to be paused (a SEQINT) was handled.

  Race condition pointed out by Doug Ledford <dledford@dialnet.net> and
  by "Dan Willis" <dan@plutotech.com>.

dev/pci/ahc_pci.c:
  Add support for the 2940AU, an aic7860 based controller.

dev/pci/pcidevs.h, dev/pci/pcidevs_data.h:
  Add product IDs for the 2940AU, aic7860 and aic7855.

  Regen data file.

scsi/scsi_message.h:
  Add MSG_EXT_SDTR_LEN and MSG_EXT_WDTR_LEN - the length of bytes in these
  extended messages.

Thanks to Chuck Cranor <chuck@maria.wustl.edu> for testing these changes
out for me.
1996-10-08 03:04:02 +00:00
christos
169edbf5a3 Don't epstop() at the and of the attach 1996-09-29 11:20:32 +00:00
christos
e76a4ef86b New cyclades driver from Timo Rossi. 1996-09-24 17:59:33 +00:00
christos
7c744984f3 New cyclades driver from Timo Rossi. 1996-09-24 17:47:14 +00:00
cgd
4463616051 put set of 'channel' field of scsi_link in the right #ifdef 1996-09-20 22:38:37 +00:00
mycroft
70944d2e2c Minor changes. 1996-09-01 00:20:20 +00:00
mycroft
e8b5bd5b35 Update. 1996-09-01 00:10:55 +00:00
mycroft
06fdef11fd Split the BusLogic driver apart, and rename it to `bha (like BSDi). 1996-08-31 20:18:24 +00:00
cgd
a84c80e23c regen for new pcidevs 1996-08-29 21:36:01 +00:00
cgd
d29b00b3c3 add entry for the IBM 82351 PCI-PCI Bridge 1996-08-29 21:34:22 +00:00
thorpej
c4366945e5 Quiet the ahc driver down a bit by only enabling some of less useful
messages #if defined(DEBUG) in the NetBSD case.
1996-08-28 23:39:40 +00:00
cgd
71ad30d0e9 (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
    single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
    function, and kill any locally-defined print function.
1996-08-28 18:59:15 +00:00
cgd
2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
cgd
00209d1db1 remove include of <sys/types.h> (it's implied by including
<sys/param.h>, and historically has been), and add include of
<sys/systm.h> for prototypes.
1996-08-27 16:24:18 +00:00
cgd
de2285c4d2 #undef assert before defining it, so the new libkern definition doesn't
conflict with this one.
1996-08-27 01:00:00 +00:00
cgd
6b5b72905d regen for new pcidevs 1996-08-26 20:20:02 +00:00
cgd
8080fdf200 add ids for the PGXGB (TGA2), and DGLPB (OPPO). 1996-08-26 20:12:16 +00:00