Age | Commit message (Collapse) | Author |
|
|
|
|
|
All callers actually took all arguments to pci_intr_map from pci_attach_args
structs, so this simplifies code.
This also allows more complicated interrupt assignment schemes like the one
on sparc64.
This makes sparc64 pci interrupts work.
Inspired by the same change in NetBSD.
|
|
form of bus_dmamap_sync()
|
|
|
|
|
|
|
|
- use the new queue macros.
- use IFQ_POLL() to peek at the next packet.
- use IFQ_IS_EMPTY() for empty check.
- drivers should always check if (m == NULL) after IFQ_DEQUEUE(),
since it could return NULL even when IFQ_IS_EMPTY() is FALSE
under rate-limiting.
- drivers are supposed to call if_start from tx complete interrupts
(in order to trigger the next dequeue under rate-limiting).
|
|
- use ether_input_mbuf().
|
|
|
|
|
|
|
|
- Do not enable IPSEC offloading (don't know how that got there =)
|
|
|
|
put a size limitation of the PCI region to map. That makes the PERC 3/Di
raid controller usable, as it publishes too much PCI memory for us to map
in the kernel virtual memory. As we only access the first 256 byte it is
of no use to map 128MB of kvm.
|
|
|
|
- better spl handling
|
|
|
|
|
|
IPsec offloading before claiming to have that capability.
- also add cksum offload capabilities (commented out for now)
|
|
|
|
|
|
accurate information about upcoming models of their cards
|
|
|
|
use bcmp not strncmp for verifying the magic number in the firmware
|
|
fragment and try again. Failing that, operate as normal.
|
|
- redo dma_alloc(), dma_free() a bit (I had them right to begin with)
- add an alignment shim on rx buffers on strict alignment arch's (this is
hideous, but hopefully temporary)
Upshot: works on alpha now
|
|
- use symbolic name instead of value for maximum packet length
- make this compile on alpha (be careful with pointers stored in device descriptors)
- fix a mbuf leak in the tx full case
|
|
suggestion from Pankaj Chhabra.
|
|
|
|
|
|
- add necessary definitions for extension descriptors, missing commands,
and offload capabilities
- rework command/response (again) to allow for long responses (still need
support for long commands, though).
|
|
for now until folks comment on the dependent patch; pointed out by fgsch.
|
|
- use constants for bzero'n allocated memory instead of retrieving mapped size
|
|
|
|
- make txp_rx_reclaim() run on offsets instead of indices (avoids several
division/multiplication conversions)
- remove vlan tag support for now (it doesn't work anyway)
- optimize txp_start(), txp_rx_reclaim(), and txp_tx_reclaim() a bit (this is
based on my original attempts at these functions... only now it works =)
|
|
some out of resource handling (a2h_3 is a heartbeat generated every ~8ms
and thus provides 125intrs/sec even when idle).
|
|
out of resource handling a bit better).
- in txp_stop(), disable the rx process, too
|
|
- correct rx_reclaim (still needs some work)
- rework txp_init() a bit to do the operations in the right order
- wait for filter setup to complete before returning
|
|
- simplify/encapsulate fully transmit ring handling
- initialize sc_xcvr to be auto
- initial rx descriptor ring handling (doesn't work yet)
status: firmware, boot, media, tx, and rx buffer management work
(actual received frames don't... yet).
|
|
- go ahead and initialized the rx filter (but don't enable RX just yet)
- correct descriptor definition for txp_rx_desc (not the same size as any
other descriptor)
- definition of txp_rxbuf_desc
|
|
optimization)
- add in IFF_OACTIVE and if_timer handling
status: firmware, boot, media, and transmit working
|
|
more to do here
- be sure to set maximum packet size early
- remove old debugging code and add new
|
|
website. The license is still too restrictive to be in the tree, though.
|
|
put txp_set_filter() in the right places
|
|
|
|
to maintain write control over the phy... fine... but we query it to get
current status).
- fix several bugs in cmd/rsp handling: match responses to commands via id/seq,
and add a routine to fixup the queue if it gets mangled).
|
|
get link status via media status query (unclear how to get speed/duplex this way)
fix media command definitions to match documentation
update the hostvar index for response queue on successful query
|
|
XXX: Status routine needs to really query device to get duplex/speed/link
|
|
- rewrite definitions for command/response rings (bad aaron, shared memory structures are volatile and should not use nonportable bit slices, ':')
Status: loads firmware, boots, gets mac address
|