Commit Graph

2205 Commits

Author SHA1 Message Date
anholt
70bda33804 Correct the SiS 755 PCI ID. Confirmed against Linux code.
PR:		kern/76411
Submitted by:	Jonathan Fosburgh, jonathan at fosburgh dot org
Obtained from:	Jung-uk Kim, jkim at niksun.com
2005-02-14 07:30:04 +00:00
anholt
8fbe3a8d63 No use for this AMD64 special-case "return NULL;" in probe now that we don't
do fake "generic" support.
2005-02-14 07:16:25 +00:00
mlaier
e8769beaa3 Adjust TX threshold on every TX underrun. Some supported cards (8139-based)
can retransmit on TX underrun and set TOK in addition to TUND.  Also add a
check to prevent overflow of the addressable threshold.

This fixes some reports of rl(4) slowness, believed to be related to ALTQ
before.

PR:		kern/61448
Submitted by:	Tim Draegen-Gilman <timNOeudaemonSPAMnet> (with changes)
MFC after:	1 week
2005-02-11 01:05:52 +00:00
bz
81c8e4ffa6 Cleanup debugging code and put it under bootverbose
(includes minor style polishing).

Approved by:	rwatson (mentor)
2005-01-29 19:26:53 +00:00
imp
33db954b25 Bring in support for SUGOI LAN GIGA NIC made by System TALKS, Inc from
a RealTek 8169SB.

PR: 74262
Submitted by: Yoshikazu GOTO-san

# Submitter notes that he's unsure of the revision string for 8169SB
2005-01-22 22:40:53 +00:00
ru
5556612cc1 Reimplement the fix in rev. 1.126.
OK'ed by:	phk
2005-01-10 09:56:47 +00:00
sam
8ae50c5853 correct direction for bus_dma sync of rx buffer
Submitted by:	Tai-hwa Liang
2005-01-09 19:57:55 +00:00
phk
2fb9d314a7 Revert local experiment which leaked into commit. 2005-01-07 23:54:16 +00:00
phk
cd49c1d16c Fix compilation of DEVICE_POLLING code. 2005-01-07 23:52:41 +00:00
scottl
f38236bd88 Fix typos from previous commit. 2005-01-07 05:01:24 +00:00
imp
f0bf889d0d /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
phk
de4fc049c9 We no longer recurse the mutex. 2005-01-07 00:02:11 +00:00
phk
edf2752b82 If we get an interrupt and the interface is down, return before we
grab the lock.  This should help a tiny bit on machines where unused
if_sis interfaces share IRQ.
2005-01-07 00:01:43 +00:00
phk
2d73390de2 Don't tweak DSP on the ..16 chips. 2005-01-06 23:56:13 +00:00
phk
2467640118 Fix for an issue with excessive collisions in half duplex mode. 2005-01-06 23:54:55 +00:00
phk
9f1fe19e57 Nail the short cable problem the exact way National says it should be. 2005-01-06 23:49:26 +00:00
phk
538dbb8988 Simplify and fix bugs in rx/tx ring cleanup. 2005-01-06 23:36:43 +00:00
phk
44b8eade28 Rewrite the rx/tx ring initialization to use pointers instead of arrays. 2005-01-06 23:31:41 +00:00
phk
ebc98c6300 Eliminate a bunch of unnecessary prototypes. 2005-01-06 23:26:13 +00:00
phk
23d430c9fe Move the module related stuff to the bottom of the file. This will
allow us to save prototypes.
2005-01-06 23:22:38 +00:00
phk
4f119dfb62 Make sure to clear any pending interrupts when we stop the interface. 2005-01-06 23:18:44 +00:00
phk
962238ddac Close a theoretical race: By the time the watchdog comes around
the interface may have been stopped, so we should not restart it.
2005-01-06 23:13:50 +00:00
phk
5bbadf8546 Align if else if properly 2005-01-05 22:28:24 +00:00
phk
372b1d2250 Style: new-speak functions, remove pointless "return". 2005-01-05 22:23:03 +00:00
phk
b5a9e27a67 Make sis_initl() take a typed argument.
Expect caller to lock before calling sis_stop()
Various style stuff.
2005-01-05 10:26:12 +00:00
phk
cb3936de7b Add locked/unlocked variants of sis_init() 2005-01-05 10:11:37 +00:00
phk
9621af4a8b Make a locked and unlocked variant of sis_start() 2005-01-05 10:04:45 +00:00
phk
8895278231 Don't declare variables "register", the compiler ought to know what to do. 2005-01-05 09:02:05 +00:00
phk
f7c28f490d Instead of keeping track of the index into the receive ring use the already
implemented "sis_nextdesc" pointer to keep a pointer instead.
2005-01-04 22:39:35 +00:00
phk
718589faa8 Forget about the sis_list_data and sis_ring_data structures and embedd
their fields directly in the softc structure.

This is a no-op which shortens most of the affected source lines
by N * 10 characters.
2005-01-04 22:25:58 +00:00
phk
f39fbeb0dc Prototype busdma callback using the typedef. 2005-01-04 22:14:18 +00:00
rwatson
ae4b449ab4 Add PCI and device ID's to if_xl to support:
3C920B-EMB-WNM Integrated Fast Ethernet Controller

Submitter reports that the card appears to autonegotiate properly, and
operate well with high levels of NFS traffic.

