| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg.
Lockfunc allows a driver to provide a function for managing its locking
semantics while using busdma. At the moment, this is used for the
asynchronous busdma_swi and callback mechanism. Two lockfunc implementations
are provided: busdma_lock_mutex() performs standard mutex operations on the
mutex that is specified from lockfuncarg. dftl_lock() is a panic
implementation and is defaulted to when NULL, NULL are passed to
bus_dma_tag_create(). The only time that NULL, NULL should ever be used is
when the driver ensures that bus_dmamap_load() will not be deferred.
Drivers that do not provide their own locking can pass
busdma_lock_mutex,&Giant args in order to preserve the former behaviour.
sparc64 and powerpc do not provide real busdma_swi functions, so this is
largely a noop on those platforms. The busdma_swi on is64 is not properly
locked yet, so warnings will be emitted on this platform when busdma
callback deferrals happen.
If anyone gets panics or warnings from dflt_lock() being called, please
let me know right away.
Reviewed by: tmm, gibbs
|
|
|
|
|
| |
Special thanks to brueffer for sending me such a card so that
I could do this work.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
other initializations succeeded.
- Initialize the TX and RX rings in epic_attach() rather than in
epic_init() where we're not supposed to fail. Similarly, free
the TX and RX rings in epic_detach() rather than in epic_stop().
- Change epic_init() to be a void function now that it can't fail.
Also change its parameter to a void * so that we have a correct
prototype for if_init.
- Now that epic_init() has a correct prototype, don't cast the
function pointer when initializing if_init.
- Fix nearby style bugs.
|
|
|
|
| |
- Use __FBSDID.
|
|
|
|
|
|
|
| |
- Don't initialize if_output, ether_ifattach() does this for us.
- Use pci_enable_busmaster() instead of using pci_read_config()
and pci_write_config() directly.
- Don't try to enable I/O, bus_alloc_resource() does this for us.
|
|
|
|
|
|
|
|
| |
network layer (ether).
- Don't abuse module names to facilitate ifconfig module loading;
such abuse isn't really needed. (And if we do need type information
associated with a module then we should make it explicit and not
use hacks.)
|
|
|
|
|
|
|
| |
instead use our optimized m_getcl().
Submitted by: Hiten Pandya <hiten@unixdaemons.com>
MFC After: 1 week
|
|
|
|
| |
Approved by: trb
|
|
|
|
| |
Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
|
|
|
|
| |
The devlist2h.awk tool to do this has been repocopied to sys/tools/.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o don't strip the Ethernet header from inbound packets; pass packets
up the stack intact (required significant changes to some drivers)
o reference common definitions in net/ethernet.h (e.g. ETHER_ALIGN)
o track ether_ifattach/ether_ifdetach API changes
o track bpf changes (use BPF_TAP and BPF_MTAP)
o track vlan changes (ifnet capabilities, revised processing scheme, etc.)
o use if_input to pass packets "up"
o call ether_ioctl for default handling of ioctls
Reviewed by: many
Approved by: re
|
|
|
|
|
|
| |
o replace EPIC_MGETCLUSER with m_getcl
MFC after: 1 week
|
|
|
|
|
| |
compilant. Split two pieces if code into separate functions to do not
exceed line length due to indentation.
|
|
|
|
| |
others.
|
|
|
|
| |
epic_common_attach().
|
|
|
|
|
|
|
|
|
|
|
| |
we don't collect any stats in it, we mii_tick() in it! This fix the bug
when autonegotiating fullduplex modes.
Also, pause activity before setting TXCON in epic_miibus_statchg(). Though
i've never seen problmes from not doing that, the documentation says we
need to do it.
MFC after: 1 week
|
|
|
|
|
|
| |
Inspired by: dc(4)
MFC after: 1 week
|
|
|
|
| |
MFC after: 1 day
|
|
|
|
|
|
|
| |
was if_baudrate being always 10Mbit.
Obtained from: OpenBSD
MFC after: 1 day
|
|
|
|
|
|
| |
into if_txreg.h.
MFC after: 1 week
|
| |
|
|
|
|
| |
well on machines with 64 bit pointers.
|
|
|
|
|
|
| |
mbuf system in a rate-limited fashion now.
MFC after: 3 days
|
|
|
|
| |
Approved by: semenu
|
|
|
|
|
|
|
|
|
| |
common_attach is wrong as common attach initialize some fileds used by
mediainit routine. This was hard to notify because loading driver as kld
lead to mediainit routine being called after common_attach, though probe_phy
is called before.
MFC after: 1 week
|
|
|
|
|
|
|
| |
PR: kern/29235
Submitted by: Peter Jeremy <peter.jeremy@alcatel.com.au>
Reviewed by: Yar Tikhiy <yar@FreeBSD.org>
MFC after: 1 week
|
|
|
|
|
|
| |
This fix hazardous very slow work for one of my cards.
MFC after: 1 week
|
|
|
|
| |
cards will work too.
|
|
|
|
|
| |
Created with: sed(1)
Reviewed by: md5(1)
|
|
|
|
|
| |
Submitted by: josh@zipperup.org
Submitted by: Robert Drehmel <robd@gmx.net>
|
|
|
|
|
|
|
| |
This fixes randoms lockups when probing the card at boot time, when
more than 1 similar card is found in the machine.
Reviewed by: semenu
|
| |
|
|
|
|
|
|
|
|
|
| |
ether_ifdetach().
The former consolidates the operations of if_attach(), ng_ether_attach(),
and bpfattach(). The latter consolidates the corresponding detach operations.
Reviewed by: julian, freebsd-net
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of the individual drivers and into the common routine ether_input().
Also, remove the (incomplete) hack for matching ethernet headers
in the ip_fw code.
The good news: net result of 1016 lines removed, and this should make
bridging now work with *all* Ethernet drivers.
The bad news: it's nearly impossible to test every driver, especially
for bridging, and I was unable to get much testing help on the mailing
lists.
Reviewed by: freebsd-net
|
|
|
|
|
|
|
|
| |
Note that if_aue doesn't strictly depend on usb because it uses the
method interface for calls rather than using internal symbols, and
because it's a child driver of usb and therefore will not try and do
anything unless the parent usb code is loaded at some point. if_aue does
strictly depend on miibus as it will fail to link if it is missing.
|
|
|
|
| |
PR: kern/17601
|
| |
|
|
|
|
|
|
| |
Kurt D. Starsinic <kstar@chapin.edu> had reported
this patch fixing strange behaviour (like timeouts
and RX/TX DMAs stopping errors).
|
| |
|
|
|
|
|
| |
minute. This should cover all of the missed cases (and should let LINT
build again).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
events, in order to pave the way for removing a number of the ad-hoc
implementations currently in use.
Retire the at_shutdown family of functions and replace them with
new event handler lists.
Rework kern_shutdown.c to take greater advantage of the use of event
handlers.
Reviewed by: green
|
| |
|
|
|
|
| |
files. config will leave the whole file out if configured to do so.
|
|
|
|
|
|
| |
for ether_ioctl.
PR: pending/11754
|
| |
|