Commit Graph

1336 Commits

Author SHA1 Message Date
sommerfeld
73bf131124 Add rcsid's 1999-11-05 05:13:36 +00:00
thorpej
0ad32f07d2 Revert this part of rev 1.59:
- Be more conservative when resetting the interface after a transmit error.

It caused the interface to totally wedge on the (somewhat common) transmit
FIFO underrun condition.
1999-11-04 20:27:11 +00:00
sommerfeld
d9bc6e4f98 Conditionalize so this builds on 1.4.x.. 1999-11-04 18:43:42 +00:00
sommerfeld
58e709f695 Minimally functional driver for the am79c930 802.11 controller chip).
Working well enough to support dhcp; i'm doing this commit using the
interface.

Supports FH only.  Does not yet do ad-hoc mode; works in
infrastructure mode.  Not yet tested in environments with multiple
access points.
1999-11-04 17:10:53 +00:00
jonathan
0588cdfc88 Update user-level PPS-API to match -05 draft.
Change PPS_<xxx> ioctls to PPS_IOC_<xxx>.
1999-11-04 05:33:58 +00:00
thorpej
97bbad1f0b Do rd/line and rd/mult on the MX98725 and LC82C115, too. 1999-11-04 01:27:32 +00:00
thorpej
e3f20e8ff1 Use Memory Read Line and Memory Read Multiple on the 21140, 21140A,
21142, and 21143, if the PCI bus says its okay.
1999-11-04 01:20:55 +00:00
thorpej
ca9b9a3b2e Adapt to mii_phy_probe() change. 1999-11-04 00:24:00 +00:00
thorpej
3750d3f592 Update for ifmedia changes. 1999-11-03 23:07:10 +00:00
thorpej
e017601bd3 More or less completely rewrite the way DECchip media is handled, and
add support for the DECchip 21142/21143 SIA/SYM media.  Make the Macronix
98713 behave like a 21140A, and the 98713A and later behave like a 21143.
Nuke all of the Macronix-specific Nway code, as it will be identical to
the 21143 Nway code once it is written.
1999-11-03 22:25:08 +00:00
thorpej
eb16cd3aa7 Define DECchip 21142/21143 register bits, and since the Macronix chips
are nearly perfect 21143 clones, delete a bunch of redundant info in that
section of the file.
1999-11-03 22:22:49 +00:00
mycroft
d2b362b685 Only update the cursor state if it's enabled. 1999-11-03 15:55:27 +00:00
augustss
361b083d4c Shorten some delay()s. From WITEK Wnuk <witek@atari.org> 1999-11-02 17:48:01 +00:00
soren
bc18b45323 Clean up attachment printing a bit. 1999-11-02 05:41:27 +00:00
augustss
860ebb7a92 Make little endian and big endian version of all functions
that deal with 16 bit samples.  Let the drivers decide which ones
to use.
1999-11-01 18:12:19 +00:00
sommerfeld
db05febdfa Add enable/disable support and EEPROM size selection, prerequisites
for getting the cardbus fxp attachment to work.

Tested on the built-in 82559 in a VAIO Z505S.

From Johan Danielsson / PR8631; changed slightly to KNF.
1999-10-30 16:07:58 +00:00
enami
b9451ead47 remmove unncecessary empty line. 1999-10-30 12:07:08 +00:00
enami
fc21ddd943 Call epstop at the beginning of epinit, especially to make sure that
ep_tick is untimeouted before new one is scheduled.  This makes 3C574-TX
works at least in 10Mb/s mode.
1999-10-30 01:35:47 +00:00
enami
3f199cc5e4 Add and delete a reference to an adapter at aicattach(), to make sure
that the adapter is disabled even if it wasn't enabled/disabled during
configuring its children.  This fixes the bug that if an aic pcmcia card
is inserted in a slot during boot, further attaching of any card on the
slot fails once the card is removed.
1999-10-30 00:58:32 +00:00
ragge
12c16f443f DEC specifies that dealing with CSR0 in the interrupt routine must be
done in a special order. Do that here also, but for now inside #ifdef vax
because of the (possible) impact on other arch's.
Now vaxen without IOMMU can use the MI LANCE driver.
1999-10-29 19:50:07 +00:00
sommerfeld
652701006d Fix suspend/resume-related problems observed on fxp0 on Sony Z505S:
Symptoms: system would crash with "data modified on free list" pool
panic from the mbuf cluster pool shortly after a resume.  The cluster
in question contained a valid 82557 receive descriptor and an IP
packet.  Happened sporadically in normal use.  Easiest way for me to
reproduce it was to run tcpdump and a flood ping and do a
suspend/resume cycle or two.