PR:		75253
Submitted by:	"Oleg V. Nauman" <oleg at reis dot zp dot ua>
MFC after:	2 weeks
2005-01-03 19:22:37 +00:00
anholt
39536d3f83 [1] Remove the generic bridge support from those drivers that had it. The
generic bridge support was biting us more than it helped, whenever a new chipset
came out from a vendor and misprogramming it caused strange hangs or corruption.
[2] Add a large number of PCI IDs based on what the linux drivers support.
Note that the new PCI IDs haven't been tested, they're just *likely* to work.
In particular the VIA AGP 8x chipsets are concerning, due to lack of testing,
possible issues (kern/69953), and not having a nice "does this bridge say it
would do 8x" function.  However, this shouldn't make the situation worse, since
these chips would have probed in the past anyway.
2004-12-30 07:18:58 +00:00
mlaier
daae8e9dd0 Enable sk(4) for ATLQ.
Thoroughly tested by:	Ender <ender NO tog SPAM net>
MFC after:		4 weeks
2004-12-24 14:13:38 +00:00
bz
457df2c499 Enable jumbo frames on Yukon variants of sk(4).
In contrast to OpenBSD we enable jumbo frame support
depending on MTU setting (like done for xmac).

Approved by:	pjd (mentor)
Obtained from:	OpenBSD if_sk.c r1.52 (YU_SMR_MFL_JUMBO flag)
Tested by:	Heinz Knocke <knockefreebsd at o2 dot pl>
MFC after:	5 days
2004-12-20 10:07:12 +00:00
alc
630d0d0838 Update the Tigon 1 and 2 driver to use the sf_buf API for implementing
zero-copy receive of jumbo frames.  This eliminates the need for the
jumbo frame allocator implemented in kern/uipc_jumbo.c and sys/jumbo.h.
Remove it.

Note: Zero-copy receive of jumbo frames did not work without these changes;
I believe there was insufficient locking on the jumbo vm object.

Tested by: ken@
Discussed with: gallatin@
2004-12-06 00:43:40 +00:00
mdodd
5f1d43e2ed - Simplify pcn_probe() by moving vendor/device matching code to pcn_match().
- Avoid LOR in pcn_probe() by removing useless mutex stuff.
2004-12-03 18:35:00 +00:00
mdodd
aa6945f506 - Move chip ID code into separate function.
- Initialize sc->pcn_type during ATTACH as softc contents may not surivive
  from PROBE.
- Print out chip-id to assist with ongoing pcn(4) debugging efforts.
2004-12-03 18:21:30 +00:00
mdodd
03bb845633 Additional register definitions.
Obtained from:	 NetBSD
2004-12-03 16:45:11 +00:00
brueffer
602feeb308 Correct URL of the programming manual. 2004-11-17 23:36:11 +00:00
brueffer
fd1079c3d1 Add missing /* DEVICE_POLLING */ 2004-11-17 23:33:56 +00:00
jmg
2687765483 only clear the IFF_OACTIVE flag when we have a chance of being able to
queue a packet to the hardware... instead of when the hardware queue is
empty..

don't initalize cur_tx now that it doesn't need to be...

Pointed out by:	bde
2004-11-17 21:35:22 +00:00
jmg
4cdb4f64c1 move the lock after the NULL check so we don't have a hard(er) to diagnose
panic...

Pointed out by:	Bjoern A. Zeeb
2004-11-15 22:24:32 +00:00
jmg
079e5a8053 fix the missing lock in sk_jfree (verified w/ an assert)
also fix up handling and proding of the tx, _OACTIVE is now handled
better...

Submitted by:	Peter Edwards (sk_jfree)
Obtained from:	OpenBSD and/or NetBSD (tx prod)
2004-11-15 19:37:21 +00:00
obrien
36c3b3ee0b Commit more debugging output. This is a little bit of using a large hammer,
but sk(4) is so prevalent on AMD64 motherboards we need to reduce the number
of round trips in the mailing lists trying to get sufficient information to
make sure we've got a handle on all the problems and are working towards
making sk(4) solid.

Submitted by:	bz
2004-11-14 20:17:01 +00:00
bz
a67c7e7512 Set ramsize depending on a value from eprom instead of using
hardcoded 128k for Yukon devices. 88E8001 only has 64k of on-chip RAM[1].

[1] http://www.marvell.com/products/pcconn/yukon/Yukon_88E8001_10_073103_final.pdf

Tested by:	amd64, current
Approved by:	rwatson (mentor)
MFC after:	1 week
2004-11-13 20:21:57 +00:00
brueffer
55709213ca Add altq support.
Patch by mlaier.

Approved by:	mlaier
MFC after:	2 weeks
2004-11-12 18:12:04 +00:00
brueffer
4c011814bd Add device polling support
Original patch by me, improvements by ru

Happy birthday to:	BSDforen.de!
Approved by:		ru
MFC after:		2 weeks
2004-11-10 23:04:39 +00:00
phk
394b6c09a1 Hide link up/down/media printfs behind bootverbose 2004-11-08 19:21:57 +00:00
mlaier
0447144e4c Another missing ! in front of IFQ_DRV_IS_EMPTY, this time in an even more
sensitive, but less excercised location (the watchdog). While here use the
*_start_locked function directly to avoid drop, grab, drop lock.

I have to be very careful with future ALTQ patches!

Found & reviewed by:	rwatson
MFC after:		3 days
2004-11-08 16:16:04 +00:00