Commit Graph

2292 Commits

Author SHA1 Message Date
wiz
0a3b1c29a1 transceiver, not transciever. 2001-06-11 01:19:53 +00:00
ad
bfac43a1c8 Centralise the geometry fudge. 2001-06-10 10:48:42 +00:00
ad
5f1286dfb9 Don't make assumptions about the contents of the system drive table. 2001-06-10 10:34:44 +00:00
scw
737763fde7 Forgot to commit this as part of the mvme68k evcnt(9) changes. 2001-06-10 08:27:42 +00:00
briggs
acf06d2e27 If the adapter is returning a selection timeout, then we should be
returning XS_SELTIMEOUT, not XS_TIMEOUT.  Pointed out by Andrew Doran.
2001-06-09 18:08:20 +00:00
briggs
8c948a0386 Patches from takashi.yamamoto@bigfoot.com in kern/13139.
- Set XS_TIMEOUT on a selection timeout condition.
- Do not bother to call AscStartChip() in AscResetChipAndScsiBus()--
  just clear the chip status.
- Make sure address is word-aligned in AscWriteLramByte().

Tested on my adv (AdvanSys ABP-9xxUA) with CRW8424S and UMAX SuperVista S-12.
Earlier versions of the system would get stuck trying to recover from error
conditions when the CD-RW drive was in heavy use.  I have not seen that
behavior with these small patches.
2001-06-09 17:18:21 +00:00
tsutsui
14f1650c62 Remove unused members from SCSI command block structure. 2001-06-09 13:43:02 +00:00
tsutsui
9cd36c6539 Fix an uninitialized variable in #ifdef DIAGNOSTIC.
Pointed out by soda.
2001-06-09 12:59:50 +00:00
thorpej
ff5871412e Correct the receive mode mask in the RXCMD register. 2001-06-07 05:19:26 +00:00
thorpej
025decbccb Don't clear a callout on a scsipi_xfer that has been scsipi_done()'d. 2001-06-07 03:44:00 +00:00
soren
26603afde8 Update URL to documentation PDF. 2001-06-06 22:11:42 +00:00
tsutsui
15f8692183 Make some functions __inline. 2001-06-05 12:42:44 +00:00
thorpej
8ee014b439 Handle the DL10022 case. 2001-06-05 02:31:16 +00:00
mrg
46762d3560 fix lint exposed by GCC 3.0 20010604 (prerelease). 2001-06-04 20:56:51 +00:00
toshii
13aba87bcb Don't pass nonpositive repeat count to CSR_*_MULTI_2.
Should fix kern/13092.
2001-06-04 03:34:47 +00:00
tsutsui
bcdd082840 Add a driver for the Initio INIC-940/950 PCI SCSI controllers.
Based on OpenBSD's iha driver, and modified some structures by me.

Tested on arc, i386 and macppc.
2001-06-03 13:43:45 +00:00
thorpej
37368cb858 Use the correct bitbang ops on the DL10022 (oops!). 2001-06-03 04:39:52 +00:00
thorpej
ca4d373730 Implement support for IP/TCP/UDP checksum offloading provided by
network interfaces.  This works by pre-computing the pseudo-header
checksum and caching it, delaying the actual checksum to ip_output()
if the hardware cannot perform the sum for us.  In-bound checksums
can either be fully-checked by hardware, or summed up for final
verification by software.  This method was modeled after how this
is done in FreeBSD, although the code is significantly different in
most places.

We don't delay checksums for IPv6/TCP, but we do take advantage of the
cached pseudo-header checksum.

Note: hardware-assisted checksumming defaults to "off".  It is
enabled with ifconfig(8).  See the manual page for details.

