summaryrefslogtreecommitdiffstats
path: root/sys/dev/cxgb/cxgb_adapter.h
Commit message (Collapse)AuthorAgeFilesLines
* - enable multiple transmit queueskmacy2008-11-221-1/+3
| | | | | | | | | | | - invert sense of hw.cxgb.singleq tunable to hw.cxgb.multiq - don't wake up transmitting thread by default - add per tx queue ifaltq to handle ALTQ - remove several unused functions in cxgb_multiq.c - add several sysctls: multiq_tx_enable, coalesce_tx_enable, and wakeup_tx_thread - this obsoletes the hw.cxgb.snd_queue_len as ifq is replaced by a buf_ring
* - bump __FreeBSD version to reflect added buf_ring, memory barriers,kmacy2008-11-221-1/+2
| | | | | | | | | | | | | | | | | and ifnet functions - add memory barriers to <machine/atomic.h> - update drivers to only conditionally define their own - add lockless producer / consumer ring buffer - remove ring buffer implementation from cxgb and update its callers - add if_transmit(struct ifnet *ifp, struct mbuf *m) to ifnet to allow drivers to efficiently manage multiple hardware queues (i.e. not serialize all packets through one ifq) - expose if_qflush to allow drivers to flush any driver managed queues This work was supported by Bitgravity Inc. and Chelsio Inc.
* - Remove default NIC dependency on ulp headerskmacy2008-09-241-1/+0
| | | | | | | - make toe module build dependent on kernel support Submitted by: Chelsio Inc. MFC after: 1 week
* Update cxgb include paths to not require prefixing with dev/cxgbkmacy2008-09-231-8/+0
| | | | Submitted by: Chelsio Inc.
* Allow cxgb to be unified across versions by making newer features conditionalkmacy2008-09-231-1/+8
| | | | | Submitted by: Chelsio Inc MFC after: 3 days
* White space cleanups to bring closer to RELENG_7kmacy2008-09-161-2/+0
|
* Remove some dead code along with gratuitous differences between HEAD and 7kmacy2008-09-161-5/+1
|
* Fix issue with recovering from transient jumbo mbuf shortage.kmacy2008-09-091-5/+0
| | | | | Submitted by: Chelsio Inc. MFC after: 3 days
* Add LRO and MAC statistics to exported sysctls.kmacy2008-08-131-0/+7
| | | | | Obtained from: Chelsio Inc. MFC after: 1 week
* Remove cxgb private lro implementation and switch to using system ↵kmacy2008-08-121-31/+3
| | | | | | | implementation. Obtained from: Chelsio Inc. MFC after: 1 week
* Vendor fix for PHY problem.kmacy2008-08-111-0/+1
| | | | | Obtained from: Chelsio Inc. MFC after: 3 days
* import vendor fixes to cxgbkmacy2008-07-181-1/+1
|
* reduce the size of the jumbo ring on i386 and disable pcpu cluster cachingkmacy2008-03-311-0/+5
|
* - update firmware to 5.0kmacy2008-02-231-3/+24
| | | | | | | | | | | | | | | | | - add support for T3C - add DDP support (zero-copy receive) - fix TOE transmit of large requests - fix shutdown so that sockets don't remain in CLOSING state indefinitely - register listeners when an interface is brought up after tom is loaded - fix setting of multicast filter - enable link at device attach - exit tick handler if shutdown is in progress - add helper for logging TCB - add sysctls for dumping transmit queues - note that TOE wxill not be MFC'd until after 7.0 has been finalized MFC after: 3 days
* put tx queue size back to 1024kmacy2008-01-161-4/+0
|
* - Simplify mb_free_ext_fastkmacy2008-01-151-2/+1
| | | | | | | | | | | - increase asserts for mbuf accounting - track outstanding mbufs (maps very closely to leaked) - actually only create one thread per port if !multiq Oddly enough this fixes the use after free - move txq_segs to stack in t3_encap - add checks that pidx doesn't move pass cidx - simplify mbuf free logic in collapse mbufs routine
* - move WR_LEN in to cxgb_adapter.h add PIO_LEN to make intent clearerkmacy2008-01-151-4/+11
| | | | | | | | | | | | - move cxgb_tx_common in to cxgb_multiq.c and rename to cxgb_tx - move cxgb_tx_common dependencies - further simplify cxgb_dequeue_packet for the non-multiqueue case - only launch one service thread per port in the non-multiq case - remove dead cleaning code from cxgb_sge.c - simplify PIO case substantially in by returning directly from mbuf collapse and just using m_copydata - remove gratuitous m_gethdr in the rx path - clarify freeing of mbufs in collapse
* Convert over to using the multiqueue infrastructure although all calls goingkmacy2008-01-131-4/+0
| | | | through cxgb_start still end up using queue 0
* Be more aggressive about tx cleaning - when multiples streams were running ↵kmacy2008-01-111-1/+2
| | | | | | the tx queue could fill up and stop getting cleaned.
* Add support for selectively dumping the state of the hardware response queue.kmacy2008-01-101-8/+6
| | | | Change ordering of a couple of types.
* make nqsets a uint32_t so that sysctl will workkmacy2008-01-091-1/+3
| | | | add 2 fields for allowing queue dumping
* Make TCP offload work on HEAD (modulo negative interaction between sbcompresskmacy2007-12-171-18/+67
| | | | | | | | | and t3_push_frames). - Import latest changes to cxgb_main.c and cxgb_sge.c from toestack p4 branch - make driver local copy of tcp_subr.c and tcp_usrreq.c and override tcp_usrreqs so TOE can also functions on versions with unmodified TCP - add cxgb back to the build
* Import updated support code for the TOM (tcp offload module).kmacy2007-12-151-5/+7
|
* pull in changes made to RELENG_6 version in the process of doing the MFCkmacy2007-09-101-3/+0
| | | | | Supported by: Chelsio Approved by: re (blanket)
* Add back in support for normal mbuf chaining on RX under DISABLE_MBUF_IOVECkmacy2007-09-091-1/+6
| | | | | Approved by: re(blanket) Supported by: Chelsio
* - fix qset to port binding as a proper fix for the problems encountered on ↵kmacy2007-09-091-1/+2
| | | | | | | | | | | | the 4-port - fix the use after free seen when sending packets small enough to fit as an immediate and bpf peers are present - update to firmware rev 4.7 along with various small vendor fixes Supported by: Chelsio Approved by: re (blanket) MFC after: 3 days
* Fixes for 4 port and small packet optimizationkmacy2007-08-251-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | - remove cpl->iff panic - we can't know the port number from the rspq on the 4-port - pick the ifnet based on the interface in the CPL header - switch to using qset 0 for egress on the 4-port for now - may change when we start using RSS - move ether_ifdetach to before the port lock gets deinitialized to avoid hang in the case where there are BPF peers (cxgb_ioctl is called indirectly when BPF peers are present) - don't call t3_mac_reset if multiport is set, this was causing tx errors by misconfiguring the MAC on the 4-port - change V_TXPKT_INTF to use txpkt_intf as the interfaces are not contiguous - free the mbuf immediately in the case where the payload is small enough to be copied into the rspq - only update the coalesce timer if for a queue if packets were taken off of it - add in missed 20ms DELAY in initializaton vsc8211 - prompt MFC as this only applies to the 4-port which is currently completely broken - OK'd by kensmith Supported by: Chelsio Approved by: re (blanket) MFC after: 0 days
* forward port signedness fixes from RELENG_6kmacy2007-08-171-1/+1
| | | | | | fix compile error for case where MSI_SUPPORTED not defined Approved by: re (blanket)
* - In all structures other than port info port is a pointer to a port info,kmacy2007-08-101-1/+1
| | | | | | make the code less confusing by renaming the port number to port_id Approved by: re (blanket)
* - integrate most recent changes from vendor branch and upgrade to firmware ↵kmacy2007-07-171-1/+8
| | | | | | | | | | | | revision 4.5.5 - add filter support - further improvements for T304 - recover gracefully from spurious immediate packets Approved by: re(blanket) Supported by: Chelsio MFC after: 3 days
* MFp4 122896kmacy2007-07-101-1/+5
| | | | | | | | | | - reduce cpu usage by as much as 25% (40% -> 30) by doing txq reclaim more efficiently - use mtx_trylock when trying to grab the lock to avoid spinning during long encap loop - add per-txq reclaim task - if mbufs were successfully re-claimed try another pass - track txq overruns with sysctl Approved by: re (blanket)
* - switch adapter and port lock over to using sx so that resourceskmacy2007-06-171-7/+85
| | | | | | | | | | | | | | | can be allocated atomically - add debug macros for printing lock initialization / teardown - add buffers to port_info and adapter to allow each lock to have a unique name - destroy mutexes initialized by cxgb_offload_init - remove recursive calls to ADAPTER_LOCK - move callout_drain calls so that they don't occur with the lock held - ensure that only as many qsets as are needed are initialized and destroyed MFC after: 3 days Sponsored by: Chelsio Inc.
* - import new common code for the T304kmacy2007-06-131-4/+12
| | | | | | | | | | | | | | | | | | | | | | | - update to firmware version 4.1.0 - switch over to standard method for initializing cdevs (contributed by scottl@) - break out timer_reclaim_task to be per-port - move msix teardown into separate function - fix bus_setup_intr for msi-x for the multi-port case so that msi-x resources are not corrupted on unload - handle 10/100/1000 base-T media and auto negotiation - bind qset to cpu even for singleq case - white space cleanups - remove recursive PORT_LOCK - move mtu setting to separate function - stop and re-init port when changing mtu - replace all direct references to m_data with calls to mtod - handle attach failure better by not trying to de-initialize taskqueues when they have not been allocated - no longer default to jumbo frames Sponsored by: Chelsio MFC after: 3 days
* When building cxgb as a module make include paths relative to the driver's root.kmacy2007-05-281-2/+5
| | | | | | This will make it possible to build the module out of tree against an older src tree. MFC after: 3 days
* (MFp4)kmacy2007-05-251-30/+53
| | | | | | | | | | - upgrade to reflect state of 1.0.0.86 - move from firmware rev 3.2 to 4.0.0 - import driver bits for offload functionality - remove binary distribution clause from top level files as it runs counter to the intent of purely supporting the hardware MFC after: 3 days
* Convert driver RX path over to using mbuf ioveckmacy2007-04-081-3/+3
|
* Make DMA tags per-queue to facilate parallel mappingskmacy2007-04-041-1/+4
| | | | | | | | | | | | | Defer mbuf allocation and initialization until after data has already been received in a cluster This reduces cpu utilization somewhat, but it only improves the rx path. Recent changes to TCP appear to make us rate limited by the TX path. This is the first step in reducing mbuf management overhead for manipulating clusters. MFC after: 3 days
* bus_size_t is a bad cross-architectural type with respect to printf, use ↵kmacy2007-03-241-1/+1
| | | | uint32_t instead
* commit missed changekmacy2007-03-231-0/+1
|
* make MSI-X the default and allocate up to mp_ncpus queues per portkmacy2007-03-211-1/+2
| | | | MFC after: 3 days
* Synchronize with version 1.0.071 of Chelsio's common codekmacy2007-03-201-1/+0
| | | | | | | | | (with the notable exception of improvements for using multiple TX queues) This adds support for the T3B2 ASIC rev Obtained from: Chelsio MFC after: 3 days
* make desc_reclaimable macro safe to arbitrary argumentskmacy2007-03-141-1/+1
|
* First of several commits for driver support for the Chelsio T3B 10 Gigabitkmacy2007-03-141-0/+438
Ethernet adapter. Reviewed by: scottl, sam For those interested in the preliminary performance work see below. Plots of mxge vs. cxgb running netpipe: blocksize vs. bandwidth: http://www.fsmware.com/chelsio.random/bsvsbw.gif blocksize vs. RTT: First of several commits for driver support for the Chelsio T3B 10 Gigabit Ethernet adapter. Reviewed by: scottl, sam For those interested in the preliminary performance work see below. Plots of mxge vs. cxgb running netpipe: blocksize vs. bandwidth: http://www.fsmware.com/chelsio.random/bsvsbw.gif blocksize vs. RTT: http://www.fsmware.com/chelsio.random/bsvstime.gif blocksize vs. RTT for block sizes <= 10kb: http://www.fsmware.com/chelsio.random/bsvstime_10kb.gif http://www.fsmware.com/chelsio.random/bsvstime_10kb3.gif
OpenPOWER on IntegriCloud