Commit Graph

2260 Commits

Author SHA1 Message Date
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
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
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
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 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
mjacob 73eba1a839 Long overdue- put locks on the usage of the mailbox command stuff. This
keeps us from stomping on ourselves.

Say we're in the middle of re-evaluating a loop (and sleeping) when a
command completes, or a timer refires, and this *other* thread decides
*it* wants to start re-evaluating the loop. Bad news.

We have to be a bit careful- if we can't acquire the MBOX semaphore at
interrupt level, we will simulate a host interface error. This is a bit
of a temp workaround. There's some work underway driven by a NetBSD
commercial user that will try and force most mailbox stuff into a
part A/part B interrupt driven model.
2001-05-16 03:55:15 +00:00
mjacob a1dd9d78ee It's 'role None', not 'role No'.
Also, pay attention to the difference in the ISPASYNC_CHANGE_NOTIFY
between loop and fabric changes.
2001-05-16 03:52:10 +00:00
ichiro 9a3074ffce cosmetic change.
change version format: <major>.<minor> variant <num>
2001-05-16 02:36:37 +00:00
christos 6ae38c2f7a Try the kbc_auxtest if the random write/read to the aux port fails (it returns
0xfe on my gateway 2000 circa 1993). That should not affect broken controllers
that choke on the kbc_auxtest, because for those the write/read test succeeds.
2001-05-15 22:01:07 +00:00
lukem d62b92e0f7 delint: () protect some macro args 2001-05-15 15:41:27 +00:00
ad ae0203ee27 Correct arguments to bus_dmamap_create(), and add a reset routine for the v3
interface.
2001-05-15 12:49:37 +00:00
ichiro 0071e88a8c fixed mistake.
major version and minor version were made reverse.
2001-05-15 11:45:50 +00:00
ichiro 08d33f4cc0 Fix indentation in recent commit. 2001-05-15 09:06:15 +00:00
ichiro 4afb07bd12 getting prism2 firm ver routine to wi_get_id().
if firm ver is more than 0.8c3, promiscuous mode is off.

typo WI_RID_STA_IDENEITY -> WI_RID_STA_IDENTITY
2001-05-15 09:01:27 +00:00
ichiro caa399b739 WEP cannot be used when Prism2 Firm version is lower than 0.8.3.
Although WEP is used in Windows also in an old firm,
because WEP is processed by the windows driver side.
If Prism2 Firm version is more than 0.8.3, WEP does work without 'Promiscuous ON'.
2001-05-15 04:27:22 +00:00
ichiro 2970b99ac9 It enabled it to control roaming mode and authentication mode.
Roaming mode can change value into 'firm mode' and disable.
Authentication mode can change into 'Open System authentication'
and 'Shared Key Authentication' with Prism2 chip.

wi_get_id() was introduced in order that chip might judge automatically
whether it is Prism2 chip. Therefore, a pp_prism2 entry in
"struct wi_pcmcia_product" became unnecessary.
2001-05-15 04:14:06 +00:00
jdolecek 85c02ac331 epintr(): eliminate write-only variable 'addrandom' 2001-05-14 09:28:49 +00:00
jdolecek 6ff7de5716 remove unneeded #includes, fix typo 2001-05-14 08:01:23 +00:00
jdolecek 497bb809df do not use the synchronous read mode for MCA 3c529 2001-05-14 07:03:50 +00:00
thorpej 240de9a426 Definitions for the Dallas Semiconductor DS1286/DS1386 Real Time Clock.
From Rafal K. Boni.
2001-05-11 02:07:09 +00:00
thorpej 18e25d5feb Add a flag to suppress SCC reset at attach time.
From Rafal K. Boni.
2001-05-11 01:40:48 +00:00
fvdl ba2882488a Despite what the hardware docs say, the global reset command is not
done when the command-in-progress bit has been cleared. The 1ms
time that is mentioned also seems wrong; 20,000us is not enough
on at least one machine. So, do a delay(100000) in ex_reset.
Fortunately, this function is only called when the card is
attached or when hardware failure is suspected.

While here, only mask one 1 bit in the 'reset hack' case.
2001-05-10 22:57:44 +00:00
tsutsui 330ab2b636 Print a clock frequency of the chip. 2001-05-09 16:24:43 +00:00
ichiro 09858f6fc8 change promisc mode in case of SIOCSIFFLAGS of wi_ioctl.
Fix indentation.
2001-05-08 16:42:49 +00:00
ichiro 1480c8fae2 delay(10) is too much enough for command waiting routine. 2001-05-08 13:42:04 +00:00
lukem a9bf1b0410 delint 2001-05-07 08:15:41 +00:00
ad 95450fbced Make provision for resetting the board at start-up. 2001-05-06 19:53:04 +00:00