Commit Graph

10393 Commits

Author SHA1 Message Date
bjh21
ab0637016a Support NCR5380_USE_BUS_SPACE.
Add comments explaining the card a bit (and how badly we support it).
Add in-core RCSID.
2001-05-26 20:53:53 +00:00
bjh21
bab53421c4 "oak" is now MI. 2001-05-26 17:50:30 +00:00
bjh21
c7a388d937 Turn "oak" into an MI podulebus driver. Tested on my new A310. 2001-05-26 17:49:46 +00:00
bjh21
f0ebb6c5a8 Add a comment about acemidi. 2001-05-26 17:47:45 +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
tshiozak
5b51f5ebe2 fix forgotten/malformed initialization of some variables.
(pointed out by Krister Walfridsson.)
2001-05-25 19:33:36 +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
bouyer
72b4ba8aed In scsipi_channel_thaw(), if the count drops to 0, call scsipi_run_queue(). 2001-05-23 15:50:32 +00:00
chs
fae4d6d720 fix typo in previous revision so that the scsi code compiles again. 2001-05-23 02:16:19 +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
mjacob
b9eb902304 Make SDRETRIES an option you can dig out of opt_scsi.h.
Add SD_IO_TIMEOUT (an option in opt_scsi.h) also, which defaults to the
normal 60 * 1000 timeout for normal read/write commamds. This allows you
to shorten or lengthen the timeout as needed.
2001-05-22 18:59:57 +00:00
mjacob
38f6ada8b6 Add SDRETRIES and SD_IO_TIMEOUT option for sd. 2001-05-22 18:58:15 +00:00
thorpej
607b14bf7b Add mii_bitbang attribute to gsip, pointed out by Andrew Gillham. 2001-05-22 16:58:23 +00:00
thorpej
a888f6ef73 If the cache line size in the BHLC register is not configured,
then clear the MRL/MRM/MWI command-ok flags when attaching a
device.
2001-05-22 16:10:44 +00:00
soren
79859fb138 Regen. 2001-05-22 16:07:56 +00:00
thorpej
6e2bc5b352 Enable the PCI MWI command for memory writes on the i82558 and
higher.
2001-05-22 16:05:01 +00:00
soren
b16ba1d8cd Add i82562ET id. 2001-05-22 16:04:27 +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
bouyer
2a604875d6 Remove one extra byte from scsipi_mode_select; pointed out by Juergen
Hannken-Illjes.
2001-05-22 15:14:24 +00:00
augustss
e25bf167a1 Regen. 2001-05-22 10:43:15 +00:00
augustss
f43e2c6ba1 Add Scanjet 4300. 2001-05-22 10:38:56 +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
jhawk
4af61a686a oops. Make it compile. 2001-05-22 00:43:12 +00:00
jhawk
b5805fa0c8 Sigh. Regen correctly. 2001-05-22 00:41:52 +00:00
thorpej
611e112566 A little slight cleanup. 2001-05-22 00:27:01 +00:00
jhawk
7a31dfa328 Supoprt the IOGEAR/ATEN UC-232A, which uses the Prolific 2303.
Make this the "PRODUCT_PL2303" because it's actually id 0x2303
and change the old PRODUCT_PL2303 to PRODUCT_RSAQ.
2001-05-22 00:18:03 +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
minoura
92d92b1cb2 Correct an easy mistake in initializing gain registers.
This will fix the L-R imbalance.
Suggested by Ryo HAYASAKA <ryoh@jaist.ac.jp>.
2001-05-21 23:55:04 +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
afdab0cab8 The ICH3 also has the Resume Bug. 2001-05-21 22:12:08 +00:00
thorpej
a0f9e3c6fb Regen; add ICH3 network controller IDs. 2001-05-21 22:11:31 +00:00
thorpej
6b51adfbff Add ICH3 network controller IDs. 2001-05-21 22:11:06 +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
jhawk
ecb3a30463 add $NetBSD$ 2001-05-21 20:47:13 +00:00
mjacob
3462fe5d99 Remove reference to adapter_q in scsipi structure. Comment about the
usage of channel_q.
2001-05-21 15:50:46 +00:00
ichiro
598241f757 add product COREGA FEther-PCC-TXF
kern/11357 and report from goro@venus.dti.ne.jp
2001-05-21 13:48:25 +00:00
ichiro
fd7d5008e8 regen 2001-05-21 13:45:10 +00:00
ichiro
4108bc4645 add product COREGA FEther PCC-TXF 2001-05-21 13:44:48 +00:00
christos
2ed6d9dbf7 PR/12991: Dave Huang: DVD ioctls don't work because we send the wrong size
CDB (16 instead of 12).
2001-05-20 21:07:58 +00:00
bjh21
86e12294cd Add Multi-media/Ethernet card from Irlam. 2001-05-20 21:07:06 +00:00
bjh21
65165c3deb 16-bit podules I acquired at Wakefield:
- Added SJ Research Nexus
 - Note HCCS use same ID for IDE and SCSI cards
 - Update Castle EtherSCSI entry