Implement hardware-assisted checksumming on the DP83820 Gigabit Ethernet,
3c90xB/3c90xC 10/100 Ethernet, and Alteon Tigon/Tigon2 Gigabit Ethernet.
2001-06-02 16:17:06 +00:00
toshii
9590a56496 Use bus_space_{read,write}_multi_stream_2 where available. 2001-06-02 15:49:16 +00:00
thorpej
2da55b9a39 Define some extra configuration block bits used on the i82550 (a.k.a.
PRO 100/S), including the extended RFA format.  Don't hard-code the
RFA size to allow us to use the extended format in the future.
2001-06-02 01:04:01 +00:00
jdolecek
f6af05f407 Back the last revision off, upon Bill Sommerfeld's request 2001-06-02 00:46:00 +00:00
jdolecek
5dbe622e77 When polling, raise priority level to tty, to block keyboard interrupts
when the system is "warm", i.e. interrupts are not blocked anymore.
This seems to be necessary on my PS/2 Model 70 keyboard - without this,
system ends up in endless loop calling the keyboard intr routine if a key
is pressed when polling. This _may_ be just specific to level-triggered
interrupts PS/2 MCA uses, though it's more likely it's just the way the
particular keyboard controller works.

Discussed on tech-kern@.
2001-06-02 00:01:04 +00:00
lukem
d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
mrg
c13e3a6693 use _KERNEL_OPT 2001-05-30 11:40:35 +00:00
onoe
a62b5c1e2e add a comment why IFF_PROMISC is handled separately for SIOCSIFFLAGS:
Handle special case for IFF_PROMISC.  If only IFF_PROMISC
	flag is changed, do not call an_init() to avoid initiating
	reassociation to another access point.  It is really
	helpful for tcpdump(8).
2001-05-28 00:46:35 +00:00
bjh21
6d8a82ebc2 Use bus_space on arm26.
Update the comment to match list of bus_space-using ports.
Delete oak from list of drivers that need converting.
2001-05-26 20:55:48 +00:00
mjacob
c9de53f96e Create a kernel thread for Fibre Channel cards. This is the new
way of doing business- modulo some startup spasms and peculiarities
of the way kthreads are started (*after* configuration, weird) and
some strangeness with the freeze/thaw code, what now happens is
that any of Loop Down, LIP, Loop Reset or Port Datbase or Name
Server Database Changed ASYNC events cause the queues to freeze
for this channel.  The arrival of a Loop UP is not relevant.

What *is* relevant is that the Port Datbase or Name Server Changed
async event indicate that it's okay to go and (re)evaluate the
state of the FC link and (re)probe local loop and fabric membership.
We have a kthread do this because it's *sooooo* much nicer to be
able to sleep while doing the 130-250 mailbox commands it'll take
to re-evaluate things.

When the state is well known again, we can unfreeze the channel
queues.  Then, as commands start arriving, we simply can start them
or bounce them with XS_SELTIMEOUT (if the device in question has
gone away).  Previously, we did lazy evaluation, which meant that
if a change occurred, we would wait until the very *next* command
to go rebuild stuff.

The reason this is not sensible is:

 a) Even with sleeping, you can hang up your system because you might be
 making some poor stat(2) call pay the price of re-evaluating the whole
 fabric.

 b) If we ever really want to get to dynamic attachment/detachment, we
 should find out sooner, rather than later, where things get to.

Split off ispminphys_1020 from ispminphys- a 1020 has a 24 bit limit-
not anything newer.

Re-enable LIPs and Loop Resets as async events- this allows the outer
layer to set policy about them.

