summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_txp.c
AgeCommit message (Collapse)Author
2001-11-02- Set valid bit in transmit descriptors and tx fragment descriptors (previousJason Wright
firmware versions didn't use it, but newer ones might... play it safe). - add a bit of debugging code to tx so I can get dumps easier to send to 3com. (ifdef'd out). - ifdef both places that require modification to enable TX cksums to avoid errors like halfway enabling them (which caused me a bit of pain the other day). - TX UDP/TCP cksums still hang the firmware
2001-09-21Correct some pryntf() usage: get the correct number of arguments in theMiod Vallat
correct order.
2001-09-11Don't include <vm/vm_kern.h> if you don't need foo_map.Miod Vallat
2001-08-27get direction of read/write correct in calls to bus_dmamap_sync()Jason Wright
2001-08-25Change pci_intr_map to take pci_attach_args as an argument.Artur Grabowski
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.
2001-08-24missing bus_dmamap_sync() calls on descriptors... also deal with 5 argument ↵Jason Wright
form of bus_dmamap_sync()
2001-08-17Oops, maxseglen and maxlen were backwards in call to bus_dmamap_create().Jason Wright
2001-08-12remove redundant vm includesMichael Shalayeff
2001-08-10allocate tx dma maps in attach instead of creating/destroying them for each txJason Wright
2001-06-27ALTQ'ify network drivers.Kenjiro Cho
- 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).
2001-06-24- vlan_input_tag() takes 2 args now.Federico G. Schwindt
- use ether_input_mbuf().
2001-06-23ether_input_mbuf()Jason Wright
2001-06-23Go ahead and add the output checksum handling for tcp/udp (commented out)Jason Wright
2001-06-23IPv4 transmit checksum offload handlingJason Wright
2001-06-23- Add IPv4, UDP, and TCP RX checksum offloading supportJason Wright
- Do not enable IPSEC offloading (don't know how that got there =)
2001-06-22KNFTheo de Raadt
2001-06-12Make pci_mapreg_map take an extra argument where we canNiklas Hallqvist
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.
2001-06-05updated firmware from 3com (Thanks!); contains support for 3cr990B cards.Jason Wright
2001-05-30- gather statistics (ipackets, ierrors, collisions, etc) from txp itselfJason Wright
- better spl handling
2001-05-30define txp_command() in terms of txp_command2().Jason Wright
2001-05-30expand txp_command2 to handle extension desciptors for long commandsJason Wright
2001-05-30- better handling for capabilities: check the card to make sure it supportsJason Wright
IPsec offloading before claiming to have that capability. - also add cksum offload capabilities (commented out for now)
2001-05-29Set, don't OR the capabilities.Angelos D. Keromytis
2001-05-28Set the IFCAP_IPSEC capability.Angelos D. Keromytis
2001-05-25we just *love it* when official people at major vendors send usTheo de Raadt
accurate information about upcoming models of their cards
2001-05-16Use dm_mapsize instead of homegrown one; jason@ ok.Federico G. Schwindt
2001-05-16update copyrightJason Wright
use bcmp not strncmp for verifying the magic number in the firmware
2001-05-16If we run out of transmit slots, try to copy the next mbuf into a singleJason Wright
fragment and try again. Failing that, operate as normal.
2001-05-15- correct some bus_dmamap_sync() usageJason Wright
- 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
2001-05-15- bus-dmaify txpJason Wright
- 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
2001-05-10in txp_intr() only refill the rx buffer ring if it is empty; based onJason Wright
suggestion from Pankaj Chhabra.
2001-05-09revert reverted patch now that bus_dma has been updated on i386Jason Wright
2001-05-08add transmit side of bpf tappingJason Wright
2001-05-08- add support for hardware vlan tag insertion and removalJason Wright
- 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).
2001-05-03grr... part of the bus_dma change depended on local stuff: revert that partJason Wright
for now until folks comment on the dependent patch; pointed out by fgsch.
2001-05-02- somewhat better use of bus_dma interfaceJason Wright
- use constants for bzero'n allocated memory instead of retrieving mapped size
2001-04-30pretty up rx filter setupJason Wright
2001-04-15- in txp_intr(), don't call the rx/tx handlers unless necessaryJason Wright
- 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 =)
2001-04-15mask off Arm2Host_Comm_3 interrupts now that rx buffer reclamation hasJason Wright
some out of resource handling (a2h_3 is a heartbeat generated every ~8ms and thus provides 125intrs/sec even when idle).
2001-04-15- setup a timeout that will try to refill the rxbuffer ring (this makesJason Wright
out of resource handling a bit better). - in txp_stop(), disable the rx process, too
2001-04-13- attempt to get dma coherent buffers for most of the shared memory usesJason Wright
- 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
2001-04-13- rx buffer ring management (working)Jason Wright
- 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).
2001-04-12- initial rx buffer ring management routines and allocationJason Wright
- 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
2001-04-12- complete rewrite of transmit routines (these really work, but needJason Wright
optimization) - add in IFF_OACTIVE and if_timer handling status: firmware, boot, media, and transmit working
2001-04-12- sort of working transmit routines and tx interrupt handling, definatelyJason Wright
more to do here - be sure to set maximum packet size early - remove old debugging code and add new
2001-04-11make this load the linux style image file as distributed on 3com'sJason Wright
website. The license is still too restrictive to be in the tree, though.
2001-04-10add shutdown hook to stop the adapter completelyJason Wright
put txp_set_filter() in the right places
2001-04-10receive filter programmingJason Wright
2001-04-09- full media support (and remove all of the mii stuff... the firmware wantsJason Wright
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).
2001-04-09partial mii support (commented out because the response queue freaks out)Jason Wright
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