2001-05-20 20:40:19 +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
ichiro
309a9b433c delete RCS Id from pcmciadevs rev 1.128 2001-05-20 10:47:50 +00:00
ichiro
3b35709de7 make compile again
(fix warning : missing white space after `#define....)
2001-05-20 09:54:47 +00:00
ichiro
a2dd9d529f regen 2001-05-20 09:16:14 +00:00
ichiro
caed7fa236 add vendorID National Instruments
add productID PCMCIA-GPIB
2001-05-20 09:15:54 +00:00
soren
281f1795a4 Add TI 1410 to yc_chipsets[]. 2001-05-19 19:46:08 +00:00
tsutsui
3d863329cc space/TAB cosmetics 2001-05-19 12:04:07 +00:00
is
5c9dc5b0d0 When abusing structs to describe on-wire (or in-hardware) data structures,
they need to be packed. (Without this, breaks on at least m68k.)
2001-05-18 21:11:43 +00:00
enami
e4334b830d Don't capitalize the word sync or async. It's inconsistient with other
messages.
2001-05-18 16:25:07 +00:00
enami
d5338ae90e Regen. 2001-05-18 15:35:49 +00:00
enami
679f6a1a54 Add product IDs of internal devices found in NEC VRC4173 and vendor/product
ID of MediaQ MQ200.
2001-05-18 15:35:19 +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
bouyer
8b5bf22895 Workaround for broken drives (explained to me by Chris G. Demetriou):
some devices can't handle tag number larger than some values and always
reject commands with QUEUE FULL if the tag number is larger than this.
Under some circonstances the scsipi system may not decrease periph_openings
(as a workaround of other odd behavior) and we may end up requeuing the command
with a hight tag value again, and the driver could loop on this.
Workaround: in case of queue full, decrease periph_openings to
min(periph_active - 1, periph_openings - 1) so that, after some iteration,
periph_openings is less than the max tag value acceptable by the device.

Solves the problem with tagged queuing on ncr53c9x for me.
2001-05-18 12:56:28 +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
3df4a7a4a8 do this console device lookup thing the right way this time
(This "dev" argument to the console functions is nonsense - nothing
should depend on it.)
2001-05-18 11:49:21 +00:00
jhawk
4601552595 Regen 2001-05-18 06:14:40 +00:00
jhawk
6f032f45b3 Support the Socket EA pcmcia ethernet (ne). It's ooooold. 2001-05-18 06:05:52 +00:00
thorpej
f1f78293df - Add some instrumentation which can be enabled by defining
SIP_EVENT_COUNTERS.
- Decrease SIP_NTXSEGS to 8 and increase SIP_TXQUEUELEN to 256.
  This gives us 256 transmit jobs with only twice the descriptor
  memory footprint.  This prevents stalling transmissions due to
  lack of transmit jobs under heavy load.
- Increase SIP_NRXDESC to 128 so we don't run out of receive descriptors
  under extreme load.
- As recommended by the manual, leave one descriptor in the transmit ring
  with OWN clear to prevent wrap-around.
- Even though the manual claims that driver software must initialize
  TXDP if there are no pending transmissions when a new transmission
  is to be initialized, doing so causes serious performance degredation
  on the DP83820 under heavy load.  Not initializing TXDP also increases
  performance on the DP83815.

All of this gets us up to ~90Mb/s on both the DP83820 and DP83815 when
connected to a 100base network.
2001-05-18 04:38:30 +00:00
thorpej
dbdf3820d8 Add a driver for the National Semiconductor DP83820 Gigabit Ethernet
chip.  This is found on the NetGear GA-622 and Asante FriendlyNet
GigaNIX.
2001-05-18 02:03:53 +00:00
bouyer
7ddcb8122d SDEV_DB -> SCSIPI_DB 2001-05-17 20:02:56 +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
199e9f8164 regen 2001-05-17 17:39:30 +00:00
drochner
10aff2d3f0 argh - the OUI of PMC-Sierra is 00-e0-04, according to IEEE.
They managed to mess it up in a new way.
2001-05-17 17:39:00 +00:00
drochner
c1f451f54d regen 2001-05-17 17:37:01 +00:00
drochner
2e9334d53e add some stuff I got between my fingers 2001-05-17 17:36:30 +00:00
drochner
c1617a9b13 check PCI subsystem ID for a SMC9432BTX1 or SMC9432FTX and tell the common
driver about their media support (BNC and 100FX, respectively)
2001-05-17 17:35:13 +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
drochner
1ea0cb1ea4 support the fiber output of the PHY device, enabled if the MIIF_HAVEFIBER
flag is passed in from the board driver
2001-05-17 17:29:54 +00:00
drochner
002851041c re-enable mii_flags in attach args - I've found a use for it: tell the
PHY which support it that a fiber interface is present
2001-05-17 17:28:21 +00:00
ichiro
0fcd8f3c7f regen 2001-05-17 13:15:47 +00:00
ichiro
8f8e3e808f add products
Intel PRO/Wireless 2011 LAN PC Card
2001-05-17 13:14:19 +00:00
drochner
5e1115908d Revert previous change; this breaks for the old controllers which 1.6
should help for. Instead, weaken the "echo" test: don't insist in
getting the same value back which was written.
2001-05-17 10:48:39 +00:00
scw
d1bc67e029 In osiop_scsidone(), call scsipi_done() even for polled operations.
This fixes a `hang' on shutdown when the `Synchronise Cache' command
is sent to a disk. (It uses polled mode because it is called from inside
a shutdown hook).
2001-05-17 10:35:30 +00:00
jmc
c2b5ec5220 Add a few nits. Hubs seem problematic on resets sometimes.
Also, make sure fwohci can detach cleanly (for cardbus).
2001-05-17 05:30:37 +00:00
chs
bcc2ce4f8c give sunkbd and sunms a "poll" routine. 2001-05-17 02:24:00 +00:00
mjacob
90cabee3fb Per helpful suggestion from LukeM- make INLINE usage consistent (and
use correct __inline format).
2001-05-16 21:41:52 +00:00
jdolecek
8e532c1ad1 Make sure to allocate big enough mbuf data area before elevating
interrupt priority, to avoid allocating additional mbufs on
splsched(). Move some other misc bits out of splched()-guarded
section. This should make the code a bit more friendly wrt e.g.
clock interrupts. Sligh performance improvement was observed with
this change (like 1-2% on slow machine), even.

This also fixes ancient kern/2478 by Bill Sommerfeld.
2001-05-16 20:30:52 +00:00
ichiro
8a78799bf4 support BUFFALO AirStation WLI-PCM-S11
this card are PRISM2.5 card.
2001-05-16 14:33:21 +00:00
ad
c6da2452c0 Put back /usr/include/dev/tc/sticreg.h. 2001-05-16 13:48:52 +00:00
ichiro
25221c413e regen 2001-05-16 12:57:55 +00:00
ichiro
4c575cc65b add product
BUFFALO AirStation 11Mbps WLAN Card
2001-05-16 12:57:27 +00:00
tsubai
eef5fa50d3 Big-endian support. 2001-05-16 10:45:36 +00:00
ichiro
15833cae3b add prism chip identity, Prism2 with SST flush. 2001-05-16 07:53:28 +00:00
lukem
ff47810d07 fix previous delint 2001-05-16 06:29:01 +00:00
lukem
c15945130c delint: remove unnecessary assignment to same objection (hidden in #define) 2001-05-16 04:50:11 +00:00
lukem
be493349d2 delint: zero sized array initalisation is a gccism 2001-05-16 04:39:03 +00:00
lukem
927097774a delint: remove volatile from fxp_mdi_read() decl 2001-05-16 04:20:55 +00:00
mjacob
b81e69fa8e beginning basic 2300 infrstructure support 2001-05-16 03:58:34 +00:00
mjacob
9f2c2c7a8c Keep up with the Joneses.... further synchronization for the eventual
implementation in NetBSD for target mode.
2001-05-16 03:58:03 +00:00