Warner Losh
d701c91325
Return BUS_PROBE_DEFAULT instead of 0.
2005-02-24 21:32:56 +00:00
Ruslan Ermilov
37c3875846
Reimplement the fix in rev. 1.126.
...
OK'ed by: phk
2005-01-10 09:56:47 +00:00
Sam Leffler
b03eb9a092
correct direction for bus_dma sync of rx buffer
...
Submitted by: Tai-hwa Liang
2005-01-09 19:57:55 +00:00
Poul-Henning Kamp
aeaf0a3a68
Fix compilation of DEVICE_POLLING code.
2005-01-07 23:52:41 +00:00
Warner Losh
60727d8b86
/* -> /*- for license, minor formatting changes
2005-01-07 02:29:27 +00:00
Poul-Henning Kamp
72f0eb9104
We no longer recurse the mutex.
2005-01-07 00:02:11 +00:00
Poul-Henning Kamp
8397f22c34
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
Poul-Henning Kamp
41166e0488
Don't tweak DSP on the ..16 chips.
2005-01-06 23:56:13 +00:00
Poul-Henning Kamp
4ce7885f87
Fix for an issue with excessive collisions in half duplex mode.
2005-01-06 23:54:55 +00:00
Poul-Henning Kamp
bce3bc624c
Nail the short cable problem the exact way National says it should be.
2005-01-06 23:49:26 +00:00
Poul-Henning Kamp
0608b4a20c
Simplify and fix bugs in rx/tx ring cleanup.
2005-01-06 23:36:43 +00:00
Poul-Henning Kamp
7302042943
Rewrite the rx/tx ring initialization to use pointers instead of arrays.
2005-01-06 23:31:41 +00:00
Poul-Henning Kamp
1bad258b05
Eliminate a bunch of unnecessary prototypes.
2005-01-06 23:26:13 +00:00
Poul-Henning Kamp
878f347274
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
Poul-Henning Kamp
951365068b
Make sure to clear any pending interrupts when we stop the interface.
2005-01-06 23:18:44 +00:00
Poul-Henning Kamp
c884a1dc23
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
Poul-Henning Kamp
9be9637246
Align if else if properly
2005-01-05 22:28:24 +00:00
Poul-Henning Kamp
93368d1eb2
Style: new-speak functions, remove pointless "return".
2005-01-05 22:23:03 +00:00
Poul-Henning Kamp
1e079a9113
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
Poul-Henning Kamp
a55fd2ad97
Add locked/unlocked variants of sis_init()
2005-01-05 10:11:37 +00:00
Poul-Henning Kamp
93e6be6cd7
Make a locked and unlocked variant of sis_start()
2005-01-05 10:04:45 +00:00
Poul-Henning Kamp
93a8f35688
Don't declare variables "register", the compiler ought to know what to do.
2005-01-05 09:02:05 +00:00
Poul-Henning Kamp
dc010b7380
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
Poul-Henning Kamp
32a300364d
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
Poul-Henning Kamp
42eb5bb725
Prototype busdma callback using the typedef.
2005-01-04 22:14:18 +00:00
Max Laier
22d0ab2ef8
Fix sis, bfe and ndis in the same way dc was fixed:
...
Do not tell the hardware to send when there were no packets enqueued.
Found and reviewed by: green
MFC after: 1 days
2004-10-08 16:14:42 +00:00
Max Laier
7929aa036c
Bring in the first chunk of altq driver modifications. This covers the
...
following drivers: bfe(4), em(4), fxp(4), lnc(4), tun(4), de(4) rl(4),
sis(4) and xl(4)
More patches are pending on: http://peoples.freebsd.org/~mlaier/ Please take
a look and tell me if "your" driver is missing, so I can fix this.
Tested-by: many
No-objection: -current, -net
2004-07-02 12:16:02 +00:00
Warner Losh
c3e7434f34
Remove burn bridges code that saved/restored the pci config registers
...
that are now handled in the pci bus layer. They are no longer
necessary.
2004-06-28 20:07:03 +00:00
Christian Weisgerber
0e939c0cea
Replace handrolled CRC calculation with ether_crc32_[lb]e().
2004-06-09 14:34:04 +00:00
Poul-Henning Kamp
41ee9f1c69
Add some missing <sys/module.h> includes which are masked by the
...
one on death-row in <sys/kernel.h>
2004-05-30 17:57:46 +00:00
Robert Watson
baad32ada6
Only initialize the if_sis callout as MPSAFE if debug.mpsafenet is set
...
true. Otherwise, assertion checks for Giant in the network stack will
fail causing a panic.
Reported by: simon
2004-05-23 22:22:29 +00:00
Yaroslav Tykhiy
25fbb2c38c
A handler for ioctl(SIOCSIFCAP) should not alter a bit in
...
if_capenable unless the interface driver is actually able
to toggle the respective capability on and off.
Reviewed by: ru
2004-05-23 21:05:08 +00:00
Ruslan Ermilov
f4ab22c94a
Implemented per-interface polling(4) control.
2004-04-11 20:34:08 +00:00
Nate Lawson
5f96beb9e0
Convert callers to the new bus_alloc_resource_any(9) API.
...
Submitted by: Mark Santcroos <marks@ripe.net>
Reviewed by: imp, dfr, bde
2004-03-17 17:50:55 +00:00
Matthew N. Dodd
e3bbbec2ca
Announce ethernet MAC addresss in ether_ifattach().
2004-03-14 07:12:25 +00:00
Maxime Henrion
aa0444ecdb
Stop setting ifp->if_output to ether_output() since ether_ifattach()
...
does it for us already.
2004-03-11 14:04:59 +00:00
Poul-Henning Kamp
8c27747768
Vastly improve performance of IRQ handling on stopped interfaces with
...
this driver by introducing a flag saying we already stopped the device.
On my Soekris net4801, this took a ping -i 0.001 from spending 80% of
time in interrupt handling to 10% (approx numbers).
This was a particular problem for the net4801 because the tree
interfaces share the same interrupt, but it would be a problem for
any configuration where an unused if_sis interface shares an interrupt
with a busy device.
Other drivers may have similar problems.
Thanks to: Luigi
2003-12-25 22:14:25 +00:00
Poul-Henning Kamp
48529e81e4
Attempt to get the short cable fix to work better on the if_sis:
...
Only do short-cable on revisions that need it.
Move generic initialization before short-cable fix, in order to not
clobber short cable fix register setting.
2003-12-12 10:15:39 +00:00
David E. O'Brien
a55a017f42
Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones.
...
Requested by: bde,imp
2003-12-08 07:54:15 +00:00
Sam Leffler
5120abbfb4
Drop the driver lock around calls to if_input to avoid a LOR when
...
the packets are immediately returned for sending (e.g. when bridging
or packet forwarding). There are more efficient ways to do this
but for now use the least intrusive approach.
Reviewed by: imp, rwatson
2003-11-14 19:00:32 +00:00
David E. O'Brien
4dc52c32bf
Remove duplicate FBSDID's, move others to their right place.
2003-11-14 17:16:58 +00:00
David E. O'Brien
aa8255025a
Try to create some sort of consistency in how the routings to find the
...
multicast hash are written. There are still two distinct algorithms used,
and there actually isn't any reason each driver should have its own copy
of this function as they could all share one copy of it (if it grew an
additional argument).
2003-11-13 20:55:53 +00:00
Brooks Davis
9bf40ede4a
Replace the if_name and if_unit members of struct ifnet with new members
...
if_xname, if_dname, and if_dunit. if_xname is the name of the interface
and if_dname/unit are the driver name and instance.
This change paves the way for interface renaming and enhanced pseudo
device creation and configuration symantics.
Approved By: re (in principle)
Reviewed By: njl, imp
Tested On: i386, amd64, sparc64
Obtained From: NetBSD (if_xname)
2003-10-31 18:32:15 +00:00
Sam Leffler
b237430cfe
mark interrupt handlers MPSAFE
2003-10-29 18:32:14 +00:00
Mike Silbersack
180b0f65cc
Fix m_head handling in sis_encap so that the correct mbuf is always handed
...
to BPF_MTAP.
2003-10-19 23:28:02 +00:00
Sam Leffler
55b659ffc1
change timer to MPSAFE
...
Sponsored by: FreeBSD Foundation
2003-09-05 22:33:44 +00:00
Poul-Henning Kamp
8196d06a54
Examine and record the Silicon Revision Register on NS parts.
...
We can't update the device description in attach (why not ?), so
we device_print() what we find.
Conditionalize the short cable fix on this being older than rev 16A.
Call device_printf() when we apply short cable fix.
Include interrupt hold-off setting for rev 16+ under "#ifdef notyet"
The device_printf()'s will go under bootverbose once the various
issues have settled a bit.
2003-09-03 07:40:04 +00:00
Warner Losh
19b7ffd1b8
Prefer new location of pci include files (which have only been in the
...
tree for two or more years now), except in a few places where there's
code to be compatible with older versions of FreeBSD.
2003-08-22 07:20:27 +00:00
Sam Leffler
0143cfd730
"short cable" fix for DP8315
...
Derived from: netbsd and tech note at soekris web site
MFC after: 1 week
2003-08-19 16:57:00 +00:00
Maxime Henrion
fa31bfaa13
Use the BUS_DMA_ZERO flag.
2003-07-27 14:38:54 +00:00