Roll platform major && minor. Remove bogus waitq (no longer used).
Remove callout entry in softc (no longer used). Define some shorthands
for channels. Clean up a variety of cruft left over from the
thorpej_scsipi changeover.
2001-05-25 21:45:55 +00:00
hannken
339a9c8de2 Fix two typos in the BYTE_ORDER != LITTLE_ENDIAN case. 2001-05-25 08:54:40 +00:00
itojun
6229248ec0 minor style 2001-05-24 08:12:28 +00:00
itojun
85efd7edb1 correct multicast filter handling. without this, we cannot run IPv6 on an*. 2001-05-24 08:06:04 +00:00
petrov
9d59ae231c adjust fas register fields names 2001-05-23 18:32:26 +00:00
bouyer
a98b728b88 Call scsipi_channel_thaw() after scsipi_done() so that command ordering
is preserved.
2001-05-23 15:51:32 +00:00
fvdl
24b32e8f08 Add missing definitions for hw checksumming. 2001-05-23 00:56:58 +00:00
mjacob
d298a26243 Add back in (again) ISPASYNC_LIP and ISPASYNC_LOOP_RESET async
notifications. Let each platform set policy as to what to do
with these.
2001-05-22 19:32:41 +00:00
thorpej
188e0d6625 Some changes from the new FreeBSD `fxp' driver:
- Add some additional config block bits for the i82558/i82559.
- Change the config block template to only fill in the must-be-one
  reserved bits, leave fxp_init() to fill in all the important things.
- On the i82558/i82559, we can use "Receive Long Frames" rather than
  "Save Bad Frames" to support the VLAN MTU.
- Use 802.3x flow control on the i82558/i82559.  This is all handled
  transparently by the hardware.  When in promiscuous mode, allow
  wire-watchers to see the flow control frames.
- Use the Extended TxCB format on the i82558/i82559.  This places two
  Transmit Buffer Descriptors directly in the TxCB, which should cover
  the vast majority of packets transmitted.  This saves PCI transactions
  that would otherwise be required to fetch the TBD list.

With the tansmit queue length changes from yesterday, this gets us up to
11.5MB/s TCP transmit speed, out of an absolute maximum of 12MB/s possible
on a 100Mb/s link.
2001-05-22 15:29:30 +00:00
thorpej
a5a03e13dd Report 82558, 82559, etc. based on chip revision. Also, remember which
revsion we have for feature enables later.
2001-05-22 01:23:25 +00:00
thorpej
611e112566 A little slight cleanup. 2001-05-22 00:27:01 +00:00
thorpej
fb4607ec45 Add some additional register definitions, from FreeBSD. 2001-05-22 00:07:32 +00:00
thorpej
0064d69faf Re-arrange the transmit control data somewhat so that we can
use the extended TxCB format (that change will happen later).
2001-05-21 23:58:44 +00:00
thorpej
65ac078927 Sigh, typo in last. 2001-05-21 23:21:27 +00:00
thorpej
00f922fa70 Change NTXSEGS from 16 to 8, and the TXQUEUE len from 128 to 256. Also
increase the number of Rx buffers from 64 to 128.

These mirror some performance tweaks made to the sip(4) driver.
2001-05-21 22:20:31 +00:00
thorpej
d84e2452ea Fix non-fatal typo -- CB_NOP -> CU_NOP in the ICH work-around (they
have the same value).
2001-05-21 21:49:51 +00:00
thorpej
b4538a0165 The 82801BA built-in Ethernet has a bug which requires us to
issue a NOP before a CU_RESUME when in 10baseT mode.  Handle
this.
2001-05-21 21:47:52 +00:00
thorpej
e7a0ef6145 ANSI'ify. 2001-05-21 20:59:38 +00:00
ichiro
cb675810e0 add more comment about firmware of EVAL-CARD. 2001-05-20 13:14:54 +00:00
ichiro
c13971f816 chenge chip and card identity,
print RF-chipset, Medium Access Controller(MAC) and CARD-identity
2001-05-20 12:57:57 +00:00
bouyer
8aa2f73d43 Enable tagged queuing again; should work now with scsipi_base rev 1.42 2001-05-18 12:57:42 +00:00
fredette
d76bcda838 Fixed some typos, removed unused asm() labels. Removed
the DMA map creation, now the bus glue does this.
2001-05-18 12:51:58 +00:00
drochner
bc8eda57c9 increase the delay after PHY reset - it seems that mii register accesses
can fail if attempted too soon after reset
2001-05-17 19:00:18 +00:00
drochner
323adb5a41 support BNC interfaces (serial mode) as on the SMC9432BTX and 100FX
on the SMC9432FTX
2001-05-17 17:32:47 +00:00