thorpej
f4a3f5ea48
So, while the DEC chips and other clones want no FS|LS in the
...
setup descriptor, apparently the Xircom X3201-3 requires it.
2000-05-25 18:46:07 +00:00
thorpej
2f08658512
Fix a couple of typos in debugging messages. From IWAMOTO Toshihiro,
...
kern/10194.
2000-05-25 16:37:33 +00:00
thorpej
05a766d42e
Don't set FS and LS in the setup packet descriptor. From
...
IWAMOTO Toshihiro <iwamoto@sat.t.u-tokyo.ac.jp>, kern/10194,
and confirmed with the 21040 manual.
2000-05-25 16:36:03 +00:00
thorpej
b5cf4e96cf
Use big-endian CRC on ADMtek multicast hash.
2000-05-18 03:02:45 +00:00
thorpej
d6c07323b2
If using ring-mode, don't update the receive descriptor list base address
...
when a receive overrun occurs. From Castor Fu <castor@geocast.com>.
2000-05-12 17:09:27 +00:00
thorpej
6e4b4f6954
Use ether_crc32_le().
2000-05-12 16:45:42 +00:00
thorpej
0ed7436590
Add a patchable variable `tlp_srom_debug' that enables dumping of
...
SROM output, etc.
2000-04-07 18:58:15 +00:00
thorpej
5a41b5bf56
- if_tlp_cardbus.c: Use the `pmreg' pointer passed by by
...
cardbus_get_capability() [mirror change already made to if_tlp_pci.c]
- if_tlp_cardbus.c: If we don't find an ISV SROM, try to grab the
Ethernet address from the CIS.
- if_tlp_cardbus.c: set CardBus cards to store-and-forward mode from
the get-go.
- Put the TxThresh tables in tulipvar.h, and use them in the CardBus
and PCI front-ends to go to store-and-forward mode.
- Document the Xircom X3201-3 clone a little more.
2000-04-04 19:22:50 +00:00
mycroft
b1c28384dc
If the SROM size is to far out of range, issue a diagnostic and set the size
...
to 1Kb. Some boards (e.g. my SMC9332) have a broken MicroWire interface.
2000-04-02 23:38:05 +00:00
thorpej
dc680eb373
Slight correction to last: really only do it if it's a 21142 or 21143.
2000-04-02 19:02:34 +00:00
mycroft
229fcf5bbe
When using MII on 2114[23] chips, zero the SIA TXRX register to disable the
...
internal Nway engine. This fixed a major performance problem.
Thanks to Matt Thomas for pointing this out.
2000-04-02 17:23:33 +00:00
thorpej
fc96443d15
New callout mechanism with two major improvements over the old
...
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.
The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +00:00
thorpej
92d27d3c2e
Get rid of the powerhook when we detach.
2000-03-20 07:52:58 +00:00
thorpej
92c19e5ff7
Add suspend/resume hooks to ensure that the chip doesn't scramble memory
...
after an APM suspend and is unsnoozed after an APM resume.
2000-03-19 21:45:23 +00:00
thorpej
c38405d33d
Add power management support to the `tlp' driver. The battery on my
...
laptop lasts a whole lot longer now.
2000-03-15 18:39:50 +00:00
thorpej
0391e3393f
Slight change to the SROM size printf.
2000-03-10 02:46:39 +00:00
enami
c1b54794fc
Add missing `cnt++'.
2000-03-07 03:37:39 +00:00
enami
7ce8a9f46b
Also, fix indentation in previous commit.
2000-03-07 03:34:52 +00:00
soren
dfaacf6eab
Fix bug in previous.
2000-03-07 01:08:55 +00:00
soren
6cc1408bca
Only print SROM size if TLP_DEBUG.
2000-03-07 01:06:12 +00:00
mycroft
5eee9ca94c
Determine the size of the SROM by probing the chip using the standard Microwire
...
protocol. Eliminates the need for srom_quirks and some other trash.
2000-03-07 00:39:17 +00:00
thorpej
a6f861574a
No longer necessary to futz with ifp->if_baudrate here.
2000-03-06 21:02:00 +00:00
enami
9066b12bbb
Remove redundant assignment.
2000-03-06 10:21:46 +00:00
thorpej
eed75dbc26
Don't dry to diving MIIF_NOISOLATE in the PHY drivers. Instead, pass
...
flags down from the parent to child vi mii_attach().
2000-02-02 17:09:38 +00:00
thorpej
84dc99fdea
Bring some order to the chaos which was the MII code function naming
...
"conventions".
2000-02-02 08:05:26 +00:00
thorpej
001748dc57
First cut at detach support; doens't fully work yet.
2000-02-01 22:54:47 +00:00
thorpej
a72f993570
When possible, use ring mode for descriptors. Not only is this slightly
...
more efficient on genuine DEC chips, but some clones apparently Lose Badly
if you use chain mode. To further complicate things, some clones *only*
do chain mode, so make this whole mess conditional.
2000-01-28 23:23:49 +00:00
thorpej
59fbdbb7cb
Just use a regular Tx descriptor for the setup packet; don't bother with
...
a separate one.
2000-01-28 22:23:58 +00:00
thorpej
62fb37ba49
Some changes for the Xircom X3201-3 in 21143 emulation mode:
...
- The Xircom doesn't bring itself out of reset; we have to do it.
- The Xircom requires transmit buffers to be aligned to 4 bytes, too.
Partially from Rafal Boni (though the Tx buffer alignment issue is
handled much differently in this version).
2000-01-25 22:11:12 +00:00
thorpej
6aca67041c
Add a chip type for the Xircom X3201-3, and centralize the declaration
...
of the chip names array.
2000-01-25 19:29:17 +00:00
thorpej
8f7ad1f798
When checking for a non-standard address ROM format, allow the
...
Cobalt Networks address ROM through.
From Soren S. Jorvang <soren@wheel.dk>
2000-01-25 03:14:12 +00:00
tsutsui
b5084582c9
add one more htole32().
...
fixes "tlp0: filter setup timeout" on my macppc.
1999-12-15 12:23:32 +00:00
thorpej
caae0e1aa1
- Don't try to run the chip in big-endian mode. Not all chips support
...
this consistently, and it doesn't always work even when the chip
supports it.
- Make sure things DMA'd to the chip that the chip interprets are in
little-endian mode.
1999-12-11 00:32:59 +00:00
thorpej
ff4a32590d
When checking the SROM checksum, if the standard location fails, try
...
the new standard location (according to the SROM format update document
for the 21143). From Masanori Kanaoka.
1999-12-07 18:24:01 +00:00
thorpej
9ed17102f4
- Use the common MII bit-bang module.
...
- Add support other than 128-byte SROMs.
- Add support for the 21142/21143 MII.
1999-11-19 18:22:42 +00:00
thorpej
4bdf6bd731
Call mii_down() as appropriate.
1999-11-12 18:14:17 +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
8bc5c71e5f
Set the LED mode per the EEPROM on Macronix chips.
1999-09-30 22:28:11 +00:00
thorpej
2492ffef4c
Changes to get the Lite-On/Macronix 82C115 working:
...
- 82C115 has a 128-bit multicast hash table, not 512-bit.
- Correct the way the MAC address is read from the SROM, after re-reading
the MX98715A Application Note.
Other semi-related changes:
- Differentiate between MX98715 and MX98715A.
- Improve the Macronix link-up/link-down detection.
1999-09-30 17:48:24 +00:00
thorpej
61e04b2510
Add link-up/link-down detection for the Macronix NWay block.
1999-09-30 00:07:29 +00:00
thorpej
9d911ccd55
Add some optional stats gathering, and fix tx stats counting; use the last
...
descriptor in the packet, not the first.
1999-09-29 23:11:36 +00:00
thorpej
56fb88a64a
Grumble, yet another chip-designers-and-manual-writers-disagree. Deal with
...
this by frobbing the 10TCTL register minimally, toggling only the bit we
care about (and hoping that link-capability advertisement happens correctly).
MX98715 can talk to the network now.
1999-09-29 22:07:47 +00:00
thorpej
e3398d3647
- Get a little closer on the Macronix chips. Still some more work to do.
...
- Add some basic support for the ADMtek AL981 clone (which, unfortunately,
I can't test until my sample boards arrive).
1999-09-29 18:52:19 +00:00
thorpej
0bd09380a2
Oops, Macronix MX98713A doesn't have GPIO direction bits in the SROM
...
because it doesn't have a GPIO port (CSR12 is the `10baseT status'
register on this chip revision).
1999-09-28 21:56:45 +00:00
thorpej
a5649fe4d5
Initial support for 21140[A] GPR media.
1999-09-27 19:14:01 +00:00
thorpej
4fa51ba8bd
Make tlp_read_srom() work on big-endian systems.
...
From a patch supplied by Luoqi Chen <luoqi@chekov.watermarkgroup.com>.
1999-09-26 03:39:01 +00:00