Changes:
 - in interrupt handler, if the interface isn't in IFF_RUNNING state,
just ack interrupts and return; don't try to receive packets, queue
new descriptors, etc., etc.,
 - add power control hook to take interface down on suspend,
and restart it (if it was up) on resume.
 - tweaks to fxp_stop and fxp_shutdown to avoid recursive panics due
to the (now fixed) bug.
1999-10-28 19:21:51 +00:00
mjacob
7227a97ad0 I was misinformed. I cannot get away from specifying tags for FC. Some devices
are happy w/o them- some are unhappy (IBM drives).
1999-10-28 02:50:34 +00:00
augustss
91cbb40ee5 Add AC97 mixer/codec support. From OpenBSD and FreeBSD. 1999-10-27 13:18:02 +00:00
mjacob
fb6f289535 nuke a debug printout I thought was already gone 1999-10-26 22:23:20 +00:00
erh
64643af801 Add description of the hd64570 chip. Add brief description of this driver. 1999-10-23 22:20:11 +00:00
ad
fd992c5320 Prepare a little for the addition of an interface to user-space. 1999-10-23 16:26:32 +00:00
mjacob
864ff761d7 remember to initialize mailbox 2 for FC isp bus resets 1999-10-22 17:06:12 +00:00
bouyer
9d3c1407f7 If IRQ was not for us, add back WDCF_IRQ_WAIT to the flags, so that
the next IRQ (real or timeout) will be handled.
Fixes the 'missing untimeout' problem reported by a few peoples, and
kern/8639.
1999-10-21 14:37:58 +00:00
enami
4c4a056bc5 fix typo in previous commit. 1999-10-20 16:39:11 +00:00
enami
8a5c548579 cosmetic changes before i do some functional changes. 1999-10-20 16:34:22 +00:00
enami
a2369d8e97 Cancel active transfers on aic/wdc detach.
Also makes LS-120 drive works for me again.
1999-10-20 15:22:24 +00:00
ad
b3e97ca54b Nuke some silliness. 1999-10-20 12:27:38 +00:00
ad
eccc3630ec DPT_MORE_TIMEOUT was scaled wrong. 1999-10-20 11:54:10 +00:00
ad
675c12dbcb - Don't get stalled by a bogus HA_ST_MORE condition.
- Don't trust HA_ST_MORE again if the above situation occurs.
- Nuke bitfields in 'struct eata_sp'.
- Don't bother using scatter-gather if DMA map contains only 1 segment.
- Return TRY_AGAIN_LATER and not COMPLETE if an EATA command times out.
- Check SCSI status in dpt_inquire(), not just HBA status.
- Some cosmetic changes and sanity checks.
1999-10-19 20:16:48 +00:00
cgd
d935a73378 nuke RCS "Log" and "Header" tags. They cause problems for third parties
importing our sources, and for NetBSD release engineering folks.
(They've been against the NetBSD coding style forever, but they crept
in anyway.)
1999-10-17 23:53:45 +00:00
mjacob
4938c2371d Some stylistic changes, but also use the new INT_PENDING macro. Start
tracking LIP sequence numbers.
1999-10-17 01:38:27 +00:00
mjacob
4fdbb0d1a0 mostly stylistic 1999-10-17 01:37:34 +00:00
mjacob
c525e6fa14 add INT_PENDING macro 1999-10-17 01:37:12 +00:00
mjacob
5781cfe433 some comments added 1999-10-17 01:23:21 +00:00
jonathan
b31080319e Fix nanosecond/microsecond botch in PPSAPI:
remove bogus TIMESPEC_TO_TIMEVAL() after applying any {assert,clear} offset.
1999-10-15 06:16:15 +00:00
haya
4eee111127 This is the first check-in of CardBus driver. CardBus driver contains
CardBus bus stub, YENTA PCI-CardBus bridge (cbb), 3Com 3C575TX driver
(ex) and Intel fxp driver.

TODO:
  o Conform to the KNF more strictly.
  o Be unified with pcmcia code as much as possible.
  o Add more drivers for CardBus card, such as APA-1480 or USB card.

The affected files are listed below.

	sys/arch/i386/conf/files.i386
	sys/arch/macppc/conf/files.macppc
	sys/conf/files
	sys/dev/ic/elinkxl.c
	sys/dev/ic/elinkxlvar.h
	sys/dev/ic/i82365.c
	sys/dev/ic/i82365var.h
	sys/dev/isa/i82365_isasubr.c
	sys/dev/pci/files.pci
	sys/dev/pcmcia/pcmcia.c
	sys/dev/pcmcia/pcmciachip.h

The added files are listed below.

	sys/arch/i386/conf/CARDBUS
	sys/arch/i386/include/rbus_machdep.h
	sys/arch/i386/i386/rbus_machdep.c
	sys/arch/macppc/include/rbus_machdep.h
	sys/arch/macppc/macppc/rbus_machdep.c
	sys/dev/cardbus/if_ex_cardbus.c
	sys/dev/cardbus/Makefile.cardbusdevs
	sys/dev/cardbus/cardbus.c
	sys/dev/cardbus/cardbus_map.c
	sys/dev/cardbus/cardbusdevs
	sys/dev/cardbus/cardbusdevs.h
	sys/dev/cardbus/cardbusdevs_data.h
	sys/dev/cardbus/cardbusvar.h
	sys/dev/cardbus/cardslot.c
	sys/dev/cardbus/cardslotvar.h
	sys/dev/cardbus/devlist2h.awk
	sys/dev/cardbus/files.cardbus
	sys/dev/cardbus/if_fxp_cardbus.c
	sys/dev/cardbus/pccardcis.h
	sys/dev/cardbus/rbus.c
	sys/dev/cardbus/rbus.h
	sys/dev/pci/pccbb.c
	sys/dev/pci/pccbbreg.h
	sys/dev/pci/pccbbvar.h
1999-10-15 06:07:17 +00:00
mjacob
3f83c69972 Roll platform version. Keep a bitmap of 'discovered' devices for SCSI adapters
so we'll know when it's time to switch from 'slow' command mode to normal.
Change some settings for configuration printfs and debug levels. Redo the
internal ispscsicmd return definitions and let isp_cmd translate them as
approrpriate to NetBSD values. Remove the inline functions from here- they're
now in isp_inline.h. Put in the start of the correct SWIZZLE/UNSWIZZLE
functions.
1999-10-14 02:33:38 +00:00
mjacob
02911581bb Add in an ioctl entry point so scsictl mediated bus resets will work.
Redo how we start commands- do a 'slow' start function which then
looks to see when we're done the configuration process at which point
it *then* enables sync/wide mode. Set the max openings amount to the
true max openings- not a synthetic. Add a timeout driven command requeue
function so that Loop Down events well freeze things until a later point
in time where they might be restarted.
1999-10-14 02:31:11 +00:00
mjacob
2b760bfd7b remove most target mode stuff. Change the arguments to the
isp_fastpost_complete function to include a handle. Do some
isr register debouncing. Use new inline functions for xflist
handle storage. Remove isp_dumpxflist function. Do some fixups
of NVRAM from some broken cards. Use Full Login after LIP option
for FC cards if f/w < 1.17 - there's a f/w bug that causes the
port database to not be actually refreshed for local loop devices!
Do the appropriate endian swizzling for the ICB. Ditto for SNS structures
(these are no-ops until UltraSparc PCI needs them).
1999-10-14 02:27:12 +00:00
mjacob
74f3840c1b Roll minor version. Change how f/w revisions are stored. Add some
defines to get max luns for a card. Make sure the RESULT_QUEUE_LEN is not less
than 64- I've seen breakage with that. Move the temp port database stuff
into the softc (ick). Remove most of the target mode stuff. Make xflist
storage an external outer layer thing (since it will now be allocated based
upon the maximum commands that this HBA can support rather than request
queue size).
1999-10-14 02:21:50 +00:00
mjacob
c607d0ea19 Update FC icb type to have the variants for the 2200 (we don't use it
yet). Remove all target mode definitions.
1999-10-14 02:18:40 +00:00
mjacob
2030b173b8 Add this file to contain common inline functions for use with the Qlogic
driver.
1999-10-14 02:16:55 +00:00
thorpej
8d56d3f3f0 Bound one auto-calibration loop that was missed in previous rounds of
changes.

Yay, audio on my Dell laptop works again.
1999-10-12 00:16:42 +00:00
thorpej
5082673b91 - Encapsulate the EEPROM reading code into ep_read_eeprom(), and use
the correct "read eeprom" opcode on the RoadRunner (which has a larger
  EEPROM, and thus needs a different opcode to make room for the larger
  offsets).
- Reset and enable the MII before probing for PHYs, and reset and enable
  the MII in epinit().
- Be more conservative when resetting the interface after a transmit error.

Based on PR #8331, from Ryoji KATO.

Closer on 3c574, probably will work fine with the 3CCFEM556BI (which
won't have an older rev TDK Semi PHY, and which was tested by the author
of the PR).
1999-10-11 17:48:20 +00:00
thorpej
7871f8c56d Add some more RoadRunner bits. Partially from Ryoji KATO, PR #8331. 1999-10-11 17:41:56 +00:00